:root{--appbar:#101c3d;--appbar-d:#0b1530;--brand:#5a7dac;--brand-d:#2c4a70;--brand-l:#e8eff8;--ink:#1d2633;--muted:#6b7686;--line:#e3e8ef;--bg:#eef1f6;--ok:#1f9e6e;--bad:#c0392b;
 --r:16px;--r-sm:10px;--shadow:0 1px 2px rgba(20,35,60,.06),0 4px 14px rgba(20,35,60,.06);--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace}
/* design system: tokens above; components (cards, pills, segmented, chips, quick links, switches, feed) in the "ds" block at the end */
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--ink);padding-bottom:calc(68px + env(safe-area-inset-bottom))}
a{color:#1f5bb5;text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:1100px;margin:0 auto;padding:0 12px}
.muted{color:var(--muted)}.small{font-size:12.5px;font-weight:normal}.strong{font-weight:700}.num{text-align:right;font-variant-numeric:tabular-nums}.c{text-align:center}
td.num,td.c,.rec,.pts,.score{font-variant-numeric:tabular-nums}
h1{font-size:21px;margin:16px 0 10px;letter-spacing:-.2px}h2{font-size:16px;margin:18px 0 8px}h3{font-size:14px;margin:12px 0 6px}
/* app bar: compact, sticky, brand blue */
.appbar{background:var(--brand);color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 1px 0 rgba(0,0,0,.08),0 2px 10px rgba(20,35,60,.12)}
.appbar-in{display:flex;align-items:center;min-height:56px;gap:10px}
.appbadge{flex:none;display:block;width:38px;height:38px;border-radius:11px;overflow:hidden;box-shadow:0 0 0 2px rgba(255,255,255,.55)}
.appbadge img{width:100%;height:100%;display:block}
.titles{flex:1;min-width:0;color:#fff;text-align:left;line-height:1.15}.titles:hover{text-decoration:none}
.appname{font-size:16.5px;font-weight:800;letter-spacing:.3px;display:flex;align-items:center;gap:6px;white-space:nowrap}
.gsop{font-size:10.5px;font-weight:800;letter-spacing:.6px;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.45)}
.lname{font-size:12.5px;opacity:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lsub{display:none}
.appbar-right{flex:none;display:flex;align-items:center;gap:8px;font-size:13px}.appbar-right a{color:#fff}
.iconbtn{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);position:relative}
.avatar{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:#fff}
.avatar .initial{width:34px;height:34px;border-radius:50%;border:2px solid #fff;display:flex;align-items:center;justify-content:center;font-weight:700}
/* tabs: pill segmented row (scrolls sideways on phones) */
.tabs{background:var(--bg);padding:10px 0 2px}.tabs-in{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:4px;background:#e1e7f0;border-radius:999px;margin:0 12px}
.tabs-in::-webkit-scrollbar{display:none}
.tabs a{flex:none;text-align:center;padding:7px 13px;color:#4a5a72;font-size:14px;font-weight:600;border-radius:999px;white-space:nowrap}
.tabs a.on{background:#fff;color:var(--brand-d);box-shadow:0 1px 3px rgba(20,35,60,.15)}.tabs a:hover{text-decoration:none}
@media(min-width:1124px){.tabs-in{margin:0 auto;max-width:1076px}}
.weekbar{background:var(--brand-d);color:#fff;padding:6px 0 8px}.weekbar.inline{border-radius:var(--r);margin:12px 0}
.wk-label{text-align:center;font-size:12.5px;letter-spacing:.5px;opacity:.9}
.wk-row{display:flex;justify-content:center;flex-wrap:wrap}
.wk-row a{color:#fff;min-width:44px;text-align:center;padding:6px 10px;border-right:2px solid rgba(255,255,255,.7)}
.wk-row a:last-child{border-right:0}.wk-row a.on{font-weight:800;background:rgba(255,255,255,.14);border-radius:4px}
/* standings */
h2.conf{color:var(--brand);font-weight:500;font-size:21px;margin:16px 0 8px}
.standings{width:100%;border-collapse:collapse;background:#fff}
.standings th{background:var(--brand);color:#fff;font-weight:500;padding:10px 6px;font-size:15px}
.standings td{padding:9px 6px;border-bottom:1px solid #f0f2f5;text-align:center}
.standings th.lg,.standings td.lg{width:56px}
.standings .tname{color:var(--ink);font-size:15.5px}.owner{font-size:11.5px;color:var(--muted)}
.logo{border-radius:4px;object-fit:cover;vertical-align:middle;background:#fff}
.logo.ph{display:inline-flex;align-items:center;justify-content:center;background:#dfe6f0;color:#2c4a70;font-size:12px;font-weight:700}
.note{margin-top:14px}
/* bottom nav: icons + active indicator bar on top */
.bottomnav{position:fixed;left:0;right:0;bottom:0;background:rgba(255,255,255,.97);backdrop-filter:saturate(1.4) blur(8px);border-top:1px solid var(--line);display:flex;z-index:10;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -2px 12px rgba(20,35,60,.06)}
.bottomnav a{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 6px;color:#7d8aa0;font-size:11px;font-weight:600;position:relative}
.bottomnav a svg{width:26px;height:26px}.bottomnav a span{white-space:nowrap}
.bottomnav{height:calc(60px + env(safe-area-inset-bottom));box-sizing:border-box}.bottomnav a{height:60px;box-sizing:border-box;line-height:14px}.bottomnav a span{height:14px}
.bottomnav a.on{color:var(--brand-d)}.bottomnav a.on::before{content:"";position:absolute;top:0;left:22%;right:22%;height:3px;border-radius:0 0 3px 3px;background:var(--brand)}
.bottomnav a:hover{text-decoration:none}
@media(min-width:900px){.bottomnav{max-width:1100px;margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}}
/* generic */
.card{background:#fff;border:1px solid #e6ebf2;border-radius:var(--r);padding:14px 16px;margin:12px 0;box-shadow:var(--shadow)}
.narrow{max-width:440px;margin:20px auto}
.flash{padding:10px 13px;border-radius:12px;margin:10px 0;background:#eaf1fb;border:1px solid #cddcf2}
.flash.ok{background:#e8f6ef;border-color:#bfe5d2}.flash.err{background:#fdecea;border-color:#f5c6c0;color:#8c2318}
.btn{display:inline-block;background:var(--brand-d);color:#fff;border:0;border-radius:10px;padding:9px 15px;font:inherit;font-weight:600;cursor:pointer}
.btn:hover{text-decoration:none;filter:brightness(1.1)}.btn.sm{padding:5px 10px;font-size:13px}
.btn.ghost{background:#e6ecf4;color:var(--brand-d)}.btn.danger{background:#fbe9e7;color:var(--bad)}
.linkbtn{background:none;border:0;color:#1f5bb5;font:inherit;padding:0;cursor:pointer}
.stack{display:flex;flex-direction:column;gap:10px}.stack label,.settings label{display:flex;flex-direction:column;gap:4px;font-size:13.5px}
input,select,textarea{font:inherit;padding:8px 10px;border:1px solid #cfd8e4;border-radius:10px;background:#fff;max-width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid #b9cdea;outline-offset:0;border-color:var(--brand)}
textarea{width:100%;font-family:ui-monospace,monospace;font-size:13px}
label.inline{display:inline-flex !important;flex-direction:row !important;align-items:center;gap:5px;margin-right:12px}
.badge{display:inline-block;font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;background:#e8edf4;color:#334;margin-left:4px;vertical-align:middle}
.b-add,.b-import{background:#e3f4ec;color:#146c4b}.b-drop{background:#fbe9e7;color:#9b2b1e}.b-move{background:#eef0fb;color:#3b3f9a}
.b-commish{background:#fff2d9;color:#8a5a00}.b-settings{background:#eceff3}.b-owner{background:#e8f0fb}
.c-high{background:#e3f4ec;color:#146c4b}.c-medium{background:#fff2d9;color:#8a5a00}.c-low,.c-none{background:#fbe9e7;color:#9b2b1e}
tr.conf-low td,tr.conf-none td{background:#fff8f7}
.pos{display:inline-block;min-width:30px;text-align:center;border-radius:4px;padding:0 4px;font-size:10.5px;font-weight:700;color:#fff;background:#888}
.pos-QB{background:#d0455a}.pos-RB{background:#1f9e6e}.pos-WR{background:#2f7fd8}.pos-TE{background:#e08a1e}.pos-K{background:#7b5bc4}.pos-DEF{background:#5b6573}
.inj{color:var(--bad);font-weight:600;font-size:12px}
.pmeta{font-size:12px;color:var(--muted);display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.pname{font-weight:600}.opp{color:var(--ink)}
/* tables */
.grid,.roster{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.grid th,.roster th{background:#eef2f8;text-align:left;font-size:12px;color:#44506a;padding:7px 8px;white-space:nowrap}
.grid td,.roster td{padding:7px 8px;border-top:1px solid #edf0f5;vertical-align:middle}
.roster.compact td,.roster.compact th,.grid.compact td,.grid.compact th{padding:5px 7px;font-size:13px}
.roster tfoot td{background:#f7f9fc;font-weight:600}
.slot{width:62px}.slotlbl{display:inline-block;min-width:46px;text-align:center;font-weight:700;font-size:12px;background:#eef2f8;border-radius:5px;padding:3px 4px}
.slotform select{margin-top:4px;max-width:260px;font-size:13px;padding:4px 6px}
.actions{white-space:nowrap}.actions form{display:inline-block;margin:2px}.actions select{font-size:13px;padding:4px}
.force{margin-left:4px;color:#8a5a00}
.tablewrap{overflow-x:auto}
.filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}.filters input[type=search]{flex:1;min-width:160px}
.pills{display:flex;gap:4px;flex-wrap:wrap;margin:6px 0 10px}.pill{padding:4px 11px;border-radius:14px;background:#e3e9f2;color:#26344a;font-size:13px}
.pill.on{background:var(--brand-d);color:#fff}.pill:hover{text-decoration:none}
.pager{margin:12px 0;display:flex;gap:14px;align-items:center}
.ownerlink{display:inline-flex;align-items:center;gap:4px;font-size:13px}.fa{color:var(--ok);font-weight:600;font-size:12px}
/* team page */
.teamhead{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.teamhead h1{margin:0}.th-main{flex:1;min-width:180px}
.th-pts{display:grid;grid-template-columns:auto auto;gap:0 10px;align-items:baseline;text-align:right}.th-pts b{font-size:20px}.th-pts span{font-size:11.5px;color:var(--muted);text-align:left}
.counts{margin-top:4px}.section-h{display:flex;justify-content:space-between;align-items:center}
details.edit summary{cursor:pointer;font-weight:600}.row-form{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-top:8px}
.row-form label{display:flex;flex-direction:column;font-size:12.5px;gap:3px}
/* Settings selects: never spill past the card at 390px (long <option> text) */
.settings select,.csettings select{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.settings .row-form > label,.csettings .row-form > label,.csettings .grid-inputs > label{min-width:0;max-width:100%}
.settings .row-form.re-round > label:first-child{flex:1 1 100%}
.settings .card,.csettings .card{overflow-x:hidden;overflow-x:clip}
.teamgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.teamcard{display:flex;align-items:center;gap:8px;color:var(--ink);margin:0}
/* transactions */
.txns{list-style:none;padding:0;margin:0}.txns li{background:#fff;border:1px solid var(--line);border-radius:8px;padding:9px 11px;margin-bottom:8px}
.tx-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tx-time{margin-left:auto}.tx-item{margin:4px 0 0 34px;font-size:14px}
.plus{color:var(--ok);font-weight:800}.minus{color:var(--bad);font-weight:800}.arrow{color:#3b3f9a}
/* settings */
.grid-inputs{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.grid-inputs input{width:80px}
.elig{margin-top:8px;font-size:14px}
.scoring-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:6px 14px}
.scoring-grid label{flex-direction:row !important;justify-content:space-between;align-items:center;border-bottom:1px dashed #edf0f5;padding:3px 0}
.scoring-grid input{width:84px}.scoring-grid code{font-size:10.5px;color:var(--muted)}
fieldset{border:0;padding:0;margin:0}fieldset:disabled input,fieldset:disabled select{background:#f5f6f8;color:#555}
.menu a,.menu form{display:block;padding:12px 4px;border-bottom:1px solid #eef1f5}.menu-user{padding:8px 4px 12px;border-bottom:1px solid #eef1f5}
.copy{width:100%;min-width:0;max-width:100%;box-sizing:border-box;font-size:12px;font-family:ui-monospace,monospace}.copy.wide{margin-bottom:8px}
.join-team{display:flex;gap:14px;align-items:center}
/* data pages (step 1) */
.head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.head h1{margin:0 0 4px}
.facts{margin-top:8px;display:flex;flex-wrap:wrap;gap:14px;color:#44506a}
.bigstats{display:flex;gap:22px}.bigstats div{text-align:center}.bigstats b{display:block;font-size:24px}.bigstats span{font-size:12px;color:var(--muted)}
tr.upcoming td{background:#fbfcf1}details summary{cursor:pointer}
.gamelist{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:10px}
.game{color:inherit}.game:hover{text-decoration:none;border-color:#1557c0}.gl-row{display:flex;justify-content:space-between;font-size:15px}.score{font-weight:700}
.scorebug{max-width:520px}.linescore{border-collapse:collapse;margin:8px 0}.linescore th,.linescore td{padding:4px 12px;text-align:center}.linescore td:first-child{text-align:left}
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:14px}.big{font-size:18px}
.teamstats{max-width:520px}footer{margin:26px 0 10px;font-size:12px}
@media(max-width:700px){
  .twocol{grid-template-columns:1fr}.hide-sm{display:none}
  .lname{font-size:19px}.lsub{font-size:12.5px}.tabs a{font-size:16px}
  .grid td,.grid th{padding:6px 5px}.tablewrap{margin:0 -12px}
  .actions{white-space:normal}.tx-item{margin-left:6px}
}
/* phase-2 mobile roster tweaks */
@media(max-width:700px){
  .roster td,.roster th{padding:6px 5px}
  .roster .actions{width:1%;text-align:right}
  .roster .actions form{display:block;margin:2px 0}
  .roster .actions select{max-width:92px}
  .force{display:none}
  .slotform select{max-width:190px}
  .th-pts{grid-template-columns:auto auto auto auto;width:100%;justify-content:start}
}
/* phase 3: standings, scoreboard, matchups */
.standings td.l,.standings th.l{text-align:left}
.st3 .rec{font-variant-numeric:tabular-nums;white-space:nowrap}
/* playoff-position rows: a faint green tint on the whole row (layered as an image, so it sits on top of any
   own-team "mine" background colour instead of replacing it) */
table.standings tr.in td{background-image:linear-gradient(rgba(40,170,90,.085),rgba(40,170,90,.085))}
html[data-theme=dark] table.standings tr.in td{background-image:linear-gradient(rgba(70,200,120,.10),rgba(70,200,120,.10))}
.seed{display:inline-block;min-width:17px;height:17px;line-height:17px;text-align:center;border-radius:50%;background:var(--brand-d);color:#fff;font-size:10.5px;font-weight:700;margin-right:4px}
.seed.big{min-width:24px;height:24px;line-height:24px;font-size:13px}
.seedtag{font-size:10.5px;color:var(--ok);font-weight:600;margin-right:4px}
.strk{font-weight:600;font-size:13px}.s-W{color:var(--ok)}.s-L{color:var(--bad)}.s-T{color:#8a5a00}
.viewpills{align-items:center;margin-top:12px}.viewpills .thru{margin-left:auto}
.picture .seeds{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:6px}
.seedrow{display:flex;align-items:center;gap:8px;color:var(--ink);padding:5px 4px;border-bottom:1px solid #f0f2f5}
.seedrow:hover{text-decoration:none;background:#f7f9fc}.seedrow .sname{flex:1}.bracket,.hunt{margin:4px 0;padding-left:18px}
.sb-head{display:flex;align-items:center;gap:10px}.sb-head h1{margin-right:auto}
.st-final{background:#e8edf4}.st-live{background:#fdecea;color:var(--bad)}.st-scheduled{background:#eaf1fb;color:#1f5bb5}
.st-pre{background:#eaf1fb;color:#1f5bb5}.st-between{background:#eef0f4;color:#5f6672}
.ms-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:4px;vertical-align:1px;animation:msdot 1.4s ease-in-out infinite}
@keyframes msdot{0%,100%{opacity:1}50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.ms-dot{animation:none}}
.wk-row a.po{font-style:italic}
.mcard{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;margin:10px 0;padding:4px 12px;color:var(--ink)}
.mcard:hover{text-decoration:none;border-color:var(--brand)}
.mc-row{display:flex;align-items:center;gap:10px;padding:7px 0}.mc-row+.mc-row{border-top:1px solid #f0f2f5}
.mc-name{flex:1;font-size:15.5px}.mc-score{font-size:21px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--muted)}
.mc-row.win .mc-score{color:var(--ink);font-weight:800}.mc-row.win .mc-name{font-weight:700}
.mc-kind{font-size:11px;color:#8a5a00;font-weight:700;letter-spacing:.4px;padding-top:4px}.mc-kind.tie{padding:0 0 6px}
.mhead{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:6px;text-align:center}
.mh-team{display:flex;flex-direction:column;align-items:center;gap:2px}.mh-name{font-weight:700;font-size:15px;line-height:1.2}
.mh-score{font-size:30px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--muted)}.mh-score.win{color:var(--ink)}
.mh-proj{font-size:12px;color:var(--muted)}.mh-mid{padding-top:40px;display:flex;flex-direction:column;align-items:center;gap:4px}
.mgrid{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.mg-h{background:var(--brand);color:#fff;text-align:center;font-size:13px;padding:5px;letter-spacing:.4px}
.mrow{display:grid;grid-template-columns:1fr 64px 48px 64px 1fr;align-items:center;border-top:1px solid #eef1f5;min-height:54px}
.mrow.bench{background:#fafbfd}.mrow.total{background:#eef2f8;min-height:40px;font-weight:700}
.mp{padding:5px 8px;min-width:0}.mp-r{text-align:right}.mp-r .mp-meta{justify-content:flex-end}
.mp-name{font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mp-name .short{display:none}
.mp-meta{font-size:11.5px;color:var(--muted);display:flex;gap:4px;align-items:center}.mp-game{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mpts{display:flex;flex-direction:column;align-items:center;font-variant-numeric:tabular-nums}.mpts b{font-size:16px}.mpts span{font-size:11px;color:var(--muted)}
.mpts span.lproj{color:var(--bad);font-weight:600}
.mslot{text-align:center;font-size:11.5px;font-weight:700;color:#44506a;background:#eef2f8;align-self:stretch;display:flex;align-items:center;justify-content:center}
.live{color:var(--bad);font-weight:600}
.others{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.other{display:grid;grid-template-columns:1fr auto;gap:2px 10px;margin:0;color:var(--ink);font-size:13.5px}.other:hover{text-decoration:none;border-color:var(--brand)}
.res-W{color:var(--ok)}.res-L{color:var(--bad)}.res-T{color:#8a5a00}.sched tr.curwk td{background:#fbfcf1}
.teamhead .rec{color:var(--ink)}
details.wk summary{display:flex;gap:10px;align-items:baseline}details.wk select{max-width:200px;font-size:13px;padding:4px}
.tb select{max-width:100%}
@media(max-width:700px){
  .mrow{grid-template-columns:1fr 50px 34px 50px 1fr;min-height:50px}
  .mp{padding:4px 5px}.mp-name .full{display:none}.mp-name .short{display:inline}.mp-name{font-size:13px}
  .mpts b{font-size:14px}.mslot{font-size:10px}.mh-score{font-size:25px}.mh-name{font-size:13.5px}
  .mhead{padding:10px 6px}.mh-mid{padding-top:30px}
  .st3 th,.st3 td{padding:8px 3px;font-size:14px}.standings th.lg,.standings td.lg{width:46px}
  .standings .tname{font-size:14.5px}
  .picture .seeds{grid-template-columns:1fr}
}
@media(max-width:700px){
  .weekbar .wk-row.scroll{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .weekbar .wk-row.scroll::-webkit-scrollbar{display:none}
  .weekbar .wk-row.scroll a{flex:0 0 auto}
}
.roster th.num,.grid th.num{text-align:right}
/* phase 4: contracts & cap */
.subtabs{display:flex;gap:0;margin:8px 0 10px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.subtabs a{flex:1;text-align:center;padding:8px;color:var(--brand-d);font-weight:600}.subtabs a.on{background:var(--brand-d);color:#fff}.subtabs a:hover{text-decoration:none}
.capgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:8px 0}
.capcell{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.capcell .cy{font-size:12px;color:var(--muted);font-weight:600}.capcell .cs{font-size:18px;font-weight:700;color:var(--ok)}.capcell.neg .cs{color:var(--bad)}
.capcell .cl{font-size:11px;color:var(--muted);margin-top:-2px}.capcell .cd{margin-top:4px;color:#44506a}
.cbar,.minibar{height:5px;background:#e8edf4;border-radius:3px;overflow:hidden;margin-top:5px}.cbar span,.minibar span{display:block;height:100%;background:var(--brand)}
.minibar{height:3px;width:70px;margin-left:auto}
.grid .stick{position:sticky;left:0;background:#fff;z-index:1;min-width:150px}.grid th.stick{background:#eef2f8}
.contracts td.con{min-width:150px}.contracts .actions form{display:inline-block;margin:1px}.contracts .actions select{font-size:12px;padding:3px}
.contracts tr.nocon td{background:#fffaf0}.contracts tr.nocon td.stick{background:#fffaf0}
.contracts tr.deadrow td{background:#fdf3f2;font-size:13px}.contracts tfoot td{font-weight:700;background:#f4f6fa;border-top:2px solid var(--line)}
.badge.nc{background:#fff0d6;color:#8a5a00}.badge.v{background:#dff3ea;color:#16714f}.badge.g{background:#fff0d6;color:#8a5a00}
.badge.k-rookie{background:#e5f0ff;color:#1d4f9a}.badge.k-tag{background:#f3e5ff;color:#6a2c9a}.badge.k-extension,.badge.k-option{background:#dff3ea;color:#16714f}
.badge.ph-in_season{background:#dff3ea;color:#16714f}.badge.ph-auction{background:#e5f0ff;color:#1d4f9a}.badge.ph-offseason{background:#eee;color:#555}
.rules{line-height:1.55}.bidcard .bc-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.pname.big{font-size:18px;font-weight:700}.right{text-align:right}
.bidform{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-top:10px}.bidform label{display:flex;flex-direction:column;font-size:12px;color:var(--muted)}
.bidform input,.bidform select{font:inherit;padding:7px 8px;border:1px solid #cfd7e3;border-radius:7px}.bidform #b-amt{width:120px}
.preview{margin-top:8px;padding:8px 10px;background:#f4f7fb;border-radius:8px;min-height:1em}.preview:empty{display:none}
.capstrip{background:#fff;border:1px solid var(--line);border-radius:8px;padding:7px 10px;margin:8px 0}
form.inline{display:inline}.grid.compact td,.grid.compact th{padding:5px 7px}.grid.compact input{width:90px}
.teampick .pill{display:inline-flex;align-items:center;gap:4px}
.entry{padding:8px 12px;margin:6px 0}.entry.nocon{border-left:4px solid #f0b54a}.en-head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.entryform{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-end;margin-top:6px}.entryform label{display:flex;flex-direction:column;font-size:11.5px;color:var(--muted)}
.entryform input,.entryform select{padding:5px 6px;border:1px solid #cfd7e3;border-radius:6px;font:inherit;font-size:13px;width:96px}.entryform .rp input{width:40px}
textarea{width:100%;font:13px ui-monospace,monospace;padding:8px;border:1px solid #cfd7e3;border-radius:7px}
tr.bad td{background:#fdf3f2}.tbs select{margin:2px}
@media(max-width:640px){.capgrid{grid-template-columns:repeat(2,1fr)}.capcell .cs{font-size:16px}.grid .stick{min-width:130px}}
.csettings .grid-inputs{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.csettings .grid-inputs input,.csettings .grid-inputs select{width:100%}
.csettings input[type=number]{max-width:160px}.csettings .grid.compact input{width:100%;max-width:130px}.csettings label .badge{margin-left:2px}
/* phase 5: trades, waivers, picks */
.tradecols{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:10px}
.tcol h2{margin-top:4px;display:flex;align-items:center;gap:6px}.tcol h3{margin:12px 0 4px;font-size:13px;color:#44506a;text-transform:uppercase;letter-spacing:.3px}
.tassets td{vertical-align:top}.tassets td.ck{width:28px}.tassets tr.on td{background:#eef6ff}.tassets input[type=checkbox],.pickchip input{width:18px;height:18px}
.retain summary{cursor:pointer;color:var(--brand)}.retain label{display:inline-flex;gap:4px;align-items:center;margin-right:8px}.retain input{width:70px;padding:3px 5px}
.pickgrid{display:flex;flex-wrap:wrap;gap:6px}.pickchip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:13px}.pickchip.on{background:#eef6ff;border-color:#9dbbe6}
.capin{display:flex;flex-wrap:wrap;gap:8px}.capin label{display:flex;flex-direction:column;gap:2px}.capin input{width:110px;padding:5px 6px;border:1px solid #cfd7e3;border-radius:6px}
.msg{display:block;margin:10px 0}.msg textarea{font:inherit}
.sticky-actions{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom));background:var(--bg);padding:8px 0;z-index:3}
.preview-card .errs div{margin:2px 0}.effects{margin:6px 0 8px;padding-left:18px}.okc{color:var(--ok)}
.capimpact{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:8px}.ci h3{margin:0 0 6px}
.delta{font-size:11px;color:var(--muted)}.delta.up{color:var(--ok)}.delta.down{color:var(--bad)}tr.neg td{background:#fdf3f2}
.badge.ret{background:#fff0d6;color:#8a5a00}.badge.pickb{background:#e5f0ff;color:#1d4f9a}.badge.blk{background:#f3e5ff;color:#6a2c9a}
.badge.st-executed{background:#dff3ea;color:#16714f}.badge.st-proposed,.badge.st-accepted{background:#e5f0ff;color:#1d4f9a}.badge.st-review{background:#fff0d6;color:#8a5a00}
.badge.st-rejected,.badge.st-vetoed,.badge.st-failed{background:#fbe9e7;color:var(--bad)}.badge.st-expired,.badge.st-cancelled,.badge.st-countered{background:#eee;color:#555}
.traderow{display:block;color:inherit;padding:9px 12px}.traderow:hover{text-decoration:none;border-color:#9dbbe6}.tr-head{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.tr-assets{display:flex;flex-direction:column;gap:2px;margin-top:4px;color:#44506a}.assetlist{margin:4px 0 8px;padding-left:18px}.assetlist li{margin:3px 0}
.tradeacts{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.blockrow{padding:4px 0;border-bottom:1px solid #eef1f5}
.picksgrid td{white-space:nowrap}.traded{font-weight:600;color:var(--brand-d)}.prio{padding-left:30px;margin:0}.prio li{padding:3px 0}
.partners{flex-wrap:wrap;gap:8px}.flash.err{background:#fbe9e7;color:var(--bad)}
.show-sm{display:none}
@media(max-width:700px){.show-sm{display:inline}}
tr.diff td{background:#fff6e5}
/* ---- phase 6: draft room ---- */
.draft-head h1{margin-bottom:2px}.dstat{font-size:12px;vertical-align:middle}.ds-live{background:#1c8a4a;color:#fff}.ds-paused{background:#d98a00;color:#fff}.ds-complete{background:#555;color:#fff}.ds-scheduled{background:#1557c0;color:#fff}
.clockcard{margin:10px 0;border-left:4px solid #1557c0}.clockcard.mine{border-left-color:#1c8a4a;background:#f1fbf4}
.oc-row{display:flex;align-items:center;gap:12px}.oc-main{flex:1;min-width:0}.oc-team{font-size:20px;font-weight:700}
.oc-timer{text-align:right}.timer{font-variant-numeric:tabular-nums;font-weight:700}.timer.big{font-size:30px}.timer.low{color:#c0392b}
.seg{display:flex;gap:4px;margin:10px 0;border-bottom:1px solid #dde3ea}.seg a{padding:8px 12px;color:#556;border-bottom:3px solid transparent}.seg a.on{color:#1d2b3a;font-weight:700;border-bottom-color:#1557c0}
.draftgrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:14px;align-items:start}.dsec.wide{grid-column:1/-1}
.dside{display:flex;flex-direction:column;gap:12px}.queue{padding-left:20px;margin:0}.queue li{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:4px 0;border-bottom:1px solid #eef1f4}.queue li.gone{opacity:.5;text-decoration:line-through}
.qbtns{white-space:nowrap}.btn.xs{padding:2px 7px;font-size:12px}.recent{list-style:none;padding:0;margin:0}.recent li{padding:5px 0;border-bottom:1px solid #eef1f4}
.dboard{font-size:12px}.dboard td.bcell{min-width:96px;vertical-align:top;padding:4px 6px}.bcell .bt{white-space:nowrap;color:#556}.bcell .bp{font-weight:700;padding:1px 4px;border-radius:3px}
.bcell.now{outline:2px solid #1557c0;background:#eef4ff}.bcell.mine{background:#f6fbf7}.bcell.st-skipped,.bcell.st-forfeited{background:#fafafa}
.pos-bg-QB{background:#fde2e4}.pos-bg-RB{background:#dff5e8}.pos-bg-WR{background:#e0ecff}.pos-bg-TE{background:#fff1d6}.pos-bg-K,.pos-bg-DEF{background:#eee}
.scalegrid input{width:5.2em}.btnrow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0}
@media(min-width:701px){.seg{display:none}}
@media(max-width:700px){.draftgrid{display:block}.dsec{display:none}.dsec.m-on{display:block}.dside{display:block}.oc-team{font-size:17px}.timer.big{font-size:24px}}
.appname{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;opacity:.8;font-weight:700}
.brand{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#1557c0;font-weight:800;margin-bottom:4px}
/* phase 7: auction room / season hub */
.lot{margin:8px 0;border-left:4px solid #8a99b3}.lot.mine{border-left-color:#1c8a4a;background:#f1fbf4}
.lot-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.lot-high{margin:4px 0}
.offers{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0}.offers .btn.offer{min-width:92px}.offers .xs{font-size:11px}
.auc-me .badge{margin:1px 0}.cycle li.on{font-weight:700;color:#1557c0}.plain{list-style:none;padding-left:0}
tr.champ td{font-weight:700;background:#fff8e1}
@media(max-width:700px){.offers .btn.offer{flex:1 1 45%}}
/* ---- live games feed ---- */
.weekpills{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
.gday{display:flex;align-items:center;gap:6px;font-size:16px;margin:14px 0 6px}
.gcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px}
.gcard{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 12px;color:inherit}
.gcard:hover{text-decoration:none;border-color:#1557c0}
.gcard.in{border-left:4px solid #d62d20}.gcard.rz{background:#fff6f5}
.gc-status{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:13px;margin-bottom:4px}
.gc-team{display:flex;align-items:center;gap:8px;padding:3px 0}.gc-team.lose{color:#7d8aa0}
.gc-logo{width:28px;height:28px;object-fit:contain;flex:none}
.gc-abbr{display:inline-flex;align-items:center;justify-content:center;background:#e9eef6;border-radius:50%;font-size:10px;font-weight:700;width:28px;height:28px}
.gc-abbr.big{width:56px;height:56px;font-size:16px}
.gc-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gc-full{color:#5b6b85;font-size:13px}.gc-score{font-size:20px;font-weight:700;min-width:30px;text-align:right}
.gc-poss{color:#b5651d;margin-left:4px;font-size:11px}
.gc-sit{font-size:13px;margin-top:4px;border-top:1px dashed var(--line);padding-top:4px}.gc-sit.center{text-align:center;border:0}
.gc-last{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#d62d20;animation:livepulse 1.4s infinite}
.live-txt{color:#d62d20}@keyframes livepulse{50%{opacity:.25}}
.rz-badge{background:#d62d20;color:#fff;font-size:10px;font-weight:700;border-radius:4px;padding:1px 5px}
.scorebug2 .sb2-teams{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sb2-team{display:flex;align-items:center;gap:8px;flex:1}.sb2-team.home{flex-direction:row-reverse;text-align:right}
.sb2-team img{width:56px;height:56px;object-fit:contain}.sb2-score{font-size:34px;font-weight:800;margin:0 6px}
.sb2-mid{text-align:center;min-width:80px;font-size:14px}.center{text-align:center}
.scorebug2 .linescore{margin:10px auto}
@media(max-width:560px){.sb2-team img{width:36px;height:36px}.sb2-score{font-size:26px}.sb2-team .gc-full{display:none}}
.ftag{display:inline-block;font-size:10px;font-weight:700;background:#e9eef6;color:#33476a;border-radius:4px;padding:0 4px;vertical-align:1px}
.ftag.mine{background:#1557c0;color:#fff}tr.mine td{background:#f1f6ff}
.plays .play{display:flex;gap:8px;align-items:flex-start;padding:6px 0;border-bottom:1px solid var(--line)}
.plays .play:last-child{border-bottom:0}.play-txt{flex:1;font-size:14px}.play-sc{font-weight:700;white-space:nowrap}
.play-q{font-size:12px;font-weight:700;color:#5b6b85;text-transform:uppercase;margin-top:6px}
.scrollx{overflow-x:auto}.boxblk h3{display:flex;align-items:center;gap:5px}table.box tr.totals td{font-weight:700;border-top:2px solid var(--line)}
.bottomnav a span{white-space:nowrap}@media(max-width:400px){.bottomnav a{font-size:10.5px}.bottomnav a svg{width:27px;height:27px}}
.twocol>div{min-width:0}.boxblk .scrollx{max-width:100%}table.box td.nowrap{max-width:150px;overflow:hidden;text-overflow:ellipsis}
/* ---- trade builder (tb-*): all builder styling lives here; markup comes from static/trade_builder.js ---- */
.tb{--tb-ok:var(--ok);--tb-bad:var(--bad);--tb-ok-bg:#e9f7f1;--tb-bad-bg:#fdecea;--tb-card:#fff;--tb-radius:12px}
.tb-title{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 0;padding:12px;border-radius:var(--tb-radius);
  background:#e8eef7;border:1px solid #cfdbea;color:var(--brand-d);font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:15px}
.tb-strip{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:2px 2px 8px;scrollbar-width:thin}
.tb-team{flex:0 0 calc(50% - 5px);scroll-snap-align:start;background:var(--tb-card);border:1.5px solid var(--line);border-radius:var(--tb-radius);padding:9px 10px;min-width:0}
@media(min-width:900px){.tb-team{flex-basis:calc(25% - 8px);min-width:240px}}
.tb-team.is-ok{border-color:#b9e3d0}.tb-team.is-bad{border-color:#f0b7b0;background:#fffafa}
.tb-team-top{display:flex;align-items:center;gap:6px}
.tb-badge{flex:none;background:var(--brand-d);color:#fff;font-weight:800;font-size:12px;border-radius:6px;padding:3px 6px}
.tb-team[data-slot="1"] .tb-badge{background:var(--brand)}.tb-team[data-slot="2"] .tb-badge{background:#7b5bc4}.tb-team[data-slot="3"] .tb-badge{background:#e08a1e}
.tb-teamsel{flex:1;min-width:0;font:inherit;font-weight:700;padding:4px 6px;border:1px solid var(--line);border-radius:7px;background:#fff;text-overflow:ellipsis}
.tb-teamsel:disabled{color:var(--ink);opacity:1;background:#f7f9fc}
.tb-picked{flex:none;color:var(--brand-d);font-weight:700;font-size:12.5px;white-space:nowrap}
.tb-remove{flex:none;border:0;background:none;font-size:18px;line-height:1;color:var(--muted);cursor:pointer;padding:0 2px}
.tb-caprow{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin:7px 0 4px}
.tb-status{font-weight:800}.tb-status.ok{color:var(--tb-ok)}.tb-status.over{color:var(--tb-bad)}
.tb-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.tb-chip{display:flex;flex-direction:column;align-items:center;border-radius:7px;padding:3px 2px;font-size:11.5px;line-height:1.25;min-width:0;border:1px solid transparent}
.tb-chip.ok{background:var(--tb-ok-bg);color:#146b4b;border-color:#c5eadb}.tb-chip.over{background:var(--tb-bad-bg);color:#9b2a1f;border-color:#f3c5bf}
.tb-chip b{display:flex;align-items:center;gap:3px}.tb-chip-v{font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.tb-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:3px;vertical-align:1px}
.tb-chip.up .tb-chip-v::after{content:"▲";font-size:8px;margin-left:1px}.tb-chip.down .tb-chip-v::after{content:"▼";font-size:8px;margin-left:1px}
.tb-roster{font-size:11.5px;margin-top:4px}.tb-roster.ok{color:var(--muted)}.tb-roster.over{color:var(--tb-bad);font-weight:700}
.tb-add{border:2px dashed var(--ok);background:#f4fbf8;display:flex;flex-direction:column;gap:7px}
.tb-add.is-ok,.tb-add:hover{border-color:var(--ok)}
.tb-add .tb-add-badge{background:var(--ok);font-size:15px}
.tb-add-title{flex:1;min-width:0;font-weight:800;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-newtag{font-size:10.5px;font-weight:700;color:var(--ok);white-space:nowrap}
.tb-addsel{width:100%;min-width:0;font:inherit;font-size:13px;font-weight:700;padding:7px 8px;border:1.5px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}
.tb-add-hint{font-size:11px;color:var(--ok);font-weight:600;text-align:center}
.tb-addcard{border:2px dashed var(--ok);border-radius:var(--tb-radius);background:#f4fbf8;padding:12px 10px;display:flex;flex-direction:column;gap:8px}
.tb-addcol-head{display:flex;align-items:center;gap:7px;color:var(--ok)}
.tb-addcol-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:#dff3ea;color:var(--ok)}
.tb-blockbuster{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.tb-addcol-title{margin:0;font-size:17px;font-weight:800;color:var(--ink)}
.tb-addcol-help{margin:0;font-size:12.5px;color:var(--muted);line-height:1.35}
.tb-addcol-lbl{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.tb-quick{display:flex;flex-direction:column;gap:6px}
.tb-quickadd{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;font:inherit;font-weight:700;font-size:13.5px;text-align:left;padding:10px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);cursor:pointer}
.tb-quickadd span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb-quickadd:hover{border-color:var(--ok)}.tb-quick-plus{color:var(--ok);font-size:18px;line-height:1;font-weight:800}
.tb-addcol-foot{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:8px;margin-top:4px;font-size:11.5px;color:var(--muted)}
.tb-addcol-foot b{color:var(--ok);text-align:right}
.tb-colname-add{color:var(--ok)}
.tb-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 2px;font-size:12.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.tb-colname{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-colname:last-child{text-align:right}.tb-cnt{font-weight:600}
.tb-nav{flex:none;white-space:nowrap}.tb-nav button{border:0;background:none;font-size:18px;color:var(--brand-d);cursor:pointer;padding:0 4px}.tb-nav button:disabled{color:#c3cad5;cursor:default}
.tb-cols{display:grid;grid-template-columns:repeat(var(--tb-n,2),minmax(0,1fr));gap:8px}
.tb-col{min-width:0}
.tb-tabs{display:flex;gap:4px;margin-bottom:6px;overflow-x:auto}.tb-tab{flex:none;border:1px solid var(--line);background:#fff;border-radius:14px;padding:3px 9px;font:inherit;font-size:12px;cursor:pointer;color:var(--muted)}
.tb-tab.on{background:var(--brand-d);border-color:var(--brand-d);color:#fff}
.tb-pcard{background:var(--tb-card);border:1.5px solid var(--line);border-radius:10px;padding:7px 8px;margin-bottom:6px}
.tb-pcard.on{border-color:var(--brand);background:#f2f6fc;box-shadow:0 0 0 1px var(--brand) inset}.tb-pcard.locked{opacity:.75}
.tb-prow{display:flex;align-items:center;gap:6px;cursor:pointer;min-width:0}
.tb-prow input[type=checkbox]{width:18px;height:18px;flex:none;accent-color:var(--brand-d)}
.tb-pos{flex:none;min-width:28px}.tb-pname{font-weight:700;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
.tb-pmeta{display:flex;align-items:center;gap:6px;font-size:12.5px;margin-top:4px;border-top:1px solid var(--line);padding-top:4px}
.tb-sal{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.tb-salyr{color:var(--muted);font-size:.85em}
.tb-ksub{font-size:11px;color:var(--muted);margin-top:2px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr-review{display:grid;gap:10px;margin:10px 0}.tr-rv-h{font-weight:700;color:var(--accent,#3a5f8f);margin-bottom:4px}
.tr-rv{overflow-x:auto}.tr-rv-t{width:100%;font-variant-numeric:tabular-nums}
.tr-review .grid.compact td,.tr-review .grid.compact th{padding:4px 3px;font-size:12px}.tr-review .grid td.num,.tr-review .grid th.num{white-space:nowrap}
.tr-review .grid td:first-child{padding-left:6px;line-height:1.2}
.tr-rv-tot td{font-weight:700}.tr-rv-out td{color:var(--muted)}.tr-rv-in td:first-child{border-top:1px solid var(--line)}.tb-proj{margin-left:auto;color:var(--tb-ok);font-weight:700;white-space:nowrap}
.tb-st{font-size:10px;font-weight:700;background:#eef1f5;color:var(--muted);border-radius:4px;padding:0 4px}.tb-st.blk{background:#fff1d6;color:#8a5a00}
.tb-opts{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px;font-size:12px}
.tb-dest,.tb-ret,.tb-amt{font:inherit;font-size:12.5px;padding:2px 4px;border:1px solid var(--line);border-radius:6px;max-width:100%}
.tb-money .tb-amt{width:80px;margin-left:auto}.tb-sub{font-size:12px;font-weight:700;color:var(--muted);margin:6px 0 4px}
.tb-summary{margin-top:12px}.tb-gets{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.tb-get ul{margin:4px 0 0;padding-left:18px;font-size:13.5px}.tb-valid{margin-top:8px}
@media(max-width:420px){.tb-team{padding:8px}.tb-chip{font-size:10.5px}.tb-pname{font-size:13.5px}.tb-pmeta{font-size:11.5px}}
.tb-sec{display:flex;align-items:flex-start;gap:6px;margin:14px 0 6px;padding-top:10px;border-top:1px solid var(--line)}
.tb-sec-ic{flex:none;color:var(--brand-d);font-weight:800}.tb-sec-t{font-weight:800;color:var(--brand-d);text-transform:uppercase;letter-spacing:.03em;font-size:13px}
.tb-sec-hint{margin-left:auto;font-size:11.5px;color:var(--muted);text-align:right}
/* round 62: Picks + Cap/dead-money fold (collapsed by default) and the top "Propose trade" jump */
.tb-fold{margin:0}
.tb-summary{scroll-margin-top:72px}
.tb-fold>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;column-gap:6px;row-gap:2px;align-items:center;
  -webkit-tap-highlight-color:transparent;user-select:none;min-height:44px}
.tb-fold>summary::-webkit-details-marker{display:none}
.tb-fold>summary .tb-sec-t{grid-column:2;line-height:1.2}
.tb-fold>summary .tb-sec-sum{grid-column:2;font-size:12px;color:var(--muted);font-weight:600;line-height:1.25}
.tb-fold>summary .tb-fold-chev{grid-column:3;grid-row:1/span 2;font-size:20px;line-height:1;color:var(--muted);transition:transform .15s;transform:rotate(90deg)}
.tb-fold[open]>summary .tb-fold-chev{transform:rotate(-90deg)}
.tb-fold>summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}
.tb-title-t{flex:1;min-width:0;text-align:left}
.tb-title .tb-ptop{flex:none;margin:0;padding:8px 12px;font-size:13.5px;letter-spacing:0;text-transform:none;white-space:nowrap;min-height:40px}
.tb-title .tb-ptop:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:420px){.tb-title{font-size:13px;letter-spacing:.02em;padding:8px 10px}}
@keyframes tbCue{0%,100%{box-shadow:0 0 0 0 rgba(31,107,255,0)}40%{box-shadow:0 0 0 6px rgba(31,107,255,.35)}}
.tb-cue{animation:tbCue .9s ease-in-out 2 .35s}
@media (prefers-reduced-motion:reduce){.tb-cue{animation:none}.tb-fold>summary .tb-fold-chev{transition:none}}
.tb-round{flex:none;min-width:26px;text-align:center;font-size:10.5px;font-weight:800;border-radius:4px;padding:0 4px;background:#e8eef7;color:var(--brand-d);border:1px solid #cfdbea}
.tb-round.r2{background:#f1ecfa;color:#5b3fa6;border-color:#ddd0f3}.tb-round.r3,.tb-round.r4,.tb-round.r5{background:#eef1f5;color:var(--muted);border-color:var(--line)}
.tb-round.cap{background:var(--tb-ok-bg);color:#146b4b;border-color:#c5eadb}.tb-round.dead{background:var(--tb-bad-bg);color:#9b2a1f;border-color:#f3c5bf}
.tb-orig{color:var(--muted)}
.tb-retain{display:inline-flex;align-items:center;gap:4px}.tb-retain-l{color:var(--muted)}.tb-retmode{font:inherit;font-size:12px;padding:1px 2px;border:1px solid var(--line);border-radius:6px}
.tb-empty{padding:4px 2px}
.tb-chip-v{font-size:10.5px;letter-spacing:-.2px}.tb-ret{width:58px}.tb-retain{flex-wrap:nowrap;max-width:100%}
@media(max-width:420px){.tb-chips{gap:3px}.tb-chip{padding:3px 1px}}
@media(max-width:420px){.tb-addsel{font-size:12px;padding:7px 4px}.tb-add-title{font-size:13px}}

/* ---------------------------------------------------------------- league chat (ch-*) */
.bottomnav a{position:relative}
.navbadge{position:absolute;top:3px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--bad);color:#fff;font-size:11px;line-height:18px;font-weight:800;text-align:center;box-shadow:0 0 0 2px #fff}
.navbadge[hidden]{display:none}
.ch-gate{text-align:center;padding:30px 18px;margin-top:22px}.ch-gate h1{margin:6px 0}
.ch-gate-ic{display:inline-flex;width:62px;height:62px;border-radius:50%;align-items:center;justify-content:center;background:#e8eef7;color:var(--brand-d)}
.ch-gate .btn{margin-top:8px}
.ch-head-list{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.ch-head-list h1{margin:14px 0 4px}
.ch-card{padding:0;overflow:hidden}
.ch-list{list-style:none;margin:0;padding:0}
.ch-list li+li .ch-row{border-top:1px solid var(--line)}
.ch-row{display:flex;align-items:center;gap:12px;padding:12px 14px;color:var(--ink);transition:background .12s}
.ch-row:hover{text-decoration:none;background:#f3f6fb}.ch-row.on{background:#e8eef7}
.ch-av{flex:0 0 auto;width:48px;height:48px;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:#e8eef7}
.ch-av img{width:100%;height:100%;object-fit:cover}
.ch-av.sm{width:38px;height:38px}.ch-av.xs{width:30px;height:30px}
.ch-av-league{background:var(--brand-d);color:#fff}
.ch-ini{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:16px;background:var(--brand)}
.ch-av.sm .ch-ini{font-size:14px}.ch-av.xs .ch-ini{font-size:11.5px}
.ch-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ch-top,.ch-bot{display:flex;align-items:center;gap:8px;min-width:0}
.ch-title{flex:1;min-width:0;font-weight:700;font-size:15.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-time{font-size:12px;color:var(--muted);white-space:nowrap}
.ch-prev{flex:1;min-width:0;font-size:13.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-row.unread .ch-title{font-weight:800}.ch-row.unread .ch-prev{color:var(--ink);font-weight:600}.ch-row.unread .ch-time{color:var(--ok);font-weight:700}
.ch-badge{min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:var(--ok);color:#fff;font-size:12px;line-height:22px;text-align:center;font-weight:800}
.ch-settings summary{cursor:pointer;font-weight:700}.ch-settings form{display:flex;flex-direction:column;gap:8px;margin-top:10px;align-items:flex-start}

/* thread — Grok/Cursor-style bubbles */
body.chat-thread footer{display:none}
.ch-shell{display:block}
.ch-side{display:none}
.ch-thread{position:relative;display:flex;flex-direction:column;min-height:calc(100vh - 140px);
  background:linear-gradient(180deg,#f4f6fa 0%,#eef1f6 100%)}
.ch-msgs{justify-content:flex-end}
.ch-thead{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;margin:0 -12px;padding:10px 14px;
  background:rgba(255,255,255,.92);backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid rgba(16,28,61,.08);
  box-shadow:0 1px 0 rgba(255,255,255,.6)}
.ch-back{display:inline-flex;align-items:center;color:var(--brand-d);gap:2px}.ch-back:hover{text-decoration:none}
.ch-back-n{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--brand-d);color:#fff;font-size:11.5px;line-height:20px;text-align:center}
.ch-back-n[hidden]{display:none}
.ch-tt{display:flex;flex-direction:column;min-width:0}.ch-tt b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-tt small{color:var(--muted);font-size:12px}
.ch-msgs{flex:1;padding:10px 4px 14px;display:flex;flex-direction:column;gap:0}
.ch-empty{margin:48px auto;text-align:center;color:var(--muted);font-size:14px;line-height:1.6;max-width:16em}
.ch-more{text-align:center;margin:8px 0}.ch-more button{font:inherit;font-size:13px;border:1px solid var(--line);background:#fff;border-radius:16px;padding:6px 14px;color:var(--brand-d);cursor:pointer}
.ch-day{text-align:center;margin:16px 0 10px;position:sticky;top:58px;z-index:2}
.ch-day span{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.02em;color:#5c6b82;background:rgba(255,255,255,.85);
  border:1px solid rgba(16,28,61,.08);padding:3px 12px;border-radius:999px;box-shadow:0 1px 2px rgba(16,28,61,.04)}
.ch-msg{display:flex;align-items:flex-start;gap:8px;margin-top:3px;position:relative;padding:0 4px}
.ch-msg.first{margin-top:14px}
.ch-msg.mine{justify-content:flex-end}
.ch-avcol{flex:0 0 32px;width:32px;padding-top:22px} /* room for meta above first bubble */
.ch-msg:not(.first) .ch-avcol{padding-top:0}
.ch-av.xs{width:32px;height:32px;box-shadow:0 0 0 2px #fff,0 1px 3px rgba(16,28,61,.12)}
.ch-stack{max-width:min(82%,520px);display:flex;flex-direction:column;position:relative;min-width:0}
.ch-msg.mine .ch-stack{align-items:flex-end}
.ch-meta{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;margin:0 2px 4px 4px;line-height:1.2;max-width:100%}
.ch-meta.mine{justify-content:flex-end;margin-right:4px;opacity:.7}
.ch-who{font-size:12.5px;font-weight:700;color:var(--brand-d)}
.ch-wsub{font-size:11.5px;font-weight:600;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:9em}
.ch-ago{font-size:11px;font-weight:600;color:#8b97a8;font-variant-numeric:tabular-nums}
.ch-bubble{position:relative;padding:10px 14px;border-radius:18px;font-size:15px;line-height:1.42;word-wrap:break-word;
  overflow-wrap:anywhere;white-space:normal;cursor:pointer;outline:none;
  box-shadow:0 1px 2px rgba(16,28,61,.06)}
.ch-bubble a{text-decoration:underline}
.ch-msg.theirs .ch-bubble{background:#fff;color:var(--ink);border:1px solid rgba(16,28,61,.06)}
.ch-msg.mine .ch-bubble{background:linear-gradient(160deg,#5a7dac,#3f6a9e);color:#fff;border:0;
  box-shadow:0 2px 8px rgba(63,106,158,.28)}.ch-msg.mine .ch-bubble a{color:#fff}
.ch-msg.theirs.first .ch-bubble{border-top-left-radius:6px}
.ch-msg.theirs.last .ch-bubble{border-bottom-left-radius:6px}
.ch-msg.mine.first .ch-bubble{border-top-right-radius:6px}
.ch-msg.mine.last .ch-bubble{border-bottom-right-radius:6px}
.ch-msg.theirs.first.last .ch-bubble{border-radius:18px 18px 18px 6px}
.ch-msg.mine.first.last .ch-bubble{border-radius:18px 18px 6px 18px}
.ch-reacts{display:flex;gap:4px;flex-wrap:wrap;margin:4px 4px 0;position:relative;z-index:1}
.ch-react{font:inherit;font-size:13px;line-height:1;padding:3px 8px;border-radius:12px;border:1px solid rgba(16,28,61,.1);
  background:#fff;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.ch-react b{font-size:11.5px;color:var(--muted)}.ch-react.me{border-color:#5a7dac;background:#e8eef7}
.ch-rbar{display:none;position:absolute;bottom:calc(100% + 6px);z-index:6;background:#fff;border:1px solid rgba(16,28,61,.1);
  border-radius:22px;padding:4px 6px;box-shadow:0 8px 24px rgba(20,30,50,.18);white-space:nowrap}
.ch-msg.theirs .ch-rbar{left:0}.ch-msg.mine .ch-rbar{right:0}
.ch-msg.picking .ch-rbar{display:flex;gap:2px}
.ch-pick{font-size:22px;line-height:1;background:none;border:0;padding:4px 5px;cursor:pointer;border-radius:50%}
.ch-pick:hover{background:#f0f3f8;transform:scale(1.15)}
.ch-smile{display:none;align-self:center;background:none;border:0;color:var(--muted);font-size:18px;cursor:pointer;padding:2px 4px}
.ch-msg.mine .ch-smile{order:-1}
@media(hover:hover){.ch-msg:hover .ch-smile{display:inline-block}}
.ch-sys{align-self:center;margin:12px 0 4px;max-width:92%;display:flex;flex-direction:column;align-items:center}
.ch-sys-in{background:#e9f6f0;color:#17694a;border:1px solid #c9eadb;border-radius:14px;padding:7px 13px;font-size:13px;text-align:center}
.ch-sys-in a{color:inherit}.ch-sys .ch-reacts{margin-top:2px}
.ch-newpill{position:fixed;left:50%;transform:translateX(-50%);bottom:84px;z-index:8;border:0;background:var(--brand-d);color:#fff;
  font:inherit;font-weight:700;font-size:13px;padding:8px 16px;border-radius:18px;box-shadow:0 4px 14px rgba(0,0,0,.22);cursor:pointer}
.ch-newpill[hidden]{display:none}
.ch-composer{position:sticky;bottom:0;z-index:5;display:flex;align-items:flex-end;gap:10px;margin:0 -12px;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.88);backdrop-filter:blur(16px) saturate(1.15);
  border-top:1px solid rgba(16,28,61,.08);box-shadow:0 -6px 20px rgba(16,28,61,.05)}
.ch-composer textarea{flex:1;resize:none;font:inherit;font-size:16px;line-height:1.35;padding:11px 16px;
  border:1px solid rgba(16,28,61,.12);border-radius:22px;background:#f4f6fa;max-height:140px;outline:none;
  box-shadow:inset 0 1px 2px rgba(16,28,61,.04);transition:border-color .15s,background .15s,box-shadow .15s}
.ch-composer textarea:focus{border-color:#5a7dac;background:#fff;box-shadow:0 0 0 3px rgba(90,125,172,.18)}
.ch-send{flex:0 0 42px;width:42px;height:42px;border-radius:50%;border:0;
  background:linear-gradient(160deg,#5a7dac,#3f6a9e);color:#fff;display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:0 2px 8px rgba(63,106,158,.35);transition:transform .12s,opacity .12s}
.ch-send:not(:disabled):active{transform:scale(.94)}
.ch-send:disabled{background:#c5d0df;box-shadow:none;cursor:default;opacity:.85}
@media(max-width:899px){
  body.chat-thread{padding-bottom:0}
  body.chat-thread .bottomnav{display:none}
  body.chat-thread .ch-newpill{bottom:76px}
}
@media(min-width:900px){
  .ch-shell{display:grid;grid-template-columns:330px minmax(0,1fr);gap:16px;align-items:start}
  .ch-side{display:block;position:sticky;top:10px;padding:0;overflow:auto;max-height:calc(100vh - 110px)}
  .ch-side .ch-av{width:42px;height:42px}
  .ch-back{display:none}
  .ch-thread{border-radius:14px;overflow:hidden;border:1px solid rgba(16,28,61,.08);box-shadow:0 2px 12px rgba(16,28,61,.06)}
  .ch-thead{margin:0;border-radius:0;top:0}
  .ch-composer{bottom:calc(68px + env(safe-area-inset-bottom));margin:0;border-radius:0}
  .ch-newpill{bottom:150px}
}

/* PWA / iPhone safe areas (black-translucent status bar in standalone: the app bar paints under it) */
.appbar{padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
.bottomnav{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
.ch-newpill{bottom:calc(84px + env(safe-area-inset-bottom))}
@media (display-mode: standalone){
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom));overscroll-behavior-y:none}
  .bottomnav a{padding-bottom:8px}
}

/* practice-squad poaching */
.badge.b-warn{background:#7a4b00;color:#ffd58a}
.poach{margin-top:4px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
form.inline{display:inline}

/* injury tags + news */
.injtag{display:inline-block;font-size:10px;font-weight:800;line-height:1;padding:2px 4px;border-radius:4px;letter-spacing:.02em;vertical-align:1px}
.it-q{background:#5c4a00;color:#ffe066}.it-doubt{background:#6b3200;color:#ffb066}.it-out{background:#6b1010;color:#ff8a8a}.it-ir{background:#4a1020;color:#ff9fb8}
.pills{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0}
.pill{padding:6px 12px;border-radius:999px;border:1px solid var(--line,#334);font-size:13px;text-decoration:none;color:inherit;white-space:nowrap}
.pill.on{background:var(--accent,#2563eb);border-color:var(--accent,#2563eb);color:#fff}
.subtabs{display:flex;gap:14px;border-bottom:1px solid var(--line,#334);margin:8px 0 12px}
.subtabs a{padding:6px 2px;text-decoration:none;color:inherit;opacity:.7}.subtabs a.on{opacity:1;border-bottom:2px solid var(--accent,#2563eb);font-weight:600}
.newslist{display:grid;gap:10px}
.newsitem{display:flex;gap:12px;align-items:flex-start;padding:10px}
.newsitem.injury{border-left:3px solid #c0392b}
.newsimg{width:120px;height:68px;object-fit:cover;border-radius:6px;flex:none}
.newsitem h3{margin:4px 0;font-size:15px;line-height:1.3}
@media (max-width:600px){.newsimg{width:84px;height:48px}}
/* notifications */
.bell{position:relative;display:inline-flex;padding:4px}
.bellbadge{position:absolute;top:-2px;right:-4px;background:#d93025;color:#fff;border-radius:10px;font-size:10px;min-width:16px;height:16px;line-height:16px;padding:0 4px;text-align:center;font-weight:700}
.notif-list{list-style:none;padding:0;margin:8px 0}
.notif-list li{border-bottom:1px solid #e6e9ee}.notif-list li:last-child{border-bottom:0}
.notif-list a{display:flex;flex-direction:column;gap:2px;padding:10px 12px;color:inherit;text-decoration:none}
.notif-list li.unread{background:#eef4fc}.notif-list li.unread .nt::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#2f6fd6;margin-right:6px}
.notif-list .nk{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#6b7686}
.notif-list .nb{font-size:13px;color:#3d4654}
.notif-prefs{width:100%}.notif-prefs td.c,.notif-prefs th{text-align:center;width:48px}.notif-prefs td:first-child{text-align:left}
.right{text-align:right}
/* owners directory */
.od-head h1{margin-bottom:2px;text-transform:uppercase;letter-spacing:.02em;font-size:20px}
.od-search{display:flex;gap:8px;margin:10px 0}.od-search input{flex:1;border-radius:22px;padding:9px 14px}
.od-pills{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:10px}
.od-pills .pill{border:0;white-space:nowrap;cursor:pointer;font:inherit;font-size:13px;font-weight:600;padding:6px 14px;border-radius:18px}
.od-list{display:grid;gap:14px}@media(min-width:800px){.od-list{grid-template-columns:1fr 1fr}}
.ocard{background:#fff;border-radius:14px;box-shadow:0 1px 4px rgba(20,40,80,.12);padding:14px;border-top:5px solid #2f6fd6;display:flex;flex-direction:column;gap:8px}
.ocard.r-commissioner{border-top-color:#e08a00}.ocard.r-co_commissioner{border-top-color:#16a37a}
.oc-top{display:flex;gap:10px;align-items:flex-start}.oc-av .logo{border-radius:10px}
.oc-who{flex:1;min-width:0}.oc-name{font-weight:700;font-size:16px}.oc-handle{font-weight:600;color:#3d4654}
.oc-nick{color:#6b7686;font-size:13px}.badge.you{background:#2f6fd6;color:#fff;font-weight:700}
.oc-badges{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.rbadge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:10px;background:#eceff3;color:#556}
.rb-commissioner{background:#fff2d9;color:#8a5a00}.rb-co_commissioner{background:#efe6ff;color:#5b2ea6}
.cbadge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:6px;background:#1d4f9a;color:#fff}
.oc-team{display:flex;justify-content:space-between;align-items:center;border:1.5px solid #26344a;border-radius:9px;padding:6px 10px}
.oc-meta{display:flex;flex-direction:column;gap:3px;font-size:13px}.oc-mail a{font-family:ui-monospace,Menlo,monospace;font-size:12.5px}
.oc-row{display:flex;justify-content:space-between;gap:8px;color:#3d4654}.oc-fav{color:#b4233a}
.oc-ten{font-size:11.5px;color:#6b7686}
.oc-bio{margin:0;padding:10px 12px;background:#f6f8fb;border-radius:9px;font-style:italic;font-size:13.5px;color:#2b3442}
.oc-box{border-radius:9px;padding:8px 11px;font-size:13px}.ob-h{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}
.oc-box.strat{background:#fff6e6;border:1px solid #f3d29a}.oc-box.strat .ob-h{color:#a35f00}
.oc-box.block{background:#eaf7f1;border:1px solid #a9dcc5}.oc-box.block .ob-h{color:#127a55}
.oc-chips{display:flex;flex-wrap:wrap;gap:5px}
.achip{display:inline-block;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:12px;background:#e5f0ff;color:#1d4f9a}
.achip.k-championship{background:#fff2d1;color:#8a5a00}.achip.k-record{background:#efe6ff;color:#5b2ea6}
.oc-actions{display:flex;gap:8px;align-items:center}.oc-actions .oc-edit{margin-left:auto}
.oc-empty{padding:4px 0}
ul.plain{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px}
.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.grid2>*{min-width:0}.grid2 input,.grid2 select{min-width:0;max-width:100%;box-sizing:border-box}
fieldset{min-width:0}
.tabs-in{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs-in::-webkit-scrollbar{display:none}.tabs a{flex:1 0 auto;white-space:nowrap}
/* ===== player card ===== */
.pcard{--pc-r:16px;background:#fff;border-radius:var(--pc-r);box-shadow:0 2px 14px rgba(16,32,64,.12);overflow:hidden;margin:12px 0 18px;position:relative}
.pc-page main.wrap{max-width:860px}
.pc-hero{position:relative;color:#fff;padding:12px 16px 16px;overflow:hidden;
  background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--c1) 82%,#fff 18%) 0%,var(--c1) 45%,color-mix(in srgb,var(--c1) 55%,#000 45%) 100%)}
.pc-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:4px;background:linear-gradient(90deg,var(--c2),color-mix(in srgb,var(--c2) 40%,transparent))}
.pc-wm{position:absolute;right:-48px;top:-28px;width:250px;height:250px;opacity:.13;filter:saturate(.9);pointer-events:none}
.pc-topbar{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}
.pc-chip{background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:3px 9px;font-size:12.5px;font-weight:700;letter-spacing:.04em}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.pc-x{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:9px;padding:5px 11px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.pc-id{display:flex;gap:14px;align-items:flex-end;margin-top:10px;position:relative;z-index:1}
.pc-shot{position:relative;flex:0 0 auto;width:104px;height:104px;border-radius:50%;background:linear-gradient(160deg,rgba(255,255,255,.35),rgba(255,255,255,.08));
  box-shadow:0 0 0 3px var(--c2),0 8px 22px rgba(0,0,0,.35);overflow:hidden;display:grid;place-items:center}
.pc-shot img{width:128%;height:auto;margin-top:16%;object-fit:cover;position:relative;z-index:1}
.pc-ini{position:absolute;font-size:34px;font-weight:800;opacity:.7}
.pc-who{min-width:0;flex:1}
.pc-name{margin:0;font-size:27px;line-height:1.08;font-weight:800;letter-spacing:-.01em;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.pc-tags{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-top:6px}
.pc-tags .pos{font-size:11px;padding:2px 6px;box-shadow:0 0 0 1.5px rgba(255,255,255,.55)}
.pc-role{font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:10px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25)}
.pc-role.starter{background:rgba(46,204,113,.22);border-color:rgba(46,204,113,.6)}
.pc-status{font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:10px;background:#fff;color:#16714f}
.pc-status.st-q{color:#8a6a00;background:#fff4c2}.pc-status.st-doubt{color:#8a3d00;background:#ffe0c2}
.pc-status.st-out,.pc-status.st-o{color:#a01818;background:#ffd9d9}.pc-status.st-ir{color:#8a1036;background:#ffd6e3}
.pc-team{font-size:12.5px;opacity:.85;margin-top:4px}
.pc-bio{display:flex;flex-wrap:wrap;gap:4px 0;margin-top:12px;font-size:13px;position:relative;z-index:1}
.pc-bio span+span::before{content:"•";margin:0 7px;opacity:.55}
.pc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;position:relative;z-index:1}
.pc-own,.pc-con{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.95);color:var(--ink);border-radius:10px;padding:4px 9px 4px 5px;font-size:12.5px;font-weight:600;flex-wrap:wrap}
.pc-own:hover{text-decoration:none}.pc-own .logo{border-radius:6px}.pc-own em{font-style:normal;font-size:10.5px;background:#eef;padding:0 5px;border-radius:6px}
.pc-own.fa{padding-left:9px;color:#555}
.pc-con{padding-left:9px}.pc-con .dim{color:#5f6b7a;font-weight:500}
.pc-tagic{background:#f3e5ff;color:#6a2c9a;border-radius:6px;padding:0 5px;font-size:11.5px}
.pc-klab{display:inline-block;background:#e5f0ff;color:#1d4f9a;border-radius:6px;padding:1px 6px;font-size:11px;font-weight:700}
.pc-season{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.18);font-size:13px;position:relative;z-index:1}
.pc-sea{background:var(--c2);color:color-mix(in srgb,var(--c1) 80%,#000);font-weight:800;border-radius:6px;padding:1px 7px;font-size:12px}
.pc-season .pts b{color:#9ff0c4}.pc-season .ppg b{color:#ffd68a}
.pc-next{background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:2px 8px;font-size:12px;font-weight:600}
.pc-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;background:#f6f8fb;border-bottom:1px solid var(--line)}
@media(min-width:760px){.pc-tabs{grid-template-columns:repeat(6,1fr)}}
.pc-tab{display:flex;align-items:center;justify-content:center;gap:5px;min-height:42px;padding:6px 6px;border-radius:10px;border:1px solid #d5dce6;background:#fff;color:#2b3442;font:inherit;font-size:12px;font-weight:700;cursor:pointer;text-align:left;line-height:1.15}
.pc-tab svg{flex:0 0 16px;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pc-tab.on{background:#2f6fd6;border-color:#2f6fd6;color:#fff;box-shadow:0 2px 8px rgba(47,111,214,.35)}
.pc-strip{display:grid;grid-template-columns:repeat(6,1fr);margin:12px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.pc-strip div{display:flex;flex-direction:column;align-items:center;padding:9px 2px;border-left:1px solid var(--line)}.pc-strip div:first-child{border-left:0}
.pc-strip span{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:#6b7686;font-weight:700}
.pc-strip b{font-size:17px;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.pc-strip .g{color:#1f8a5b}.pc-strip .b{color:#2f6fd6}.pc-strip .o{color:#b46400}
.pc-pane{display:none;margin:0 12px 12px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.pc-pane.on{display:block}
.pc-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#1f5194;color:#fff;padding:9px 12px}
.pc-bar b{text-transform:uppercase;letter-spacing:.06em;font-size:14px}.pc-bar span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;opacity:.85;text-align:right}
.pc-scroll{overflow-x:auto}
.pc-log{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.pc-log th{font-size:11.5px;color:#4b5563;font-weight:700;padding:8px 6px;text-align:center;border-bottom:1px solid var(--line);background:#fafbfd}
.pc-log td{padding:7px 6px;text-align:center;border-bottom:1px solid #eef1f5;white-space:nowrap}
.pc-log .l{text-align:left}.pc-log .pts{text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700}
.pc-log td.l a{color:var(--ink);font-weight:700}.pc-log .res{display:block;font-size:10.5px;color:#6b7686;font-weight:500}
.pc-log tr.fut td{color:#9aa3af}.pc-log tr.fut td.l a{color:#6b7686;font-weight:600}
.pc-log .p{color:#9aa3af;font-weight:500}.pc-log .hi{color:#1f8a5b}
.pc-log tr.live{background:#eef5ff}.pc-log .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2f8cff;margin-left:4px;vertical-align:1px;animation:pcpulse 1.4s infinite}
@keyframes pcpulse{50%{opacity:.3}}
.pc-log tfoot td{border-top:2px solid #d5dce6;border-bottom:0;font-weight:700;background:#fafbfd;font-size:12.5px}
.pc-log tfoot td.l{font-size:11px;letter-spacing:.05em;color:#4b5563}.pc-log tfoot .pts{color:#1f8a5b;font-size:14px}
.pc-log tr.cur td{background:#f3f8ff;font-weight:600}
.pc-log.money td{white-space:normal}.pc-log .sub{font-size:10.5px;color:#6b7686;font-weight:500}.pc-log .sub.g{color:#1f8a5b}.pc-log td.r{color:#b42318;font-weight:700}
.pc-log.depth td{text-align:left;white-space:normal}.dp{display:inline-block;margin:2px 10px 2px 0}.dp.me{background:#fff4c2;border-radius:6px;padding:0 5px;font-weight:700}
.dim{color:#8792a2}
.pc-notes{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 12px;margin:0;font-size:11.5px;color:#6b7686;font-style:italic}
.pc-notes span:only-child{grid-column:1/-1}
.pc-empty{padding:18px 14px;margin:0;text-align:center;color:#6b7686}
.pc-sub{padding:4px 12px 10px}.pc-sub h4{margin:8px 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#4b5563}
.pc-elig{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.pc-acts{display:flex;flex-wrap:wrap;gap:6px}
.pc-hist{list-style:none;margin:0;padding:0;font-size:13px}.pc-hist li{padding:6px 0;border-bottom:1px solid #eef1f5}
.pc-inj{margin:10px 12px;padding:10px 12px;border-radius:10px;background:#fff5f5;border:1px solid #f3c9c9;font-size:13px}
.pc-news{list-style:none;margin:0;padding:0 12px}.pc-news li{padding:10px 0;border-bottom:1px solid #eef1f5;font-size:13.5px}.pc-news li.injury{border-left:3px solid #d94b4b;padding-left:8px}
.pc-news p{margin:4px 0 0;color:#3d4654;font-size:13px}
.pc-scout{display:grid;gap:10px;padding:12px}@media(min-width:760px){.pc-scout{grid-template-columns:1fr 1fr}}
.sc-box{border:1px solid var(--line);border-radius:10px;padding:10px 12px}.sc-box h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#4b5563}
.sc-kv{display:flex;gap:8px;align-items:baseline;padding:3px 0;font-size:13px}.sc-kv span:first-child{flex:1}.sc-kv b{font-family:ui-monospace,Menlo,monospace}
.sc-spark{display:flex;align-items:flex-end;gap:3px;height:54px;margin-bottom:8px}.sc-spark i{flex:1;background:linear-gradient(#2f6fd6,#8db4f0);border-radius:3px 3px 0 0;min-width:6px}
.sc-trend{margin-top:6px;font-weight:700;font-size:13px}.sc-trend.up{color:#1f8a5b}.sc-trend.down{color:#b42318}
.sc-curve{display:flex;align-items:flex-end;gap:3px;height:96px}
.sc-curve div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.sc-curve i{width:100%;background:#c8d6ea;border-radius:3px 3px 0 0}.sc-curve span{font-size:10px;color:#6b7686;margin-top:2px}
.sc-curve .pk i{background:#7fa7dc}.sc-curve .me i{background:#e08a1e}.sc-curve .me span{color:#b46400;font-weight:800}
.pc-foot{position:sticky;bottom:0;z-index:5;display:flex;justify-content:flex-end;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background:color-mix(in srgb,#1f3d66 92%,transparent);backdrop-filter:blur(6px)}
.pc-page .pc-foot{bottom:calc(60px + env(safe-area-inset-bottom))}
.pc-foot form{margin:0}.pc-act{background:#e11d48;border-color:#e11d48;color:#fff;font-weight:700}
.pc-act.k-trade,.pc-act.k-add,.pc-act.k-bid,.pc-act.k-claim,.pc-act.k-nominate{background:#16a34a;border-color:#16a34a}
.pc-act:hover{text-decoration:none}.pc-close{background:#0f2747;border-color:#0f2747;color:#fff}
/* sheet */
.psheet{padding:0;border:0;background:transparent;width:min(860px,100vw);max-width:100vw;max-height:100dvh;height:100dvh;margin:0 auto;overflow-y:auto;overscroll-behavior:contain}
.psheet::backdrop{background:rgba(8,16,32,.55);backdrop-filter:blur(2px)}
.psheet .pcard{margin:0;border-radius:0;min-height:100%}
@media(min-width:760px){.psheet{height:auto;max-height:calc(100dvh - 48px);margin-top:24px;border-radius:16px}.psheet .pcard{border-radius:16px;min-height:0}}
.psheet-load{margin:40vh auto;color:#fff;text-align:center;font-weight:600}
@media(max-width:420px){.pc-name{font-size:24px}.pc-shot{width:92px;height:92px}.pc-strip b{font-size:15px}.pc-log{font-size:12.5px}.pc-log th,.pc-log td{padding:7px 4px}}
.psheet .pcard{display:flex;flex-direction:column}.psheet .pc-panes{flex:1}
/* NFL depth chart */
.dchart{padding:10px 0 0}
.dc-chips{display:flex;flex-wrap:wrap;gap:5px;padding:0 12px 8px}
.dc-chip{flex:none;border:1px solid #d5dce6;background:#fff;border-radius:16px;padding:5px 8px;font:inherit;font-size:11.5px;font-weight:700;color:#2b3442;cursor:pointer;white-space:nowrap}
.dc-chip.on{background:#1f5194;border-color:#1f5194;color:#fff}
.dc-tools{display:flex;gap:10px;align-items:center;padding:0 12px 10px}
.dc-q{flex:1;min-width:0;border:1px solid #d5dce6;border-radius:8px;padding:7px 10px;font:inherit;font-size:14px;background:#fff}
.dc-page{flex:none;font-size:12.5px;font-weight:600}
.dc-sec{margin:0 0 10px}.dc-sec[hidden],.dc-tbl tr[hidden]{display:none}
.dc-sh{display:flex;align-items:baseline;gap:8px;padding:7px 12px;background:#eef2f7;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.dc-sh b{font-size:11.5px;letter-spacing:.06em;color:#2b3442}.dc-form{font-size:10.5px;color:#6b7686}
.dc-hint{margin-left:auto;font-size:10.5px;color:#8a95a5;white-space:nowrap}
.dc-tbl{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}
.dc-tbl thead th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#6b7686;padding:5px 4px;text-align:left;border-bottom:1px solid var(--line);font-weight:700}
.dc-tbl td{padding:7px 4px;border-bottom:1px solid #eef1f5;vertical-align:middle;line-height:1.25}
.dc-tbl .c-slot{width:50px;padding-left:12px;font-weight:700;color:#6b7686;font-size:12px;white-space:nowrap}
.dc-tbl td.c-slot.start{color:#14894a}
.dc-tbl .c-st{width:50px;text-align:center}.dc-tbl .c-age{width:70px;white-space:nowrap;font-size:12px}.dc-tbl tr>:last-child{padding-right:12px}.dc-tbl tr>.c-age:last-child{width:84px}
.dc-tbl .c-pts{width:50px;text-align:right;padding-right:12px}.dc-tbl td.c-pts b{display:block;font-size:13px}
.dc-tbl td.c-pts .dc-no{display:block;font-size:11px}
.dc-tbl td.c-pl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dc-tbl td.c-pl a{color:var(--ink);font-weight:700}
.dc-no{color:#8a95a5;font-weight:500;font-size:11.5px}
.dc-tbl tr.tap{cursor:pointer}.dc-tbl tr.tap:hover{background:#f7f9fc}
.dc-tbl tr.mine,.dc-tbl tr.mine:hover{background:#e8f1fd}.dc-tbl tr.mine td.c-slot{box-shadow:inset 3px 0 0 #1f6fd6}
.dc-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#1f6fd6;margin:0 4px 1px -9px;vertical-align:middle}
.dc-pill{display:inline-block;min-width:30px;padding:2px 5px;border-radius:10px;font-size:10.5px;font-weight:800;text-align:center;letter-spacing:.02em}
.dc-pill.s-a{background:#dcf3e5;color:#14894a}.dc-pill.s-q{background:#fff3c4;color:#8a6500}
.dc-pill.s-d{background:#ffe2c7;color:#b45309}.dc-pill.s-o{background:#fde0e0;color:#c42b2b}
.dc-ft{display:inline-block;vertical-align:-3px}.dc-ft .logo{border-radius:3px;width:16px;height:16px;font-size:7px}
.dc-none{padding:12px;color:#6b7686}
@media(min-width:700px){.dc-tbl{font-size:14px}.dc-tbl .c-slot{width:64px}.dc-tbl .c-age{width:84px}.dc-tbl .c-st{width:64px}.dc-tbl .c-pts{width:70px}}
.dc-head{display:flex;gap:12px;align-items:center;margin:12px 0;padding:14px;border-radius:14px;color:#fff;
  background:linear-gradient(120deg,var(--c1),color-mix(in srgb,var(--c1) 55%,#000));border-bottom:4px solid var(--c2)}
.dc-head h1{margin:0;font-size:22px}.dc-pick{margin:0 0 10px}.dc-card{padding:0;overflow:hidden}
/* franchise ID chip (T1..T12) — toggle: Settings › General › Show franchise ID chips */
.fchip{display:inline-block;margin-left:5px;padding:0 5px;border-radius:999px;background:#2a3446;color:#c4cede;border:1px solid #3a4760;font-size:10px;font-weight:700;line-height:15px;letter-spacing:.02em;vertical-align:middle;white-space:nowrap;font-family:system-ui,sans-serif}
h1 .fchip,h2 .fchip{font-size:11px;line-height:17px;vertical-align:.25em}
.fr-hist .fr-logo{width:18px;height:18px;border-radius:4px;vertical-align:middle;object-fit:cover}
.hs-logo{width:18px;height:18px;border-radius:4px;vertical-align:-4px;object-fit:cover}
.assumed{color:#8a6d1f;font-size:9px;font-weight:600;margin-left:3px;letter-spacing:.02em;cursor:help;vertical-align:super;line-height:0}
.fr-formerly{margin-top:2px}
.fr-owner{display:inline-block}
.recs .rec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:4px 18px}
.recs h3{margin:12px 0 4px}
/* ================================================================ ds: shared components (design refresh) */
/* segmented control (pills / subtabs share it) */
.pills,.subtabs{display:flex;flex-wrap:nowrap;gap:4px;align-items:center;margin:8px 0 12px;padding:4px;background:#e1e7f0;border:0;border-radius:999px;overflow-x:auto;scrollbar-width:none;max-width:100%}
.pills::-webkit-scrollbar,.subtabs::-webkit-scrollbar{display:none}
.pill,.subtabs a{flex:none;padding:6px 14px;border:0;border-radius:999px;background:transparent;color:#4a5a72;font-size:13.5px;font-weight:600;white-space:nowrap;opacity:1;text-decoration:none}
.subtabs a{flex:1;text-align:center}
.pill.on,.subtabs a.on{background:#fff;color:var(--brand-d);border:0;box-shadow:0 1px 3px rgba(20,35,60,.15)}
.pills .thru{margin-left:auto;padding-right:8px;white-space:nowrap}
.pill .n,.chip .n{font-weight:500;opacity:.75;margin-left:3px}
/* filter chips (wrap; counts) */
.chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:8px 0 12px;padding-bottom:2px}.chips::-webkit-scrollbar{display:none}
.chip{flex:none;display:inline-flex;align-items:center;padding:6px 13px;border-radius:999px;background:#fff;border:1px solid #d8e0ea;color:#3a4a62;font-size:13.5px;font-weight:600;white-space:nowrap}
.chip.on{background:var(--brand-d);border-color:var(--brand-d);color:#fff}.chip:hover{text-decoration:none}
/* week picker  ‹ WK 4 › */
.wkpick{display:inline-flex;align-items:center;gap:2px;background:#fff;border:1px solid #d8e0ea;border-radius:999px;padding:3px;box-shadow:var(--shadow)}
.wkpick a,.wkpick span{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:999px;color:var(--brand-d);font-weight:700}
.wkpick .cur{padding:0 10px;font-size:14px;letter-spacing:.3px}.wkpick a:hover{background:var(--brand-l);text-decoration:none}
.wkpick .off{color:#c3ccd8}
.wkpick-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0}
/* quick links grid */
.qlinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
@media(min-width:620px){.qlinks{grid-template-columns:repeat(4,minmax(0,1fr))}}
.qlink{display:flex;align-items:center;gap:9px;padding:11px 12px;border-radius:14px;background:#fff;border:1px solid #dfe6ef;color:var(--ink);font-weight:600;font-size:14px;box-shadow:var(--shadow);min-width:0}
.qlink svg{flex:none;width:20px;height:20px;color:var(--brand)}.qlink span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qlink:hover{text-decoration:none;border-color:var(--brand)}.qlink.on{background:var(--brand-d);color:#fff;border-color:var(--brand-d)}.qlink.on svg{color:#fff}
/* menu groups (More / hub) */
.mgroup{padding:4px 0}.mgroup h2{font-size:12px;letter-spacing:.7px;text-transform:uppercase;color:var(--brand);margin:6px 16px 4px}
.mgroup a,.mgroup .linkbtn{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;border-top:1px solid #eef1f5;color:var(--ink);font-size:14.5px;width:100%;text-align:left}
.mgroup a::after{content:"›";color:#a3afbf;font-size:18px;line-height:1}.mgroup a:hover{background:#f7f9fc;text-decoration:none}
.card.flush{padding:0;overflow:hidden}
/* standings cards by conference */
.stcard{padding:0;overflow:hidden}
.confhead{display:flex;align-items:center;gap:8px;padding:11px 14px;font-weight:800;font-size:13.5px;letter-spacing:.5px;text-transform:uppercase}
.confhead .cbadge{width:24px;height:24px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:12px}
.confhead .ctag{margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.3px;padding:2px 8px;border-radius:999px;text-transform:none}
.conf-0 .confhead{background:#e9f0fb;color:#24508f}.conf-0 .cbadge{background:#2f6fd0}.conf-0 .ctag{background:#d4e2f7;color:#24508f}
.conf-1 .confhead{background:#fcecec;color:#a12b2b}.conf-1 .cbadge{background:#c83a3a}.conf-1 .ctag{background:#f7d8d8;color:#a12b2b}
.conf-2 .confhead{background:#e8f6ef;color:#146c4b}.conf-2 .cbadge{background:#1f9e6e}.conf-2 .ctag{background:#cfeee0;color:#146c4b}
.stcard .standings{border-radius:0}.stcard .standings th{background:#f6f8fb;color:#6b7686;font-size:11px;font-weight:700;letter-spacing:.5px;padding:8px 6px;border-bottom:1px solid var(--line)}
.standings tr.cut td{border-top:2px dashed #9fb3cf}
.standings tr.mine td{background:#f4f8ff}
.you{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.4px;padding:1px 6px;border-radius:999px;background:var(--brand-d);color:#fff;margin-left:5px;vertical-align:2px}
.standings .rec,.standings .pf{font-family:var(--mono);font-size:13.5px}
.stleg{display:flex;gap:14px;align-items:center;padding:8px 14px;border-top:1px solid #eef1f5;font-size:11.5px;color:var(--muted)}
.stleg i{display:inline-block;width:18px;border-top:2px dashed #9fb3cf;vertical-align:middle;margin-right:5px}
/* toggle switch: <label class="switch"><input type="checkbox"> text</label> or input.sw */
input.sw,.switch input[type=checkbox],.settings .card>label.inline input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:none;width:40px;height:24px;border-radius:999px;background:#cfd8e4;position:relative;cursor:pointer;transition:background .15s;border:0;padding:0;margin:0}
input.sw::after,.switch input[type=checkbox]::after,.settings .card>label.inline input[type=checkbox]::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:left .15s}
input.sw:checked,.switch input[type=checkbox]:checked,.settings .card>label.inline input[type=checkbox]:checked{background:var(--brand)}
input.sw:checked::after,.switch input[type=checkbox]:checked::after,.settings .card>label.inline input[type=checkbox]:checked::after{left:19px}
input.sw:disabled,.settings .card>label.inline input[type=checkbox]:disabled{opacity:.55;cursor:default}
/* settings section headers with icons */
.settings .card>h2:first-child,.sethead{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:15px}
.sicon{flex:none;width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--brand-l);color:var(--brand-d)}
.sicon svg{width:18px;height:18px}
/* transactions feed */
.feed{display:flex;flex-direction:column;gap:10px;margin:10px 0}
.fcard{background:#fff;border:1px solid #e6ebf2;border-radius:var(--r);padding:12px 14px;box-shadow:var(--shadow)}
.fhead{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fhead .when{margin-left:auto;font-size:12px;color:var(--muted);white-space:nowrap}
.fteam{font-weight:700;color:var(--ink)}
.ttype{font-size:10.5px;font-weight:800;letter-spacing:.6px;padding:2px 8px;border-radius:7px;text-transform:uppercase;background:#eceff3;color:#4a5568}
.tt-trade{background:#efe7fb;color:#6b3fb5}.tt-waiver,.tt-claim{background:#e3f4ec;color:#146c4b}.tt-add,.tt-fa{background:#e3f4ec;color:#146c4b}
.tt-drop,.tt-cut{background:#fbe9e7;color:#9b2b1e}.tt-move,.tt-ir{background:#eef0fb;color:#3b3f9a}.tt-commish{background:#fff2d9;color:#8a5a00}
.fnote{margin:7px 0 0;font-size:14px;color:#2b3546}
.pchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.pchip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:12.5px;font-weight:600;border:1px solid #d8e0ea;background:#f7f9fc;color:var(--ink)}
.pchip .act{font-size:10px;font-weight:700;letter-spacing:.4px;opacity:.75;text-transform:uppercase}
.pchip.add{background:#eaf7f0;border-color:#c5e8d6;color:#146c4b}.pchip.drop{background:#fdeeec;border-color:#f3cdc7;color:#9b2b1e}
.pchip.move{background:#f0f2fb;border-color:#d9ddf3;color:#3b3f9a}.pchip.trade{background:#f4eefc;border-color:#e0d3f5;color:#6b3fb5}
/* head-to-head score share bar (actual or projected points; not a win probability) */
@media(max-width:380px){.tabs a{padding:7px 10px;font-size:13.5px}.appname{font-size:15px}}
.pills.teampick{flex-wrap:wrap;border-radius:16px}
.confhead .ctag{white-space:nowrap}.confhead{line-height:1.2}
/* week selector rows (scoreboard / lineup week): light pill chips instead of a navy band */
.weekbar{background:transparent;color:var(--ink);padding:10px 0 2px}.weekbar.inline{margin:12px 0;padding:0}
.weekbar .wk-label{text-align:left;font-size:11px;font-weight:700;letter-spacing:.7px;color:var(--muted);margin:0 2px 6px;opacity:1}
.weekbar .wk-row{justify-content:flex-start;gap:6px;flex-wrap:wrap}
.weekbar .wk-row a{color:var(--brand-d);background:#fff;border:1px solid #d8e0ea;border-right:1px solid #d8e0ea;border-radius:999px;min-width:38px;padding:6px 10px;font-weight:600;font-family:var(--mono);font-size:13.5px}
.weekbar .wk-row a:last-child{border-right:1px solid #d8e0ea}
.weekbar .wk-row a.on{background:var(--brand-d);border-color:var(--brand-d);color:#fff;font-weight:700;border-radius:999px}
.weekbar .wk-row a.po{font-style:normal;border-style:dashed}
.weekbar .wk-row a:hover{text-decoration:none;border-color:var(--brand)}
/* round 125: Scores → League week pills: one row, scrolls sideways on every width (all regular + playoff weeks) */
.sc-wkbar{margin:2px 0 10px}.sc-wkbar .wk-row{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:1px 1px 3px;scroll-padding:0 12px}
.sc-wkbar .wk-row::-webkit-scrollbar{display:none}.sc-wkbar .wk-row a{flex:0 0 auto;text-align:center}
.sc-pane.sc-loading .mcard{opacity:.6;transition:opacity .15s}
.weekbar.mbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:8px}
.backlink{font-weight:600;color:var(--brand-d)}
.sb-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sb-head .wkpick{margin-left:auto}
/* matchup head-to-head */
.mhead{border-radius:var(--r);padding:16px 10px 12px}
.mhead .fchip,.mh-name .fchip{margin-left:4px}
.mh-mid .vs{font-size:11px;font-weight:800;letter-spacing:.6px;color:var(--muted)}
.mslot{background:transparent}
.mslot span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:22px;padding:0 7px;border-radius:999px;background:var(--brand-l);color:var(--brand-d);font-size:10.5px;font-weight:800;letter-spacing:.3px}
.mrow.total .mslot span{background:var(--brand-d);color:#fff}
.mrow.bench .mslot span{background:#eef0f3;color:#6b7686}
.mgrid{border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.mpts b,.mh-score,.mc-score{font-family:var(--mono);letter-spacing:-.3px}
@media(max-width:400px){.mslot span{min-width:30px;padding:0 5px;font-size:10px}}
.mg-h{background:#f6f8fb;color:#6b7686;font-weight:800;font-size:11px;letter-spacing:.8px;text-transform:uppercase;padding:7px;border-bottom:1px solid var(--line)}
.more-items summary{cursor:pointer;color:var(--brand-d);font-weight:600;margin-top:8px}.pchip{max-width:100%;flex-wrap:wrap}
.settings .card>label.inline{display:flex !important;justify-content:space-between;gap:14px;width:100%;margin:10px 0 0;padding-top:10px;border-top:1px solid #eef1f5;font-size:14px;line-height:1.35}
.settings .card>label.inline input[type=checkbox]{order:2}
.settings .card{margin-bottom:12px}
.settings .card>h2:first-child,.card>h2:has(.sicon){display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.slotlbl{border-radius:999px;background:var(--brand-l);color:var(--brand-d);font-weight:800;letter-spacing:.3px}
.adjlist{list-style:none;margin:0;padding:0}.adjlist li{display:flex;gap:10px;align-items:baseline;padding:9px 14px;border-top:1px solid #eef1f5;font-size:13.5px}
.adjlist li:first-child{border-top:0}.aamt{font-family:var(--mono);font-weight:700;color:var(--ok);white-space:nowrap;min-width:72px}.aamt.neg{color:var(--bad)}
.settings label>.badge{align-self:flex-start;white-space:nowrap}.settings .card>label.inline>.badge{margin-left:auto}
/* trade analyzer */
.tan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:10px}
.tan-team{border:1px solid #e6ebf2;border-radius:14px;padding:12px;min-width:0}
.tan-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px}.tan-head .badge{margin-left:auto}
.tan-proj{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.tan-proj>div{background:#f6f8fb;border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}
.tan-proj b{font-family:var(--mono);font-size:18px}.tan-proj b.up,.tan-cs b.up{color:var(--ok)}.tan-proj b.down{color:var(--bad)}
.lbl{font-size:11px;font-weight:700;letter-spacing:.4px;color:var(--muted);text-transform:uppercase}
.tan-players{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:5px}
.tan-players li{display:flex;justify-content:space-between;align-items:center;gap:8px}.tan-players .num{font-family:var(--mono);font-size:13px}
.tan-row{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid #eef1f5;font-size:13.5px;flex-wrap:wrap}
.tan-cap{display:grid;grid-template-columns:1fr;gap:6px;padding-top:8px;border-top:1px solid #eef1f5}
.tan-cs{display:flex;align-items:baseline;gap:5px;font-size:12.5px;font-family:var(--mono);white-space:nowrap;overflow:hidden}
.tan-cs .cy{font-weight:700;color:var(--muted)}.tan-cs .b{color:var(--muted)}.tan-cs.neg b{color:var(--bad)}.tan-cap .muted{grid-column:1/-1}
.tan-cs .delta{margin-left:auto;font-size:11.5px}.tan-cs .delta.up{color:var(--ok)}.tan-cs .delta.down{color:var(--bad)}
/* contract value */
.vh{margin:0;padding:12px 14px 8px;font-size:15px}
.vlist{list-style:none;margin:0;padding:0}.vrow{display:flex;gap:10px;justify-content:space-between;align-items:flex-start;padding:10px 14px;border-top:1px solid #eef1f5}
.vmain{min-width:0}.vnums{display:flex;flex-direction:column;align-items:flex-end;white-space:nowrap}.vnums b{font-family:var(--mono);font-size:15px}
.vnums b.up{color:var(--ok)}.vnums b.down{color:var(--bad)}
.vflags{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
.vflag{font-size:10.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:2px 8px;border-radius:999px;font-family:var(--mono)}
.vf-cut{background:#fdeeec;color:#9b2b1e}.vf-extension{background:#e3f4ec;color:#146c4b}.vf-tag{background:#efe7fb;color:#6b3fb5}
/* weekly recap */
.rc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.rc-tile{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-top:1px solid #eef1f5;min-width:0;font-size:13.5px}
.rc-tile:nth-child(odd){border-right:1px solid #eef1f5}.rc-tile:nth-child(-n+2){border-top:0}
.rc-big{font-family:var(--mono);font-size:22px;color:var(--brand-d)}
@media(max-width:360px){.rc-grid{grid-template-columns:1fr}.rc-tile:nth-child(odd){border-right:0}}
/* rivalries */
.rv-h{padding:12px 14px 6px;margin:0;font-size:16px}.rv-pad{padding:0 14px 12px;margin:6px 0 0}
.rv-rec.w{color:var(--ok,#1a7f37)}.rv-rec.l{color:#c0392b}
table.rv-mx{border-collapse:collapse;font-family:var(--mono);font-size:12px}
table.rv-mx th,table.rv-mx td{padding:6px 5px;text-align:center;white-space:nowrap;border:1px solid #eef1f5}
table.rv-mx tbody th{position:sticky;left:0;background:#fff;text-align:left;z-index:1;max-width:120px;overflow:hidden;text-overflow:ellipsis}
table.rv-mx .rv-nm{font-family:var(--sans,inherit);font-weight:400;color:var(--muted);font-size:11px}
table.rv-mx td.self{background:#f3f5f8}table.rv-mx td.w{background:#e8f6ec}table.rv-mx td.l{background:#fdecea}table.rv-mx td.e{background:#f7f7f2}
table.rv-mx tr.on th{background:#eef4ff}table.rv-mx td a{color:inherit;text-decoration:none;display:block}
.rv-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;text-align:center}
.rv-side{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;font-size:14px}.rv-side b{overflow-wrap:break-word;max-width:100%}
.rv-score{display:flex;flex-direction:column;align-items:center}.rv-score b{font-family:var(--mono);font-size:30px;color:var(--brand-d)}
.rv-score b span{margin:0 4px;color:var(--muted)}
.rv-talk .fcard{display:block;color:inherit;text-decoration:none}
/* lineup alert banner */
.lu-banner{border-radius:12px;padding:10px 13px;margin:10px 0;border:1px solid #f0d58a;background:#fff8e1;font-size:14px}
.lu-banner.bad{border-color:#f2b8b5;background:#fdecea}
.lu-banner ul{list-style:none;margin:6px 0 4px;padding:0;display:flex;flex-direction:column;gap:4px}
.lu-banner p{margin:4px 0 0}
.lu-tag{display:inline-block;min-width:44px;text-align:center;font-size:11px;font-weight:700;border-radius:6px;padding:1px 6px;background:#c0392b;color:#fff}
.lu-tag.warn{background:#d68910}
/* auction prep */
.ap-mine .badge{font-size:11px;vertical-align:middle}.ap-sum{margin:6px -14px 8px;border-top:1px solid #eef1f5;border-bottom:1px solid #eef1f5}
.rc-big.neg,.vnums .neg{color:#c0392b}
.ap-edit{margin-top:4px}.ap-edit summary{cursor:pointer;color:var(--brand-d)}
.ap-form{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-end;margin:6px 0}.ap-form .field{flex:1 1 140px;margin:0}
.ap-chips{padding:0 14px}.vrow.on{background:#eef4ff}
.ap-line{display:block}
/* trophy room */
.tr-rafters{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:10px 0 14px}
.tr-banner{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:14px 10px 30px;
  background:linear-gradient(180deg,var(--brand-d,#1d3557),#0f1f36);color:#fff;border-top:4px solid #d4af37;
  clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 18px),0 100%);min-height:150px}
.tr-yr{font-family:var(--mono);font-size:26px;font-weight:800;color:#f3d675;letter-spacing:1px}
.tr-lbl{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#cfd8e3}
.tr-team{color:#fff;font-weight:700;font-size:14px;line-height:1.25;overflow-wrap:break-word;margin-top:4px}
.tr-now{font-size:11px;color:#b9c4d2}.tr-code{font-size:11px;font-weight:700;background:#f3d675;color:#1d2a3a;border-radius:6px;padding:0 6px;margin-top:4px}
.tr-code:empty{display:none}
.tr-badges{display:grid;grid-template-columns:1fr;gap:8px}@media(min-width:640px){.tr-badges{grid-template-columns:1fr 1fr}}
.tr-badge{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:#fbf7e9;border:1px solid #efe2b0}
.tr-badge.dub{background:#f2f5f9;border-color:#dfe5ee}
.tr-ico{font-size:22px;line-height:1}.tr-bt{display:flex;flex-direction:column;gap:2px;min-width:0}
.tr-val{font-family:var(--mono);font-weight:700;color:var(--brand-d)}
.tr-case .tr-rafters{margin:8px 0}
/* Scores tab: Live | Matchup | League swipeable panes */
.sc-bar{position:sticky;top:56px;z-index:15;background:rgba(243,245,248,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.sc-bar-in{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;padding-bottom:8px}
.seg{display:inline-flex;background:#e6ebf2;border-radius:999px;padding:3px;gap:2px;min-width:0}
.seg a{position:relative;padding:7px 13px;border-radius:999px;font-weight:700;font-size:13px;letter-spacing:.4px;text-transform:uppercase;color:#5b6678;white-space:nowrap}
.seg a:hover{text-decoration:none}.seg a.on{background:#fff;color:var(--brand-d);box-shadow:0 1px 3px rgba(20,35,60,.15)}
.seg-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#e5484d;margin-left:5px;vertical-align:middle}
.sc-wk{flex:0 0 auto}.sc-wk select{appearance:none;-webkit-appearance:none;border:0;background:transparent;font:inherit;font-weight:700;color:var(--brand-d);padding:0 4px;text-align:center;cursor:pointer}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.sc-track{display:flex;align-items:flex-start;overflow:hidden;touch-action:pan-y;overscroll-behavior-x:contain;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:0 -12px;transition:height .15s}
.sc-track::-webkit-scrollbar{display:none}
.sc-pane{flex:0 0 100%;min-width:0;padding:4px 12px 0;box-sizing:border-box}
.sc-pane .scrollx,.sc-pane .wk-row,.sc-pane .pills{overscroll-behavior-x:contain;touch-action:pan-x pan-y}
.sc-h{font-size:20px;margin:10px 0 6px}.sc-sub{margin:10px 0 8px;color:var(--muted)}
.mcard.mine{border-color:#9cc6ab;box-shadow:0 0 0 2px #d6efdf}
.mp-game.dv-good,.dv-key.dv-good,.opp-line.dv-good{color:#1a7f37;font-weight:600}
.mp-game.dv-bad,.dv-key.dv-bad,.opp-line.dv-bad{color:#c0392b;font-weight:600}
.dv-legend{margin-top:4px}
@media(max-width:360px){.seg a{padding:7px 5px;font-size:11px}}
.opp-line.dv-good .muted,.opp-line.dv-bad .muted{color:inherit}
.sc-pane .mp-game{white-space:normal;overflow:visible;line-height:1.25}
.seg{flex:1 1 auto}.seg a{flex:1 1 0;text-align:center;padding:7px 8px;font-size:12px;letter-spacing:.3px}
.sc-wk{padding:2px}.sc-wk a,.sc-wk>span{min-width:26px;height:30px}.sc-wk .cur{padding:0 2px;font-size:13px}
.opp-line.dv-good .opp,.opp-line.dv-bad .opp{color:inherit}
/* ---------- NFL Game Center (sheet + page): one team at a time, section buttons, bonus card ---------- */
.gcsheet{background:var(--bg)}
.gcx{background:var(--bg);min-height:100%;display:flex;flex-direction:column;padding-bottom:4px}
.gcx-page .gcx{margin:0 -12px}
.gcx-bar{display:flex;align-items:center;gap:8px;background:var(--brand-d);color:#fff;padding:10px 12px;position:sticky;top:0;z-index:3}
.gcx-bar b{font-size:15.5px;white-space:nowrap}
.gcx-wk{font-size:12px;font-weight:700;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:2px 8px}
.gcx-close{margin-left:auto;font:inherit;font-size:13.5px;font-weight:700;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);border-radius:10px;padding:6px 12px;cursor:pointer}
.gcx-head{display:flex;align-items:center;gap:6px;padding:8px 10px;background:#fff;border-bottom:1px solid var(--line)}
.gcx-team{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:7px;font:inherit;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:6px 8px;cursor:pointer;text-align:left}
.gcx-team.home{flex-direction:row-reverse;text-align:right}
.gcx-team img,.gcx-team .gc-abbr{flex:none;width:30px;height:30px}
.gcx-tn{flex:1;min-width:0;line-height:1.1}.gcx-tn b{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcx-tn small{color:var(--muted);font-size:11px}
.gcx-sc{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}
.gcx[data-side=away] .gcx-team.away,.gcx[data-side=home] .gcx-team.home{border-color:var(--ok);box-shadow:0 0 0 2px rgba(31,158,110,.25);background:#f2fbf7}
.gcx-st{flex:none;display:flex;flex-direction:column;align-items:center;font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#4a5a72;background:#eef1f6;border:1px solid var(--line);border-radius:999px;padding:4px 9px;max-width:86px;text-align:center;line-height:1.15}
.gcx-st small{font-weight:600;text-transform:none;letter-spacing:0}.gcx-st.in{color:#d62d20;flex-direction:row;gap:4px}
.gcx-sit{text-align:center;font-size:12.5px;padding:4px;background:#fff;border-bottom:1px solid var(--line)}
.gcx-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 10px 4px}
.gcx-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-size:13px;font-weight:700;color:var(--brand-d);background:#fff;border:1px solid var(--line);border-radius:11px;padding:9px 6px;cursor:pointer;box-shadow:var(--shadow)}
.gcx-tabs svg{width:16px;height:16px;flex:none}
.gcx[data-tab=box] [data-gc-tab=box],.gcx[data-tab=stats] [data-gc-tab=stats],.gcx[data-tab=drives] [data-gc-tab=drives],.gcx[data-tab=fantasy] [data-gc-tab=fantasy]{background:var(--brand);border-color:var(--brand);color:#fff}
.gcx-view{font-size:12.5px;color:var(--muted);padding:6px 14px 0;letter-spacing:.2px}.gcx-view b{color:var(--brand-d)}
.gcx[data-tab=stats] .gcx-view,.gcx[data-tab=drives] .gcx-view{display:none}
.gcx-pane{display:none;padding:0 10px}
.gcx[data-tab=box] [data-pane=box],.gcx[data-tab=stats] [data-pane=stats],.gcx[data-tab=drives] [data-pane=drives],.gcx[data-tab=fantasy] [data-pane=fantasy]{display:block}
.gcx[data-side=away] [data-side=home],.gcx[data-side=home] [data-side=away]{display:none}
.gcx-swipe{flex:1;touch-action:pan-y}
/* round 113: both sides as panes — each pane shows its own side whatever .gcx[data-side] says */
.gcx-track{margin:0 -2px}.gcx-sp{padding:0 2px}
.gcx .gcx-sp[data-pside=away] [data-side=home],.gcx .gcx-sp[data-pside=home] [data-side=away]{display:none}
.gcx .gcx-sp[data-pside=away] [data-side=away],.gcx .gcx-sp[data-pside=home] [data-side=home]{display:block}
.gcx-swipe .scrollx{touch-action:pan-x pan-y}
.gcx-sec{margin-top:10px}
.gcx-sech{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#7d8aa0;margin:12px 4px 5px}
.gcx-sech span{font-size:11px;font-weight:500;text-transform:none;letter-spacing:0}
.gcx-card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);margin-bottom:8px}
.gcx-tbl{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}
.gcx-tbl th{font-size:10px;font-weight:700;color:#7d8aa0;text-transform:uppercase;letter-spacing:.2px;padding:7px 4px;text-align:left;background:#f7f9fc;border-bottom:1px solid var(--line);white-space:nowrap}
.gcx-tbl td{padding:7px 4px;border-bottom:1px solid #eef1f6;white-space:nowrap}.gcx-tbl tr:last-child td{border-bottom:0}
.gcx-tbl th.num,.gcx-tbl td.num{text-align:right}
.gcx-tbl .gcx-fp{color:#1f5bb5;font-weight:700}
.gcx-tbl th:first-child,.gcx-tbl td:first-child{padding-left:9px}.gcx-tbl th:last-child,.gcx-tbl td:last-child{padding-right:9px}
.gcx-pl{max-width:150px;overflow:hidden;text-overflow:ellipsis}.gcx-pl a{color:var(--ink);font-weight:600}
.gcx-chip{display:inline-block;font-size:10px;font-weight:700;color:#9a5b00;background:#fff1d6;border:1px solid #f3d9a4;border-radius:5px;padding:0 4px;vertical-align:1px}
.gcx-defs{border-top:1px solid var(--line)}
.gcx-ts td{padding:7px 8px}.gcx-ts td.c{white-space:normal;font-size:12px}.gcx-ts th img{vertical-align:-5px}
.gcx-drive{display:flex;align-items:flex-start;gap:9px;padding:9px 10px}.gcx-drive img{flex:none}
.gcx-dt{flex:1;min-width:0;font-size:13px}.gcx-ds{flex:none;font-weight:800;font-variant-numeric:tabular-nums}
.gcx-bonus{background:#fffbea;border:1px solid #f1df9c;border-radius:12px;padding:9px 11px;margin:12px 0 6px}
.gcx-bh{display:flex;justify-content:space-between;align-items:baseline;gap:8px;color:#9a5b00;font-size:12.5px;text-transform:uppercase;letter-spacing:.4px;padding-bottom:6px;border-bottom:1px solid #f1df9c}
.gcx-bh span{font-size:11px;text-transform:none;letter-spacing:0;color:#a3854a}
.gcx-brow{display:flex;align-items:center;gap:7px;padding:7px 0;border-bottom:1px solid #f5ebc4;font-size:13px}.gcx-brow:last-child{border-bottom:0}
.gcx-bn a{color:var(--ink);font-weight:700}.gcx-bt{color:var(--muted);flex:1;min-width:0}
.gcx-bp{color:#c46a00;white-space:nowrap;font-variant-numeric:tabular-nums}
.gcx-bonus p{margin:7px 0 2px}
.gcx-note{padding:0 14px}.gcx-empty{margin:12px 10px;padding:14px}
.gcx-foot{display:flex;justify-content:flex-end;background:var(--brand-d);padding:10px 12px;margin-top:auto}
.gcx-page .gcx-foot{border-radius:0 0 12px 12px}
@media(min-width:760px){.gcx-tabs{grid-template-columns:repeat(4,1fr)}.gcsheet .gcx{border-radius:16px;overflow:hidden}}
/* ---------- team pages: team switcher, compact contract cards, swipe Roster <-> Contracts ---------- */
.swipe-y{touch-action:pan-y}.swipe-y .scrollx,.swipe-y .tablewrap,.swipe-y .subtabs,.swipe-y .pills{touch-action:pan-x pan-y}
.teamhead{position:relative}.tswitch{position:static}.tswitch>summary{list-style:none;cursor:pointer;display:block}.tswitch>summary::-webkit-details-marker{display:none}
.tswitch h1{display:inline;margin:0}
.tsw-caret{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:6px;border-radius:7px;background:#e6ecf4;color:var(--brand-d);font-size:13px;vertical-align:3px}
.tswitch[open] .tsw-caret{background:var(--brand-d);color:#fff}
.tsw-menu{position:absolute;z-index:30;left:8px;right:8px;top:calc(100% - 6px);max-width:360px;margin-left:auto;max-height:60vh;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(20,35,60,.18);padding:4px}
.tsw-menu a{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:9px;color:var(--ink);font-size:14px;font-weight:600}
.tsw-menu a:hover{background:#f1f5fb;text-decoration:none}.tsw-menu a.on{background:var(--brand-l);color:var(--brand-d)}
.tsw-menu img{border-radius:6px;flex:none;object-fit:cover}.tsw-ab{flex:none;width:22px;height:22px;border-radius:6px;background:#e6ecf4;font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center}
.tsw-n{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tsw-you{font-size:10.5px;font-weight:700;color:#fff;background:var(--ok);border-radius:5px;padding:0 5px}
.kcards{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:6px}
.kc{background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 10px;box-shadow:var(--shadow)}
.kc.nocon{background:#fffaf0}.kc.dead{background:#fbfcfe;box-shadow:none;font-size:13.5px}
.kc-top{display:flex;gap:8px;align-items:flex-start}.kc-main{flex:1;min-width:0}
.kc-name{line-height:1.25}.kc-name .pname{font-weight:700}
.kc-yrs{font-size:12.5px;margin-top:2px;color:#33476a;font-weight:600}
.kc-sal{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}.kc-sal .cur{color:var(--ink);font-weight:700}.kc-sal .past{opacity:.6}
.kc-badges{margin-top:3px;display:flex;flex-wrap:wrap;gap:3px}.kc-badges:empty{display:none}.kc-badges .badge{margin-left:0}
.kc-act{flex:none;display:flex;flex-direction:column;align-items:stretch;gap:4px}.kc-act form{margin:0}.kc-act .btn{width:100%;white-space:nowrap}
.btn.xs.on{background:#dff3ea;color:#16714f}
.kc-line{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px;padding-top:6px;border-top:1px solid #eef1f6;font-size:12.5px;color:var(--muted)}.kc-line b{color:var(--ink)}.kc-line .inj b{color:var(--bad)}
.kc-more{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.kc-more form{margin:0;display:flex;gap:4px}
.kc-total{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;margin:6px 2px 10px;color:var(--muted)}.kc-total span b{color:var(--ink)}
@media(max-width:600px){.capgrid{grid-template-columns:repeat(2,1fr)}}
/* roster table (team Roster tab) + players table: slot/pos pill, headshot, player, action, Proj/YTD/PPG */
.rtab-wrap{margin:8px 0 6px}
.rtab{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13.5px}
.rtab col.c-slot{width:41px}.rtab col.c-pic{width:33px}.rtab col.c-act{width:37px}.rtab col.c-n{width:37px}.rtab col.c-n:last-child{width:39px}
.rtab thead th{font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);text-align:left;padding:7px 3px;background:#f6f8fb;border-bottom:1px solid var(--line)}
.rtab thead th.num{text-align:right;color:var(--brand-d)}.rtab thead th:first-child{padding-left:8px}.rtab thead th.c{text-align:center}
.rtab td{padding:6px 2px;border-bottom:1px solid #eef1f6;vertical-align:middle}
.rtab td:first-child{padding-left:8px}.rtab td:last-child,.rtab th:last-child{padding-right:8px}
.rtab td.num{font-variant-numeric:tabular-nums;font-size:12.5px;color:#33476a;white-space:nowrap;overflow:hidden}
.rtab .rs-n1{color:var(--brand-d);font-weight:700}.rtab .rs-n1 b{display:block;color:var(--ink);font-size:13px}.rtab .rs-n1 small{display:block;font-weight:500;color:var(--muted);font-size:10.5px}
.rtab tr.rsec td{background:#eef3fa;color:var(--brand-d);font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;padding:6px 8px;border-bottom:1px solid #dfe7f2}
.rtab tr.rsec.ir td{background:#fdf0ee;color:#a5352a;border-color:#f3d9d5}.rtab tr.rsec.ps td{background:#f2effb;color:#5b45a8;border-color:#e2dcf4}
.rtab .rsec td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rsec-r{float:right;font-weight:600;letter-spacing:0;text-transform:none;color:var(--muted)}.rsec-r b{color:var(--ink)}
.spill{display:inline-block;min-width:30px;text-align:center;font-size:10.5px;font-weight:800;letter-spacing:.3px;padding:3px 3px;border-radius:7px;background:#eef2f8;color:#3a4a62;border:1px solid #dde4ee}
.sp-QB{background:#fbecee;color:#a8344a;border-color:#f3d3d9}.sp-RB{background:#e7f6ef;color:#167a54;border-color:#cdeadc}
.sp-WR{background:#e8f1fc;color:#1f62b0;border-color:#cfe0f6}.sp-TE{background:#fdf3e6;color:#a7630f;border-color:#f5e0c2}
.sp-FLEX,.sp-SFLEX,.sp-WRT,.sp-WRRB{background:#eef0fb;color:#4b4fb0;border-color:#dadef5}.sp-K{background:#f3eefb;color:#6a4bb5;border-color:#e3d9f5}
.sp-DEF{background:#edf0f3;color:#4d5866;border-color:#dce1e7}.sp-BN{background:#f3f5f8;color:#6b7686}.sp-IR{background:#fdf0ee;color:#b23b2e;border-color:#f3d9d5}.sp-PS{background:#f2effb;color:#5b45a8;border-color:#e2dcf4}
.rshot{position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#e6ecf4;overflow:hidden;vertical-align:middle;flex:none}
.rshot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}.rshot.def{background:#fff;border:1px solid var(--line)}.rshot.def img{object-fit:contain;padding:2px}
.rshot-i{font-size:10px;font-weight:800;color:#6b7686}.rshot.none{width:28px;height:28px;background:#f1f4f8;border:1px dashed #d5dde8}
.rs-pl{min-width:0}.rs-n{display:flex;align-items:center;gap:4px;min-width:0;line-height:1.25}
.rs-n .pname{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;color:var(--ink);font-size:13.5px}
.rs-n .jn,.as-t .jn{flex:none;font-size:11px;color:var(--muted);font-weight:600}.rs-n .badge{margin-left:0;flex:none;font-size:10px;padding:0 5px}.rs-n .injtag,.lk-i{flex:none}.lk-i{font-size:11px}
.rs-g{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);line-height:1.35}
.rs-g.opp-line .opp{font-weight:600}
.rtab tr.empty .es{color:#9aa5b4;font-style:italic;font-size:13px}.rtab tr.empty td{padding-top:5px;padding-bottom:5px}
.rtab tr.lk td{background:#fbfcfe}
.rs-act{text-align:center}
.swapbtn{width:32px;height:30px;border-radius:9px;border:1px solid #d8e0ea;background:#fff;color:var(--brand-d);font-size:16px;line-height:1;font-weight:700;cursor:pointer;padding:0}
.swapbtn:active{background:var(--brand-l)}
/* round 115: a locked player (game started) — red ⇅ instead of a lock icon; same tint in every theme */
.rtab .swapbtn.locked,html .rtab .swapbtn.locked{color:#e5484d;background:rgba(229,72,77,.13);border-color:rgba(229,72,77,.55)}
.rtab .swapbtn.locked:active{background:rgba(229,72,77,.24)}.swapbtn.add{color:var(--ok);font-size:19px;border-color:#cdeadc;background:#f2fbf7}
.rtab .poach{margin-top:3px;display:flex;flex-wrap:wrap;gap:4px;align-items:center;white-space:normal}.rtab form.inline{display:inline;margin:0}
.rs-legend{margin:4px 2px 14px}
/* action sheet */
.asheet{padding:0;border:0;background:transparent;width:100%;max-width:520px;margin:auto auto 0;max-height:85dvh;overflow:visible}
.asheet::backdrop{background:rgba(8,16,32,.5)}
.as-card{background:#fff;border-radius:18px 18px 0 0;max-height:85dvh;overflow-y:auto;overscroll-behavior:contain;padding:0 0 calc(12px + env(safe-area-inset-bottom));box-shadow:0 -6px 30px rgba(8,16,32,.25)}
@media(min-width:620px){.asheet{margin:auto}.as-card{border-radius:18px}}
.as-head{display:flex;align-items:center;gap:10px;padding:14px 16px 10px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1}
.as-t{flex:1;min-width:0}.as-t b{font-size:16px}
.as-x{flex:none;width:32px;height:32px;border-radius:50%;border:0;background:#eef2f7;color:#445;font-size:14px;cursor:pointer}
.as-body{padding:4px 12px 4px}.as-body form{margin:0}
.as-sec{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);margin:12px 4px 4px}
.as-opt{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;font:inherit;font-weight:600;color:var(--ink);background:#f6f8fb;border:1px solid #e6ebf2;border-radius:12px;padding:10px 12px;margin:5px 0;cursor:pointer}
.as-opt:hover{text-decoration:none;border-color:#c9d6e8}.as-opt small{font-weight:500;color:var(--muted);font-size:12px;margin-top:1px}
.as-opt.danger{background:#fdf2f0;border-color:#f5d8d3;color:var(--bad)}.as-opt.primary{background:var(--brand-l);border-color:#c9d6e8;color:var(--brand-d)}
.as-opt.link{color:var(--brand-d)}.as-opt:disabled{opacity:.6}
.as-note{font-size:13px;color:var(--muted);margin:10px 4px}
/* players page: search, position chips, FA / All toggle, dropdown filters (apply on change) */
.pfilters{margin:12px 0 8px}
.pf-search{position:relative}.pf-search svg{position:absolute;left:12px;top:50%;width:18px;height:18px;margin-top:-9px;color:var(--muted)}
.pf-search input{width:100%;padding:11px 12px 11px 38px;border-radius:12px;border:1px solid #d8e0ea;background:#fff;font-size:15px}
.pf-lab{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--brand-d);margin:12px 2px 0}
.pf-pos{margin:6px 0 10px;scroll-margin-top:68px}.pf-pos .chip{padding:6px 12px}
.pl-swipe{touch-action:pan-y pinch-zoom;overflow-x:clip}.pl-swipe .chips{touch-action:pan-x pan-y}#pres{will-change:transform}
.pf-peek{position:fixed;top:46%;z-index:30;pointer-events:none;opacity:0;padding:9px 15px;border-radius:999px;background:rgba(14,24,44,.86);color:#fff;border:1px solid rgba(255,255,255,.16);
  font-weight:800;font-size:15px;letter-spacing:.4px;box-shadow:0 6px 22px rgba(0,0,0,.25);backdrop-filter:blur(6px);transition:opacity .18s;visibility:hidden}
.pf-peek.show{visibility:visible}.pf-peek.l{left:10px;transition:none}.pf-peek.r{right:10px;transition:none}
.pf-peek.c{left:50%;transform:translate(-50%,-50%);font-size:22px;padding:12px 24px;animation:pfPeek .65s ease-out both}
.pf-peek.tm-peek{display:inline-flex;align-items:center;gap:8px;max-width:86vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-peek.tm-peek img{width:24px;height:24px;border-radius:6px;object-fit:cover;flex:none}.pf-peek.tm-peek.c img{width:30px;height:30px}
.pf-peek.tm-peek.l,.pf-peek.tm-peek.r{max-width:62vw;font-size:14px}
@keyframes pfPeek{0%{transform:translate(-50%,-50%) scale(.85);opacity:0}18%{transform:translate(-50%,-50%) scale(1);opacity:1}70%{opacity:1}100%{opacity:0}}
.pf-avail{display:flex;width:100%;max-width:340px}.pf-avail a{flex:1;text-align:center;text-transform:none;letter-spacing:0;font-size:13.5px}
.pf-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;margin-top:12px}
.pf-grid label{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:700;color:#44506a;min-width:0}
.pf-grid select{width:100%;min-width:0;padding:9px 8px;border-radius:10px;border:1px solid #d8e0ea;background:#fff;font-size:14px}
.pl-count{margin:4px 2px 0}#pres.loading{opacity:.55;transition:opacity .15s}
.rtab .own{flex:none;font-size:9.5px;font-weight:800;letter-spacing:.3px;color:#5b6678;background:#eef2f7;border-radius:5px;padding:1px 4px;margin-left:auto}
.rtab .own.me{background:#dff3ea;color:#16714f}.rtab .own.wv{background:#fdf3e6;color:#a7630f}
.rtab td.pl-none{padding:18px 10px;text-align:center}
.pf-avail a{border-bottom:0}
/* team hero header (Roster / Contracts): player-card style band in the team's logo colours (fallback navy) */
.th-hero{position:relative;color:#fff;border-radius:var(--r);margin:12px 0 10px;padding:14px 14px 12px;box-shadow:0 2px 14px rgba(16,32,64,.16);
  background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--c1) 80%,#fff 20%) 0%,var(--c1) 45%,color-mix(in srgb,var(--c1) 55%,#000 45%) 100%)}
.th-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;border-radius:0 0 var(--r) var(--r);background:linear-gradient(90deg,var(--c2),color-mix(in srgb,var(--c2) 35%,transparent))}
.th-bg{position:absolute;inset:0;overflow:hidden;border-radius:var(--r);pointer-events:none}
.th-wm{position:absolute;right:-46px;top:-30px;width:230px;height:230px;object-fit:contain;opacity:.12}
.th-id{display:flex;gap:13px;align-items:center;position:relative;z-index:2}
.th-logo{flex:none;width:84px;height:84px;border-radius:20px;background:rgba(255,255,255,.95);box-shadow:0 0 0 3px var(--c2),0 8px 22px rgba(0,0,0,.35);overflow:hidden;display:grid;place-items:center}
.th-logo img{width:100%;height:100%;object-fit:cover}.th-logo span{color:var(--c1);font-weight:900;font-size:24px}
.th-who{flex:1;min-width:0}
.th-hero .tswitch h1{font-size:24px;line-height:1.1;font-weight:800;letter-spacing:-.01em;text-shadow:0 1px 2px rgba(0,0,0,.25);color:#fff;overflow-wrap:break-word}
.th-hero .tswitch h1 .fchip{background:rgba(0,0,0,.3);border-color:rgba(255,255,255,.3);color:#fff}
.th-hero .tsw-caret{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.3)}
.th-hero .tswitch[open] .tsw-caret{background:#fff;color:var(--c1)}
.th-hero .tsw-menu{color:var(--ink);top:calc(100% - 10px);z-index:40}
.th-owner{font-size:14px;font-weight:600;margin-top:4px;opacity:.95;display:flex;align-items:center;gap:6px}
.th-you{font-size:10px;font-weight:800;background:var(--ok);border-radius:5px;padding:0 5px;letter-spacing:.4px}
.th-conf{font-size:12.5px;opacity:.8;margin-top:1px}
.th-recrow{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;position:relative;z-index:1}
.th-rec{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums;margin-right:4px;letter-spacing:-.01em}
.th-seed{background:var(--c2);color:#fff;font-weight:800;border-radius:8px;padding:2px 8px;font-size:12px;text-shadow:0 1px 1px rgba(0,0,0,.25)}
.th-tag{font-size:12px;font-weight:700;padding:2px 8px;border-radius:10px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25)}
.th-tag.w{background:rgba(46,204,113,.25);border-color:rgba(46,204,113,.6)}.th-tag.l{background:rgba(231,76,60,.25);border-color:rgba(231,76,60,.6)}
.th-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px;position:relative;z-index:1}
.th-stats div{background:rgba(255,255,255,.95);color:var(--ink);border-radius:10px;padding:6px 4px;text-align:center;min-width:0}
.th-stats span{display:block;font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#6b7686;white-space:nowrap}
.th-stats b{display:block;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.th-stats .neg b{color:var(--bad)}
.th-extra{position:relative;z-index:1;margin-top:8px;font-size:12px;opacity:.9}.th-extra .fr-formerly{opacity:.85;margin-bottom:2px}
.th-mini b{font-variant-numeric:tabular-nums}.th-warn{color:#ffd2cc;font-weight:700}

/* main app bar: deep navy (less RSO); accents tuned for contrast on the darker band */
.appbar{background:linear-gradient(180deg,var(--appbar) 0%,var(--appbar-d) 100%);box-shadow:inset 0 -2px 0 rgba(90,125,172,.55),0 2px 12px rgba(8,16,40,.28)}
.appbar .appname{color:#fff}.appbar .lname{color:#c3d1e8;opacity:1}
.appbar .gsop{background:rgba(90,125,172,.32);border-color:rgba(150,178,216,.6);color:#e6eefa}
.appbar .iconbtn{background:rgba(255,255,255,.08);border-color:rgba(150,178,216,.35)}
.appbar .appbadge{box-shadow:0 0 0 2px rgba(150,178,216,.6)}
.appbar .avatar .initial{border-color:#c3d1e8}
/* team hero medal row: ribbon-hung gold / silver / bronze with counts; tap lists the years */
.th-medals{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px;margin-top:10px;position:relative;z-index:1}
.th-medal{display:inline-flex;align-items:flex-end;gap:3px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:4px 9px 4px 6px;color:#fff;font:inherit;cursor:pointer;line-height:1}
.th-medal[aria-expanded=true]{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.5)}
.th-medal svg{width:22px;height:27px;display:block;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.4))}
.th-medal .rb1{fill:#2f6fd6}.th-medal .rb2{fill:#c0392b}
.th-medal .ring{fill:none;stroke-width:1.2;opacity:.75}.th-medal .star{opacity:.85}
.md-gold .disc{fill:#f2c230}.md-gold .ring{stroke:#a87b00}.md-gold .star{fill:#a87b00}
.md-silver .disc{fill:#d5dbe3}.md-silver .ring{stroke:#7c8796}.md-silver .star{fill:#7c8796}
.md-bronze .disc{fill:#d0884b}.md-bronze .ring{stroke:#8a4f1d}.md-bronze .star{fill:#8a4f1d}
.md-gold .rb1{fill:#1f5bb5}.md-gold .rb2{fill:#173f80}.md-silver .rb1{fill:#5b6573}.md-silver .rb2{fill:#3b4350}.md-bronze .rb1{fill:#8a3d2b}.md-bronze .rb2{fill:#5e271a}
.th-mn{font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;margin-bottom:3px}
.th-mlist{flex-basis:100%;font-size:12px;font-weight:600;background:rgba(0,0,0,.28);border-radius:9px;padding:5px 9px;overflow-wrap:anywhere}
.appbar .lname.apptitle{font-weight:800;letter-spacing:.6px}
/* auction room: nominated-player hero (round 6) */
.ahero{position:relative;margin:10px 0 8px;border-radius:16px;overflow:hidden;background:var(--card,#fff);box-shadow:0 2px 10px rgba(16,28,61,.12);border:1px solid rgba(16,28,61,.08)}
.ahero .ah-hero{padding:12px 14px 12px}
.ahero .pc-name{font-size:25px}.ahero .pc-name a{color:#fff;text-decoration:none}
.ahero .pc-shot{width:96px;height:96px}
.ah-live{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.2);padding:3px 9px;border-radius:999px}
.ah-live i{width:8px;height:8px;border-radius:50%;background:#ff4d4f;box-shadow:0 0 0 0 rgba(255,77,79,.7);animation:ahpulse 1.4s infinite}
@keyframes ahpulse{0%{box-shadow:0 0 0 0 rgba(255,77,79,.7)}70%{box-shadow:0 0 0 7px rgba(255,77,79,0)}100%{box-shadow:0 0 0 0 rgba(255,77,79,0)}}
.ah-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:12px;position:relative;z-index:1}
.ah-stats div{background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:5px 6px;text-align:center;min-width:0}
.ah-stats span{display:block;font-size:10.5px;opacity:.8;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ah-stats b{font-size:16px;font-variant-numeric:tabular-nums}
.ah-line{font-size:12px;opacity:.85;margin-top:7px;position:relative;z-index:1;overflow-wrap:anywhere}
.ah-nom{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12.5px;margin-top:9px;position:relative;z-index:1;opacity:.95}
.ah-nom .logo{border-radius:50%;background:#fff}
.ah-body{display:flex;align-items:center;gap:12px;padding:12px 14px 6px}
.ah-bid{flex:1;min-width:0;border-radius:12px;padding:6px 8px;margin:-6px -8px}
.ah-lab{font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted,#5b6573)}
.ah-amt{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.ah-amt b{font-size:32px;line-height:1.1;font-weight:800;color:#101c3d;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.ah-amt span{font-size:15px;font-weight:700;color:#1557c0;background:#e8f0ff;border-radius:8px;padding:1px 7px}
.ah-who{display:flex;align-items:center;gap:7px;margin-top:6px;font-size:15px;min-width:0}
.ah-who b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ah-bid.bump{animation:ahbump 1.1s ease-out}
@keyframes ahbump{0%{background:#fff3b0;transform:scale(1.04)}35%{background:#fff3b0;transform:scale(1)}100%{background:transparent}}
.ah-clock{position:relative;flex:0 0 108px;width:108px;height:108px}
.ah-clock svg{width:100%;height:100%;transform:rotate(-90deg)}
.ah-clock circle{fill:none;stroke-width:9}
.ah-clock .trk{stroke:#e6ebf3}
.ah-clock .arc{stroke:#1c9e5a;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:0;transition:stroke-dashoffset .25s linear,stroke .3s}
.ah-t{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ah-t b{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;color:#101c3d;line-height:1}
.ah-t span{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#5b6573);margin-top:3px}
.ahero.amber .arc{stroke:#f0a020}.ahero.amber .ah-t b{color:#b86e00}
.ahero.red .arc{stroke:#d63031}.ahero.red .ah-t b{color:#c0392b}
.ahero.red:not(.is-sold) .ah-clock{animation:ahthrob .5s ease-in-out infinite alternate}
@keyframes ahthrob{from{transform:scale(1)}to{transform:scale(1.06)}}
.ah-call{margin:4px 14px 0;font-size:13px;color:var(--muted,#5b6573);min-height:20px}
.ahero.amber .ah-call{color:#b86e00;font-weight:700}
.ahero.red .ah-call{color:#c0392b;font-weight:800;font-size:17px;text-transform:uppercase;letter-spacing:.04em}
.ah-ranks{list-style:none;margin:8px 14px 12px;padding:0;display:grid;gap:4px}
.ah-ranks li{display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;gap:8px;align-items:center;font-size:13px;padding:5px 8px;border-radius:9px;background:#f4f6fa}
.ah-ranks li.on{background:#e8f6ee;box-shadow:inset 3px 0 0 #1c9e5a}
.ah-ranks .rk{width:20px;height:20px;border-radius:50%;background:#dfe5ef;font-size:11px;font-weight:800;display:grid;place-items:center}
.ah-ranks li.on .rk{background:#1c9e5a;color:#fff}
.ah-ranks b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ah-ranks .muted{font-size:11.5px}
.ah-stamp{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:rgba(16,28,61,.35);z-index:5;pointer-events:none}
.ah-stamp>div{display:flex;flex-direction:column;align-items:center;transform:rotate(-12deg);border:6px solid #d63031;border-radius:14px;padding:6px 22px 8px;color:#d63031;background:rgba(255,255,255,.93);box-shadow:0 10px 30px rgba(0,0,0,.35);max-width:86%}
.ah-stamp b{font-size:64px;line-height:1;font-weight:900;letter-spacing:.08em}
.ah-stamp span{font-size:14px;font-weight:800;color:#101c3d;text-align:center;margin-top:2px}
.ahero.is-sold .ah-stamp{display:flex}
.ahero.is-sold .ah-stamp>div{animation:ahstamp .45s cubic-bezier(.2,1.6,.4,1) both}
@keyframes ahstamp{0%{transform:rotate(-12deg) scale(2.6);opacity:0}60%{opacity:1}100%{transform:rotate(-12deg) scale(1);opacity:1}}
.ah-ctl{margin:0 0 10px;border-left:4px solid #1557c0}.ah-ctl.mine{border-left-color:#1c8a4a;background:#f1fbf4}
.ah-ctl.closed{opacity:.45;pointer-events:none}
.ah-ctl-h{margin-bottom:2px}
@media(max-width:420px){.ahero .pc-name{font-size:22px}.ahero .pc-shot{width:84px;height:84px}.ah-amt b{font-size:28px}.ah-clock{flex-basis:96px;width:96px;height:96px}.ah-t b{font-size:23px}}
/* app-bar badge → Settings (round 7) */
.appbadge-wrap{position:relative;flex:none;display:block;width:38px;height:38px}
.appgear{position:absolute;right:-5px;bottom:-5px;width:18px;height:18px;border-radius:50%;background:#fff;color:#101c3d;display:grid;place-items:center;box-shadow:0 1px 3px rgba(0,0,0,.35),0 0 0 1.5px #101c3d}
.appbadge-wrap:active .appbadge{transform:scale(.94)}
/* Settings hub — Samsung One UI style */
body.oneui{background:#f2f3f7}
.oneui main.wrap{max-width:640px}
.ou-big{padding:44px 6px 30px;text-align:center;transform-origin:50% 0;will-change:transform,opacity}
.ou-big h1{font-size:38px;font-weight:600;letter-spacing:-.01em;margin:0;color:#111}
.ou-big p{margin:6px 0 0;color:#8a8f99;font-size:14px}
.ou-mini{position:sticky;top:56px;z-index:15;height:0;overflow:visible}
.ou-mini span{display:block;margin:0 -6px;padding:12px 8px;font-size:19px;font-weight:700;background:rgba(242,243,247,.94);backdrop-filter:blur(8px);opacity:0;transform:translateY(-6px);transition:opacity .2s,transform .2s;pointer-events:none}
.ou-mini.on span{opacity:1;transform:none;box-shadow:0 1px 0 rgba(0,0,0,.06)}
.ou-card{display:block;background:#fff;border-radius:22px;margin:0 0 14px;box-shadow:0 1px 2px rgba(0,0,0,.03);color:inherit;text-decoration:none;overflow:hidden}
.ou-pad{padding:16px}
.ou-prof{display:flex;align-items:center;gap:14px;padding:16px 16px}
.ou-prof .logo{border-radius:50%;flex:none}
.ou-lab{font-size:12.5px;font-weight:700;color:#3e6fd8;text-transform:uppercase;letter-spacing:.04em;margin:20px 18px 7px}
.ou-row{display:flex;align-items:center;gap:14px;padding:13px 16px;color:inherit;text-decoration:none;position:relative;min-height:44px}
.ou-row+.ou-row::before{content:"";position:absolute;top:0;left:66px;right:16px;border-top:1px solid #eceef2}
a.ou-row:active,.ou-tog:active{background:#f4f5f8}
.ou-ic{flex:none;width:36px;height:36px;border-radius:12px;display:grid;place-items:center}
.ou-ic svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ou-tx{flex:1;min-width:0;display:flex;flex-direction:column}
.ou-tx b{font-weight:600;font-size:16px;color:#111;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ou-tx small{font-size:13px;color:#8a8f99;line-height:1.35;margin-top:1px;overflow-wrap:anywhere}
.ou-mail{color:#3e6fd8!important}
.ou-chev{flex:none;color:#b4b8c0;font-size:22px;line-height:1}
.ou-badge{font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:#e5edff;color:#3e6fd8}
.ou-badge.comm{background:#fff1d6;color:#a46200}
.ou-comm{box-shadow:inset 0 0 0 1.5px #f3c56b}
.ou-tog{cursor:pointer}
.ou-sw{position:absolute;opacity:0;width:1px;height:1px}
.ou-sw-ui{flex:none;width:46px;height:26px;border-radius:13px;background:#c9ccd3;position:relative;transition:background .2s}
.ou-sw-ui::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.ou-sw:checked+.ou-sw-ui{background:#3e6fd8}
.ou-sw:checked+.ou-sw-ui::after{transform:translateX(20px)}
.ou-sw:focus-visible+.ou-sw-ui{outline:2px solid #3e6fd8;outline-offset:2px}
.ou-modes{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ou-mode{text-align:center;font-size:14px;position:relative}
.ou-mode span{display:inline-flex;align-items:center;gap:7px;margin-top:8px}
.ou-mode em{display:block;font-style:normal;font-size:11px;color:#8a8f99;margin-top:2px}
.ou-mode.off{opacity:.55}
.ou-prev{height:84px;border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:7px;border:2px solid transparent}
.ou-prev i{display:block;height:9px;border-radius:5px}
.ou-prev.day{background:#f2f3f7}.ou-prev.day i{background:#fff}.ou-prev.day i:first-child{background:#cfd8ea;width:60%}
.ou-prev.night{background:#0a0b0d}.ou-prev.night i{background:#1e1f23}.ou-prev.night i:first-child{background:#1f6bff;width:60%}.ou-prev.night i:last-child{background:#ff7a1a;width:35%}
.ou-radio{width:16px;height:16px;border-radius:50%;border:2px solid #b4b8c0;display:inline-block;box-sizing:border-box}
.ou-radio.on{border:5px solid #3e6fd8}
.ou-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:#b4b8c0}
.ou-dot.ok{background:#1f9e6e}.ou-dot.bad{background:#c0392b}
.ou-out{margin:0}.ou-out button{all:unset;display:flex;align-items:center;gap:14px;width:100%;cursor:pointer}
.ou-done{display:block;text-align:center;margin:20px 0 6px;background:#3e6fd8;color:#fff;font-weight:700;font-size:16px;padding:13px;border-radius:26px;text-decoration:none}
.menu-set{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;padding:12px 14px}
.menu-set-ic{flex:none;width:36px;height:36px;border-radius:12px;background:#3e6fd8;color:#fff;display:grid;place-items:center}
.menu-set b{display:block}.menu-set small{display:block;color:var(--muted);font-size:13px}.menu-set>span:nth-child(2){flex:1;min-width:0}
.menu-set-chev{color:#b4b8c0;font-size:22px}
/* Rules & settings breakdown (round 7) */
.rb-head{display:flex;align-items:flex-start;gap:10px;margin:18px 2px 10px}
.rb-head h1{margin:0;font-size:26px;font-weight:700}.rb-head p{margin:2px 0 0;color:#8a8f99;font-size:13px}
.rb-back{flex:none;width:34px;height:34px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:24px;color:#111;text-decoration:none;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.rb-jump{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:none}.rb-jump::-webkit-scrollbar{display:none}
.rb-jump a{flex:none;font-size:12.5px;font-weight:700;padding:5px 11px;border-radius:999px;background:#fff;color:var(--c);border:1.5px solid color-mix(in srgb,var(--c) 35%,#fff);text-decoration:none;white-space:nowrap}
.rb-tools{display:flex;justify-content:flex-end;gap:12px;margin:0 4px 6px}
.rb-all{background:none;border:0;color:#3e6fd8;font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:4px 0}
.rb-sec{background:#fff;border-radius:22px;margin:0 0 12px;box-shadow:0 1px 2px rgba(0,0,0,.04);overflow:hidden;scroll-margin-top:70px}
.rb-sec summary{list-style:none;display:flex;align-items:center;gap:12px;padding:15px 16px;cursor:pointer}
.rb-sec summary::-webkit-details-marker{display:none}
.rb-ic{flex:none;width:40px;height:40px;border-radius:13px;background:color-mix(in srgb,var(--c) 16%,#fff);display:grid;place-items:center}
.rb-ic svg{width:22px;height:22px;fill:none;stroke:var(--c);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.rb-st{flex:1;min-width:0;display:flex;flex-direction:column}
.rb-st b{font-size:16.5px;font-weight:700;color:#111;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.rb-st small{color:#8a8f99;font-size:12.5px;line-height:1.35;margin-top:2px}
.rb-badge{font-style:normal;font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--c) 14%,#fff);color:color-mix(in srgb,var(--c) 80%,#000);border:1px solid color-mix(in srgb,var(--c) 35%,#fff);white-space:nowrap}
.rb-chev{flex:none;width:10px;height:10px;border-right:2px solid #9aa0aa;border-bottom:2px solid #9aa0aa;transform:rotate(45deg);margin:0 4px 4px 0;transition:transform .2s}
.rb-sec[open] .rb-chev{transform:rotate(-135deg);margin:4px 4px 0 0}
.rb-body{padding:0 12px 12px}
.rb-panel{background:color-mix(in srgb,var(--c) 5%,#f7f8fb);border:1px solid color-mix(in srgb,var(--c) 14%,#eceef2);border-radius:16px;padding:10px 12px 6px;margin:0 0 10px}
.rb-ph{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px}
.rb-ph span{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--c) 85%,#000)}
.rb-ph em{font-style:normal;font-size:11px;font-weight:700;color:#8a8f99;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.rb-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid color-mix(in srgb,var(--c) 10%,#e9ecf1);font-size:13.5px}
.rb-row:first-of-type{border-top:0}
.rb-row span{color:#5f6672;min-width:0}
.rb-row b{text-align:right;font-weight:700;color:#111;max-width:58%;overflow-wrap:anywhere}
.t-pos{color:#13804f!important}.t-neg{color:#c0392b!important}.t-hi{color:#2f62c9!important}.t-warn{color:#b86e00!important}
.rb-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:4px 0 8px}
.rb-tile{background:#fff;border-radius:11px;padding:7px 9px;border:1px solid #eceef2;display:flex;flex-direction:column;align-items:center}
.rb-tile span{font-size:11.5px;color:#8a8f99}.rb-tile b{font-size:17px}
.rb-note{border-radius:14px;padding:10px 12px;margin:0 0 10px;background:#eef4ff;border:1px solid #cfdcf7}
.rb-note b{display:block;font-size:13.5px}.rb-note p{margin:3px 0 0;font-size:13px;line-height:1.45;color:#333}
.rb-note.n-pos{background:#e9f7f0;border-color:#bfe6d2}.rb-note.n-warn{background:#fff6e5;border-color:#f3dba9}
.rb-foot{margin:6px 4px 16px}
.ou-rules{box-shadow:inset 0 0 0 1.5px #c9d8f7}
/* rookie draft hero (round 7): reuses the auction .ahero card */
.dhero .dh-logo{background:#fff}.dhero .dh-logo .logo{width:100%!important;height:100%!important;border-radius:50%;object-fit:cover}
.dhero .dh-logo .logo.ph{display:grid;place-items:center;font-size:30px;font-weight:800;color:#101c3d}
.ah-live.sel{background:#fff;color:#c0392b;border-color:#fff}
.dh-cand{display:flex;align-items:center;gap:12px;margin:8px 14px 14px;padding:9px 10px;border-radius:14px;background:#f4f6fa;color:inherit;text-decoration:none;border:1px solid #e6e9ef}
.dh-cshot{flex:none;width:52px;height:52px;border-radius:50%;overflow:hidden;background:var(--c1);display:grid;place-items:center}
.dh-cshot img{width:128%;margin-top:16%}
.dh-ctx{flex:1;min-width:0;display:flex;flex-direction:column}.dh-ctx small{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#3e6fd8}
.dh-ctx b{font-size:16px}.dh-ctx>span{font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}
.dhero.just{margin-bottom:12px}
.dhero.just .ah-stamp{background:rgba(16,28,61,.18)}
.dhero.just .ah-stamp>div{border-color:#1f9e6e;color:#1f9e6e}
.dhero .ah-stamp b{font-size:46px}
.ah-t b.long{font-size:20px}
.dhero.red .ah-call,.dhero.amber .ah-call{font-size:13px;text-transform:none;letter-spacing:0;font-weight:700}
.dhero.just .ah-stamp{inset:auto 10px 12px auto;background:none}
.dhero.just .ah-stamp>div{padding:3px 12px 5px;border-width:4px;transform:rotate(-8deg);max-width:none}
.dhero.just .ah-stamp b{font-size:24px}.dhero.just .ah-stamp span{font-size:11px}
.dhero.just .ah-nom{padding-right:150px}
@keyframes ahstamp2{0%{transform:rotate(-8deg) scale(2.4);opacity:0}100%{transform:rotate(-8deg) scale(1);opacity:1}}
.dhero.just.is-sold .ah-stamp>div{animation:ahstamp2 .45s cubic-bezier(.2,1.6,.4,1) both}
/* Team & profile editor (round 8) */
.pe-hero{display:flex;align-items:center;gap:14px;padding:16px}
.pe-hero .logo{flex:none;border-radius:50%}
.pe-link{font-size:13px;color:#3e6fd8;text-decoration:none;margin-top:4px;font-weight:600}
.pe-form{display:flex;flex-direction:column;gap:12px}
.pe-f{display:flex;flex-direction:column;gap:5px;min-width:0}
.pe-f>span{font-size:12.5px;font-weight:700;color:#5f6672;display:flex;align-items:center;gap:6px}
.pe-f input,.pe-f select{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:11px 12px;border-radius:12px;border:1px solid #dfe2e8;background:#f7f8fb;color:#111}
.pe-f input:focus,.pe-f select:focus{outline:none;border-color:#3e6fd8;background:#fff}
.pe-btn{align-self:stretch;border:0;border-radius:24px;background:#3e6fd8;color:#fff;font:inherit;font-weight:700;font-size:15px;padding:12px;cursor:pointer}
.pe-hint{margin:-4px 2px 0;font-size:12.5px;color:#8a8f99}
.pe-logo-row{display:flex;align-items:center;gap:14px}.pe-logo-row .logo{flex:none;border-radius:50%}
.pe-file{flex:1;min-width:0;position:relative;border:1.5px dashed #c9d2e3;border-radius:12px;padding:12px;text-align:center;color:#3e6fd8;font-weight:600;font-size:14px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pe-file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.pe-tog{padding:6px 0}.pe-tog::before{display:none}
.pe-switch{padding:12px 16px}
/* Franchise owners: stacked rows + ⋯ menu (round 8) */
.fo-list{display:flex;flex-direction:column;margin:4px 0 10px}
.fo-row{display:grid;grid-template-columns:40px minmax(0,1fr) 36px;align-items:center;gap:4px 12px;padding:10px 0;border-top:1px solid var(--line,#eceef2);position:relative}
.fo-row:first-child{border-top:0}
.fo-logo{display:block;width:40px;height:40px}.fo-logo .logo{border-radius:50%}
.fo-tx{min-width:0;display:flex;flex-direction:column;line-height:1.3}
.fo-tx b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fo-own{font-size:13.5px;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fo-st{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fo-st.on{color:#13804f}.fo-st.off{color:#b86e00}
.fo-menu{position:relative;justify-self:end}
.fo-menu summary{list-style:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:20px;font-weight:700;color:#5f6672;cursor:pointer;user-select:none}
.fo-menu summary::-webkit-details-marker{display:none}
.fo-menu[open] summary{background:#eef1f6}
.fo-pop{position:absolute;right:0;top:38px;z-index:30;min-width:190px;max-width:calc(100vw - 40px);background:#fff;border-radius:14px;box-shadow:0 8px 28px rgba(0,0,0,.16),0 0 0 1px rgba(0,0,0,.05);padding:6px;display:flex;flex-direction:column}
.fo-pop a,.fo-pop button{all:unset;display:block;padding:10px 12px;border-radius:9px;font-size:14.5px;color:#111;cursor:pointer}
.fo-pop a:active,.fo-pop button:active,.fo-pop a:hover,.fo-pop button:hover{background:#f2f4f8}
.fo-edit{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:8px;margin-top:6px}
.fo-edit label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:#5f6672;min-width:0}
.fo-edit input{width:100%;box-sizing:border-box;font-size:16px}
.fo-edit[hidden]{display:none}
.fo-bulk{margin:4px 0 8px}.fo-bulk summary{cursor:pointer;color:#3e6fd8;font-weight:600;font-size:14px}
.fo-bulk textarea{width:100%;box-sizing:border-box}
/* matchup scoreboard (round 10): one band, the two team halves touching, colours blending at the seam */
.mhead.mh2{--cl:#101c3d;--cr:#101c3d;position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;align-items:stretch;padding:0;margin:4px 0 12px;border:0;text-align:left;color:#fff;
  border-radius:var(--r);overflow:hidden;box-shadow:0 2px 14px rgba(16,32,64,.16);
  background:linear-gradient(180deg,rgba(255,255,255,.07) 0%,rgba(0,0,0,0) 40%,rgba(0,0,0,.28) 100%),linear-gradient(90deg,var(--cl) 0%,var(--cl) 42%,var(--cr) 58%,var(--cr) 100%)}
.mh2 .mh-team{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;color:#fff;padding:12px 24px 12px 14px;background:none;box-shadow:none;border-radius:0}
.mh2 .mh-r{text-align:right;padding:12px 14px 12px 24px}
.mh2 .mh-team::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--c2);opacity:.85}
.mh2 .mh-l::after{background:linear-gradient(90deg,var(--c2) 70%,transparent)}
.mh2 .mh-r::after{background:linear-gradient(270deg,var(--c2) 70%,transparent)}
.mh2 .mh-team.lead::after{background:#2ecc71;opacity:1}
.mh2 .mh-l.lead::after{background:linear-gradient(90deg,#2ecc71 75%,transparent)}
.mh2 .mh-r.lead::after{background:linear-gradient(270deg,#2ecc71 75%,transparent)}
.mh2 .mh-top{display:flex;align-items:center;justify-content:space-between;gap:6px}
.mh2 .mh-r .mh-top{flex-direction:row-reverse}
.mh2 .mh-logo{flex:none;width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.95);box-shadow:0 0 0 2px var(--c2),0 4px 12px rgba(0,0,0,.3);overflow:hidden;display:grid;place-items:center}
.mh2 .mh-logo .logo{width:100%!important;height:100%!important;border-radius:0;object-fit:cover}
.mh2 .rec{font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;background:rgba(0,0,0,.25);border-radius:8px;padding:2px 7px;color:#fff}
.mh2 .mh-name{margin-top:8px;font-size:14.5px;font-weight:800;line-height:1.18;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:break-word;min-height:2.36em}
.mh2 .mh-name .seed{display:inline-block;background:var(--c2);color:#fff;border-radius:6px;padding:0 5px;font-size:11px;margin-right:4px}
.mh2 .owner{font-size:11.5px;opacity:.88;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.mh2 .mh-score{align-self:flex-start;margin:6px -6px 0;padding:0 6px;border-radius:9px;font-size:29px;line-height:1.1;font-weight:800;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.35)}
.mh2 .mh-r .mh-score{align-self:flex-end}
.mh2 .mh-team.lead .mh-score{background:linear-gradient(180deg,rgba(46,204,113,0) 35%,rgba(46,204,113,.32) 100%)}
.mh2 .mh-proj{font-size:11.5px;color:#fff;opacity:.82;font-variant-numeric:tabular-nums}
.mh2 .mh-left{margin-top:4px;font-size:11px;font-weight:700;color:#fff;opacity:.92;min-height:1.3em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mh2 .mh-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#2ecc71;margin-right:4px;vertical-align:1px;animation:mhpulse 1.4s infinite}
@keyframes mhpulse{50%{opacity:.35}}
.mh2 .mh-mid{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;padding:8px 0;width:30px;display:flex;flex-direction:column;align-items:center;gap:5px;border-radius:999px;
  background:rgba(8,14,32,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 0 0 1px rgba(255,255,255,.16)}
.mh2 .mh-rule{display:none}
.mh2 .vs{font-size:11px;font-weight:900;letter-spacing:.06em;color:#fff}
.mh2 .mh-wk{font-size:9.5px;font-weight:800;color:rgba(255,255,255,.8);writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.08em;text-transform:uppercase}
.mh2 .mh-mid .badge{font-size:8.5px;padding:3px 1px;writing-mode:vertical-rl;transform:rotate(180deg);border:0}
.mh2 .mh-tie{font-size:9.5px;font-weight:800;color:#fff}
.mh2 .mh-team.flash .mh-score{animation:mhflash .9s}
@keyframes mhflash{30%{transform:scale(1.08);color:#b9ffd6}}
@media (max-width:760px){.mhead.mh2{margin:0 -12px 12px;border-radius:0;box-shadow:0 2px 12px rgba(16,32,64,.14)}}
@media (max-width:380px){.mh2 .mh-score{font-size:25px}}
/* team hero: full-bleed on phones (round 9) — edge to edge, inner content keeps its padding */
@media (max-width:760px){
  .th-hero{margin:0 -12px 10px;border-radius:0;padding:16px 16px 14px;box-shadow:0 2px 12px rgba(16,32,64,.14)}
  .th-hero::after,.th-bg{border-radius:0}
}
/* Scores (round 11): no pill bar — band / pane content right under the app bar, page dots, week & matchup sheet */
.sc-pane{padding-top:0}
.mhead.mh2{margin-top:0}
@media (min-width:761px){.mhead.mh2{margin-top:12px}}
.mh2 button.mh-mid{border:0;font:inherit;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent}
.mh2 button.mh-mid:active{background:rgba(8,14,32,.7)}
.mh2 .mh-caret{font-size:11px;line-height:1;color:#fff;opacity:.95;margin-top:-1px}
.sc-dots{display:flex;gap:5px;align-items:center;justify-content:center}
.sc-dots button{all:unset;width:6px;height:6px;border-radius:50%;background:#c3cad6;cursor:pointer;transition:width .2s,background .2s}
.sc-dots button.on{width:14px;border-radius:3px;background:#3e6fd8}
.sc-dots button:focus-visible{outline:2px solid #3e6fd8;outline-offset:2px}
.mh2 .sc-dots{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);z-index:3}
.mh2 .sc-dots button{background:rgba(255,255,255,.45)}.mh2 .sc-dots button.on{background:#fff}
.sc-top{display:flex;align-items:center;gap:8px;margin:12px 0 8px}
.sc-top .sc-h{flex:1;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sc-wkchip{flex:none;border:1px solid #d6dce6;background:#fff;color:var(--brand-d);font:inherit;font-size:12.5px;font-weight:800;border-radius:999px;padding:4px 10px;cursor:pointer}
.wsheet{padding:0;border:0;margin:auto auto 0;width:100%;max-width:560px;max-height:82dvh;border-radius:20px 20px 0 0;background:#fff;color:var(--ink);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 -8px 30px rgba(0,0,0,.2)}
.wsheet[open]{animation:wsup .22s ease-out}
@keyframes wsup{from{transform:translateY(40px);opacity:.4}}
.wsheet::backdrop{background:rgba(8,16,32,.5)}
@media (min-width:761px){.wsheet{margin:auto;border-radius:20px}}
.ws-grab{width:38px;height:4px;border-radius:2px;background:#d3d8e0;margin:8px auto 2px}
.ws-head{display:flex;align-items:center;justify-content:space-between;padding:6px 16px 4px}
.ws-head b{font-size:17px}
.ws-x{border:0;background:#f0f2f6;width:30px;height:30px;border-radius:50%;font-size:14px;cursor:pointer;color:#5f6672}
.ws-wk{display:flex;align-items:center;gap:6px;padding:6px 10px 10px;border-bottom:1px solid #eceef2}
.ws-arr{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f0f2f6;font-size:20px;color:var(--brand-d);text-decoration:none}
.ws-chips{flex:1;min-width:0;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px}
.ws-chips::-webkit-scrollbar{display:none}
.ws-chips a{flex:none;font-size:12.5px;font-weight:800;padding:6px 10px;border-radius:999px;background:#f0f2f6;color:#4a5363;text-decoration:none}
.ws-chips a.on{background:#3e6fd8;color:#fff}
.ws-list{padding:8px 10px;display:flex;flex-direction:column;gap:6px}
.ws-m{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:3px 10px;align-items:center;padding:9px 12px;border-radius:14px;border:1px solid #eceef2;color:inherit;text-decoration:none}
.ws-m.on{border-color:#3e6fd8;background:#eef3ff;box-shadow:inset 3px 0 0 #3e6fd8}
.ws-t{grid-column:1;display:flex;align-items:center;gap:8px;min-width:0;font-size:14px}
.ws-t .logo{flex:none;border-radius:50%}
.ws-n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ws-t b{font-family:var(--mono);font-variant-numeric:tabular-nums;color:#5f6672;font-weight:700}
.ws-t.win b,.ws-t.win .ws-n{color:var(--ink);font-weight:800}
.ws-st{grid-column:2;grid-row:1/3;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:3px 7px;border-radius:999px;background:#f0f2f6;color:#5f6672}
.ws-st.st-live{background:#ffe5e5;color:#c0392b}.ws-st.st-final{background:#e6f4ec;color:#13804f}
.ws-st small{display:block;font-size:9.5px;font-weight:700;text-transform:none;letter-spacing:0;opacity:.85;margin-top:1px}.ws-st:has(small){border-radius:9px;text-align:center;line-height:1.15}
.ws-h2h{display:block;padding:12px 16px;border-top:1px solid #eceef2;color:#3e6fd8;font-weight:700;font-size:14px;text-decoration:none}
.ws-h2h:last-child{padding-bottom:calc(14px + env(safe-area-inset-bottom))}
/* team pages: viewer bar — Propose trade / Commissioner edit (round 12) */
.tc-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0 4px;flex-wrap:wrap}
.tc-trade{font-weight:700;margin-left:auto}
.tc-cedit{margin:0}
.tc-tog{display:inline-flex;align-items:center;gap:7px;border:1px solid #d6dce6;background:#fff;color:#5f6672;font:inherit;font-size:12.5px;font-weight:700;border-radius:999px;padding:5px 11px 5px 6px;cursor:pointer}
.tc-tog i{width:26px;height:15px;border-radius:8px;background:#c9ccd3;position:relative;transition:background .2s}
.tc-tog i::after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:#fff;transition:transform .2s}
.tc-tog.on{border-color:#e6a23c;color:#8a5200;background:#fff6e5}.tc-tog.on i{background:#e6a23c}.tc-tog.on i::after{transform:translateX(11px)}
.tc-banner{margin:8px 0 4px;padding:9px 12px;border-radius:12px;background:#fff3d6;border:1px solid #f0c66b;color:#6b4300;font-size:13px;line-height:1.4}
.tc-banner b{color:#8a5200}
/* owner nickname: Jared Madden aka “Slim” (smaller, lighter; inherits the context's color) */
.aka{font-size:.86em;font-weight:400;opacity:.68;display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}
.th-on{min-width:0;overflow-wrap:anywhere}
.mh2 .owner .aka{font-size:.92em;display:inline}
.oe-who{margin:-4px 0 12px;font-weight:600;color:var(--ink)}
/* League > Cap / Value on phones: stacked rows, no sideways scroll (desktop tables above 760px) */
.capm,.vbase-m{display:none}
@media(max-width:760px){
  .capd,.vbase-d{display:none}
  .capm{display:block;margin:0 -2px 12px}.vbase-m{display:block}
  .capm-h,.capc summary{display:grid;grid-template-columns:minmax(0,1fr) 78px 78px 12px;gap:8px;align-items:center}
  .capm-h{padding:8px 12px;font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;background:#f5f7fb;border-radius:12px 12px 0 0}
  .capm-h span:nth-child(n+2){text-align:right}.capm-h::after{content:""}
  .capc{border-top:1px solid #eef1f5}
  .capc summary{list-style:none;cursor:pointer;padding:9px 12px;min-height:44px}.capc summary::-webkit-details-marker{display:none}
  .capc-t{display:flex;align-items:center;gap:8px;min-width:0}.capc-t .logo,.capc-t img{flex:none}
  .capc-n{display:flex;flex-direction:column;min-width:0}.capc-n b{font-size:13.5px;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:break-word;white-space:normal}
  .capc-n small{font-size:11.5px}
  .capc-v{text-align:right;font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:600}.capc-v.inj{color:#c0392b}
  .capc-v .minibar{width:100%;max-width:70px}
  .capc-chev{font-style:normal;color:#9aa5b5;font-size:18px;transition:transform .15s;text-align:center}
  .capc[open] .capc-chev{transform:rotate(90deg)}.capc[open] summary{background:#f7f9fc}
  .capc-body{padding:4px 12px 12px;background:#f7f9fc}
  .capc-dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px;margin:0 0 8px}
  .capc-dl div{background:#fff;border:1px solid #e6ebf2;border-radius:10px;padding:6px 8px;min-width:0}
  .capc-dl dt{font-size:11px;color:var(--muted)}.capc-dl dd{margin:0;font-weight:700;font-size:13.5px;font-variant-numeric:tabular-nums}.capc-dl dd.inj{color:#c0392b}
  .capc-row{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding:4px 0;font-size:13.5px;flex-wrap:wrap}
  .capc-row>span:last-child{text-align:right;min-width:0;overflow-wrap:anywhere}
  .capc-link{display:inline-block;margin-top:6px;font-weight:600;font-size:13.5px}
  .vbase-m{list-style:none;margin:0;padding:0}
  .vbase-m li{display:grid;grid-template-columns:44px minmax(0,1fr) minmax(0,.7fr) minmax(0,1.4fr);gap:8px;align-items:center;padding:8px 2px;border-top:1px solid #eef1f5}
  .vbase-m li:first-child{border-top:0}
  .vbase-m b{font-size:15px;font-variant-numeric:tabular-nums}.vbase-m small{display:block;font-size:11px;color:var(--muted);font-weight:400}
  .vb-ps small{white-space:nowrap}.vb-ps{text-align:right;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.vb-n{text-align:center}
  .vb-note{margin:6px 0 0}
  .chips.chips-wrap{flex-wrap:wrap;overflow:visible}
}
/* long one-word team names ("It'sGonnaBeMaye"): slightly smaller, one line, ellipsis — never broken mid-word */
.lw{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;word-break:normal}
.capc-n b.lw{font-size:12.5px;display:block;-webkit-line-clamp:unset}
.mh2 .mh-name.lw{font-size:12.5px;display:block;-webkit-line-clamp:unset;min-height:2.36em}
.tswitch h1.lw{display:inline;white-space:normal;overflow:visible}.th-hero .tswitch h1.lw{font-size:20px}
.tr-team.lw{font-size:12.5px}.rv-side b.lw{font-size:12.5px}
/* weekly recap as a news article (recap page) */
.rx{background:#fff;border-radius:16px;box-shadow:0 1px 3px rgba(16,28,61,.08);overflow:hidden;margin:0 0 14px}
.rx-head{padding:0 0 4px}
.rx-hero{position:relative;height:150px;background:linear-gradient(135deg,#101c3d,#2c4a70);display:flex;align-items:center;justify-content:center;overflow:hidden}
.rx-hero img{height:120px;width:120px;object-fit:cover;border-radius:18px;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.rx-hero span{font-size:44px;font-weight:800;color:#fff;letter-spacing:.04em}
.rx-hero em{position:absolute;left:12px;top:10px;font-style:normal;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:#d0455a;color:#fff;padding:3px 8px;border-radius:6px}
.rx-h{font-family:Georgia,"Times New Roman",serif;font-size:27px;line-height:1.15;font-weight:800;margin:14px 16px 6px;color:#101c3d;overflow-wrap:break-word}
.rx-sub{font-family:Georgia,"Times New Roman",serif;font-size:16.5px;line-height:1.4;color:#4a566b;margin:0 16px 8px}
.rx-by{font-size:12.5px;color:#6b7686;margin:0 16px 10px;padding-bottom:10px;border-bottom:1px solid #e6ebf2}.rx-by b{color:#101c3d}
.rx-body{padding:0 16px}
.rx-body p{font-family:Georgia,"Times New Roman",serif;font-size:16.5px;line-height:1.6;color:#1d2533;margin:0 0 14px;overflow-wrap:break-word}
.rx-lead{font-size:18px!important}.rx-dl{font-family:system-ui,-apple-system,sans-serif;font-weight:800;font-size:12.5px;letter-spacing:.05em;color:#d0455a}
.rx-box{margin:4px 16px 16px;border:2px solid #101c3d;border-radius:12px;padding:10px 12px;background:#f7f9fc}
.rx-box h3{margin:0 0 6px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#d0455a}
.rx-box dl{margin:0;display:grid;gap:6px}
.rx-box dl>div{display:grid;grid-template-columns:minmax(0,7.5em) minmax(0,1fr);gap:8px;align-items:baseline;border-top:1px solid #e3e8f0;padding-top:6px}
.rx-box dl>div:first-child{border-top:0;padding-top:0}
.rx-box dt{font-size:12px;color:#6b7686;font-weight:600}.rx-box dd{margin:0;min-width:0}
.rx-box dd b{font-size:16px;font-variant-numeric:tabular-nums;color:#101c3d;margin-right:6px}.rx-box dd span{font-size:13px;color:#3a4a62;overflow-wrap:break-word}
.rx-foot{margin:0 16px 14px}
.rx-more summary{cursor:pointer;list-style:none}.rx-more summary::-webkit-details-marker{display:none}.rx-more summary::after{content:" ▾";color:#9aa5b5}
@media(min-width:900px){
  .rx{display:grid;grid-template-columns:minmax(0,1fr) 280px;column-gap:8px}
  .rx-head{grid-column:1/-1}.rx-body{grid-column:1;grid-row:2}.rx-box{grid-column:2;grid-row:2;align-self:start;position:sticky;top:12px}
  .rx-foot{grid-column:1/-1}.rx-h{font-size:36px}.rx-hero{height:200px}.rx-hero img{height:160px;width:160px}
}
/* recap article card in league chat */
.ch-art-w{max-width:min(420px,94%);width:100%;align-items:stretch}
.ch-art{display:block;background:#fff;border:1px solid #dfe5ee;border-radius:16px;overflow:hidden;color:inherit;text-decoration:none;box-shadow:0 1px 3px rgba(16,28,61,.08)}
.ch-art:hover{text-decoration:none;border-color:#1557c0}
.ch-art-hero{position:relative;height:110px;background:linear-gradient(135deg,#101c3d,#2c4a70);display:flex;align-items:center;justify-content:center}
.ch-art-hero img{width:84px;height:84px;object-fit:cover;border-radius:14px;box-shadow:0 4px 12px rgba(0,0,0,.35)}
.ch-art-ini{font-size:34px;font-weight:800;color:#fff}
.ch-art-kick{position:absolute;left:10px;top:8px;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:#d0455a;color:#fff;padding:2px 7px;border-radius:5px}
.ch-art-tx{display:block;padding:10px 12px 12px;text-align:left}
.ch-art-h{display:block;font-family:Georgia,"Times New Roman",serif;font-size:19px;line-height:1.2;color:#101c3d;overflow-wrap:break-word}
.ch-art-sub{display:block;font-size:13.5px;color:#4a566b;margin-top:4px;line-height:1.35}
.ch-art-by{display:block;font-size:11.5px;color:#7a8597;margin:6px 0 2px}
.ch-art p{font-family:Georgia,"Times New Roman",serif;font-size:14.5px;line-height:1.45;color:#1d2533;margin:8px 0 0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:break-word}
.ch-art-more{display:inline-block;margin-top:10px;font-weight:700;font-size:14px;color:#1557c0}
.ch-art-t{align-self:flex-end;margin-top:3px}
/* completed-trade card in league chat (trade theater) */
.ch-tt-hero{position:relative;height:120px;display:flex;align-items:center;justify-content:center;gap:6px;padding:18px 10px 8px;
  background:radial-gradient(60% 70% at 50% 40%,rgba(90,125,172,.55),transparent 70%),linear-gradient(180deg,#0d1426,#060a14)}
.ch-tt-c{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;flex:1;max-width:42%}
.ch-tt-c img,.ch-tt-c i{width:60px;height:60px;border-radius:14px;object-fit:cover;background:#fff;box-shadow:0 0 0 3px var(--c1,#fff),0 4px 12px rgba(0,0,0,.45);display:grid;place-items:center;font-style:normal;font-weight:900;color:#123}
.ch-tt-c.l img,.ch-tt-c.l i{transform:rotate(-6deg)}.ch-tt-c.r img,.ch-tt-c.r i{transform:rotate(6deg)}
.ch-tt-c b{font-size:11.5px;color:#fff;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-tt-x{flex:none;font-weight:900;font-size:13px;color:#2a1600;background:linear-gradient(135deg,#ffcf4a,#fff1b0 45%,#f0a81f);border:2px solid #fff;border-radius:7px;padding:2px 6px;transform:rotate(-10deg);margin-top:-14px}
.ch-trade .ch-art-kick{background:#c99a1e}
/* appearance picker: Day / Night / Auto */
.ou-modes.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
button.ou-mode{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch}button.ou-mode span{align-self:center}
.ou-mode.on .ou-prev{border-color:#3e6fd8}.ou-prev.day{border-color:transparent}
.ou-prev.auto{background:linear-gradient(135deg,#f2f3f7 50%,#0a0b0d 50%)}.ou-prev.auto i{background:#9aa3b5}.ou-prev.auto i:first-child{width:60%}
/* Features overview (/l/{id}/features) */
.ou-feat{box-shadow:inset 0 0 0 1.5px #f6c9a6}
.ft-card{padding:16px 16px 14px;scroll-margin-top:70px}
.ft-h{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.ft-h h2{margin:0;font-size:18px;font-weight:700;color:#111;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ft-pts{margin:0 0 12px;padding-left:18px;font-size:14.5px;line-height:1.5;color:#2a2f3a}
.ft-pts li+li{margin-top:6px}
.ft-shots{display:grid;grid-auto-flow:column;grid-auto-columns:46%;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.ft-shots.one{grid-auto-columns:56%}
.ft-shots figure{margin:0;scroll-snap-align:start;min-width:0}
.ft-shot{display:block;width:100%;padding:0;border:1px solid #e3e6ec;border-radius:14px;overflow:hidden;background:#f2f3f7;cursor:zoom-in}
.ft-shot img{display:block;width:100%;height:auto}
.ft-shots figcaption{font-size:12px;color:#8a8f99;line-height:1.3;margin-top:5px}
.ft-go{display:inline-block;margin-top:10px;font-weight:700;font-size:14px;color:#3e6fd8;text-decoration:none}
.ft-lb{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;margin:0;overflow:auto}
.ft-lb::backdrop{background:rgba(5,8,15,.88)}
.ft-lb img{display:block;width:min(100vw,520px);height:auto;margin:48px auto 8px}
.ft-lb p{color:#e6ebf5;text-align:center;font-size:13px;margin:0 16px 24px}
.ft-x{position:fixed;top:10px;right:12px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.16);color:#fff;font-size:26px;line-height:1;cursor:pointer}
/* + sheet: first-come minimum signing with an optional / required drop */
.as-sign{margin:0}
.as-drop{display:flex;flex-direction:column;gap:4px;margin:2px 0 8px;font-size:12.5px;color:var(--muted);font-weight:600}
.as-drop select{width:100%;font:inherit;font-size:14px;font-weight:500;padding:8px 10px;border-radius:10px;border:1px solid #d5dde8;background:#fff;color:var(--ink)}
.as-drop.need span{color:var(--bad)}
.inv-row{padding:10px 0;border-top:1px solid var(--line)}.inv-row:first-child{border-top:0}.inv-top{display:flex;gap:10px;align-items:center}.inv-who{min-width:0;overflow-wrap:anywhere}.inv-row .copy{margin-top:8px}.inv-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.inv-actions form{margin:0}
.reset-card{border:2px solid var(--brand)}.reset-card .copy{margin:6px 0 8px}

/* —— Create-league setup wizard —— */
.wiz{max-width:440px;margin:0 auto 24px;padding:0 2px}
.wiz-head{margin:4px 0 14px}
.wiz-kicker{margin:0;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5b8cf0}
.wiz-head h1{margin:4px 0 12px;font-size:1.55rem}
.wiz-dots{list-style:none;display:flex;gap:8px;padding:0;margin:0}
.wiz-dots li{flex:1;height:6px;border-radius:99px;background:#d8e0ea;cursor:pointer;position:relative}
.wiz-dots li.on,.wiz-dots li.done{background:#2f7fd8}
.wiz[data-step="1"] .wiz-dots li:nth-child(-n+1),
.wiz[data-step="2"] .wiz-dots li:nth-child(-n+2),
.wiz[data-step="3"] .wiz-dots li:nth-child(-n+3),
.wiz[data-step="4"] .wiz-dots li:nth-child(-n+4),
.wiz[data-step="5"] .wiz-dots li:nth-child(-n+5),
.wiz[data-step="6"] .wiz-dots li:nth-child(-n+6){background:#2f7fd8}
.wiz-dots li span{position:absolute;left:50%;top:10px;transform:translateX(-50%);font-size:10px;font-weight:700;color:#8a99ad}
.wiz-dots li.on span,
.wiz[data-step="1"] .wiz-dots li:nth-child(1) span,
.wiz[data-step="2"] .wiz-dots li:nth-child(2) span,
.wiz[data-step="3"] .wiz-dots li:nth-child(3) span,
.wiz[data-step="4"] .wiz-dots li:nth-child(4) span,
.wiz[data-step="5"] .wiz-dots li:nth-child(5) span,
.wiz[data-step="6"] .wiz-dots li:nth-child(6) span{color:#2f7fd8}
.wiz-form{display:flex;flex-direction:column;gap:12px}
.wiz-step{display:none;background:#fff;border:1px solid #dde3ea;border-radius:16px;padding:16px 16px 14px;box-shadow:0 1px 2px rgba(20,35,60,.04)}
.wiz[data-step="1"] .wiz-step[data-n="1"],
.wiz[data-step="2"] .wiz-step[data-n="2"],
.wiz[data-step="3"] .wiz-step[data-n="3"],
.wiz[data-step="4"] .wiz-step[data-n="4"],
.wiz[data-step="5"] .wiz-step[data-n="5"],
.wiz[data-step="6"] .wiz-step[data-n="6"]{display:block}
.wiz-step h2{margin:0 0 4px;font-size:1.15rem}
.wiz-step .muted{margin:0 0 12px}
.wiz-step label{display:flex;flex-direction:column;gap:4px;font-size:13.5px;margin:0 0 10px}
.wiz-step input,.wiz-step textarea{font:inherit;padding:10px 12px;border:1px solid #c9d3e0;border-radius:10px;background:#f7f9fc}
.wiz-step input:focus,.wiz-step textarea:focus{outline:none;border-color:#2f7fd8;box-shadow:0 0 0 3px rgba(47,127,216,.18);background:#fff}
.wiz-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px}
.wiz-grid.three{grid-template-columns:repeat(3,1fr)}
.wiz-grid.two{grid-template-columns:1fr 1fr}
.wiz-grid label{margin:0}
.wiz-radios{display:flex;flex-direction:column;gap:8px}
.wiz-radio{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1.5px solid #d4dce8;border-radius:14px;background:#f7f9fc;cursor:pointer;margin:0}
.wiz-radio input{margin-top:3px;accent-color:#2f7fd8}
.wiz-radio.on{border-color:#2f7fd8;background:#eef5ff;box-shadow:0 0 0 3px rgba(47,127,216,.12)}
.wiz-radio-body{display:flex;flex-direction:column;gap:2px}
.wiz-radio-body b{font-size:15px}
.wiz-radio-body small{color:#5b6678;line-height:1.35}
.wiz-review{margin:0;display:flex;flex-direction:column;gap:8px}
.wiz-review > div{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;background:#f7f9fc;border-radius:10px;border:1px solid #e6ebf2}
.wiz-review dt{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#8a99ad}
.wiz-review dd{margin:0;text-align:right;font-weight:600;color:#1d2b3a;font-size:13.5px}
.wiz-nav{display:flex;align-items:center;gap:8px;margin-top:4px;position:sticky;bottom:12px;padding:8px 0;background:linear-gradient(180deg,transparent, #eef1f6 30%)}
.wiz-spacer{flex:1}
.wiz[data-step="1"] #wiz-prev{display:none!important}
.wiz:not([data-step="6"]) #wiz-create{display:none!important}
.wiz[data-step="6"] #wiz-next{display:none!important}
@media(max-width:420px){.wiz-grid{grid-template-columns:repeat(2,1fr)}.wiz-grid.two{grid-template-columns:1fr}}

/* —— Commissioner roster editor —— */
.re-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin:10px 0}
.re-team{display:flex;align-items:center;gap:10px;min-width:0}
.re-team b{display:block;font-size:1.05rem}
.re-add h2{margin:0 0 8px;font-size:1.05rem}
.re-search{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin:0 0 10px}
.re-search .grow{flex:1 1 160px;margin:0}
.re-search label{display:flex;flex-direction:column;gap:4px;font-size:13px}
.re-search input{padding:10px 12px;border:1px solid #c9d3e0;border-radius:10px;font:inherit;background:#f7f9fc}
.re-hits{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.re-hits li{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:10px;border:1px solid #e6ebf2;border-radius:12px;background:#f7f9fc}
.re-hit-who{display:flex;gap:10px;align-items:center;min-width:0;flex:1}
.re-hit-acts{display:flex;flex-wrap:wrap;gap:6px}
.re-btns{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center;justify-content:flex-end}
.re-btns form{margin:0;display:inline}
.re-chip{appearance:none;border:1px solid #c9d3e0;background:#fff;color:#1d2b3a;font:inherit;font-size:11px;font-weight:700;letter-spacing:.02em;padding:5px 8px;border-radius:999px;cursor:pointer;line-height:1.2}
.re-chip.on{background:#2f7fd8;border-color:#2f7fd8;color:#fff;cursor:default}
.re-chip.danger{color:#c0392b;border-color:#e7b4b4;background:#fff5f5}
.re-chip:not(.on):hover{border-color:#2f7fd8;color:#1557c0}
.re-roster .c-re{width:9.5rem}
.re-acts{text-align:right;padding-right:8px!important;vertical-align:middle}
@media(max-width:420px){.re-hit-acts{width:100%}.re-chip{padding:6px 9px}}

/* —— Commissioner Roster & contracts (combined editor) —— */
.rc{min-width:0;max-width:100%}
.rc-lede{margin-top:-4px}
.rc-warn{color:#b26a00;margin:2px 0 0}
.rc .re-head .btn{white-space:nowrap;flex:0 0 auto}
.rc-add h2{margin:0 0 8px;font-size:1.05rem}
.rc-list{display:flex;flex-direction:column;gap:6px;margin:0 0 6px}
.rc-item{border:1px solid #e3e9f1;border-radius:12px;background:#fff;min-width:0;overflow:hidden}
.rc-item.nocon{border-left:4px solid #f0b54a}
.rc-item[open]{border-color:#9cc0ee;box-shadow:0 2px 10px rgba(31,91,181,.08)}
.rc-item > summary{list-style:none;display:flex;align-items:center;gap:9px;padding:9px 11px;cursor:pointer;min-width:0}
.rc-item > summary::-webkit-details-marker{display:none}
.rc-item > summary::after{content:"›";flex:0 0 auto;font-size:20px;line-height:1;color:#9aa6b6;transition:transform .15s}
.rc-item[open] > summary::after{transform:rotate(90deg)}
.rc-who{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}
.rc-n{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-k{display:flex;flex-direction:column;align-items:flex-end;text-align:right;flex:0 0 auto;font-size:13px;line-height:1.2}
.rc-k small{color:var(--muted);font-size:11px}
.rc-addpill{flex:0 0 auto;font-size:12px;font-weight:800;color:#1f5bb5;background:#eaf2fd;border:1px solid #c7dbf6;border-radius:999px;padding:5px 10px}
.rc-hit[open] .rc-addpill{visibility:hidden}
.rc-panel{display:block;padding:4px 12px 12px;border-top:1px dashed #e3e9f1;min-width:0}
.rc-sec-h{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:10px 0 6px}
.rc-moves{justify-content:flex-start}
.rc-cur{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;margin:0 0 6px}
.rc-yr{background:#f3f6fa;border-radius:6px;padding:1px 6px;white-space:nowrap}
.rc-cur .linkbtn.danger{color:#c0392b;font-size:12px}
.rc-form{min-width:0}
.rc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;min-width:0}
.rc-grid > label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted);min-width:0}
.rc-grid > label.wide{grid-column:1/-1}
.rc-form input:not([type=radio]):not([type=checkbox]):not([type=file]),.rc-form select,.rc-form textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:9px 10px;border:1px solid #cfd7e3;border-radius:9px;font:inherit;font-size:14px;background:#fff;color:inherit}
.rc-form .rp{display:flex;gap:6px}.rc-form .rp input{flex:1 1 0}
.rc-more{margin:8px 0 0}
.rc-more > summary{cursor:pointer;font-size:12.5px;font-weight:600;color:#1f5bb5;padding:4px 0}
.rc-hint{margin:6px 0 0}
.rc-pro{display:flex;gap:6px;align-items:center;margin:8px 0 0}
.rc-go{margin-top:10px}
.rc-form .btn.rc-go:not(.sm){width:100%}
.rc-seg{display:flex;flex-wrap:wrap;gap:6px}
.rc-seg label{flex:1 1 auto;min-width:64px;margin:0}
.rc-seg input{position:absolute;opacity:0;pointer-events:none}
.rc-seg span{display:block;text-align:center;padding:9px 10px;border:1px solid #cfd7e3;border-radius:10px;font-size:13px;font-weight:700;background:#fff;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-seg input:checked + span{background:#2f7fd8;border-color:#2f7fd8;color:#fff}
.rc-seg input:focus-visible + span{outline:2px solid #2f7fd8;outline-offset:2px}
.rc-sec{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;margin:16px 2px 6px;color:#3a4a62}
.rc-sec .muted{font-weight:600;letter-spacing:0;text-transform:none}
.rc-sec.ir{color:#b23b2e}.rc-sec.ps{color:#5b45a8}
.rc-tool > summary{cursor:pointer;padding:2px 0}
.rc-tool[open] > summary{margin-bottom:6px}
@media(max-width:420px){.rc-grid{grid-template-columns:1fr 1fr}.rc-item > summary{padding:9px 9px;gap:8px}.rc-k{font-size:12.5px}}

/* —— Appearance picker: Day / Night / T The 3rd / DP / Auto —— */
.ou-modes.five{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.ou-modes.five .ou-mode{min-width:0}
.ou-modes.five .ou-mode span{white-space:nowrap}
.ou-modes.five .ou-mode em{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ou-prev.t3{background:#0b0b0c;border-color:transparent}.ou-prev.t3 i{background:#1f1f21}
.ou-prev.t3 i:first-child{background:#e3262f;width:60%}.ou-prev.t3 i:last-child{background:#ffc928;width:35%}
.ou-prev.dp{background:linear-gradient(180deg,#4fb3ad 0 30%,#060c0b 30%);border-color:transparent}.ou-prev.dp i{background:#152421}
.ou-prev.dp i:first-child{background:#000;width:60%}.ou-prev.dp i:last-child{background:#7ef9e4;width:35%}
@media(max-width:600px){.ou-modes.five{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px 8px}
  .ou-modes.five .ou-mode{grid-column:span 2}.ou-modes.five .ou-mode:nth-child(4){grid-column:2/span 2}
  .ou-modes.five .ou-prev{height:56px;padding:8px;gap:5px}.ou-modes.five .ou-prev i{height:7px}
  .ou-modes.five .ou-mode{font-size:13px}.ou-modes.five .ou-mode span{gap:5px}}
/* team page: Waivers / FAAB tab + add-with-drop picker */
.dropsel{display:flex;flex-direction:column;gap:4px;margin:6px 0 8px;font-size:12.5px;color:var(--muted);font-weight:600;min-width:0;max-width:100%}
.dropsel select,.dropsel input{width:100%;max-width:100%;font:inherit;font-size:14px;font-weight:500;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--card,#fff);color:var(--ink)}
.dropsel small{font-weight:400;font-size:11.5px}
.dropsel.need>span{color:var(--bad)}
.bidform .dropsel{flex-basis:100%}.bf-btns{display:flex;flex-wrap:wrap;gap:8px;flex-basis:100%}.bf-note{flex-basis:100%;margin:2px 0 0}
.minclaim{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:10px}.minclaim .dropsel{flex-basis:100%;margin:0}
details.wclaim{display:inline-block;text-align:left}details.wclaim>summary{list-style:none;cursor:pointer}details.wclaim>summary::-webkit-details-marker{display:none}
details.wclaim[open]{display:block;min-width:220px}details.wclaim form{margin-top:6px}
.wq-rules{line-height:1.5}.wq-links{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px}
.wq-empty{padding:12px 14px}
.wq-list,.wq-res{list-style:none;margin:0;padding:0}
.wq-item{background:var(--card,#fff);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin:0 0 10px;box-shadow:var(--shadow);min-width:0}
.wq-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.wq-who{min-width:0;flex:1}.wq-who .pname{font-weight:700;font-size:15.5px}
.wq-kind{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}
.wq-k-min{background:#e8f6ef;color:#146c4b;border-color:#bfe6d3}.wq-k-bid{background:#e9f0fb;color:#24508f;border-color:#c9d9f2}.wq-k-claim{background:#fdf3e1;color:#8a5a00;border-color:#f1dcae}
.wq-pend{background:#fff7d6;color:#7a5b00;border-color:#f0e0a0}
.wq-amt{text-align:right;flex:none;display:flex;flex-direction:column;align-items:flex-end}.wq-amt b{font-size:17px;font-variant-numeric:tabular-nums}.wq-amt small{color:var(--muted);font-size:11.5px}
.wq-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 0;padding:8px 0 0;border-top:1px solid var(--line)}
.wq-meta div{min-width:0}.wq-meta dt{font-size:10.5px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);font-weight:700}
.wq-meta dd{margin:2px 0 0;font-size:13px;overflow-wrap:anywhere}
.wq-act{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;margin-top:10px}
.wq-act form{margin:0}.wq-edit{flex:0 0 auto}.wq-edit[open]{flex:1 1 100%}.wq-edit>summary{list-style:none;display:inline-block;cursor:pointer}.wq-edit>summary::-webkit-details-marker{display:none}
.wq-edit[open]>summary{margin-bottom:4px}.wq-edit form{background:var(--bg);border-radius:var(--r-sm);padding:8px 10px}
.wq-res li{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--card,#fff);border:1px solid var(--line);border-radius:12px;margin:0 0 8px}
.wq-rt{flex:1;min-width:0}.wq-when{flex:none;text-align:right}
.wq-rs{flex:none;font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:#eef1f6;color:#4a5566}
.wq-rs-won{background:#e3f5ec;color:#146c4b}.wq-rs-lost{background:#fcecec;color:#a12b2b}.wq-rs-invalid{background:#fdf3e1;color:#8a5a00}
@media(max-width:600px){.wq-meta{grid-template-columns:1fr 1fr}.wq-meta div:last-child{grid-column:auto}#team-tabs a{padding:8px 4px;font-size:13.5px}}
/* commissioner tools: process bids / waivers early */
.early-list{list-style:none;margin:6px 0 10px;padding:0}
.early-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--line)}
.early-list li>div{min-width:0;flex:1}.early-list form{margin:0;flex:none}.early-all{margin:0 0 6px}
/* Waivers/FAAB tab: team priority + one-tap drop swap */
.wq-prio-note{margin:-4px 0 10px;line-height:1.45}
.wq-rank{flex:none;display:flex;flex-direction:column;align-items:center;gap:4px;margin-right:2px}
.wq-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--accent,#2563eb);color:#fff;font-weight:800;font-size:14px}
.wq-rank form{display:flex;flex-direction:column;gap:4px;margin:0}
.wq-mv{width:36px;height:30px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:inherit;font-size:13px;line-height:1;cursor:pointer;padding:0}
.wq-mv:disabled{opacity:.3;cursor:default}
.wq-swap-list{display:flex;flex-direction:column;gap:6px}.wq-swap-list p{margin:0 0 2px}
.wq-sw{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card,#fff);color:inherit;text-align:left;cursor:pointer;font:inherit}
.wq-sw b{font-weight:650;min-width:0;overflow-wrap:anywhere}.wq-sw small{flex:none;color:var(--muted);font-size:12px}
.wq-sw.on{border-color:var(--accent,#2563eb);box-shadow:inset 0 0 0 1px var(--accent,#2563eb);cursor:default}
/* bye weeks: league Byes tab + the BYE tag on player rows */
.bye-tag{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.5px;line-height:1;padding:3px 6px;border-radius:999px;background:#fdeeec;color:#b3261e;border:1px solid #f3cdc7;vertical-align:1px;font-family:var(--mono)}
.rs-g .bye-tag{margin-left:2px}
.bye-weeks .wk-row a{position:relative}
.bye-weeks .wk-row a.nob{opacity:.55}
.bye-weeks .wk-row a.cur:not(.on){border-color:var(--brand)}
.bye-dot{position:absolute;top:-6px;right:-5px;min-width:16px;height:16px;line-height:16px;padding:0 3px;border-radius:999px;background:#d0455a;color:#fff;font-size:10px;font-style:normal;font-weight:800;font-family:var(--mono);text-align:center}
.bye-weeks .wk-row.scroll{padding-top:7px}
.bye-pane{touch-action:pan-y}
.bye-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bye-h b{font-size:17px}.bye-h .muted{margin-left:auto}
.bye-nflrow{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.bye-nfl-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px 3px 4px;border-radius:999px;background:#f7f9fc;border:1px solid #d8e0ea;font-size:13px;color:var(--ink)}
.bye-nfl-chip img{width:22px;height:22px;object-fit:contain}
.bye-sum{margin:10px 0 0}
.bye-team{padding:12px 14px}
.bye-team.mine{border-color:var(--brand)}
.bye-team.crunch{border-left:4px solid #d0455a}.bye-team.some{border-left:4px solid #e08a1e}
.bye-th{display:flex;align-items:center;gap:8px;justify-content:space-between}
.bye-th a{display:inline-flex;align-items:center;gap:7px;color:var(--ink);min-width:0}.bye-th a b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bye-count{flex:0 0 auto;font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:999px;background:#eef0f3;color:#5b6573}
.bye-count.warm{background:#fff1d6;color:#8a5200}.bye-count.hot{background:#fde2e4;color:#b3261e}
.bye-list{list-style:none;margin:8px 0 0;padding:0}
.bye-list li{display:flex;align-items:center;gap:7px;padding:6px 6px;border-top:1px solid #eef1f6;font-size:14px}
.bye-list li a{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bye-list li.st{background:#fff8e6;border-radius:6px;border-top-color:transparent}
.bye-list li.st a{font-weight:800}
.bye-slot{margin-left:auto;flex:0 0 auto}
.bye-slot .slotlbl{min-width:44px;font-size:11px;padding:2px 6px}
.bye-slot .slotlbl:not(.st){background:#eef0f3;color:#6b7686}
.bye-foot{margin:8px 0 0}
.bye-clear{margin:4px 2px 12px}
.bye-gh{margin-top:22px}
.bye-grid td,.bye-grid th{text-align:center;padding:5px 6px}.bye-grid td.stick,.bye-grid th.stick{text-align:left;white-space:nowrap}
.bye-grid td.stick a{color:var(--ink);display:inline-flex;align-items:center;gap:5px;max-width:150px}.bye-grid td.stick a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bye-grid th.on,.bye-grid td.on{box-shadow:inset 0 0 0 2px var(--brand)}
.bye-grid td.c0{color:#9aa4b2}.bye-grid td.c1{background:#fff1d6;color:#8a5200;font-weight:700}
.bye-grid td.c2{background:#fcd9b0;color:#7a3d00;font-weight:800}.bye-grid td.c3{background:#f8c4c9;color:#9b1c1c;font-weight:800}
.bye-grid sub{font-size:9px;font-weight:600;opacity:.75;margin-left:1px}
.bye-grid tr.mine td.stick{font-weight:700}
.pc-season .pc-bye{background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:2px 8px;font-size:12px;font-weight:600}
.pc-bye .bye-tag{background:#fff;border-color:#fff}
/* round 50: settings anchors, More hint, Free agents → My bids header */
#waivers,#fa{scroll-margin-top:70px}
.more-hint{margin:4px 4px 14px}
.fa-mine-head h1{margin-bottom:2px}.fa-mine-head p{margin-top:0}
/* lineup Fix it (team page banner) */
.lu-banner li{display:flex;flex-direction:column;gap:5px;padding:4px 0}
.lu-banner li+li{border-top:1px dashed rgba(0,0,0,.12);padding-top:7px}
.lu-fixf{margin:0}
.lu-fixbtn{display:flex;align-items:center;gap:6px;width:100%;text-align:left;font:inherit;font-size:13px;padding:7px 10px;border-radius:10px;border:1px solid #b9d7c3;background:#fff;color:#16301f;cursor:pointer;flex-wrap:wrap}
.lu-fixbtn span{background:#1e8e4e;color:#fff;font-weight:800;font-size:11px;letter-spacing:.02em;border-radius:6px;padding:2px 7px;text-transform:uppercase}
.lu-fixbtn small{color:#5b6b60;margin-left:auto}
.lu-fixbtn:hover{border-color:#1e8e4e}
/* Fix it card: suggestion + Swap now / Set as backup */
.lu-fix2{border:1px solid #b9d7c3;background:#fff;border-radius:10px;padding:7px 9px;display:flex;flex-direction:column;gap:6px}
.lu-fix2.alt{border-color:#ecd28f}
.lu-sug{font-size:13px;color:#16301f;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.lu-sug small{color:#5b6b60;margin-left:auto}
.lu-sugtag{background:#1e8e4e;color:#fff;font-weight:800;font-size:11px;letter-spacing:.02em;border-radius:6px;padding:2px 7px;text-transform:uppercase}
.lu-fix2.alt .lu-sugtag{background:#b7791f}
.lu-acts{display:flex;gap:6px}.lu-acts>*{flex:1 1 0}.lu-acts.warnfirst{flex-direction:row-reverse}
.lu-acts .lu-fixbtn{width:100%;justify-content:center;font-weight:700;padding:7px 8px;background:#1e8e4e;border-color:#1e8e4e;color:#fff;flex-wrap:nowrap;white-space:nowrap}
.lu-acts .lu-fixbtn.lu-bk{background:#b7791f;border-color:#b7791f}
.lu-acts .lu-fixbtn.sec{background:#fff;color:#16301f;border-color:#c9d3cc}
.lu-acts .lu-fixbtn:hover{filter:brightness(1.05)}
/* round 62: No change on a lineup prompt + the brief action toast (base.html, ?toast=1) */
.lu-ncf{margin-top:6px}
.lu-nochg{display:block;width:100%;min-height:36px;font:inherit;font-size:13px;font-weight:700;color:var(--muted);background:transparent;border:1px dashed var(--line);border-radius:10px;padding:6px 8px;cursor:pointer}
.lu-nochg:hover{color:var(--ink);border-style:solid}
.toast{position:fixed;left:50%;bottom:calc(76px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:80;max-width:min(92vw,440px);
  padding:10px 16px;border-radius:12px;background:#16301f;color:#fff;font-weight:700;font-size:14px;line-height:1.3;text-align:center;
  box-shadow:0 6px 24px rgba(0,0,0,.28);animation:toastIn .22s ease-out;transition:opacity .5s,transform .5s}
.toast.out{opacity:0;transform:translate(-50%,8px)}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.toast{animation:none;transition:none}}
.lu-bkset{display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#1e6e3f;border:1px dashed #9cc7ad;border-radius:10px;padding:6px 8px}
.lu-bknow{color:#3d4b42}.lu-bkwarn{color:#8a5a00}
/* Game-time backup note under a starter + backup sheet */
.bk-note{font-size:11.5px;color:#7a5a12;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bk-note.done{color:#1e6e3f}
.bk-early{display:block;color:#8a5a00;margin-left:0!important;white-space:normal}
.bk-cur{padding:4px 2px 2px}
.as-opt.on{border-color:#1e8e4e}
tr.has-lp{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
tr.has-lp a{-webkit-touch-callout:none}
tr.has-lp.lp-on td{background:rgba(30,142,78,.10);transition:background .3s}
/* League home: My week card */
/* round 60: My week = slim header strip (2 short lines, ~60px) */
.mywk{padding:7px 12px 8px;margin:8px 0 10px;display:flex;flex-direction:column;gap:4px;border-radius:14px}
.mywk a{color:inherit;text-decoration:none}
.mywk-mu{display:flex;align-items:center;gap:6px;min-width:0;line-height:1.2}
.mywk-mu:hover{text-decoration:none}
.mywk-mu .logo,.mywk-mu img{flex:none;border-radius:5px}
.mywk-n{font-size:13px;font-weight:700;color:#5b6573;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.mywk-full{color:#111;font-size:14px}
.mywk-s{font-size:17px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;color:#111}
.mywk-s.lead{color:#1e8e4e}
.mywk-vs{font-size:13px;font-weight:700;color:#8a94a3}
.mywk-wk{margin-left:auto;flex:none;font-size:11px;font-weight:800;color:#8a94a3;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.mywk-wk i{font-style:normal;font-size:15px;margin-left:3px;color:#b4b8c0}
.mywk-sub{display:flex;align-items:center;gap:8px;min-width:0}
.mywk-rec{flex:1;min-width:0;font-size:12px;color:#6b7686;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mywk-rec b{color:#333c48;font-weight:700}
.mywk-chips{flex:none;display:flex;gap:4px;max-width:66%;overflow-x:auto;scrollbar-width:none}
.mywk-chips::-webkit-scrollbar{display:none}
.mywk-chip{flex:none;font-size:11px;font-weight:700;line-height:1;padding:4px 7px;border-radius:999px;white-space:nowrap;background:#dfe6ef;color:#334}
.mywk .mywk-chip.bad{background:#c0392b;color:#fff}.mywk .mywk-chip.warn{background:#d68910;color:#fff}
.mywk .mywk-chip.offer{background:#7b5bc4;color:#fff}.mywk .mywk-chip.pend{background:#0f9aa8;color:#fff}
.mywk-chip.ok{background:#e3f4ea;color:#1e7a45}
/* Commissioner: Needs attention */
.na-count{display:inline-block;min-width:22px;padding:1px 7px;border-radius:999px;background:#c0392b;color:#fff;font-size:13px;font-weight:800;vertical-align:middle;text-align:center}
.na-grp h2{margin:16px 2px 6px;font-size:15px}
.na-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.na-item{padding:10px 12px;margin:0}
.na-top{display:flex;align-items:center;gap:9px}.na-txt{min-width:0}.na-txt b{font-size:14px}
.na-fix{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:flex-end}
.na-fix form{margin:0}
.na-sal{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-end;width:100%}
.na-sal label{flex:1;min-width:170px;display:flex;flex-direction:column;gap:2px}
.na-sal input{width:100%}
.na-empty{padding:14px}
.ou-badge.na{background:#c0392b;color:#fff}
.lu-fixbtn.alt{border-color:#ecd39a}.lu-fixbtn.alt span{background:#b9770e}

/* Team page: 4 tabs (own team) fit a 375px phone; Trades tab cards */
#team-tabs a{flex:1 1 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#team-tabs.n4 a{padding:8px 2px;font-size:13px;letter-spacing:-.1px}
@media(max-width:360px){#team-tabs.n4 a{font-size:12px}}
.trc-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0 6px}.trc-head h2{margin:0}
.trc{padding:0;margin:0 0 10px;overflow:hidden}
.trc-d>summary{list-style:none;cursor:pointer}.trc-d>summary::-webkit-details-marker{display:none}
.trc-s{display:flex;align-items:center;gap:10px;padding:11px 12px}
.trc-s .logo,.trc-s img{flex:none}
.trc-who{flex:1;min-width:0}.trc-who b{display:block;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.trc-line{font-size:13px;margin-top:1px}
.trc-st{font-weight:700;color:#5b6573}
.trc.st-you .trc-st{color:#c0392b}.trc.st-them .trc-st,.trc.st-others .trc-st{color:#b7791f}.trc.st-commish .trc-st,.trc.st-vote .trc-st{color:#2f6fd0}
.trc.st-you{border-left:4px solid #c0392b}.trc.st-them,.trc.st-others{border-left:4px solid #e0a43a}.trc.st-commish,.trc.st-vote{border-left:4px solid #2f6fd0}
.trc-car{color:#8a94a6;transition:transform .15s}.trc-d[open] .trc-car{transform:rotate(180deg)}
.trc-body{padding:0 12px 10px;border-top:1px solid var(--line)}
.trc-body blockquote{margin:8px 0;padding:6px 10px;border-left:3px solid var(--line)}
.trc-side{margin-top:8px}.trc-sh{display:flex;align-items:center;gap:6px;font-size:13.5px}
.trc-side .assetlist{margin:4px 0 0;padding-left:20px}
.trc-rev{margin:8px 0;overflow-x:auto}
.trc-acts{display:flex;gap:6px;flex-wrap:wrap;padding:0 12px 11px}.trc-acts form{margin:0}
.trc-acts>*{flex:1 1 0}.trc-acts .btn{width:100%;text-align:center}
.trc-recent{margin-top:12px}.trc-rl{list-style:none;padding:0;margin:6px 0}.trc-rl li{display:flex;align-items:center;gap:6px;padding:5px 0;border-top:1px solid var(--line);font-size:13.5px;flex-wrap:wrap}
.tb-editnote{margin:6px 0 8px}
/* round 54b: header Auction / Draft button (slow orange pulse, ~2.8 s) — orange in every theme */
.appbar .lev{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 11px 0 9px;border-radius:999px;background:linear-gradient(180deg,#ff8a1f 0%,#f26a00 100%);border:1.5px solid rgba(255,255,255,.92);color:#fff;font-weight:800;font-size:13px;letter-spacing:.2px;line-height:1;white-space:nowrap;text-decoration:none;box-shadow:0 0 0 0 rgba(255,138,31,.55),0 2px 6px rgba(0,0,0,.25);animation:levpulse 2.8s ease-in-out infinite;transform-origin:center}
.appbar .lev[hidden]{display:none}
.appbar .lev:hover{text-decoration:none;filter:brightness(1.06)}
.appbar .lev .lev-dot{width:7px;height:7px;border-radius:50%;background:#fff;flex:none;box-shadow:0 0 4px rgba(255,255,255,.9)}
.appbar .lev .lev-t{font-size:11px;font-weight:800;padding:2px 5px;border-radius:999px;background:rgba(0,0,0,.2);font-variant-numeric:tabular-nums}
.appbar .lev .lev-t:empty{display:none}
.appbar .lev.lev-live .lev-t{background:#fff;color:#d94f00;letter-spacing:.4px}
@keyframes levpulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(255,138,31,.55),0 2px 6px rgba(0,0,0,.25)}50%{transform:scale(1.05);box-shadow:0 0 0 7px rgba(255,138,31,0),0 0 16px 3px rgba(255,138,31,.6)}}
@media (prefers-reduced-motion:reduce){.appbar .lev{animation:none;box-shadow:0 0 0 3px rgba(255,138,31,.35),0 0 12px 2px rgba(255,138,31,.55)}}
@media (max-width:360px){.appbar .lev{padding:0 8px 0 7px;font-size:12px;gap:4px}.appbar .lev .lev-t{font-size:10px;padding:2px 4px}}
.appbar-in:has(.lev:not([hidden])) .titles{overflow:hidden}
.appbar-in:has(.lev:not([hidden])) .appname{display:block;overflow:hidden;text-overflow:ellipsis}
/* round 55: trades waiting on approval lead the commissioner Needs attention page */
.na-grp.na-trade h2{font-size:17px;margin-top:12px;color:#c0392b}
.na-grp.na-trade h2 .muted{display:inline-block;min-width:20px;padding:1px 7px;border-radius:999px;background:#c0392b;color:#fff;font-size:12px;font-weight:800;text-align:center;opacity:1}
.na-tritem{border-left:4px solid #c0392b !important;padding:12px 12px 12px 13px}
.na-tritem .na-txt b{font-size:15px}
.na-tr-sides{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:9px}
.na-tr-side{border:1px solid var(--line);border-radius:10px;padding:7px 9px;min-width:0}
.na-tr-h{display:flex;align-items:center;gap:6px;font-size:13px;margin-bottom:4px;line-height:1.2}.na-tr-h b{min-width:0;overflow-wrap:anywhere}
.na-tr-side ul{list-style:none;margin:0;padding:0;font-size:13.5px;display:flex;flex-direction:column;gap:3px}
.na-trfix{margin-top:10px}.na-trfix form{flex:1 1 0}.na-trfix>a{flex:1 1 0;text-align:center}
.na-trfix .na-approve{width:100%;background:#1e8e4e !important;border-color:#1e8e4e !important;color:#fff !important;font-weight:800}
/* round 55: SIGNED pop-up after a waiver / free-agent claim (reuses the auction / draft .ahero card + stamp) */
.sp-ov{position:fixed;inset:0;z-index:60;background:rgba(6,12,28,.62);display:flex;align-items:center;justify-content:center;padding:16px;animation:spIn .25s ease-out both;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.sp-ov.sp-bye{animation:spOut .22s ease-in both}
body.sp-open{overflow:hidden}
.sp-box{position:relative;width:100%;max-width:420px}
.sp-x{position:absolute;top:-12px;right:-6px;z-index:7;width:34px;height:34px;border-radius:50%;border:0;background:#fff;color:#101c3d;font-size:22px;line-height:1;box-shadow:0 2px 8px rgba(0,0,0,.35);cursor:pointer}
.sp-slide{display:none}.sp-slide.on{display:block;animation:spSlide .3s ease-out both}
.sp-card{margin:0}
.sp-card .ah-stamp>div{transform:rotate(-10deg)}
.sp-foot{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:12px}
.sp-dots{display:flex;gap:6px}.sp-ov .sp-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.45)}.sp-ov .sp-dots i.on{background:#fff}
.sp-btns{display:flex;gap:8px;width:100%}.sp-btns>*{flex:1 1 0;text-align:center}
.sp-btns .sp-pc{background:rgba(255,255,255,.92);color:#101c3d;border-color:transparent}
.sp-btns .sp-ct{font-weight:600;opacity:.8;font-size:12px}
@keyframes spIn{from{opacity:0}}@keyframes spOut{to{opacity:0}}
@keyframes spSlide{from{transform:translateX(24px);opacity:.3}}
@media (prefers-reduced-motion:reduce){.sp-ov,.sp-slide.on,.sp-card .ah-stamp>div{animation:none !important}}
.sp-card .ah-stamp{background:transparent;align-items:flex-end;justify-content:flex-end;padding:0 8px 38px 0}
.sp-card .ah-stamp>div{padding:2px 12px 4px;border-width:4px;border-radius:10px}
.sp-card .ah-stamp b{font-size:34px;letter-spacing:.06em}
.sp-card .ah-stamp span{display:none}
.sp-btns [hidden]{display:none !important}
/* round 59: phone alerts */
.al-sec{max-width:640px;margin:0 0 8px}
.al-sec .ou-lab:first-child{margin-top:8px}
.al-ios{margin:0 16px 12px;padding:12px 14px;border-radius:14px;background:#fff6e0;color:#5c4300;font-size:14px;line-height:1.45;display:flex;flex-direction:column;gap:4px}
.al-ios[hidden]{display:none}
.al-share{display:inline-flex;align-items:center;gap:3px;font-weight:700;color:#006beb;white-space:nowrap}
.al-share svg{vertical-align:-2px}
.al-btns{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 14px}
.al-btns:empty,.al-btns [hidden]{display:none!important}
.al-btns .btn{min-height:42px}
.al-msg{margin:0 16px 12px;color:#1b7a3a}
.al-msg.bad{color:#c0392b}
.al-devs{border-top:1px solid #eceef2;padding:8px 0 4px}
.al-devh{font-size:12px;font-weight:700;color:#8a8f99;text-transform:uppercase;letter-spacing:.04em;padding:4px 16px}
.al-dev{display:flex;align-items:center;gap:10px;padding:8px 16px;margin:0}
.al-devtx{flex:1;min-width:0;display:flex;flex-direction:column}
.al-devtx b{font-weight:600;font-size:15px;color:#111}
.al-devtx small{font-size:12.5px;color:#8a8f99}
.al-cats .ou-row+.ou-row::before{left:16px}
.al-note{margin:0 4px 10px}
.al-h2{margin-top:26px}
/* round 61: weekly recap show (TV card), recaps archive, commissioner settings */
.rs{background:linear-gradient(160deg,#0d1424 0%,#18233d 60%,#2a1830 100%);color:#e9ecf3;border-radius:18px;padding:14px 14px 12px;margin:0 0 14px;box-shadow:0 2px 10px rgba(10,16,32,.25)}
.rs-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.rs-live{background:#e0303f;color:#fff;padding:3px 8px;border-radius:6px}
.rs-wk{color:#aab4c8}
.rs-heat{margin-left:auto;background:rgba(255,122,26,.18);color:#ffb27a;padding:3px 8px;border-radius:999px}
.rs-heat-mild{background:rgba(120,200,140,.16);color:#9fe0b0}
.rs-h{font-size:21px;line-height:1.25;margin:10px 0 6px;color:#fff;font-weight:800}
.rs-seg{border-top:1px solid rgba(255,255,255,.08);padding:10px 0 2px}
.rs-seg h3{margin:0 0 4px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#ffcf5a}
.rs-seg p{margin:0 0 6px;font-size:15px;line-height:1.45;color:#e3e7ef}
.rs-off{margin:8px 0 0;font-style:italic;color:#aab4c8;font-size:14px}
.rs-more{display:inline-block;margin-top:8px;font-weight:700;color:#7fb2ff;text-decoration:none}
.rca-list{overflow:hidden}
.rca-row{display:flex;align-items:center;gap:12px;padding:12px 14px;color:inherit;text-decoration:none;border-top:1px solid #eceef2}
.rca-row:first-child{border-top:0}
.rca-row:hover{text-decoration:none;background:#f6f8fb}
.rca-wk{flex:none;width:44px;height:44px;border-radius:12px;background:#101c3d;color:#aab4c8;font-size:10px;font-weight:800;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.rca-wk b{font-size:18px;color:#fff;margin-top:2px}
.rca-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.rca-tx b{font-size:15px;line-height:1.3;color:#111}
.rca-tx small{font-size:12.5px;color:#7a8597}
.rca-row i{font-style:normal;color:#b4b8c0;font-size:20px}
.rss .ou-card{margin-bottom:6px}
.rss-lv{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.rss-opt{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 6px;cursor:pointer;border-left:1px solid #eceef2;position:relative}
.rss-opt:first-child{border-left:0}
.rss-opt input{position:absolute;opacity:0;pointer-events:none}
.rss-opt span{display:flex;flex-direction:column;gap:3px;border-radius:12px;padding:8px 6px;width:100%;border:2px solid transparent}
.rss-opt b{font-size:14px;color:#111}
.rss-opt small{font-size:11.5px;color:#7a8597;line-height:1.3}
.rss-opt input:checked+span{border-color:#d0455a;background:#fff1f2}
.rss-opt input:focus-visible+span{outline:2px solid #3e6fd8;outline-offset:2px}
.rss-btns{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 4px}
.rss-pv{margin-top:14px}
.ch-show{background:#fff}
.ch-show-top{display:flex;align-items:center;gap:10px;padding:10px 12px;background:linear-gradient(135deg,#0d1424,#2a1830)}
.ch-show-top img,.ch-show-top .ch-art-ini{width:40px;height:40px;border-radius:10px;object-fit:cover;flex:none;font-size:15px;display:flex;align-items:center;justify-content:center;background:#2c4a70}
.ch-show-tt{display:flex;flex-direction:column;gap:4px;min-width:0}
.ch-show-live{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:#e0303f;color:#fff;padding:2px 7px;border-radius:6px;align-self:flex-start}
.ch-show-heat{font-size:11px;font-weight:700;color:#ffb27a}
.ch-show .ch-art-h{font-family:inherit;font-size:17px;font-weight:800;line-height:1.3}
.ch-show-seg{margin-top:9px}
.ch-show-seg b{display:block;font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#d0455a;margin-bottom:2px}
.ch-show .ch-show-seg p{font-family:inherit;font-size:14.5px;line-height:1.45;margin:0 0 4px;display:block;-webkit-line-clamp:unset;overflow:visible}
.ch-show-off{font-style:italic;font-size:13.5px;color:#7a8597;margin:8px 0 0}
.ch-show-tg{display:block;width:100%;margin:10px 0 0;padding:9px 10px;border-radius:12px;border:0;background:#eef2f8;color:#1557c0;font-weight:700;font-size:14px;cursor:pointer;-webkit-tap-highlight-color:transparent}
/* round 63: IR stay indicator + IR choices in trades */
.ir-chip{display:inline-block;font-size:10.5px;font-weight:700;font-style:normal;line-height:1.5;white-space:nowrap;background:#fff1d6;color:#8a5a00;border-radius:6px;padding:0 6px}
.ir-chip.ready,.pc-own em.ir-chip.ready{background:#dcf5e3;color:#11713a}
.pc-own em.ir-chip{background:#fff1d6;color:#8a5a00}
.irwarn,.tb-ir{border-left:3px solid #e0a020;background:#fffaf0;padding:8px 10px;margin:8px 0;border-radius:8px}
.irwarn .small,.tb-ir .small{margin-top:3px}
.irform{padding:10px;margin:0 0 8px;width:100%}
.irchoice{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.irpick,.tb-irpick{display:flex;flex-direction:column;gap:5px;padding:6px 0;border-top:1px solid var(--line,#e3e7ee)}
.irpick .seg,.tb-irpick .seg{display:flex;flex-wrap:wrap;gap:6px 14px}
.irpick select,.tb-irpick select{display:block;width:100%;max-width:100%;margin-top:3px;font-size:14px;min-height:36px}
.irnote{color:#8a5a00}
.irdead{display:flex;flex-direction:column;gap:3px;padding:6px 0;border-top:1px solid var(--line,#e3e7ee)}
.irdead-r{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 10px}
/* round 64: locked players in the trade builder = red card border (+ legend), Proj kept on one line */
.tb-pcard.locked{opacity:1;border-color:#d93636;box-shadow:0 0 0 1px #d93636 inset}
.tb-pcard.locked.on{border-color:#d93636;box-shadow:0 0 0 1px #d93636 inset,0 0 0 3px rgba(31,74,140,.25)}
.tb-legend{display:flex;align-items:center;gap:6px;color:var(--muted);margin:2px 0 6px}
.tb-swatch{display:inline-block;width:14px;height:14px;border-radius:4px;border:2px solid #d93636;flex:none}
.tb-pmeta{flex-wrap:nowrap;min-width:0}
.tb-pmeta .tb-sal{min-width:0;overflow:hidden;text-overflow:ellipsis}
.tb-pmeta .tb-proj{flex:none}
.tb-ksub{display:flex;flex-wrap:wrap;align-items:center;gap:3px 6px}
@media(max-width:420px){.tb-pmeta{gap:4px}.tb-salyr .tb-rest{display:none}}
.trc-auto{color:#b03030;margin-top:3px}

/* round 80: matchup cells -- quieter game line, RSO-style stat line, game-bonus chips (all themes: colors come
   from the theme's --muted; the chips carry their own contrast) */
.mgrid .mp .mp-game{font-size:10.5px;font-weight:400;opacity:.82;letter-spacing:.01em}
.mgrid .mp .mp-game.dv-good,.mgrid .mp .mp-game.dv-bad{font-weight:500;opacity:.95}
.mgrid .mp .mp-game .live{font-weight:600}
.mp-stat{display:flex;align-items:center;gap:4px;min-width:0;margin-top:1px;font-size:10.5px;line-height:1.3;color:var(--muted)}
.mp-r .mp-stat{flex-direction:row-reverse}
.mp-sl{min-width:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;font-variant-numeric:tabular-nums}
.bchip{flex:none;position:relative;border:0;border-radius:4px;padding:0 4px;font:700 9px/14px system-ui,sans-serif;letter-spacing:.03em;cursor:help;white-space:nowrap}
.bchip-bonus{background:linear-gradient(180deg,#ffd75e,#e8ad1c);color:#3b2a00;box-shadow:0 0 0 1px rgba(120,80,0,.35)}
.bchip-penalty{background:#d23b30;color:#fff;box-shadow:0 0 0 1px rgba(90,0,0,.35)}
.bchip.open::after,.bchip:focus-visible::after{content:attr(data-tip);position:absolute;z-index:30;bottom:calc(100% + 5px);left:0;width:max-content;max-width:210px;
  white-space:normal;text-align:left;font:500 11px/1.35 system-ui,sans-serif;letter-spacing:0;padding:5px 7px;border-radius:6px;background:#111a2e;color:#f2f5fb;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.mp-r .bchip.open::after,.mp-r .bchip:focus-visible::after{left:auto;right:0}
@media (max-width:520px){.mp-sl{-webkit-line-clamp:2;font-size:10px}.bchip{font-size:8.5px;padding:0 3px}}

/* round 81: Game Center is its own page (app header + bottom nav); ← Back replaces the sheet's Close bars */
.gcx-back{display:inline-flex;align-items:center;gap:4px;color:#fff;text-decoration:none;font-size:13.5px;font-weight:700;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);border-radius:10px;padding:4px 10px;margin-right:4px}
.gcx-back:hover,.gcx-back:focus-visible{background:rgba(255,255,255,.24);text-decoration:none}
.gcx-page .gcx-bar{border-radius:12px 12px 0 0;position:static}

/* round 82: one game line with the player's team; whole cell opens the player card */
.mp-nm{display:flex;align-items:center;gap:4px;min-width:0}.mp-r .mp-nm{justify-content:flex-end}
.mp-nm .mp-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mgrid .mp .mp-game,.sc-pane .mgrid .mp .mp-game{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mg-tm{font-weight:600}
.mp-tap{cursor:pointer;border-radius:8px;transition:background-color .12s;-webkit-tap-highlight-color:transparent}
.mp-tap:hover{background:rgba(127,127,127,.07)}
.mp-tap:active,.mp-tap.pressed{background:rgba(127,127,127,.16)}
.mp-tap:focus-visible{outline:2px solid var(--brand,#2b6cb0);outline-offset:-2px}
@media (max-width:400px){.mgrid .mp{padding-left:4px;padding-right:4px}.mgrid .mp .mp-game{font-size:10px;letter-spacing:0}
  .mg-sep,.mg-fin,.mg-pm,.mgrid .mp-game .mg-opp{display:none}}
/* round 85: Game Center page title row = a plain page title (no tinted rounded bar), like other pages */
.gcx-page .gcx-bar{background:none;color:var(--ink);padding:10px 12px 6px;border-radius:0;box-shadow:none}
.gcx-page .gcx-bar b{font-size:20px;font-weight:800}
.gcx-page .gcx-bar svg{color:var(--brand-d)}
.gcx-page .gcx-back{color:var(--brand-d);background:none;border:0;padding:4px 6px 4px 0;font-size:14px}
.gcx-page .gcx-back:hover,.gcx-page .gcx-back:focus-visible{background:none;text-decoration:underline}
.gcx-page .gcx-wk{background:none;border:0;padding:0;color:var(--muted);font-size:13px;font-weight:600}
/* section buttons: the app's standard tab look (8px corners, active = brand-d) */
.gcx-tabs button{border-radius:8px}
.gcx[data-tab=box] [data-gc-tab=box],.gcx[data-tab=stats] [data-gc-tab=stats],.gcx[data-tab=drives] [data-gc-tab=drives],.gcx[data-tab=fantasy] [data-gc-tab=fantasy]{background:var(--brand-d);border-color:var(--brand-d);color:#fff}
html[data-theme=dark] .gcx-page .gcx-back,html[data-theme=dark] .gcx-page .gcx-bar svg,html[data-skin] .gcx-page .gcx-back,html[data-skin] .gcx-page .gcx-bar svg{color:var(--ink)}
/* round 85: Settings index in the More tab's look (white rounded group cards, small uppercase section label inside, plain rows with chevrons, thin dividers) */
body.setmenu{background:var(--bg)}
.setmenu .ou-big{padding:8px 4px 10px;text-align:left}
.setmenu .ou-big h1{font-size:24px;font-weight:700;color:var(--ink)}
.setmenu .ou-big p{color:var(--muted);font-size:13px;margin-top:2px}
.setmenu .ou-card{background:var(--card,#fff);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);margin:0 0 12px;padding:4px 0}
.setmenu .ou-card.ou-pad{padding:4px 16px 16px}.setmenu .ou-pad .ou-h{margin-left:0;margin-right:0}
.setmenu .ou-card.ou-prof{padding:12px 16px}
.setmenu .ou-comm{box-shadow:var(--shadow)}
.setmenu .ou-h{font-size:12px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:var(--brand);margin:6px 16px 4px}
.setmenu .ou-grp .ou-ic{display:none}
.setmenu .ou-grp .ou-row{padding:11px 16px;gap:10px;min-height:0}
.setmenu .ou-grp .ou-row::before,.setmenu .ou-grp .ou-row+.ou-row::before{content:"";position:absolute;top:0;left:0;right:0;border-top:1px solid var(--line)}
.setmenu .ou-tx b{font-size:14.5px;font-weight:500;color:var(--ink)}
.setmenu .ou-tx small{font-size:12px;color:var(--muted)}
.setmenu .ou-chev{color:#a3afbf;font-size:18px}
.setmenu .ou-out button{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;padding:0;font:inherit;color:inherit;text-align:left}
.setmenu .ou-rules,.setmenu .ou-feat{box-shadow:none}
/* round 86: Settings lists = title + chevron only, like More */
.setmenu .ou-grp a.ou-row .ou-tx small,.setmenu .ou-grp label.ou-tog .ou-tx small{display:none}
.setmenu .rb-head{margin-bottom:10px}
/* round 87: roster game line = the matchup cell's line (shared _gline.html) */
.rs-g.mg-line{font-size:10.5px;font-weight:400;opacity:.82;letter-spacing:.01em;color:var(--muted)}
.rs-g.mg-line.dv-good,.rs-g.mg-line.dv-bad{font-weight:500;opacity:.95}
.rs-g.mg-line .live{font-weight:600}
@media (max-width:400px){.rs-g.mg-line{font-size:10px;letter-spacing:0}}
/* round 89: in-app confirm / alert (static/appdialog.js) */
.adlg{border:0;padding:0;border-radius:16px;width:min(340px,calc(100vw - 40px));background:var(--card,#fff);color:var(--ink);box-shadow:0 18px 50px rgba(0,0,0,.35)}
.adlg::backdrop{background:rgba(8,12,24,.5)}
.adlg-in{padding:18px 18px 14px;margin:0}
.adlg h2{font-size:17px;font-weight:700;margin:0 0 6px;line-height:1.3;color:var(--ink)}
.adlg-m{margin:0 0 4px;font-size:14px;line-height:1.45;color:var(--muted)}
.adlg-b{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}
.adlg-b button{flex:1;font:inherit;font-weight:700;font-size:15px;border-radius:10px;padding:10px 12px;cursor:pointer;border:1px solid var(--line)}
.adlg-cancel{background:transparent;color:var(--ink)}
.adlg-ok{background:var(--brand-d);border-color:var(--brand-d)!important;color:#fff}
.adlg.danger .adlg-ok{background:var(--bad,#c0392b);border-color:var(--bad,#c0392b)!important}
/* round 89: matchup bonus marker + bonus card at the bottom of the matchup (shared _bonus_card.html) */
.mp-bstar{color:#e0a800;font-weight:800;font-size:14px;line-height:1;margin-left:1px;flex:none}
.gcx-bg{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#a3854a;margin:9px 0 1px}
.mb-bonus{margin:10px 0}

/* round 90: bonus card collapses (closed by default); header shows the count + a chevron */
summary.gcx-bh{cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px}
summary.gcx-bh::-webkit-details-marker{display:none}
.gcx-bc{background:#e8ad1c;color:#3b2a00;border-radius:9px;padding:0 6px;font-size:11px;font-weight:700;line-height:17px}
.gcx-chev{margin-left:auto;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s;opacity:.6}
details[open]>summary .gcx-chev{transform:rotate(-135deg)}
details.gcx-bonus:not([open]) .gcx-bh{margin-bottom:0}
/* round 92: conference PF total in the standings legend row */
.stleg .stconfpf{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap}
/* round 93: account / league switcher under the header avatar */
.acct-w{position:relative}
button.avatar{background:none;border:0;padding:0;cursor:pointer;font:inherit}
.acct-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:60;min-width:250px;max-width:min(320px,92vw);background:#fff;color:var(--ink);
  border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 40px rgba(10,20,40,.22);padding:6px;font-size:15px}
.acct-menu[hidden]{display:none}
.acct-who{display:flex;flex-direction:column;padding:8px 10px 6px}
.acct-who small,.acct-lgn small{color:var(--muted);font-size:12px;font-weight:400}
.acct-h{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:8px 10px 4px}
#acct-menu .acct-lg,#acct-menu .acct-it,#nav-menu .acct-lg{display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;border-radius:10px;color:var(--ink);text-align:left;
  background:none;border:0;font:inherit;cursor:pointer;text-decoration:none}
.acct-lg:hover,.acct-it:hover{background:var(--brand-l);text-decoration:none}
.acct-lgn{flex:1;min-width:0;display:flex;flex-direction:column;font-weight:600}
.acct-lg.on{background:var(--brand-l)}
.acct-ck{color:var(--brand-d);flex:0 0 18px}
.acct-sep{height:1px;background:var(--line);margin:6px 4px}
#acct-menu .acct-out{color:var(--bad)}
.acct-menu form{margin:0}
/* round 110: bottom-nav section menu (re-tap the current tab) — the account menu's look, anchored above the nav */
.nav-menu{touch-action:none;overscroll-behavior:contain;position:fixed;top:auto;right:auto;z-index:80;min-width:210px;max-height:70vh;overflow:auto;opacity:0;transform:translateY(10px);transition:opacity .16s ease-out,transform .16s ease-out}
.nav-menu.nm-in{opacity:1;transform:none}
.subtabs[hidden]{display:none!important}
.nm-grab{width:36px;height:4px;border-radius:2px;background:var(--line);margin:2px auto 4px}
/* round 94: scoring editor in category cards (Passing, Rushing, Receiving, Kicking, D/ST, Bonuses, Other) */
.scx-chips{position:sticky;top:60px;z-index:5;display:flex;gap:6px;overflow-x:auto;padding:8px;margin:0 0 12px;background:#fff;border-radius:14px;box-shadow:0 2px 8px rgba(20,35,60,.08);scrollbar-width:none}
.scx-chips::-webkit-scrollbar{display:none}
.scx-chips a{flex:none;padding:5px 12px;border-radius:99px;background:#f2f5f9;border:1px solid var(--line);color:var(--ink);font-size:13px;font-weight:600;text-decoration:none}
.scx-sec{scroll-margin-top:128px;margin:0 0 12px;padding-top:2px}
.scx-h{line-height:1.3;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand);margin:10px 6px 6px}
.scx-card{background:#fff;border-radius:18px;padding:2px 14px;box-shadow:0 1px 2px rgba(0,0,0,.04);border:1px solid var(--line)}
.scx-row{display:flex !important;flex-direction:row !important;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;margin:0 !important;border-top:1px solid var(--line)}
.scx-row:first-child{border-top:0}
.scx-row span{min-width:0;font-size:14px}
.scx-row code{font-size:10.5px;color:var(--muted)}
.scx-row input{width:84px;flex:none;text-align:right}
.wiz-step .scx-chips{top:56px}
.wiz-step .scx-card{background:#f7f9fc}
.wiz[data-step="7"] .wiz-step[data-n="7"]{display:block}
/* round 95: standings rows in the Players-page row style (rtab: 28px round logo, name + muted subline, light dividers,
   right-aligned tabular numbers); playoff tint, dashed playoff line, seeds and the conf PF total are kept */
.stx th.w-pic{width:44px}.stx th.w-rec{width:58px}.stx th.w-n{width:52px}.stx th.w-strk{width:44px}
.stcard .stx thead th{background:#f6f8fb;color:var(--muted);font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;padding:7px 3px;border-bottom:1px solid var(--line);text-align:left}
.stcard .stx thead th.num{text-align:right;color:var(--brand-d)}.stcard .stx thead th.c{text-align:center}
.standings.stx td{padding:7px 3px;border-bottom:1px solid #eef1f6;text-align:left}
.standings.stx td.lg{padding-left:10px}.standings.stx td:last-child,.standings.stx th:last-child{padding-right:10px}
.stx .rs-pic img,.stx .rs-pic .logo{width:28px;height:28px;border-radius:50%;object-fit:cover;display:block}
.stx .rs-n .pname{font-size:13.5px;font-weight:600}
.stx .rs-n .you{margin-left:4px;flex:none;vertical-align:0}
.stx .rs-g{font-size:11px;display:flex;align-items:center;gap:3px}
.stx .rs-g .seed{flex:none}
.standings.stx td.c{text-align:center}
.standings.stx td.num{text-align:right;font-family:inherit;font-variant-numeric:tabular-nums;font-size:12.5px;color:#33476a}
.standings.stx td.pf{color:var(--brand-d);font-weight:700}
.standings.stx td.rec{font-family:inherit;font-size:12.5px;font-variant-numeric:tabular-nums;color:#33476a}
.standings.stx tr.cut td{border-top:2px dashed #9fb3cf}
/* League tabs: More (folded Cap/Byes/News) */
.tabs-in a.ltab-more .ltab-sub{font-weight:600;opacity:.85}
.tabs-in a.ltab-more .ltab-car{font-size:.75em;opacity:.7;margin-left:2px}
/* Trade analyzer: per-asset details + value meter (round 96) */
.tad .tad-meter{display:flex;height:22px;border-radius:11px;overflow:hidden;margin:6px 0 4px;background:var(--line,#e5e7eb)}
.tad .tad-seg{display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700;min-width:28px}
.tad .tad-s0{background:#2563eb}.tad .tad-s1{background:#ea580c}.tad .tad-s2{background:#16a34a}
.tad .tad-mleg{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;margin-bottom:8px}
.tad .tad-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px;vertical-align:middle}
.tad .tad-help{position:relative;cursor:help;font-weight:700;color:#64748b}
.tad .tad-tip{display:none;position:absolute;right:0;top:120%;width:260px;z-index:20;background:#0f172a;color:#f8fafc;padding:8px 10px;border-radius:8px;font-weight:400;line-height:1.35;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.tad .tad-help:hover .tad-tip,.tad .tad-help:focus .tad-tip{display:block}
.tad .tad-team{border-top:1px solid #e5e7eb;padding:8px 0 4px}
.tad .tad-head{display:flex;gap:8px;align-items:center;justify-content:space-between}
.tad .tad-dir{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin:6px 0 2px}
.tad .tad-list{list-style:none;margin:0;padding:0}
.tad .tad-a{padding:6px 8px;border-radius:8px;margin:3px 0;background:#f8fafc;border-left:3px solid #16a34a}
.tad .tad-a.out{border-left-color:#dc2626}
.tad .tad-st,.tad .tad-sum{display:flex;flex-wrap:wrap;gap:2px 12px;margin-top:2px}
.tad .tad-st i,.tad .tad-sum i{font-style:normal;color:#64748b;margin-right:4px}
.tad .tad-sum{margin-top:6px}
.tad .tad-sum .neg,.tad .tad-sum .neg b{color:#dc2626}
.tad .up{color:#16a34a}.tad .down{color:#dc2626}

/* round 96: player action sheet in the account-menu look (white rounded card, bold header, small caps labels,
   plain text rows, thin dividers, destructive in red) */
.as-card{border-radius:16px 16px 0 0;padding:6px 6px calc(10px + env(safe-area-inset-bottom));border:1px solid var(--line);box-shadow:0 14px 40px rgba(10,20,40,.22);font-size:15px}
@media(min-width:620px){.as-card{border-radius:16px}}
.as-head{padding:10px 10px 8px;border-bottom:1px solid var(--line);margin:0 4px 2px}
.as-t b{font-size:16px;font-weight:700}
.as-x{width:28px;height:28px;font-size:13px}
.as-body{padding:0 0 2px}
.as-sec{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0;padding:10px 10px 4px}
.as-body .as-opt,.as-body .as-opt.primary,.as-body .as-opt.link,.as-body .as-opt.danger{background:none;border:0;border-radius:10px;padding:9px 10px;margin:0;font-weight:600;color:var(--ink);box-shadow:none}
.as-body .as-opt:hover{background:var(--brand-l);text-decoration:none}
.as-body .as-opt.primary span:first-child{color:var(--brand-d)}
.as-body .as-opt.danger,.as-body .as-opt.danger span{color:var(--bad)}
.as-body .as-opt.danger:hover{background:#fdf2f0}
.as-body .as-opt.on{background:var(--brand-l)}
.as-body .as-opt small{font-weight:400}
.as-sep{height:1px;background:var(--line);margin:6px 4px}
.as-note{margin:6px 10px}
/* round 97: long-press move (static/lpmove.js) */
[data-lpm-pid]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.lpm-press{background:var(--brand-l)!important;transition:background .25s}
html.lpm-on .rtab tr.rrow,html.lpm-on .mgrid .mp{opacity:.35;transition:opacity .15s}
html.lpm-on .rtab tr.rrow.lpm-src,html.lpm-on .rtab tr.rrow.lpm-tgt,html.lpm-on .mgrid .mp.lpm-src,html.lpm-on .mgrid .mp.lpm-tgt{opacity:1}
.lpm-src{outline:2px solid var(--brand-d);outline-offset:-2px;background:var(--brand-l)!important}
.lpm-tgt{box-shadow:inset 0 0 0 2px #16a34a;background:#ecfdf3!important;cursor:pointer}
.lpm-tgt.lpm-swap{box-shadow:inset 0 0 0 2px #2563eb;background:#eff6ff!important}
.lpm-tgt.lpm-hov{box-shadow:inset 0 0 0 3px #16a34a;background:#d1fae5!important}
.lpm-tgt.lpm-swap.lpm-hov{background:#dbeafe!important}
.lpm-busy{opacity:.5!important}
.lpm-ghost{position:fixed;left:0;top:0;z-index:200;pointer-events:none;background:#fff;color:var(--ink);font-weight:700;font-size:14px;padding:10px 14px;border-radius:12px;box-shadow:0 10px 30px rgba(10,20,40,.3);border:1px solid var(--line);white-space:nowrap}
.lpm-toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);z-index:210;background:#0f172a;color:#fff;padding:8px 14px;border-radius:20px;font-size:14px}
.lpm-tray{position:fixed;left:8px;right:8px;bottom:calc(70px + env(safe-area-inset-bottom));z-index:150;display:flex;gap:6px;overflow-x:auto;padding:8px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(10,20,40,.25)}
.lpm-tray[hidden]{display:none}
.lpm-chip{flex:none;padding:8px 10px;border-radius:10px;background:#f6f8fb;font-size:13px;font-weight:600;white-space:nowrap;opacity:.45}
.lpm-chip.lpm-tgt{opacity:1}
.rtab tr.lpm-src>td{background:var(--brand-l)}
.rtab tr.lpm-tgt>td{background:#ecfdf3}.rtab tr.lpm-tgt>td:first-child{box-shadow:inset 3px 0 0 #16a34a}
.rtab tr.lpm-tgt.lpm-swap>td{background:#eff6ff}.rtab tr.lpm-tgt.lpm-swap>td:first-child{box-shadow:inset 3px 0 0 #2563eb}
.rtab tr.lpm-tgt.lpm-hov>td{background:#d1fae5}
.lpm-chip[hidden]{display:none}
/* Team page long-press: rounded outlined boxes like the matchup page (no full-width square rows / edge bars) */
.rtab tr.lpm-src,.rtab tr.lpm-tgt{position:relative;outline:0;box-shadow:none;background:none!important}
.rtab tr.lpm-src>td,.rtab tr.lpm-tgt>td,.rtab tr.lpm-tgt.lpm-swap>td,.rtab tr.lpm-tgt.lpm-hov>td{background:transparent!important}
.rtab tr.lpm-tgt>td:first-child,.rtab tr.lpm-tgt.lpm-swap>td:first-child{box-shadow:none}
.rtab tr.lpm-src>td.rs-pl::before,.rtab tr.lpm-tgt>td.rs-pl::before{content:"";position:absolute;inset:3px 6px;border-radius:10px;pointer-events:none;z-index:0;
  border:2px solid #16a34a;background:rgba(22,163,74,.08)}
.rtab tr.lpm-tgt.lpm-swap>td.rs-pl::before{border-color:#2563eb;background:rgba(37,99,235,.08)}
.rtab tr.lpm-tgt.lpm-hov>td.rs-pl::before{border-width:3px;background:rgba(22,163,74,.18)}
.rtab tr.lpm-tgt.lpm-swap.lpm-hov>td.rs-pl::before{background:rgba(37,99,235,.18)}
.rtab tr.lpm-src>td.rs-pl::before{border-color:var(--brand-d);background:var(--brand-l)}
.rtab tr.lpm-src>td>*,.rtab tr.lpm-tgt>td>*{position:relative;z-index:1}
.mgrid .mp.lpm-tgt,.mgrid .mp.lpm-src{border-radius:10px}

/* round 98: team-page box hugs the name + game-line cell; bottom tray of bench/IR/PS boxes */
.rtab tr.lpm-src,.rtab tr.lpm-tgt{position:static}
.rtab tr.lpm-src>td.rs-pl,.rtab tr.lpm-tgt>td.rs-pl{position:relative}
.rtab tr.lpm-src>td.rs-pl::before,.rtab tr.lpm-tgt>td.rs-pl::before{inset:2px -4px 2px -6px;border-radius:9px}
.lpm-tray-team .lpm-chip{opacity:1;border:2px solid #16a34a;background:#ecfdf3;padding:6px 10px;cursor:pointer;min-width:96px}
.lpm-tray-team .lpm-chip.lpm-swap{border-color:#2563eb;background:#eff6ff}
.lpm-tray-team .lpm-chip.lpm-hov{border-width:3px}
.lpm-tray-team .lpm-ch{display:flex;align-items:center;gap:5px}
.lpm-tray-team .lpm-pos{font-size:11px;font-weight:700;color:var(--muted)}
.lpm-tray-team .lpm-gl{font-size:11px;font-weight:500;color:var(--muted);margin-top:2px}
html[data-theme=dark] .lpm-tray-team .lpm-chip{background:rgba(22,163,74,.16)!important}
html[data-theme=dark] .lpm-tray-team .lpm-chip.lpm-swap{background:rgba(37,99,235,.2)!important}
.lpm-tray-team .lpm-chip{display:flex;flex-direction:column;justify-content:center}
/* round 99: long-press colors everywhere: selected = yellow, swap targets + open spots = green */
html .rtab tr.lpm-src>td.rs-pl::before{border-color:#eab308!important;background:rgba(250,204,21,.16)!important}
html .rtab tr.lpm-tgt>td.rs-pl::before,html .rtab tr.lpm-tgt.lpm-swap>td.rs-pl::before{border-color:#16a34a!important;background:rgba(22,163,74,.10)!important}
html .rtab tr.lpm-tgt.lpm-hov>td.rs-pl::before{background:rgba(22,163,74,.22)!important}
html .lpm-src:not(tr){outline:2px solid #eab308!important;outline-offset:-2px;background:rgba(250,204,21,.16)!important}
html .lpm-tgt:not(tr),html .lpm-tgt.lpm-swap:not(tr){box-shadow:inset 0 0 0 2px #16a34a!important;background:rgba(22,163,74,.10)!important}
html .lpm-tgt.lpm-hov:not(tr){box-shadow:inset 0 0 0 3px #16a34a!important;background:rgba(22,163,74,.22)!important}
html .lpm-tray-team .lpm-chip,html .lpm-tray-team .lpm-chip.lpm-swap{border-color:#16a34a!important;box-shadow:none!important}

/* round 100: swap rows in the ⇅ sheet look like roster player cells */
.as-opt.as-pl{flex-direction:row;align-items:center;gap:8px;padding:8px 10px}
.as-opt.as-pl .spill{flex:none;min-width:34px;text-align:center}
.as-opt.as-pl .as-plt{display:flex;flex-direction:column;min-width:0;flex:1}
.as-opt.as-pl .as-pln{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.as-opt.as-pl .jn{margin-left:4px}
.as-opt.as-pl .rs-g{font-size:12px;font-weight:500;margin-top:1px}
/* round 102: card-stack swipe transition (static/swipe.js) */
.cs-under{position:fixed;z-index:0;pointer-events:none;opacity:0;border-radius:18px;background:var(--card,#fff);box-shadow:0 8px 28px rgba(10,20,40,.18);will-change:transform,opacity}
.cs-top{position:relative;z-index:1;will-change:transform,opacity}
html[data-theme=dark] .cs-under{background:#121c33;box-shadow:0 8px 28px rgba(0,0,0,.5)}

/* round 103: whole player cell opens the card */
.rtab td.rs-pl,.rtab td.rs-pic{cursor:pointer}
.cs-under.cs-real{border-radius:0;box-shadow:none;overflow:hidden;padding:0}

/* round 106: bottom-nav page transition. Chromium with cross-document View Transitions: header + nav stay put,
   the page shrinks/fades out and the new one grows in from .94. Others: navtrans.js does the same with classes. */
@view-transition{navigation:auto}
.appbar{view-transition-name:appbar}.bottomnav{view-transition-name:bnav}
/* round 111: header + nav are pixel-stable across tab changes — no group morph, no cross-fade (the default VT
   animation morphed/cross-faded them, which read as the nav "reloading" and nudging up/down); only the page animates */
::view-transition-group(bnav),::view-transition-group(appbar),::view-transition-image-pair(bnav),::view-transition-image-pair(appbar),::view-transition-new(bnav),::view-transition-new(appbar){animation:none}
::view-transition-old(bnav),::view-transition-old(appbar){animation:none;opacity:0}::view-transition-new(bnav),::view-transition-new(appbar){opacity:1}
::view-transition-old(root){animation:vt-out .16s ease-in both}
::view-transition-new(root){animation:vt-in .2s ease-out both}
@keyframes vt-out{to{opacity:0;transform:scale(.97)}}
@keyframes vt-in{from{opacity:.45;transform:scale(.94)}}
html.nt-out main{transition:opacity .16s ease-in,transform .16s ease-in;opacity:0;transform:scale(.97)}
html.nt-in main{animation:vt-in .2s ease-out both}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}::view-transition-old(root),::view-transition-new(root){animation:none}html.nt-out main{transition:none;opacity:1;transform:none}html.nt-in main{animation:none}}

/* round 107: player-card swipe between players */
.psheet{touch-action:pan-y}
.ps-pg{position:relative;z-index:2;min-height:100%;will-change:transform,opacity}
.ps-pg>.pcard{min-height:100dvh}
/* round 122: the neighbour card underneath (fixed, aligned with the sheet top); hidden = display:none */
.ps-nx{display:none;position:fixed;z-index:1;top:0;height:100dvh;overflow:hidden;pointer-events:none;opacity:.55;transform:scale(.96);transform-origin:50% 0}
.ps-nx.on{display:block;will-change:transform,opacity}
.ps-nx.over{z-index:3}
/* round 124: a right swipe (previous card / team) must never also trigger the browser's own swipe-back navigation
   (Chrome overscroll history navigation): it popped the overlay history entry and closed the card mid-swipe */
html,body{overscroll-behavior-x:none}
.ps-nx>.pcard{margin:0;border-radius:0;min-height:100%}
@media (prefers-reduced-motion:reduce){.ps-pg,.ps-nx{transition:none!important}}

/* round 108: pull-to-refresh spinner (static/ptr.js, installed app only) */
.ptr{position:fixed;left:50%;top:calc(56px + env(safe-area-inset-top));z-index:120;width:36px;height:36px;border-radius:50%;background:var(--card,#fff);box-shadow:0 4px 14px rgba(10,20,40,.22);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none}
.ptr-s{width:18px;height:18px;border-radius:50%;border:2.5px solid #cbd5e1;border-top-color:var(--brand,#2b6cb0)}
.ptr.ready .ptr-s{border-color:var(--brand,#2b6cb0);border-top-color:transparent}
.ptr.spin .ptr-s{animation:ptr-r .7s linear infinite}
@keyframes ptr-r{to{transform:rotate(360deg)}}
html[data-theme=dark] .ptr{background:#121c33}

/* round 109: team swipe panes + skeleton */
.tm-track{margin:0 -12px}
.tm-pane{padding:0 12px}
/* round 116: team swipe = card stack (current on top in flow, the neighbour underneath, absolute, same place) */
.tm-stack{position:relative;display:block;overflow:visible;touch-action:pan-y}
.tm-stack>.tm-pane{box-sizing:border-box;width:100%;display:flow-root}
.tm-stack>.tm-cur{position:relative;z-index:2;background:var(--bg);will-change:transform,opacity}
.tm-stack>.tm-side{position:absolute;left:0;right:0;top:0;z-index:1;visibility:hidden;pointer-events:none}
.tm-stack>.tm-side.tm-under{visibility:visible;will-change:transform,opacity;background:var(--bg)}
.tm-stack>.tm-side.tm-over{z-index:3}
/* round 119: a hidden neighbour must not add scroll height (absolute children still extend the page's scrollable
   overflow even when visibility:hidden): collapse it until it is the one underneath a drag; never scroll sideways */
.tm-stack>.tm-side:not(.tm-under){height:0;overflow:hidden}
.tm-stack{overflow-x:clip}
.tm-skel{padding:8px 0}.tm-skel .sk{height:54px;border-radius:12px;background:rgba(127,127,127,.12);margin:8px 0}.tm-skel .sk-h{height:120px}
/* round 126: no visible scrollbars anywhere (page, sheets, player card, menus, chat, pill rows, tables), in every
   theme; scrolling (touch, wheel, keyboard) is untouched. Hidden on every element, always, so the page width never
   changes when content starts or stops overflowing (no layout shift). */
html,body,*{scrollbar-width:none!important;-ms-overflow-style:none!important}
html::-webkit-scrollbar,body::-webkit-scrollbar,*::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}
/* round 127: the Android system navigation bar (back / home) under the bottom tab bar is black, in every theme.
   - html (the canvas) is black: Chrome / Samsung Internet colour the nav bar from the page's root background when
     they draw it themselves (3-button nav), and it is what shows in any gap under the page. body keeps the theme
     background and always fills the screen, so the black canvas never shows inside the app.
   - with viewport-fit=cover (edge-to-edge, gesture nav, installed app) the page draws under the bar; that strip is
     the bottom nav's env(safe-area-inset-bottom) padding, painted black here. */
html{background:#000!important}
body{min-height:100vh;min-height:100lvh}
.bottomnav::after{content:"";position:absolute;left:0;right:0;bottom:0;height:env(safe-area-inset-bottom,0px);background:#000;pointer-events:none}
