/* Coach Mode preview: 32-bit era sports-menu theme (PS1/Saturn feel): rich palette, smooth gradients, bevelled chrome, crisp pixel fonts */
@font-face{font-family:"PS2P";src:url(../fonts/PressStart2P-Regular.ttf)}
@font-face{font-family:"Pix";src:url(../fonts/PixelifySans.ttf)}
@font-face{font-family:"VT";src:url(../fonts/VT323.ttf)}
/* C5-0 legible text: Atkinson Hyperlegible (SIL OFL 1.1, self-hosted, fonts/AtkinsonHyperlegible-OFL.txt). Pixel font (--fd) is for display text only */
@font-face{font-family:"AtkH";src:url(../fonts/AtkinsonHyperlegible-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"AtkH";src:url(../fonts/AtkinsonHyperlegible-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"AtkHB";src:url(../fonts/AtkinsonHyperlegible-Bold.woff2) format("woff2");font-display:swap}
:root{--fd:"PS2P";--fh:"AtkHB","AtkH",system-ui,sans-serif;--fb:"AtkH",system-ui,sans-serif;--navy:#141c46;--navy2:#0a0f2c;--navy3:#1d2763;--red:#d8283a;--blue:#2a56d8;--gold:#ffc83c;--amber:#ffb028;--wht:#f2f2f6;--grn:#2c9a48;--lav:#aab4ff;--dim:#8890c8;
 --chrome:linear-gradient(180deg,#3a4aa8 0,#1d2763 46%,#141c46 54%,#0e1436 100%);
 --panel:linear-gradient(165deg,#1f2a6e 0,#141c46 55%,#0f1640 100%);
 --edge:0 0 0 2px #000,0 0 0 4px #6f7fd8,0 0 0 6px #000,6px 8px 0 4px rgba(0,0,0,.55)}
*{box-sizing:border-box}html,body{margin:0;height:100%}
body{font-family:var(--fb);line-height:1.4;color:var(--wht);background:radial-gradient(ellipse at 50% -10%,#24317e 0,#0a0f2c 60%) fixed;font-size:1rem}
img{image-rendering:pixelated}
/* real club logos: smooth scaling so they stay recognizable, with a hard 32-bit drop shadow as the "frame" */
img[src^="assets/logos/"]{image-rendering:auto;object-fit:contain;filter:drop-shadow(1px 1px 0 #000) drop-shadow(-1px -1px 0 rgba(255,255,255,.18)) drop-shadow(2px 2px 0 rgba(0,0,0,.55))}
img[src^="assets/players/"]{image-rendering:pixelated;object-fit:cover;background:#0b1030;box-shadow:0 0 0 2px #000,0 0 0 3px rgba(255,214,90,.55)!important;filter:saturate(1.08) contrast(1.04)}
.tkl{height:18px;width:22px;vertical-align:-3px;margin-right:5px}
button{font:inherit;cursor:pointer;color:inherit}
.hidden{display:none!important}.muted{color:var(--dim);font-size:0.9375rem;padding:4px}
.app{min-height:100vh;display:grid;grid-template-rows:auto auto auto 1fr auto;grid-template-columns:minmax(0,1fr)} /* header, #nextWrap, nav, main, ticker */
/* header */
.top{display:flex;align-items:center;gap:14px;padding:8px 16px;background:var(--chrome);border-bottom:2px solid #000;position:relative}
.top::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:3px;background:linear-gradient(90deg,var(--red),#ff7a4a 33%,var(--gold) 50%,#4a8aff 66%,var(--blue))}
.brand{display:flex;align-items:center;gap:10px;min-width:0}.tlogo{width:40px;height:40px;filter:drop-shadow(2px 2px 0 #000)}
.ttl{display:flex;flex-direction:column;min-width:0}
.top h1{margin:0;font:1.125rem var(--fd);background:linear-gradient(180deg,#fff6c8 0,#ffc83c 45%,#e08a10 55%,#ffd86a 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(2px 2px 0 #8a1020) drop-shadow(2px 2px 0 #000);letter-spacing:1px}
.sub1{font-size:0.9375rem;color:var(--lav);margin-top:5px;overflow-wrap:break-word;min-width:0}
.meta{display:flex;gap:18px;margin-left:auto}.m{display:flex;flex-direction:column}.m span{font-size:0.875rem;color:var(--lav)}.m b{font:0.9375rem var(--fh);margin-top:5px;color:var(--wht)}
.hbtns{display:flex;gap:8px}
.btn{font:0.9375rem var(--fh);border:0;padding:10px 12px;color:#000;background:linear-gradient(180deg,#fff0a8 0,#ffc83c 48%,#e8a018 52%,#ffcf5a 100%);box-shadow:0 0 0 2px #000,inset 0 -2px 0 #a86a00,3px 3px 0 2px rgba(0,0,0,.5);white-space:nowrap}
.btn:hover{filter:brightness(1.1)}.btn:disabled{filter:grayscale(1) brightness(.6);cursor:default}
.btn.trade{background:linear-gradient(180deg,#ff9aa4 0,#d8283a 48%,#a8101f 52%,#e2404f 100%);color:#fff;text-shadow:1px 1px 0 #000}
.btn.ghost{background:linear-gradient(180deg,#4a5ab8,#26307a);color:#fff}
.btn.blue{background:linear-gradient(180deg,#9ab8ff 0,#2a56d8 48%,#1a3aa8 52%,#3a66e8 100%);color:#fff;text-shadow:1px 1px 0 #000}
.btn.sm{font-size:0.8125rem;padding:7px 8px}
/* nav */
.nav{display:flex;align-items:flex-start;align-self:start;gap:4px;padding:10px 16px 0;margin-top:4px}
.nav button{font:0.9375rem var(--fh);border:0;padding:10px 14px 9px;color:var(--lav);background:linear-gradient(180deg,#2a3576,#151c4a);box-shadow:inset 0 1px 0 #5866c0,0 0 0 2px #000;clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 100%,0 100%)}
.nav button.on{color:#000;background:linear-gradient(180deg,#fff0a8,#ffc83c 50%,#e8a018)}
main{min-height:0;padding:10px 16px 14px}.view{display:none}.view.on{display:block}
/* panels */
.panel{background:var(--panel);box-shadow:var(--edge);margin:6px;padding:12px;border-radius:3px;position:relative}
.panel::before{content:"";position:absolute;inset:0;border-radius:3px;background:linear-gradient(180deg,rgba(255,255,255,.07),transparent 30%);pointer-events:none}
.ph{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.ph h3{margin:0;font:0.6875rem var(--fd);color:var(--gold);text-shadow:1px 1px 0 #000}
.ph .r{margin-left:auto;font-size:0.9375rem;color:var(--lav)}.ph .r b{color:var(--gold)}
/* league interest */
.li{display:flex;align-items:center;gap:14px;padding:10px 14px;margin:0 6px 10px;background:linear-gradient(90deg,rgba(10,15,44,.9),rgba(29,39,99,.9));box-shadow:0 0 0 2px #000,0 0 0 3px #3a4388;font:0.9375rem var(--fh)}
.li .lil{color:var(--lav)}.li .lin{color:var(--gold)}.li .lig{color:#5fe08a}
.li .bar{flex:1;position:relative;height:16px;background:#000;box-shadow:0 0 0 2px var(--wht),3px 3px 0 2px #000;border-radius:2px;overflow:visible}
.li .bar i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(180deg,#9cf5b4 0,#3fc463 40%,#1f8a3c 60%,#36b057 100%);border-radius:2px}
.li .mk{position:absolute;top:-2px;bottom:-2px;border-left:2px solid var(--gold);padding-left:5px;font:0.9375rem var(--fb);color:var(--gold);line-height:16px;white-space:nowrap}
/* hub grid */
.hub{display:grid;grid-template-columns:minmax(0,1fr) 390px;grid-template-areas:"scene inbox" "lower inbox";gap:6px}
.scene{grid-area:scene;position:relative;aspect-ratio:384/216;max-height:calc(100vh - 430px);min-height:300px;width:calc(100% - 12px);overflow:hidden;box-shadow:var(--edge);margin:6px;background:#000;border-radius:3px}
.scene canvas{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;object-fit:cover}
.scene .mon{position:absolute;left:39.8%;top:12.5%;width:32.8%;height:36.1%;display:flex;align-items:center;justify-content:center;pointer-events:none}
.scene .mon img{height:78%;filter:drop-shadow(0 0 8px rgba(255,255,255,.35)) drop-shadow(3px 3px 0 rgba(0,0,0,.5))}
.scene .tog{position:absolute;right:10px;top:10px;display:flex;box-shadow:0 0 0 2px #000;z-index:3}
.scene .tog button{font:0.9375rem var(--fh);border:0;padding:8px 10px;background:linear-gradient(180deg,#3a4598,#1a2160);color:var(--lav)}
.scene .tog button.on{background:linear-gradient(180deg,#fff0a8,#ffc83c 50%,#e8a018);color:#000}
.lanes{position:absolute;left:10px;right:10px;bottom:10px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;z-index:2}
.lane{display:flex;align-items:center;gap:8px;padding:6px 8px;background:linear-gradient(180deg,rgba(29,39,99,.95),rgba(10,15,44,.95));box-shadow:0 0 0 2px #000,0 0 0 3px #8a96e8;border-radius:2px;min-width:0}
.lane .ic{width:26px;height:26px;flex:none;display:grid;place-items:center;font:0.9375rem var(--fh);color:#000;background:linear-gradient(180deg,#fff0a8,#ffc83c 50%,#d88a10);box-shadow:0 0 0 2px #000;border-radius:2px}
.lane .lt{display:flex;flex-direction:column;min-width:0;flex:1}.lane .lnm{font-weight:700;font-size:0.9375rem;overflow-wrap:break-word;min-width:0}
.pips{display:flex;gap:2px;margin-top:3px}.pips i{width:9px;height:6px;background:#2a3166;border-radius:1px}.pips i.on{background:linear-gradient(180deg,#fff0a8,#ffc83c)}
.lane .lv{font:0.9375rem var(--fh);color:var(--gold);white-space:nowrap}.lane .pm{display:flex;flex-direction:column;gap:2px}.lane .pm button{font:0.9375rem var(--fh);border:0;width:16px;height:13px;padding:0;background:#2a56d8;box-shadow:0 0 0 1px #000}
.kick{position:absolute;left:10px;top:10px;z-index:3;font:0.9375rem var(--fh);background:linear-gradient(180deg,#fff0a8,#ffc83c);color:#000;padding:6px 8px;box-shadow:0 0 0 2px #000}
/* inbox */
.inbox{grid-area:inbox;display:flex;flex-direction:column}.inbox .panel{flex:1;display:flex;flex-direction:column;gap:9px}
.ck{font:0.9375rem var(--fh);color:var(--amber);letter-spacing:.5px;display:flex;align-items:center;gap:8px}
.cbadge{background:linear-gradient(180deg,#ff7080,#d8283a 50%,#a8101f);font:0.9375rem var(--fh);color:#fff;width:24px;height:24px;display:grid;place-items:center;box-shadow:0 0 0 2px #000}
.inbox h2{margin:0;font:0.8125rem/1.5 var(--fd);text-shadow:2px 2px 0 #000}
.cbody{margin:0;font-size:0.9375rem;line-height:1.3;color:#cfd5ff}
.choice{display:block;width:100%;text-align:left;background:linear-gradient(180deg,#141c4c,#0a0f2c);border:0;box-shadow:0 0 0 2px #000,0 0 0 4px #3a4388;padding:9px;margin:2px 0;border-radius:2px}
.choice:hover:not(:disabled){box-shadow:0 0 0 2px #000,0 0 0 4px var(--gold)}.choice.pick{box-shadow:0 0 0 2px #000,0 0 0 4px var(--gold)}.choice:disabled{cursor:default}.choice.dim{opacity:.45}
.chh{display:flex;align-items:center;gap:8px;margin-bottom:7px}.chh b{font:0.9375rem/1.4 var(--fh);font-weight:400}
.cl{width:22px;height:22px;background:#ffc83c;color:#141c46;display:grid;place-items:center;font:0.9375rem var(--fh);font-weight:700;flex:none;box-shadow:0 0 0 2px #000}
.tag{margin-left:auto;font:0.9375rem var(--fh);padding:4px 5px;white-space:nowrap;background:#3a4388}.tag.right{background:var(--grn)}.tag.shady{background:#7a2a8a}
.odds{display:flex;height:16px;font:0.9375rem var(--fh);box-shadow:0 0 0 2px #000;border-radius:2px;overflow:hidden}.odds span{display:flex;align-items:center;justify-content:center;overflow:hidden}
.og{background:linear-gradient(180deg,#6fe08a,#2c9a48 55%,#1f7a36)}.om{background:linear-gradient(180deg,#ffd27a,#ffb028 55%,#d88a10);color:#000}.ob{background:linear-gradient(180deg,#ff7080,#d8283a 55%,#a8101f)}
.okey{display:flex;justify-content:space-between;font-size:0.8125rem;color:var(--dim);margin-top:3px}
.res{padding:10px;font-size:0.9375rem;box-shadow:0 0 0 2px #000;border-radius:2px}.res.r0{background:linear-gradient(180deg,#1f6a36,#124a24)}.res.r1{background:linear-gradient(180deg,#8a6010,#5a3c08)}.res.r2{background:linear-gradient(180deg,#8a1a26,#5a0e18)}
.res b{font:0.9375rem var(--fh);display:block;margin-bottom:6px}
.res .nx{display:block;margin-top:8px;padding-top:6px;border-top:1px solid rgba(255,255,255,.25);font-weight:700}
.cfoot{margin-top:4px;font-size:0.875rem;color:var(--dim)}
/* lower */
.lower{grid-area:lower;display:grid;grid-template-columns:1.25fr 1fr;gap:6px}
.sls{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}.sl .slh{display:flex;justify-content:space-between;align-items:baseline}.sl .sn{font-size:1rem}.sl .sv{font:0.9375rem var(--fh);color:var(--gold)}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:12px;background:#000;box-shadow:0 0 0 2px #3a4388;border-radius:2px;margin-top:8px}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:20px;background:linear-gradient(180deg,#fff,#c8ccec);border:2px solid #000;border-radius:2px}
input[type=range]::-moz-range-thumb{width:12px;height:18px;background:#eee;border:2px solid #000}
.wg{display:flex;gap:14px;align-items:center}.gl{font:2.5rem var(--fd);width:110px;text-align:center;background:linear-gradient(180deg,#fff6c8,#ffc83c 45%,#e08a10 55%,#ffd86a);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(3px 3px 0 #8a1020) drop-shadow(2px 2px 0 #000)}
.subs{flex:1;display:flex;flex-direction:column;gap:6px}.sub{display:grid;grid-template-columns:92px 1fr 36px;gap:8px;align-items:center;font-size:0.9375rem}
.sb{height:10px;background:#000;box-shadow:0 0 0 2px #3a4388;position:relative;border-radius:2px;overflow:hidden}.sb i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(180deg,#9ab8ff,#2a56d8 60%,#1a3aa8)}.sub em{font-style:normal;text-align:right;font-size:0.875rem;color:var(--dim)}
.adv{display:flex;gap:10px;align-items:center;margin-top:12px;flex-wrap:wrap}.adv .note{font-size:0.875rem;color:var(--dim)}
/* ticker */
.ticker{display:flex;background:#000;border-top:3px solid #2a2a2a;height:46px}
.ticker .nc{background:linear-gradient(180deg,#ff7080,#d8283a 50%,#a8101f);font:0.9375rem var(--fh);padding:0 14px;display:flex;align-items:center;color:#fff}
.ticker .tw{flex:1;overflow:hidden;display:flex;align-items:center;position:relative;background:#120800}
.ticker .tt{white-space:nowrap;font:1rem var(--fd);color:var(--amber);text-shadow:0 0 6px rgba(255,176,40,.75);padding-left:100%;letter-spacing:1px;animation:tick 70s linear infinite}
.ticker .tt .sep{color:#ff5a3c;margin:0 16px}
.ticker .tw::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000 1px,transparent 1px) 0 0/3px 3px,linear-gradient(0deg,#000 1px,transparent 1px) 0 0/3px 3px;opacity:.85;pointer-events:none}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-100%)}}
body.still .ticker .tt{animation:none;padding-left:14px}
/* scouting board + draft lists */
.sgrid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:6px}
.sbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.sbar input[type=search],.sbar select{font:0.9375rem var(--fb);background:#060a22;color:var(--wht);border:0;box-shadow:0 0 0 2px #3a4388;padding:7px 9px;border-radius:2px}
.pills{display:flex;gap:4px;flex-wrap:wrap}.pill{font:0.9375rem var(--fh);border:0;padding:6px 7px;background:linear-gradient(180deg,#2a3576,#151c4a);color:var(--lav);box-shadow:0 0 0 1px #000;border-radius:2px}.pill.on{background:linear-gradient(180deg,#fff0a8,#ffc83c);color:#000}
.cnt{font-size:0.875rem;color:var(--dim);margin-left:auto}
.turn{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:10px 12px;margin:6px 6px 10px;background:linear-gradient(90deg,#2a1608,#4a2a08 50%,#2a1608);box-shadow:0 0 0 2px #000,0 0 0 3px #a8701a}
.turn .tm{font:0.9375rem var(--fh);color:var(--amber);text-shadow:0 0 6px rgba(255,176,40,.6)}.turn .vis{display:flex;gap:3px}.turn .vis i{width:14px;height:14px;background:#000;box-shadow:0 0 0 1px #a8701a}.turn .vis i.on{background:radial-gradient(circle at 35% 35%,#fff6c8,#ffb028 60%,#a8601a)}
.turn .sp{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.sneeds{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:8px 12px;margin:6px 6px 4px;background:linear-gradient(90deg,#0c1440,#1a2670 50%,#0c1440);box-shadow:0 0 0 2px #000,0 0 0 3px #4a5ad0}
.sneeds .nl{font:0.8125rem var(--fh);color:#ffd27a;text-transform:uppercase;letter-spacing:.04em}.sneeds .nv{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:0.8125rem;color:#cfd5ff}.sneeds .nv.none{color:#8890c8}
.sneeds .np{font:0.8125rem var(--fh);color:#fff;background:#2a3aa8;padding:2px 8px;box-shadow:0 0 0 1px #000,0 0 0 2px #6a7af0}
.plist{max-height:calc(100vh - 290px);min-height:420px;overflow:auto;box-shadow:inset 0 0 0 2px #000;background:#070b26;border-radius:2px}
.prow{display:grid;grid-template-columns:38px 46px minmax(140px,1.6fr) 44px 64px 56px minmax(150px,1.3fr) 66px;gap:8px;align-items:center;padding:5px 8px;border-bottom:1px solid #1a2258;cursor:pointer}
.prow:nth-child(odd){background:rgba(29,39,99,.35)}.prow:hover{background:rgba(42,86,216,.35)}.prow.sel{background:linear-gradient(90deg,rgba(255,200,60,.28),rgba(255,200,60,.05))}
.prow.hd{position:sticky;top:0;z-index:2;background:linear-gradient(180deg,#2a3576,#151c4a);font:0.9375rem var(--fh);color:var(--lav);cursor:default;padding:8px}
.rk{font:0.9375rem var(--fh);color:var(--gold);text-align:right}.hs{width:46px;height:46px;box-shadow:0 0 0 2px #000;border-radius:2px}
.nm{min-width:0}.nm span{overflow-wrap:break-word;min-width:0}.nm b{display:block;font-size:0.9375rem;overflow-wrap:break-word;min-width:0}.nm span{font-size:0.875rem;color:var(--lav);white-space:nowrap;display:flex;align-items:center;gap:5px}
.cdot{display:inline-block;width:10px;height:10px;box-shadow:0 0 0 1px #000;flex:none}
.pp{font:0.9375rem var(--fh);padding:5px 4px;text-align:center;background:#2a3576;box-shadow:0 0 0 1px #000;border-radius:2px}
.gr{font:1.0625rem var(--fh);text-align:center}.gr small{display:block;font:0.9375rem var(--fb);color:var(--dim);margin-top:2px}
.ms{font:1rem "VT";color:#cfd5ff;line-height:1}.ms small{color:var(--dim)}
.tells{display:flex;gap:6px;font-size:0.875rem}.tells span{display:flex;flex-direction:column;align-items:center;gap:1px;white-space:nowrap;background:rgba(6,10,34,.6);padding:3px 5px;box-shadow:0 0 0 1px #2a3576;border-radius:2px;min-width:42px}.tells b{font:0.9375rem var(--fh)}
.up{color:#5fe08a}.ev{color:#c8ccec}.dn{color:#ff6070}
.vd{font:0.9375rem var(--fh);padding:5px 4px;text-align:center;border-radius:2px;box-shadow:0 0 0 1px #000}.vd.GEM{background:linear-gradient(180deg,#9cf5b4,#2c9a48);color:#000}.vd.BUST{background:linear-gradient(180deg,#ff8090,#d8283a)}.vd.REGULAR{background:#4a5290}.vd.unk{background:transparent;box-shadow:inset 0 0 0 1px #3a4388;color:var(--dim)}
.det{position:sticky;top:8px}.dhead{display:flex;gap:12px;align-items:center}.dhead img{width:128px;height:128px;box-shadow:0 0 0 2px #000,0 0 0 4px #8a96e8;border-radius:2px}
.dhead h2{margin:0 0 6px;font:0.75rem/1.5 var(--fd)}.dhead .sub{display:block;font-size:0.9375rem;color:var(--lav)}
.ctab{width:100%;border-collapse:collapse;margin-top:10px;font-size:0.9375rem}.ctab th{font:0.9375rem var(--fh);color:var(--lav);text-align:left;padding:5px 4px;background:#151c4a}.ctab td{padding:4px;border-bottom:1px solid #1a2258;font:1.0625rem "VT"}
.skl{margin-top:10px;display:flex;flex-direction:column;gap:6px}.skl .sub{grid-template-columns:96px 1fr 30px}
/* draft room */
.dgrid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:6px}
.dmenu{display:flex;flex-direction:column;gap:8px}.dmenu .btn{width:100%;text-align:left}
.dd{position:relative}.ddm{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.top3 .t3{display:flex;gap:8px;align-items:center;padding:6px;background:rgba(10,15,44,.7);box-shadow:0 0 0 1px #3a4388;margin-top:6px;cursor:pointer;border-radius:2px}.top3 .t3 img{width:38px;height:38px}.top3 small{display:block;font:0.9375rem var(--fh);color:var(--amber);margin-bottom:3px}
.dtabs{display:flex;gap:4px;margin:0 6px 8px;flex-wrap:wrap}
.otc{display:flex;gap:14px;align-items:center;padding:12px;margin:6px 6px 10px;background:linear-gradient(90deg,#3a0a12,#141c46 60%);box-shadow:0 0 0 2px #000,0 0 0 4px var(--red)}
.otc img{width:56px;height:56px}.otc .ol{font:0.9375rem var(--fh);color:var(--amber)}.otc h2{margin:6px 0 0;font:0.875rem var(--fd)}
.clock{margin-left:auto;font:1.75rem var(--fd);color:var(--amber);text-shadow:0 0 10px rgba(255,176,40,.8);background:#120800;padding:10px 14px;box-shadow:0 0 0 2px #000;position:relative}
.clock::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000 1px,transparent 1px) 0 0/3px 3px,linear-gradient(0deg,#000 1px,transparent 1px) 0 0/3px 3px;opacity:.6}
.clock.me{color:#ff6070;text-shadow:0 0 10px rgba(255,80,100,.8)}
.rtabs{display:flex;gap:4px;margin-bottom:8px}
.rboard{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cell{display:flex;gap:8px;align-items:center;padding:7px;background:linear-gradient(180deg,#1a2462,#0e1438);box-shadow:0 0 0 2px #000,0 0 0 3px #2e3a88;border-radius:2px;min-height:62px}
.cell.mine{box-shadow:0 0 0 2px #000,0 0 0 3px var(--gold)}.cell.now{box-shadow:0 0 0 2px #000,0 0 0 4px var(--red);background:linear-gradient(180deg,#4a1220,#1a0a18)}
.cell .no{font:0.9375rem var(--fh);color:var(--gold);width:28px}.cell .tl{width:32px;height:32px}.cell .hs{width:42px;height:42px}
.cell .ci{min-width:0;flex:1}.cell .ci b{display:block;font-size:1rem;overflow-wrap:break-word;min-width:0}.cell .ci span{font-size:0.875rem;color:var(--lav)}
.needs{width:100%;border-collapse:collapse;font-size:0.9375rem}.needs th{font:0.9375rem var(--fh);color:var(--lav);padding:6px 3px;background:#151c4a}.needs td{text-align:center;padding:5px 3px;border-bottom:1px solid #1a2258}
.needs td b{font:0.9375rem var(--fh)}.needs td small{display:block;font-size:0.8125rem;color:var(--dim)}.ga{color:#5fe08a}.gb{color:#c8f08a}.gc{color:var(--gold)}.gd{color:#ff9a50}.gf{color:#ff5060}
.drow{grid-template-columns:38px 46px minmax(140px,1.6fr) 44px 56px 60px 150px}
.keys{font-size:0.875rem;color:var(--dim);margin:8px 6px}.keys b{font:0.9375rem var(--fh);color:var(--lav);background:#151c4a;padding:3px 5px;box-shadow:0 0 0 1px #3a4388;margin-right:4px}
/* modal / trade / start */
.modal{position:fixed;inset:0;background:rgba(4,6,20,.82);z-index:50;display:flex;align-items:center;justify-content:center;padding:16px}
.mbox{background:var(--panel);box-shadow:var(--edge);width:min(980px,100%);max-height:92vh;overflow:auto;padding:16px;border-radius:3px}
.mh{display:flex;align-items:center;margin-bottom:10px}.mh h2{margin:0;font:0.8125rem var(--fd);color:var(--gold)}.mh .x{margin-left:auto;font:1rem var(--fh);border:0;background:#2a3576;padding:6px 9px;box-shadow:0 0 0 2px #000}
.tpart{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.tp{display:flex;gap:5px;align-items:center;font:0.9375rem var(--fh);border:0;padding:5px 8px;background:#151c4a;box-shadow:0 0 0 2px #000}.tp img{width:24px;height:24px}.tp.on{background:linear-gradient(180deg,#fff0a8,#ffc83c);color:#000}
.tcols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tcol h3{font:0.6875rem var(--fd);color:var(--lav);margin:0 0 6px}.tcol h3 small{color:var(--amber);font:0.9375rem var(--fb);margin-left:6px}
.tl{max-height:46vh;overflow:auto;background:#070b26;box-shadow:inset 0 0 0 2px #000;padding:4px}
.ta{display:flex;align-items:center;gap:6px;padding:4px 6px;font-size:0.9375rem;border-bottom:1px solid #141c4c;cursor:pointer}.ta b{font:0.9375rem var(--fh);min-width:34px;flex:none;color:var(--lav)}.ta em{margin-left:auto;font:0.9375rem var(--fh);color:var(--gold);font-style:normal}.ta i{color:var(--dim);font-style:normal;font-size:0.8125rem}.ta.sel{background:rgba(255,200,60,.18)}
.tgrp{font:0.9375rem var(--fh);color:var(--amber);padding:6px 4px 3px}
.tfoot{display:flex;gap:12px;align-items:center;margin-top:12px;flex-wrap:wrap}.tmeter{display:flex;gap:8px;align-items:center;flex:1;min-width:240px;font-size:0.9375rem}.tmeter .bar{flex:1;height:14px;background:#000;box-shadow:0 0 0 2px #3a4388;position:relative}.tmeter .bar i{position:absolute;left:0;top:0;bottom:0}.bar i.g{background:#3fc463}.bar i.y{background:var(--amber)}.bar i.r{background:var(--red)}.tmeter b{font:0.9375rem var(--fh)}
.terr{font-size:0.9375rem;color:#ff9aa4}
.toast{position:fixed;left:50%;top:18px;transform:translateX(-50%);z-index:60;font:0.9375rem var(--fh);padding:12px 16px;background:linear-gradient(180deg,#fff0a8,#ffc83c);color:#000;box-shadow:0 0 0 2px #000,4px 4px 0 2px rgba(0,0,0,.5)}
.start{max-width:760px}.tpick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.tpick button{display:flex;flex-direction:column;align-items:center;gap:6px;border:0;padding:10px 4px;background:linear-gradient(180deg,#1f2a6e,#0e1438);box-shadow:0 0 0 2px #000,0 0 0 3px #3a4388;font-size:0.9375rem}.tpick button.on{box-shadow:0 0 0 2px #000,0 0 0 4px var(--gold)}.tpick img{width:56px;height:56px}
.frm{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.frm label{display:flex;flex-direction:column;gap:4px;font-size:0.875rem;color:var(--lav)}.frm input,.frm select{font:1rem var(--fb);background:#060a22;color:#fff;border:0;box-shadow:0 0 0 2px #3a4388;padding:8px}
/* standings/camp */
.stab{width:100%;border-collapse:collapse}.stab th{font:0.9375rem var(--fh);color:var(--lav);text-align:left;padding:7px;background:#151c4a}.stab td{padding:6px 7px;border-bottom:1px solid #1a2258;font-size:1rem}.stab td img{width:26px;height:26px;vertical-align:middle;margin-right:6px}.stab tr.me td{background:rgba(255,200,60,.14)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.camp .slot{display:flex;gap:8px;align-items:center;padding:6px;background:#0e1438;box-shadow:0 0 0 1px #3a4388;margin:4px 0}.camp .slot img{width:40px;height:40px}
.mg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mg .g{padding:10px;background:linear-gradient(180deg,#1f2a6e,#0e1438);box-shadow:0 0 0 2px #000,0 0 0 3px #3a4388}.mg .g b{font:0.9375rem var(--fh);color:var(--gold);display:block;margin-bottom:6px}.mg .g{font-size:0.9375rem;color:#cfd5ff}
@media(max-width:1100px){.hub{grid-template-columns:minmax(0,1fr) 330px}.sgrid{grid-template-columns:minmax(0,1fr)}.det{position:static}}
@media(max-width:700px){
 .scene{max-height:none;min-height:0;width:auto}
 body{font-size:0.9375rem}.top{flex-wrap:wrap;padding:8px 10px;gap:8px}.top h1{font-size:0.8125rem}.sub1{font-size:0.8125rem}.meta{order:4;width:100%;margin-left:0;justify-content:space-between;gap:6px}.m b{font-size:0.8125rem}.hbtns{margin-left:auto}
 .btn{font-size:0.8125rem;padding:8px 9px}.nav{padding:8px 8px 0;overflow-x:auto}.nav button{font-size:0.8125rem;padding:9px 9px 8px;flex:none}main{padding:8px 6px 10px}
 .li{flex-wrap:wrap;gap:8px;font-size:0.8125rem}.li .bar{flex-basis:100%;order:3}
 .hub{grid-template-columns:minmax(0,1fr);grid-template-areas:"scene" "inbox" "lower"}.lower{grid-template-columns:1fr}
 .scene{aspect-ratio:auto;padding-top:56.25%;overflow:visible;margin-bottom:6px}.lanes{position:static;grid-template-columns:repeat(2,1fr);margin:8px 0 0;padding:0}
 .scene canvas{height:auto;aspect-ratio:384/216;bottom:auto}.scene .mon{height:calc(36.1% * 1)}
 .sls{grid-template-columns:1fr}.gl{font-size:1.875rem;width:80px}
 .prow.hd{font:1rem var(--fb)}
 .prow{grid-template-columns:24px 42px minmax(0,1fr) 40px 46px 52px;gap:6px}.prow .c6,.prow.hd .c6{display:none}.sbar input[type=search]{flex:1;min-width:0}.prow .c7,.prow.hd .c7{display:none}.hs{width:42px;height:42px}
 .plist{max-height:70vh;min-height:0}.dgrid{grid-template-columns:minmax(0,1fr)}.rboard{grid-template-columns:minmax(0,1fr)}.clock{font-size:1.125rem}.tcols{grid-template-columns:1fr}.two{grid-template-columns:1fr}.mg{grid-template-columns:1fr}.tpick{grid-template-columns:repeat(2,1fr)}
 .turn .sp{margin-left:0}.ticker .tt{font-size:0.75rem}.ticker .nc{font-size:0.8125rem;padding:0 8px}
}
/* game plan, box scores, season center, records, rookie card */
.gplan{grid-column:1/-1}.gpr{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:14px}.gpl{font:0.9375rem var(--fh);color:var(--lav);margin-bottom:6px}.gpt{font-size:0.875rem;color:var(--dim);margin:6px 0 0}
.gls{display:flex;flex-direction:column;gap:4px}.gi{font-size:1rem;display:flex;gap:7px;align-items:baseline}.gi b{color:var(--gold);font-size:0.8125rem}.gi em{margin-left:auto;font-style:normal;color:var(--lav)}.gi.ok b{color:#2fd06a}.gi.no b{color:#ff5a6a}.gi.no{opacity:.8}
.lastg{display:flex;align-items:center;gap:10px;margin-top:10px;padding-top:8px;border-top:1px solid #1a2258;font-size:1rem}.lastg .btn{margin-left:auto}
.bxl{width:24px;height:22px;vertical-align:middle;margin-right:6px}
.bxh{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;background:linear-gradient(180deg,#1c2560,#10164a);padding:12px;box-shadow:0 0 0 2px #000;margin-bottom:6px}
.bxt{display:flex;align-items:center;gap:10px;font-size:0.9375rem}.bxt.r{justify-content:flex-end;text-align:right}.bxt .bxl{width:56px;height:48px;margin:0}.bxt b{font:1.5rem var(--fd);color:var(--dim)}.bxt.w b{color:var(--gold)}
.bxm{font:0.9375rem var(--fh);text-align:center;color:var(--lav)}.bxm small{display:block;margin-top:5px;color:var(--dim)}
.bxk{font:0.9375rem var(--fh);color:var(--gold);margin:12px 0 6px;display:flex;align-items:center}.bxs{margin-bottom:6px}.bxs td,.bxs th{padding:4px 6px!important;font-size:0.9375rem}
.sgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px}.gr{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;align-items:center;background:#151c4a;border:0;color:var(--ink,#fff);padding:8px;box-shadow:0 0 0 1px #000;font:1rem var(--fb);text-align:left;cursor:pointer;border-radius:2px}
.gr span b{font:1.0625rem var(--fh)}.gr span{display:flex;align-items:center;color:var(--dim)}.gr span b{margin-left:6px;color:var(--dim)}.gr span.w,.gr span.w b{color:#fff}.gr em{font:0.9375rem var(--fh);color:var(--lav);font-style:normal}.gr.me{box-shadow:0 0 0 2px var(--gold)}
.wkb{margin-bottom:12px}.wkh{font:0.9375rem var(--fh);color:var(--lav);margin:4px 0 6px}
.lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.lgrid.one{grid-template-columns:1fr}.ld small{color:var(--dim);font-size:0.8125rem}
.tscroll{overflow-x:auto}.tscroll .stab td,.tscroll .stab th{white-space:nowrap}
.cstat{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:10px}.cstat div{background:#151c4a;box-shadow:0 0 0 1px #000;padding:10px;text-align:center}.cstat b{font:1.0625rem var(--fh);color:var(--gold);display:block;margin-bottom:6px}.cstat span{font-size:0.875rem;color:var(--lav)}
.rcard{display:flex;gap:16px;align-items:flex-start}.rcard img{width:320px;max-width:100%;image-rendering:pixelated;box-shadow:0 0 0 2px #000}.rcb{flex:1}
@media (max-width:760px){.gpr{grid-template-columns:1fr}.cstat{grid-template-columns:repeat(3,1fr)}.rcard{flex-direction:column;align-items:center}.bxt .bxl{width:36px;height:32px}.bxt b{font-size:1rem}.bxt span{display:none}.lastg{flex-wrap:wrap}}
.bxs th{font:0.9375rem var(--fh)!important;color:var(--dim)}.bxs th:first-child{color:var(--gold)}.bxs td:not(:first-child),.bxs th:not(:first-child){text-align:right}
@media (max-width:760px){.bxs td,.bxs th{padding:3px 4px!important;font-size:0.8125rem}.bxs th{font-size:0.8125rem!important}}
/* ---------- M1: The Feed (simulated in-game timeline; pixel look) ---------- */
.scene .mon{flex-direction:column;gap:4%}.scene .mon:has(.monfeed) img{height:40%}
.monfeed{width:92%;background:#05081c;border:2px solid #2a3a8a;box-shadow:0 0 0 2px #000;padding:4px 5px;font:0.9375rem/1.35 var(--fh);color:#dfe3ff}
.monfeed .mfh{margin-bottom:3px}.mfp{display:flex;gap:5px;align-items:flex-start}.mfp img{width:18px!important;height:18px!important;filter:none!important;image-rendering:pixelated;box-shadow:0 0 0 1px #000;flex:none}
.mfp span{display:block;overflow-wrap:break-word;font:0.9375rem/1.4 var(--fh)}.mfp b{color:#fff}
.fwm{font:0.9375rem var(--fh);letter-spacing:1px;color:#fff;background:linear-gradient(180deg,#2a56d8,#1a2b80);padding:3px 6px 2px;box-shadow:2px 2px 0 #000;display:inline-block}
.monfeed .fwm{font-size:0.8125rem;padding:2px 4px}
.vchk{display:inline-block;width:9px;height:9px;margin:0 3px;vertical-align:-1px;background:#3aa0ff;box-shadow:0 0 0 1px #000;clip-path:polygon(0 30%,30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%);position:relative}
.vchk::after{content:"";position:absolute;left:2px;top:1px;width:3px;height:5px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(40deg)}
.feedp .fl{max-height:330px;overflow:auto}.fl{display:flex;flex-direction:column;gap:6px}
.fp{display:flex;gap:9px;padding:8px;background:#0b1135;border:2px solid #1d2763;box-shadow:0 0 0 1px #000}.fp.tis{border-color:#2a56d8;background:#0e1748}
.fav{width:34px;height:34px;image-rendering:pixelated;box-shadow:0 0 0 2px #000;background:#000;object-fit:contain;flex:none}
.fb{flex:1;min-width:0}.fh{font-size:0.9375rem;display:flex;align-items:center;flex-wrap:wrap;gap:2px}.fh b{color:#fff}.fh span{color:var(--dim);font-size:0.8125rem;margin-left:4px}
.ft{font-size:0.9375rem;line-height:1.4;margin:3px 0 5px;color:#e8eaff;overflow-wrap:break-word}.fx{display:flex;gap:18px;font-size:0.8125rem;color:var(--dim)}
.otx{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:#1a1405;border:2px solid #6b5418;padding:6px 8px;margin-bottom:8px;font-size:0.9375rem}
.otx .ol{font:0.9375rem var(--fh);background:var(--gold);color:#000;padding:3px 5px}.otx em{color:#b9a46a;font-size:0.8125rem;margin-left:auto}
.feedwrap{max-width:720px}.fwh{display:flex;gap:12px;align-items:center;margin-bottom:10px;flex-wrap:wrap}
/* ---------- M1: Awards Night ---------- */
.stage{position:relative;text-align:center;padding:18px 10px 12px;margin:-4px 0 10px;background:radial-gradient(ellipse at 50% 0,#3b3a8a 0,#141c46 55%,#0a0f2c 100%);box-shadow:inset 0 -6px 0 #000,0 0 0 2px #000}
.stage p{margin:0;font-size:0.9375rem;color:var(--lav)}.stage .spot{height:14px;background:repeating-linear-gradient(90deg,#ffd65a 0 6px,transparent 6px 14px);opacity:.7;margin-bottom:8px}
.awl{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.awc{background:#0d1240;box-shadow:0 0 0 2px #000,inset 0 0 0 2px #2a3a8a;padding:10px}.awc.me{box-shadow:0 0 0 2px #000,inset 0 0 0 2px var(--gold);background:#1c1a3c}
.awt{font:0.9375rem/1.5 var(--fh);color:var(--gold);margin-bottom:8px;display:flex;justify-content:space-between;gap:6px}.yours{background:var(--gold);color:#000;padding:2px 4px;font-size:0.8125rem}
.awb{display:flex;gap:10px;align-items:center}.awph{width:64px;height:64px;image-rendering:pixelated;box-shadow:0 0 0 2px #000;background:#22783b;flex:none}.awph.coach{display:flex;align-items:center;justify-content:center}.awph.coach img{width:52px;height:46px}
.awn{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.awn b{font-size:0.9375rem;color:#fff}.awn span{font-size:0.875rem;color:var(--lav);display:flex;align-items:center}.awn em{font-size:0.875rem;color:#ffe9a8;font-style:normal}
.trophy{width:22px;height:30px;flex:none;background:linear-gradient(#ffd65a,#e8a018);clip-path:polygon(0 0,100% 0,100% 30%,70% 55%,62% 75%,85% 85%,85% 100%,15% 100%,15% 85%,38% 75%,30% 55%,0 30%)}
.awf{margin-top:8px;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:0.8125rem;color:var(--dim)}.awf span{display:flex;align-items:center}.awf .me{color:var(--gold)}.awf .sh{margin-left:auto}
.awf .bxl,.awn .bxl{width:20px;height:18px}
.augrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}.aug{background:#0d1240;box-shadow:0 0 0 2px #000;padding:6px}
.aup{font:0.9375rem var(--fh);color:var(--gold);margin-bottom:5px}.aur{display:flex;gap:6px;align-items:center;padding:3px;font-size:0.875rem}.aur.me{background:#2a2410;box-shadow:inset 0 0 0 1px var(--gold)}
.aur img:first-child{width:30px;height:30px;image-rendering:pixelated;box-shadow:0 0 0 1px #000}.aur .bxl{width:20px;height:18px}.aur span{display:flex;flex-direction:column;min-width:0}.aur em{font-style:normal;color:var(--dim);font-size:0.8125rem;overflow-wrap:break-word;min-width:0}
.axt{display:flex;flex-wrap:wrap;gap:6px}.axt span{display:flex;align-items:center;gap:4px;background:#0d1240;padding:5px 8px;box-shadow:0 0 0 2px #000;font-size:0.875rem}.axt span b{margin-right:4px}.axt .me{box-shadow:0 0 0 2px var(--gold)}
/* ---------- M1: End of Season Report ---------- */
.rph{display:flex;gap:12px;align-items:center;background:#0d1240;padding:10px;box-shadow:0 0 0 2px #000;margin-bottom:10px}.rph>img{width:64px;height:56px}
.rph div{display:flex;flex-direction:column;gap:3px}.rph b{font-size:1.0625rem}.rph span{color:var(--gold);font:0.9375rem/1.5 var(--fh)}.rph em{font-style:normal;color:var(--dim);font-size:0.875rem}
.repg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.rpc{background:#0d1240;box-shadow:0 0 0 2px #000;padding:10px}
.rpc h4{font:0.9375rem var(--fh);color:var(--gold);margin:0 0 8px}.rpc h4:not(:first-child){margin-top:10px}
.rr{display:flex;gap:8px;align-items:baseline;padding:3px 0;border-bottom:1px solid #1d2763;font-size:0.9375rem}.rr span{color:var(--lav);min-width:110px}.rr em{margin-left:auto;font-style:normal;color:var(--dim)}.rr.me b{color:var(--gold)}
.rr .up{color:#2fd06a;min-width:44px}.rr .dn{color:#ff5a6a;min-width:44px}
.chips{display:flex;flex-wrap:wrap;gap:4px;margin:0}.chips span{background:#2a2410;box-shadow:inset 0 0 0 1px var(--gold);padding:3px 6px;font-size:0.875rem}
.rcard.rep{margin-bottom:10px}
@media (max-width:760px){.repg{grid-template-columns:1fr}.awl,.augrid{grid-template-columns:1fr}.rr span{min-width:90px}.monfeed{display:none}.scene .mon:has(.monfeed) img{height:78%}}
.feedp{grid-column:1/-1}
/* ===== M2 Key Drive overlay ===== */
#kd{position:fixed;inset:0;z-index:60;overflow:auto;background:radial-gradient(ellipse at 50% -10%,#24317e 0,#0a0f2c 60%) fixed;padding-bottom:20px}
#kd .tag{margin-left:0;font:0.9375rem var(--fh);padding:4px 6px;box-shadow:0 0 0 2px #000;display:inline-block;white-space:nowrap;color:#fff;border:0}
#kd .tag.g{background:#2c9a48}#kd .tag.y{background:#ffc83c;color:#000}#kd .tag.r{background:#d8283a}#kd .tag.b{background:#2a56d8}#kd .tag.p{background:#7a3ab8}
#kd button.tag{cursor:pointer}#kd button.tag:disabled{opacity:.45;cursor:default}
#kd .btn.red{background:linear-gradient(180deg,#ff8a96 0,#d8283a 48%,#a8101f 52%,#e83a4c 100%);color:#fff;text-shadow:1px 1px 0 #000}#kd .btn:disabled{filter:grayscale(.8);opacity:.6}
.kdtop{display:flex;align-items:center;gap:16px;padding:8px 16px;background:var(--chrome);box-shadow:0 2px 0 #000;position:relative;flex-wrap:wrap}
.kdtop::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:3px;background:linear-gradient(90deg,#d8283a,#ffc83c,#2a56d8)}
.kdbrand{display:flex;align-items:center;gap:10px}.kdbrand img{width:44px;height:36px}.kdbrand h1{margin:0;font:1rem var(--fd);color:var(--gold);text-shadow:2px 2px 0 #8a1020}.kdbrand .sub1{font-size:0.875rem;color:var(--lav);margin-top:4px}
.kdmeta{display:flex;gap:18px;margin-left:auto}.kdmeta .m{display:flex;flex-direction:column}.kdmeta span{font-size:0.8125rem;color:var(--lav)}.kdmeta b{font:0.6875rem var(--fd);margin-top:4px}
.kdmain{padding:12px 14px;max-width:1280px;margin:0 auto}
.kdmain.sb3{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:6px;align-items:start}.kdmain.sb3 .kdlog{grid-column:1}
.kdsb .sbrow{display:flex;align-items:center;gap:14px;justify-content:space-between}.sbt{display:flex;align-items:center;gap:10px;min-width:0}.sbt.r{text-align:right}.sbt img.big{width:64px;height:54px}.sbt b{font:1rem var(--fh);display:block}.sbt span{font-size:0.875rem;color:var(--lav)}
.sbs{font:2.875rem var(--fd);color:var(--gold);text-shadow:3px 3px 0 #8a1020,4px 4px 0 #000}.sbc{text-align:center}.sbc b{font:1.75rem var(--fd);color:#ff5a3a;text-shadow:2px 2px 0 #000;display:block}.sbc span{font:0.9375rem var(--fh);color:var(--lav)}
.qtab{margin:12px auto;border-collapse:collapse;font:0.9375rem var(--fh)}.qtab td,.qtab th{border:1px solid #3a4388;padding:6px 12px;text-align:center}.qtab th{color:var(--lav);font-weight:400}.qtab .gold{color:var(--gold)}
.spd{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;font:0.9375rem var(--fh);color:var(--lav)}
.kdside .panel{margin:6px 0 12px}.wpbar{display:flex;height:16px;box-shadow:0 0 0 2px #000;margin:4px 0 10px}.wpbar i{display:block}
.kv{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px solid rgba(170,180,255,.15);font-size:0.9375rem}.kv span{color:var(--lav)}.kv b{font-weight:400;text-align:right}
.aro{display:flex;align-items:center;gap:6px;font-size:0.9375rem;padding:4px 0}.aro img{width:22px;height:18px}.aro b{color:var(--gold);margin-right:6px}.aro span{margin-left:auto;font:0.9375rem var(--fh);color:var(--lav)}
.kdlog{margin-top:6px}.lrow{display:flex;align-items:center;gap:12px;padding:9px 12px;margin:0 6px 8px;background:linear-gradient(90deg,rgba(10,15,44,.9),rgba(29,39,99,.9));box-shadow:0 0 0 2px #000,0 0 0 3px #3a4388;font-size:0.9375rem}
.lrow.live{box-shadow:0 0 0 2px #000,0 0 0 3px #ffc83c;background:linear-gradient(90deg,#3a2a08,#1d2763)}.lrow.dim{opacity:.55}.lrow img{width:28px;height:22px}.lq{font:0.9375rem var(--fh);color:var(--lav);width:76px;flex:none}.lt{flex:1}.lr{font:0.9375rem var(--fh);color:#ff8a96;white-space:nowrap}.lr.me{color:var(--gold)}.lrow.live .lr{color:var(--gold)}
.kdflash{position:fixed;inset:0;z-index:70;display:grid;place-items:center;background:rgba(5,8,25,.72)}
.kdf{background:var(--panel);box-shadow:var(--edge);padding:20px 24px;max-width:760px;width:calc(100% - 30px);text-align:center}.kdf h2{font:1rem/1.5 var(--fd);color:var(--gold);margin:0 0 10px;text-shadow:2px 2px 0 #8a1020}.kdf p{color:var(--lav);margin:0 0 16px}
.adjs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.adj{background:linear-gradient(180deg,#2a3576,#141c46);border:0;color:var(--wht);text-align:left;padding:12px;box-shadow:0 0 0 2px #000,0 0 0 4px #6f7fd8;display:flex;flex-direction:column;gap:8px;cursor:pointer;font-family:inherit}
.adj:hover{box-shadow:0 0 0 2px #000,0 0 0 4px #ffc83c}.adj b{font:0.9375rem/1.5 var(--fh);color:var(--gold)}.adj em{font-style:normal;font-size:0.9375rem;color:var(--lav)}.adj .tag{align-self:flex-start}
.fw{position:relative;box-shadow:var(--edge);margin:4px 2px 0}.fw canvas{width:100%;display:block;image-rendering:pixelated;aspect-ratio:416/120}
.bugw{position:absolute;left:12px;top:10px}
#kd .bug{display:flex;align-items:stretch;box-shadow:0 0 0 2px #000,0 0 0 4px #c0c8ff,0 0 0 6px #000,4px 6px 0 4px rgba(0,0,0,.6);background:#0a0f2c;font-family:var(--fh)}
#kd .bug .tm{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:0.875rem;color:#fff;text-shadow:2px 2px 0 #000}#kd .bug .tm img{width:32px;height:26px}#kd .bug .tm .sc{font-size:1.25rem;margin-left:4px}
#kd .bug .to{display:flex;gap:3px;margin-left:4px}#kd .bug .to i{width:10px;height:4px;background:#ffc83c;box-shadow:0 0 0 1px #000}#kd .bug .to i.u{background:#333}
#kd .bug .clk{padding:6px 14px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(180deg,#2a3576,#0e1436);gap:5px}#kd .bug .clk b{font-size:0.9375rem;color:#ffc83c}#kd .bug .clk span{font-size:0.8125rem;color:var(--lav)}
#kd .bug .dd{padding:6px 14px;display:flex;flex-direction:column;justify-content:center;gap:5px;background:linear-gradient(180deg,#fff0a8,#ffc83c 50%,#e8a018);color:#000}#kd .bug .dd b{font-size:0.875rem}#kd .bug .dd span{font-size:0.8125rem}
.fw .focus{position:absolute;right:12px;top:10px;background:linear-gradient(180deg,#2a3576,#0e1436);box-shadow:0 0 0 2px #000,0 0 0 4px #ffc83c,0 0 0 6px #000;padding:7px 10px;display:flex;flex-direction:column;gap:5px}
.fw .focus .k{font:0.9375rem var(--fh);color:var(--lav)}.fw .focus .v{font:0.9375rem var(--fh);color:var(--gold)}.fw .focus .v2{font:0.9375rem var(--fh);color:#ff8a5a}
.fw .situ{position:absolute;right:12px;top:84px;font:0.9375rem/1.9 var(--fh);background:rgba(0,0,0,.72);padding:6px 12px;box-shadow:0 0 0 2px #000,0 0 0 3px #6f7fd8;max-width:46%}
.fw .situ .gold{color:var(--gold)}.fw .situ .lav{color:var(--lav)}
.fw .lastp{position:absolute;left:12px;bottom:10px;font-size:0.9375rem;background:rgba(0,0,0,.72);padding:5px 10px;box-shadow:0 0 0 2px #000;max-width:70%}
.strip{display:flex;align-items:center;gap:12px;margin:16px 2px 10px;flex-wrap:wrap}.strip h3{margin:0;font:0.6875rem var(--fd);color:var(--gold);text-shadow:1px 1px 0 #000}.strip .lav{color:var(--lav);font-size:0.9375rem}.strip .r{margin-left:auto;display:flex;gap:10px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;padding:0 4px}
.pcard{background:var(--panel);box-shadow:var(--edge);padding:8px;display:flex;flex-direction:column;gap:6px;position:relative;border:0;color:var(--wht);text-align:left;cursor:pointer;font-family:inherit}
.pcard:hover,.pcard.sel{box-shadow:0 0 0 2px #000,0 0 0 4px #ffc83c,0 0 0 6px #000,0 0 18px 6px rgba(255,200,60,.45)}
.pcard .n{font:0.9375rem var(--fh);color:#fff;text-shadow:1px 1px 0 #000;display:flex;justify-content:space-between;align-items:center;gap:4px;min-height:22px}
.pcard canvas{width:100%;height:auto;aspect-ratio:60/32;background:#287a33;box-shadow:0 0 0 2px #000;image-rendering:pixelated}
.pcard .ln{font-size:0.875rem;color:var(--lav);display:flex;justify-content:space-between}.pcard .ln b{color:var(--wht);font-weight:normal}.pcard .ln .gold{color:var(--gold);font:0.9375rem var(--fh)}
.pcard .key{position:absolute;top:-8px;left:-8px;font:0.9375rem var(--fh);background:#ffc83c;color:#000;width:20px;height:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #000}
/* Key Drive scout report + lean-on player chips (kd-scout preview) */
.kdscout{margin:14px 4px 10px;padding:10px 12px}
.kdscout p{margin:0;font-size:0.9375rem;color:var(--lav);line-height:1.55;max-width:52rem}
.kdfeat{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 4px 0}
.kdfeat .lab{font:0.6875rem var(--fd);color:var(--gold);text-shadow:1px 1px 0 #000;margin-right:4px}
.kdfeat .fchip{border:0;cursor:pointer;font:0.875rem var(--fh);color:#fff;background:linear-gradient(180deg,#2a3576,#151c4a);box-shadow:0 0 0 2px #000;padding:6px 10px;text-shadow:1px 1px 0 #000}
.kdfeat .fchip b{color:var(--lav);margin-right:4px}
.kdfeat .fchip.on{color:#000;background:linear-gradient(180deg,#fff0a8,#ffc83c 50%,#e8a018);text-shadow:none}
.kdfeat .fchip.on b{color:#000}
@media (max-width:760px){.kdscout{margin:10px 0}.kdfeat{margin:10px 0 0}}

.snapw{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:14px;margin-top:6px}
.meter .bar{position:relative;height:40px;background:#000;box-shadow:0 0 0 2px #f2f2f6,3px 3px 0 2px #000;margin:14px 6px 8px;overflow:hidden;cursor:pointer}
.meter .bar .z{position:absolute;top:0;bottom:0}.meter .bar .early{left:0;background:repeating-linear-gradient(90deg,#3a2020 0 6px,#2a1818 6px 12px)}
.meter .bar .good{background:linear-gradient(180deg,#9cf5b4,#3fc463 45%,#1f8a3c 55%,#36b057)}.meter .bar .perf{background:linear-gradient(180deg,#fff6c8,#ffc83c 50%,#e08a10);box-shadow:0 0 12px 4px rgba(255,200,60,.7)}
.meter .bar .late{right:0;background:repeating-linear-gradient(90deg,#4a1010 0 6px,#300a0a 6px 12px)}
.meter .needle{position:absolute;top:-6px;bottom:-6px;left:0;width:6px;margin-left:-3px;background:#fff;box-shadow:0 0 0 2px #000,0 0 10px 3px #fff}
.meter .ticks{display:flex;justify-content:space-between;font:0.9375rem var(--fh);color:var(--lav);margin:0 6px}
.tap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:0;color:var(--wht);cursor:pointer;font-family:inherit}
.tap .key{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;font:1.375rem var(--fd);color:#000;background:radial-gradient(circle at 35% 30%,#fff6c8,#ffc83c 45%,#d88a10);box-shadow:0 0 0 3px #000,0 0 0 6px #ffc83c,0 0 0 8px #000,0 0 20px 6px rgba(255,200,60,.5)}
.tap .t{font:0.9375rem var(--fh);color:var(--gold)}
.convw{margin-top:12px}.kdend{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;background:rgba(5,8,25,.84);padding:14px 22px;box-shadow:0 0 0 2px #000,0 0 0 4px #ffc83c}
.kdend h2{margin:0 0 8px;font:1rem var(--fd);color:var(--gold)}.kdend.l h2{color:#ff8a96}.kdend p{margin:0 0 8px;color:var(--lav)}.kdend b{font:0.9375rem var(--fh)}
.dlog{margin-top:16px}.kdbtns{display:flex;justify-content:flex-end;margin-top:8px}
.kdbox{margin:6px 0 10px;padding:8px 10px;background:rgba(255,200,60,.08);box-shadow:0 0 0 2px #000,0 0 0 3px #ffc83c;font-size:0.9375rem}.kdbox b{font:0.9375rem var(--fh);color:var(--gold)}
@media (max-width:760px){
 .kdmain.sb3{grid-template-columns:1fr}.kdmain{padding:8px}.kdmeta{gap:10px}.kdbrand h1{font-size:0.75rem}.kdtop .btn{width:100%}
 .kdsb .sbrow{flex-wrap:wrap;gap:6px 8px}.kdsb .sbc{order:-1;flex-basis:100%}.kdsb .sbt{flex:1 1 0;flex-direction:column;gap:4px;text-align:center}.kdsb .sbt.r{flex-direction:column-reverse}.kdsb .sbt b{font:1rem var(--fb);letter-spacing:.02em}.sbt>div{min-width:0}.sbt b{overflow-wrap:break-word;line-height:1.3}
 .sbs{font-size:1.75rem}.sbc b{font-size:1.125rem}.sbt img.big{width:38px;height:32px}.sbt b{font-size:0.8125rem}.qtab td,.qtab th{padding:4px 7px}
 .adjs{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr;gap:12px}.snapw{grid-template-columns:1fr}.tap .key{width:72px;height:72px;font-size:1rem}
 .bugw{position:static;margin:0 0 6px}.fw .focus{display:none}.fw .situ{position:static;max-width:none;margin-top:4px}#kd .bug{flex-wrap:wrap}#kd .bug .tm{padding:4px 8px;font-size:0.8125rem}#kd .bug .tm .sc{font-size:1rem}#kd .bug .clk,#kd .bug .dd{padding:4px 8px}
 .fw{box-shadow:none;margin:0}.fw .lastp{position:static;max-width:none;margin-top:4px}.kdend{position:static;transform:none;margin-top:6px}}
.kdmain.sb3 .kdsb{grid-column:1;grid-row:1}.kdmain.sb3 .kdside{grid-column:2;grid-row:1/span 2}.kdmain.sb3 .kdlog{grid-row:2}@media (max-width:760px){.kdmain.sb3 .kdsb,.kdmain.sb3 .kdside,.kdmain.sb3 .kdlog{grid-column:1;grid-row:auto}}
.kdmain.sb3{grid-template-rows:auto 1fr}

/* ===== Playtest round 1: readability, contrast, touch targets ===== */
small{font-size:inherit}
.og{background:#1b6e31!important;color:#fff}
.tag.right,#kd .tag.right{background:#17652c;color:#fff}
.btn.trade{background:linear-gradient(180deg,#c43a48 0,#a8101f 48%,#860a16 52%,#b01e2d 100%)}
@media (pointer:coarse),(max-width:760px){
 .pill,.dtabs button,.sbar button,.pills button{min-height:36px;padding-top:8px;padding-bottom:8px}
 .nav button{min-height:40px}
 .btn{min-height:36px}.btn.sm{min-height:34px}
 input[type=checkbox]{width:24px;height:24px;margin:4px}
 label.ta,.tl label{min-height:40px;display:flex;align-items:center}
 .lane .pm{flex-direction:row;gap:6px}.lane .pm button{width:34px;height:34px}
 .x{min-width:40px;min-height:40px}
}
/* ===== Playtest round 1: layout wrapping, bottom sheet, settings, tips, glossary, high contrast ===== */
.tscroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.two>*,.sgrid>*,.view>*,.panel{min-width:0}
.otc{flex-wrap:wrap}.otc>div:not(.clock){flex:1 1 160px;min-width:0}.otc h2{overflow-wrap:break-word}
.dhead{flex-wrap:wrap}.dhead>div{min-width:0;flex:1 1 150px}.dhead h2,.dhead .sub{overflow-wrap:break-word}
.ctip{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:6px 6px 10px;padding:10px 12px;background:#0b2a17;color:#e9fff0;box-shadow:0 0 0 2px #000,0 0 0 4px #2c9a48;font-size:1rem;line-height:1.5}
.ctip b{font:0.9375rem var(--fh);color:#ffe27a}.ctip>span:not(.cta){flex:1 1 220px}.ctip .cta{display:flex;gap:6px}
.setw .srow{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #2a3680}
.setw .sl{flex:1 1 200px;font-size:1rem}.setw .srow small{font-size:0.875rem;margin-top:4px;line-height:1.5}
.gloss{margin:0;max-height:60vh;overflow:auto}.gloss dt{font:1rem var(--fh);color:var(--gold);margin-top:12px}.gloss dd{margin:4px 0 0;font-size:1rem;line-height:1.5}
.shx{display:none}
@media (max-width:760px){
 .btn{white-space:normal}
 .panel.det.sheet{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:70;max-height:82vh;overflow:auto;margin:0;padding-top:4px;box-shadow:0 -4px 0 2px #000,0 -8px 24px rgba(0,0,0,.7)}
 .panel.det.sheet .shx{display:block;width:100%;min-height:44px;margin:0 0 8px;font:1rem var(--fh);color:var(--wht);background:#1d2763;border:0;box-shadow:0 0 0 2px #000}
 #sheetBg{position:fixed;inset:0;z-index:69;background:rgba(0,0,0,.55)}
 .otc .clock{margin-left:0}
}
body.hc{--lav:#e3e8ff;--dim:#d0d5f5;--panel:#05081e;--chrome:#0a0f2c;background:#000}
body.hc .panel,body.hc .mbox{background:#05081e!important}
body.hc .muted,body.hc .note,body.hc .sub,body.hc small{color:#eef0ff!important}
body.hc .btn{box-shadow:0 0 0 2px #fff!important}
body.hc .pill.on,body.hc .nav button.on{outline:3px solid #ffe27a;outline-offset:-3px}
body.hc a:not(.btn){color:#9fd0ff}
.ob{background:#a8101f!important;color:#fff}
@media (pointer:coarse),(max-width:760px){input[type=checkbox]{flex:none;min-width:24px}}
.li{overflow-x:clip;overflow-y:visible}
/* M3 camp */
.mgbar{position:relative;height:28px;background:#0e1438;box-shadow:0 0 0 2px #000,inset 0 0 0 1px #3a4388;margin:12px 0}
.mgz{position:absolute;top:0;bottom:0;background:#ffc83c55;box-shadow:inset 0 0 0 2px #ffc83c}
.mgm{position:absolute;top:-4px;bottom:-4px;width:4px;margin-left:-2px;background:#fff}
.cstep{flex-wrap:wrap;margin-bottom:10px}.cstep .pill{cursor:default}
.up{color:#5be37d}.dn{color:#ff7b7b}.warn{color:#ffc83c}
.gsteps{margin:.25rem 0 0 1.1rem;padding:0;display:grid;gap:.2rem}.gsteps li{list-style:none;font-size:0.9375rem}.gsteps li.now{color:var(--gold);font-weight:700}
.press .pills{display:flex;flex-wrap:wrap;gap:.5rem}.press .btn{white-space:normal;text-align:left;min-height:40px}
.rcp{white-space:normal}.rcp span{display:block;white-space:nowrap;font-size:0.875rem;margin-right:.25rem}
.dc{display:inline-block;margin-right:.6rem;font-size:0.9375rem}.stabs{margin:0 0 .5rem;flex-wrap:wrap}
/* Round 2 playtest fixes: tap targets, narrow phones at large text, wrap instead of ellipsis */
.lane .pm button{width:32px;height:32px}.lane .pm{flex-direction:row;gap:6px}
.pill,.pills button{min-height:32px}
.li .mk.flip{border-left:0;border-right:2px solid var(--gold);padding:0 5px 0 0;transform:translateX(-100%)}
.chh{flex-wrap:wrap;row-gap:4px}.chh b{flex:1 1 8em;min-width:0}.tag{white-space:normal;max-width:100%}
.lane{flex-wrap:wrap}.lane .lnm,.nm b,.nm span,.cell .ci b,.sub1{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:break-word}
.nm span,.sub1{font-size:0.8125rem;line-height:1.3}
@media (max-width:380px){.lanes{grid-template-columns:1fr}}
.wg .more{flex:1;min-width:0}.wg .more summary{cursor:pointer;font:0.9375rem var(--fh);color:var(--lav);min-height:32px;display:flex;align-items:center;justify-content:flex-end}
/* ticker mini-logo polish: keep aspect, sit above the dot-matrix overlay, small dark plate so it reads on amber text */
.ticker .tkl{position:relative;z-index:1;height:1.5em;width:auto;max-width:2.2em;object-fit:contain;vertical-align:middle;margin:0 .35em 0 .15em;padding:1px 2px;background:#1a0f02;box-shadow:0 0 0 1px #3a2408;border-radius:2px;image-rendering:auto;filter:drop-shadow(0 0 2px rgba(255,176,40,.35))}
@media (max-width:360px){.modal{padding:6px}.mbox{padding:8px}.rcard img{width:100%}}
.rivb{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;margin:0 0 10px;padding:8px 10px;background:linear-gradient(90deg,#5a0f18,#2a0a24);box-shadow:0 0 0 2px #000,0 0 0 3px #d8283a;border-radius:2px}
.rivb b{font:0.9375rem var(--fh);color:#ffd65a}.rivb span{font-size:0.9375rem;color:#ffe9e9}.rivb.r1{background:linear-gradient(90deg,#2a2270,#151c4a);box-shadow:0 0 0 2px #000,0 0 0 3px #8a96e8}
#kd .rivb{margin:6px 10px}

small.rk{display:block;margin-top:2px}
.cdec{display:flex;flex-wrap:wrap;gap:4px}.tscroll .ctab td:last-child{white-space:normal;min-width:180px}
.clist{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:6px;margin:6px 0}.crow{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:8px;background:rgba(0,0,0,.25);box-shadow:0 0 0 1px #2a3576}.crow.fy{box-shadow:0 0 0 2px #ffc83c}.crow .cn b{display:block;overflow-wrap:break-word}.crow span{display:block;font-size:0.9375rem;color:var(--lav)}.crow .ct{text-align:right}.crow .cdec{grid-column:1/-1}.csec{margin:10px 0 4px;color:var(--gold)}
@media(max-width:380px){.clist{grid-template-columns:1fr}}

/* Contracts + movable depth chart */
.crow.uh{box-shadow:0 0 0 2px #e85d5d}.cprot{margin:8px 0 12px;padding:8px;background:rgba(0,0,0,.2);box-shadow:0 0 0 1px #2a3576}
.dboard{display:flex;flex-direction:column;gap:10px;margin-top:6px}.dpos{background:rgba(0,0,0,.22);box-shadow:0 0 0 1px #2a3576;padding:6px}
.dposh{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;color:var(--gold)}.dposh span{color:var(--lav);font-size:.9rem}
.dposl{display:flex;flex-direction:column;gap:4px}.dmove{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:4px 6px;background:rgba(0,0,0,.25)}
.dmove .dc{flex:1;min-width:0;overflow-wrap:break-word}.dmove .dc.st b{color:var(--gold)}.dmv{display:flex;gap:4px;flex:none}
.dmv .btn{min-width:44px;min-height:44px;padding:0}.crow .cdec .btn{min-height:44px}
@media(max-width:400px){.dmove{flex-wrap:wrap}.dmv{margin-left:auto}}
/* Round 3 playtest fixes */
.pill,.pills button{min-width:32px;min-height:32px}
label:has(>input[type=checkbox]){min-height:40px;display:inline-flex !important;align-items:center;gap:8px;cursor:pointer;padding:0 6px 0 0}
label>input[type=checkbox],.stab input[type=checkbox]{width:24px;height:24px;margin:0 2px;flex:none;cursor:pointer}
:root{--dim:#b3b9ea}.m span,.sub1{color:#dfe3ff}
@media (max-width:760px){#v-hub .lane .lnm,#v-hub .nm b,#v-hub .nm span,#v-hub .cell .ci b,#v-hub .lrow b,#v-hub .lrow span,#v-hub .tag,#v-hub .tells span{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:break-word;min-width:0}#v-hub .lrow{flex-wrap:wrap;height:auto}}
/* conference / seeding explainer + playoff picture */
.cfx{font-size:1.0625rem;line-height:1.45}.cfx .eus,.cfx .eut,.cfx .eub{text-align:center}
body:not(.e64) .cfx .eus{font:1rem var(--fh);color:#ffd23a;letter-spacing:2px}
body:not(.e64) .cfx .eut{font:1.0625rem var(--fh);margin:8px 0}
body:not(.e64) .cfx .eub{font:1.75rem var(--fd);color:#ffc83c;text-shadow:3px 3px 0 #000;margin-bottom:8px}
.cfx .cfb{font-size:3.25rem}.cfn{text-align:center;font-size:1.125rem;margin:6px 0}
.cfg{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0;text-align:left}
.cfc h4{margin:0 0 6px;font-size:1.125rem;color:#ffd23a}.cft{display:flex;align-items:center;gap:8px;min-height:44px;padding:2px 6px;font-size:1rem}
.cft img{width:32px;height:32px;object-fit:contain}.cft.me{background:rgba(255,210,58,.18);border-radius:6px;font-weight:700}
.cfl{text-align:left;padding-left:1.2em;margin:8px 0}.cfl li{margin:6px 0}
.cfx .adv{display:flex;justify-content:center}.cfx .adv .btn,button.lnk{min-height:44px;min-width:44px}
.cfx .adv .btn{font-size:1rem;padding:12px 28px}
button.lnk{background:none;border:0;color:#7fd0ff;text-decoration:underline;cursor:pointer;font:inherit;padding:0 6px}
.bkt .bkr{margin:8px 0}.bkt h4{margin:4px 0;color:#ffd23a}.bkm{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid #1a2258;min-height:44px}
.bk{display:inline-flex;align-items:center;gap:5px}.bk img{width:24px;height:24px;object-fit:contain}.bk.me{color:#ffd23a;font-weight:700}.bkm.bye{opacity:.85}
@media(max-width:760px){.cfx .cfb{font-size:2.25rem}.cfg{grid-template-columns:1fr 1fr;gap:6px}.cft{font-size:0.9375rem}body:not(.e64) .cfx .eub{font-size:1.25rem}}
/* customize conferences */
.cux .cfg{align-items:start}.cun{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;font-size:1rem}
.cun input{min-height:44px;font:inherit;font-size:1rem;padding:6px 10px;border:2px solid #000;border-radius:6px;background:#fff;color:#000;width:100%;box-sizing:border-box}
button.cut{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;margin:4px 0;padding:4px 8px;background:rgba(255,255,255,.06);border:1px solid #2a3a8a;border-radius:6px;color:inherit;font:inherit;font-size:0.9375rem;text-align:left;cursor:pointer}
button.cut span{flex:1}button.cut b{font-size:1.25rem;color:#ffd23a}button.cut.me{background:rgba(255,210,58,.18)}
.cum{text-align:center;font-weight:700;color:#7dff9a}.cum.bad{color:#ff8a8a}.cux .adv{gap:10px;flex-wrap:wrap}
@media(max-width:760px){button.cut{font-size:0.9375rem;padding:4px 5px;gap:5px}button.cut img{width:24px;height:24px}}
#mbox:has(.cux) .mh .x,#mbox:has(.cfx) .mh .x{min-width:44px;min-height:44px}
button.cut img{width:32px;height:32px;object-fit:contain;flex:none}
/* Roster tab */
.hubros{margin:8px 0}.hubros .btn{min-height:44px}
.ros .rbar{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin:8px 0}
.ros .rgrp,.ros .rsort,.ros .rpos{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ros .rpos{margin-bottom:8px}
.ros .pill{min-height:44px;min-width:44px;padding:0 12px;border-radius:22px;border:1px solid #fff3;background:#0003;color:inherit;font:inherit;cursor:pointer}
.ros .pill.on{background:#f5c542;color:#111;border-color:#f5c542}
.rlist{display:flex;flex-direction:column;gap:6px}
.rrow{display:flex;align-items:center;gap:10px;min-height:56px;width:100%;text-align:left;padding:6px 10px;border-radius:10px;border:1px solid #fff2;background:#ffffff0d;color:inherit;font:inherit;cursor:pointer}
.rrow img{width:44px;height:44px;border-radius:8px;object-fit:cover;image-rendering:pixelated;flex:none;background:#0004}
.rrow .rn{flex:1;min-width:0;display:flex;flex-direction:column}.rrow .rn b{overflow-wrap:break-word;min-width:0}
.rrow small{opacity:.75;font-size:12px}.rrow .rd{font-size:12px;opacity:.85;flex:none;width:72px;text-align:right}
.rrow .ro{flex:none;width:44px;text-align:center;display:flex;flex-direction:column}.rrow .ro b{font-size:20px}
.rrow.hurt{border-color:#e5484d88}
.rfl{display:flex;flex-wrap:wrap;gap:4px}.fl{font-style:normal;font-size:11px;padding:1px 6px;border-radius:8px;background:#fff2}
.fl.inj{background:#e5484d}.fl.foc{background:#f5c542;color:#111}.fl.rk{background:#2f8f5b}.fl.ci{background:#4a6fd8}
.rch{display:flex;gap:14px;align-items:center;padding:12px;border-radius:12px;background:linear-gradient(135deg,var(--c1),var(--c2));color:#fff;margin-bottom:10px}
.rch img{width:96px;height:96px;border-radius:10px;object-fit:cover;image-rendering:pixelated}.rco{font-size:34px;font-weight:800}.rco small{font-size:12px;margin-left:4px}
@media(max-width:480px){.rrow .rd{width:56px;font-size:11px}.ros .rbar{flex-direction:column}}
/* season-1 import */
.s1 textarea{width:100%;box-sizing:border-box;min-height:120px;font:13px/1.4 monospace;background:#0006;color:inherit;border:1px solid #fff3;border-radius:8px;padding:8px}
.s1btns{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0 8px}.s1big{min-height:52px;font-size:16px;flex:1 1 220px;padding:10px 16px}.s1big:focus-visible{outline:3px solid #7fd3ff;outline-offset:2px}.s1 .cbody,.s1note{font-size:16px}@media(max-width:600px){.s1big{flex-basis:100%;width:100%}}

/* boot intro + 32-bit title (brand look in every era) */
#intro{position:fixed;inset:0;z-index:9999;background:#000;color:#fff;font-family:"PS2P",monospace;overflow:hidden}
#intro[hidden]{display:none}
#intro .ib{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center}
#intro .it{font-size:clamp(14px,4vw,30px);line-height:1.8;letter-spacing:2px;opacity:0;transition:opacity .6s steps(6);text-shadow:2px 2px 0 #c0392b,4px 4px 0 #0008}
#intro .it.in{opacity:1}#intro:not(.rm) .it.in{animation:shim 2.4s steps(2) infinite}
@keyframes shim{0%,100%{transform:translateX(0)}50%{transform:translateX(1px)}}
#intro .crt{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 2px,#0004 2px 3px)}
#intro.rm .it{transition:opacity .4s linear}
#intro .ttl{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:16px 12px}
#ttlC{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;object-fit:cover;z-index:0}
#intro .ilogo,#intro .tmenu,#intro .disc{position:relative;z-index:1}
#intro .ilogo{margin-top:6vh;text-align:center;display:flex;flex-direction:column;gap:8px}
#intro .t1{font-size:clamp(14px,3vw,22px);color:#f5c542;text-shadow:2px 2px 0 #000}
#intro .t2{font-size:clamp(28px,8vw,72px);color:#fff;text-shadow:3px 3px 0 #c0392b,6px 6px 0 #1b2a6b,8px 8px 0 #000;letter-spacing:2px}
#intro .tmenu{display:flex;flex-direction:column;gap:10px;align-items:center}
#intro .pstart,#intro .tbtn{font:inherit;font-size:clamp(12px,2.6vw,18px);min-height:48px;min-width:220px;padding:0 18px;background:#000a;color:#fff;border:3px solid #f5c542;cursor:pointer;box-shadow:4px 4px 0 #000}
#intro:not(.rm) .pstart{animation:blink 1s steps(1) infinite}@keyframes blink{50%{color:#000a;border-color:#7a5f10}}
#intro .tbtn:focus,#intro .pstart:focus{outline:3px solid #fff;outline-offset:2px}
#intro .disc{font-family:"AtkH",system-ui,sans-serif;font-size:max(13px,0.8125rem);text-transform:none;letter-spacing:0;max-width:720px;width:calc(100% - 8px);box-sizing:border-box;text-align:center;color:#fff;background:#000;border:2px solid #f2c14e;padding:8px 12px;margin:12px 0 0;line-height:1.4;flex-shrink:0}
#intro .tsp{flex:0 0 38%}/* intro-fix: keep the field/logo row clear; disclaimer sits under the title logo */
.saves .slist{display:flex;flex-direction:column;gap:8px}.saves .slot0,.saves .slot1{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px;border:1px solid #fff2;border-radius:10px}
.saves .slot1.cur{border-color:#f5c542}.saves .slg{width:48px;height:48px;flex:none;display:flex;align-items:center;justify-content:center}.saves .slg img{max-width:100%;max-height:100%;object-fit:contain}
.saves .sinfo{flex:1;min-width:160px;display:flex;flex-direction:column}.saves small{opacity:.75}.saves .sbtn{display:flex;gap:6px;flex-wrap:wrap}.saves .btn{min-height:44px}
.saves .simp{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}.saves .simp label{min-height:44px;display:inline-flex;align-items:center;cursor:pointer}.saves .err{color:#ff8a8a}
/* logo fit fix: every team logo sits in a fixed box, contained, never cropped or stretched */
.scene .mon{overflow:hidden;box-sizing:border-box;padding:2%}
.scene .mon img{height:auto;width:auto;max-width:92%;max-height:78%;object-fit:contain;flex:0 1 auto;min-height:0}
.scene .mon:has(.monfeed) img{height:auto;max-height:40%}
.tlogo{object-fit:contain;flex:none;max-width:40px;max-height:40px}
.tkl{object-fit:contain}.tpick img,.saves .slg img,.rch img{object-fit:contain}
/* championship parade */
#mbox:has(.parade){max-width:min(980px,96vw);padding:0;overflow:hidden}
.parade{position:relative;outline:none;cursor:pointer}
.parade .pst{position:relative;width:100%;aspect-ratio:16/9;background:#05081c}
.parade .pst canvas{position:absolute;inset:0;width:100%;height:100%}
.parade.px .pst canvas{image-rendering:pixelated}
.parade .pban{position:absolute;left:0;right:0;top:4%;text-align:center;pointer-events:none}
.parade .pyr{display:inline-block;background:#ffc83c;color:#111;font:900 italic clamp(1.1rem,3.6vw,2.2rem) var(--fh);padding:4px 16px;letter-spacing:.04em;box-shadow:4px 4px 0 #000}
.parade .ptm{color:#fff;font:900 clamp(1.4rem,5vw,3rem) var(--fh);text-shadow:3px 3px 0 #000;margin-top:6px}
.parade .pfoot{padding:12px 16px 14px;cursor:default}
.parade .pln{margin:0 0 8px;font-size:1.0625rem}.parade .pgm{color:#ffc83c;font-weight:700}
.parade #parGo{min-height:44px;min-width:140px}.parade .pskip{margin:6px 0 0;font-size:1rem}
.parade.over .pskip{visibility:hidden}
.eos .eogm{margin:10px 0;padding:8px 12px;border-left:4px solid #ffc83c;background:rgba(255,200,60,.08)}
.eos h4{margin:10px 0 4px}#eosGo{min-height:44px}
.cfo h4.bxk{margin-top:14px}.cfo #cfNo,.cfo #cfYes{min-height:44px}
.eusoon{text-align:center;margin:12px 0}
@media(max-width:760px){.parade .pst{aspect-ratio:4/3}}
/* toasts never cover the header: top is set below the header in JS; bottom on phones */
.toast{top:var(--toastTop,96px)}
@media (max-width:600px){.toast{top:auto;bottom:calc(16px + env(safe-area-inset-bottom));max-width:calc(100vw - 32px)}}
/* Cycle 2 (R4 picks): 11px floor on team select + owner meeting, readable parody tag, contrast, no name ellipsis, 44px draft menu */
.start small,.start .muted,.tpick button small,#tPrev,#tPrev *{font-size:max(12px,.75rem)!important}
.tpick button small{opacity:1;color:#e8ecff}
.parody{font-size:max(13px,.8125rem)!important;padding:3px 8px!important;background:#ffcf3a!important;color:#111!important;letter-spacing:.03em}
.onote{font-size:max(12px,.75rem)!important;color:#d6dbf5!important}
.ochat small,.ochat .muted,.oscene small,.oscene .muted{font-size:max(12px,.75rem)!important}
i.fl.rk,.fl.rk{background:#17603a;color:#fff}.fl.inj{background:#b3262c;color:#fff}.fl.ci{background:#3553b0;color:#fff}.fl.foc{color:#111}
body:not(.e64) .cfx .eub{background:none!important;-webkit-text-fill-color:currentColor;color:#ffc83c!important}
.ddm .btn{min-height:44px}
.nm b,.cell .ci b,.rrow .rn b,.lane .lnm,span.ob,span.om,span.og{white-space:normal!important;text-overflow:clip!important;overflow:visible!important;overflow-wrap:break-word}
.nm span{white-space:normal;flex-wrap:wrap;text-overflow:clip;overflow:visible}
i.s26{font-size:max(11.5px,.75rem)!important}
/* weekly recap card (32-bit) */
.wrc{cursor:pointer}.wrh{font:1.125rem var(--fd);color:#ffc83c;text-shadow:3px 3px 0 #000;text-align:center;margin:4px 0 10px;letter-spacing:1px}.wrh small{display:block;font:0.9375rem var(--fb,inherit);color:var(--lav);text-shadow:none;margin-top:4px}
.wrs{background:#0b1030;box-shadow:0 0 0 2px #000,inset 0 0 0 2px #2a3570;padding:8px 10px;margin:8px 0}.wrl{font:1rem var(--fh);color:#9cb0ff;margin-bottom:6px}.wrl small{font-size:0.875rem;color:var(--lav)}
.wrr{font-size:1.0625rem;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.wrr b{font:1.25rem var(--fd)}.wrv{font:1.0625rem var(--fh);padding:3px 6px;color:#000}.wrv.w{background:#5fd35f}.wrv.l{background:#ff7a6b}
.wrst{margin-top:6px;font-size:1rem}.up{color:#5fd35f;font-style:normal}.dn{color:#ff8a7b;font-style:normal}.eq{color:var(--lav);font-style:normal}
.wrg{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px}.wrgr{display:flex;flex-direction:column;gap:2px;background:#1c2348;border:0;color:#fff;padding:6px 8px;min-height:44px;font:1.0625rem var(--fh);text-align:left;cursor:pointer}.wrgr.me{box-shadow:inset 0 0 0 2px #ffc83c}.wrgr .w{color:#ffc83c}
.wrp{font-size:0.9375rem}.wrp b{margin-left:4px}.wrp div{margin-top:4px;font-size:1rem}
.wro{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:4px}.wro li{display:flex;justify-content:space-between;font-size:0.9375rem;padding:2px 4px}.wro li.me{background:#2f3d80;color:#fff}
.wkh .wrb{margin-left:8px;min-height:32px}
.slfx{font-size:0.875rem;color:var(--lav,#c9c9ff);margin-top:3px;line-height:1.3}
.clipb{display:block;margin:6px 0 4px;min-height:44px;font-size:0.9375rem}
.start .mh{display:flex;align-items:center;justify-content:space-between;gap:8px}.mus.smus{min-width:44px;min-height:44px}
/* Reduce motion: in-game toggle (body.rm) and OS setting both stop every CSS animation/transition */
body.rm *,body.rm *::before,body.rm *::after,body.rm{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* C3-2: toasts are informational only and never intercept taps */
.toast,#toast{pointer-events:none}
.slx{margin-top:2px;font-size:.92em;opacity:.85}.slx summary{cursor:pointer;min-height:24px;text-decoration:underline}
.gpan .gph{font:0.9375rem var(--fh);color:var(--lav);margin:12px 0 6px}.gpr2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width:600px){.gpr2{grid-template-columns:1fr}}.stabg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 .5rem}.stabg .gpl{margin:0}.rmh{font:1rem var(--fh);margin:4px 0 8px;color:var(--lav)}
/* C3-6: High-contrast theme (still 32-bit: same pixel fonts, sprites and bevel shapes). Solid darker backgrounds, brighter palette, every text >= 7:1 */
body.hc{--navy:#000;--navy2:#000;--navy3:#05081e;--lav:#e6eaff;--dim:#e6eaff;--wht:#fff;--gold:#ffe27a;--amber:#ffe27a;--red:#ff9aa8;--blue:#8fe3ff;--grn:#7dffa0;--panel:#05081e;--chrome:#05081e;--edge:0 0 0 2px #000,0 0 0 4px #fff,0 0 0 6px #000,6px 8px 0 4px rgba(0,0,0,.55);background:#000!important;color:#fff}
body.hc *:not(img):not(canvas):not(svg):not(.logo):not([class*=spr]){background-image:none!important;text-shadow:none!important}
body.hc .panel,body.hc .mbox,body.hc header,body.hc nav,body.hc .top,body.hc .ticker,body.hc .nc,body.hc .ctip,body.hc .dd,body.hc .sheet,body.hc #kd,body.hc .rcard,body.hc .inbox,body.hc .cbadge,body.hc .gi{background-color:#05081e!important;color:#fff!important}
body.hc .modal{background:rgba(0,0,0,.92)!important}
body.hc .muted,body.hc .note,body.hc .sub,body.hc small,body.hc .gpt,body.hc .gpl,body.hc .r,body.hc th,body.hc label{color:#eef0ff!important}
body.hc .btn{background-color:#ffe27a!important;color:#000!important;box-shadow:0 0 0 2px #fff,3px 3px 0 2px #000!important}
body.hc .btn.blue,body.hc .btn.ghost,body.hc .btn.trade,body.hc .btn.sm.blue{background-color:#000!important;color:#fff!important;box-shadow:0 0 0 3px #8fe3ff,3px 3px 0 2px #000!important}
body.hc .btn.trade{box-shadow:0 0 0 3px #ff9aa8,3px 3px 0 2px #000!important}
body.hc .btn[disabled]{background-color:#000!important;color:#eef0ff!important;box-shadow:0 0 0 2px #eef0ff!important;opacity:1}
body.hc .pill{background-color:#000!important;color:#fff!important;box-shadow:0 0 0 2px #eef0ff!important}
body.hc .pill.on{background-color:#ffe27a!important;color:#000!important}
body.hc .up,body.hc .good{color:#7dffa0!important}body.hc .dn,body.hc .bad{color:#ff9aa8!important}body.hc .ev{color:#ffe27a!important}
body.hc .sep{color:#ffe27a!important}body.hc .toast{background:#ffe27a!important;color:#000!important}
body.hc a:not(.btn){color:#8fe3ff}
body.hc input,body.hc select,body.hc textarea{background:#000;color:#fff;border:2px solid #fff}
body.hc .nav button.on,body.hc .tog button.on,body.hc .lane .ic,body.hc .tp.on,body.hc .stabs .pill.on{background-color:#ffe27a!important;color:#000!important}
body.hc .ttl h1,body.hc h1,body.hc h2,body.hc h3{color:#ffe27a!important;-webkit-text-fill-color:#ffe27a!important}
body.hc .clock.me,body.hc .gi.no b{color:#ff9aa8!important}
body.hc td,body.hc li,body.hc p,body.hc span,body.hc b{color:inherit}
body.hc .ctab td,body.hc .stab td{color:#fff}
body.hc .cl{background-color:#ffc83c!important;color:#000!important;box-shadow:0 0 0 2px #fff,0 0 0 4px #000!important}
body.hc .gl{color:#ffe27a!important;-webkit-text-fill-color:#ffe27a!important}
body.hc .ctab td{color:#fff!important}body.hc .ctab td .up{color:#7dffa0!important}body.hc .ctab td .dn{color:#ff9aa8!important}
body.hc .odds span{color:#fff!important}body.hc .odds .og{color:#a8ffbe!important}
body.hc .odds .og{background:#003a12!important;color:#fff!important}
.tsask{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:6px 10px;margin:0 0 8px;background:#151c4a;border:2px solid #ffd86a;font-size:1rem}.qrn{color:#ffd86a}
/* C4-2: result/ownership tags keep dark text on a solid light chip in every theme (>=4.5:1 normal, >=7:1 HC) */
.yours,.wrv,body.hc .yours,body.hc .wrv{color:#000!important;text-shadow:none!important;background-image:none!important}
.yours,body.hc .yours{background:#ffc83c!important}.wrv.w,body.hc .wrv.w{background:#5fd35f!important}.wrv.l,body.hc .wrv.l{background:#ff7a6b!important}
/* C4-1: big text (130/150% app text or browser zoom) never scrolls sideways; names wrap instead of ellipsis */
.nav{flex-wrap:wrap;align-items:flex-start;align-self:start}
.lgrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
.sgrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
.gr{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.gr span{flex-wrap:wrap;min-width:0;overflow-wrap:break-word}.gr em{white-space:normal}
.sub{grid-template-columns:minmax(56px,92px) minmax(24px,1fr) auto}.sub>*{min-width:0;overflow-wrap:break-word}
.hub>*,.lower>*,.adv>*{min-width:0}.adv .btn{max-width:100%;white-space:normal}
.sub1,.lane .lnm,.nm b,.nm span,.cell .ci b,.aur em,.rrow .rn b{white-space:normal!important;text-overflow:clip!important;overflow:visible!important;overflow-wrap:break-word}
.nm span{flex-wrap:wrap}
@media (max-width:300px){.prow{grid-template-columns:22px 34px minmax(0,1fr) 34px 40px 46px;gap:3px;padding:5px 3px}.prow .vd{padding:4px 2px}}
.slwhy{font-size:0.9375rem;color:#e6eaff;margin:3px 0 2px;line-height:1.35;overflow-wrap:break-word}
.mus{gap:4px}.mus .mlv{font:0.9375rem var(--fh);letter-spacing:.5px;min-width:4ch;text-align:left}
/* C4-6 Sim to offseason */
.simoff h3{margin:0 0 8px}.simoff p{margin:0 0 10px;line-height:1.4}
.sosr{display:grid;grid-template-columns:minmax(80px,110px) minmax(0,1fr);gap:8px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.sosr span{overflow-wrap:break-word}
/* C4-7 phone tap targets: at least 48x48 CSS px on touch screens */
@media (pointer:coarse){
 button,[role=button],[role=tab],select,summary,input:not([type=hidden]):not([type=range]):not([type=checkbox]):not([type=radio]),.mus,.musm,#musVol-header,#menuBtn,#deskPhone{min-height:48px!important;min-width:48px!important;box-sizing:border-box}
 button,[role=button],[role=tab]{display:inline-flex;align-items:center;justify-content:center}
 a[href]{display:inline-flex;align-items:center;min-height:48px;min-width:48px}
 input[type=range]{min-height:48px}
 input[type=checkbox],input[type=radio]{width:48px!important;height:48px!important;min-width:48px;margin:0}
 summary{display:flex;align-items:center}
}
.rtabs{flex-wrap:wrap}
/* C4-8 Strategy Advanced fold */
.stadv{margin:6px 0 10px;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:4px 8px}
.stadv>summary{cursor:pointer;font-weight:700;padding:6px 0;list-style-position:inside}
.stadv>summary .note{font-weight:400;margin-left:6px}
.stmain{margin-bottom:4px}
/* C4-9 badges */
.bdgs .bxk{margin:12px 0 6px}
.bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:8px}
.bdg{display:flex;gap:10px;align-items:center;padding:8px;border:1px solid rgba(255,255,255,.12);border-radius:8px;min-width:0}
.bdg img{width:64px;height:64px;flex:0 0 64px;image-rendering:crisp-edges;image-rendering:pixelated}
.bdg.off:not(.sec){opacity:.35}
.bdg .bdt{min-width:0;display:flex;flex-direction:column;gap:2px}
.bdg .bdt b,.bdg .bdt span,.bdg .bdt em{white-space:normal;overflow-wrap:break-word;text-overflow:clip}
.bdg .bdt em{font-size:.8em;opacity:.7;text-transform:capitalize}
/* C5-0 legible text: form controls inherit the text font; badge names keep the pixel display font */
input,select,textarea{font-family:inherit;font-size:1rem}
.bdg .bdt b{font:0.75rem/1.5 var(--fd);letter-spacing:.5px}
.toast{font:1rem var(--fh)}

/* C5-2: office TV: feed replaces the team logo so the headline fits at 130/150% text */
.scene .mon:has(.monfeed) img:not(.mfp img){display:none}.scene .mon:has(.monfeed){justify-content:center}
.scene .mon:has(.monfeed){container-type:size}.scene .mon .monfeed,.scene .mon .mfp span{font-size:min(0.9375rem,15cqh)}.scene .mon .monfeed .fwm{font-size:min(0.8125rem,14cqh)}
.lane .lt{min-width:auto}.lane .lnm{overflow-wrap:normal!important;word-break:normal}
@container (max-width:240px){.scene .mon .monfeed,.scene .mon .mfp span{font-size:min(0.9375rem,12cqh)}.scene .mon .monfeed .mfh{display:none}}
/* C5-3 music mute button */
.musm{gap:4px;display:inline-flex;align-items:center;min-width:44px;min-height:44px}.musm svg{width:20px;height:20px}.musm .mlv{font:0.875rem var(--fh)}
@media (max-width:600px){.musm .mlv{display:none}}
.musm[aria-pressed=true]{color:var(--gold,#ffc83d)}
/* C5-4 GM Office Simple / Detailed */
.hubv{display:flex;gap:0;margin:0 0 10px;box-shadow:0 0 0 2px #000;width:max-content;max-width:100%;border-radius:2px}
.hubv button{min-height:44px;min-width:44px;padding:8px 18px;border:0;background:#1d2763;color:#cfd6ff;font:700 1rem var(--fb);cursor:pointer}
.hubv button.on{background:linear-gradient(180deg,#fff0a8,#ffc83c 50%,#d88a10);color:#000}
.hsum .hsr{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px 18px;margin-bottom:8px}
.hsum .hsr small{display:block;color:var(--lav);font-size:.875rem}.hsum .hsr b{font-size:1.125rem;overflow-wrap:break-word}
.hnotes{margin:6px 0 8px;padding-left:1.4em}.hnotes li{margin:4px 0;line-height:1.4}
.hbud{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;border-top:1px solid #2a3a8a;padding-top:8px}
#v-hub.hsimple .storyw .guide,#v-hub.hsimple>.li,#v-hub.hsimple .hub>.scene,#v-hub.hsimple .hubros,#v-hub.hsimple .lower,#v-hub.hsimple #ownPanel,#v-hub.hsimple .storyw>.panel:not(.press){display:none!important}
#v-hub.hsimple .hub{display:block}
.hbud b,.hsum b{font-family:var(--fb)}
/* C5-7 tips on demand */
.tiprow{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:6px;margin:0 0 8px}
#v-hub>.hubv+.tiprow{margin-top:-58px;min-height:48px;pointer-events:none}#v-hub>.hubv+.tiprow>*{pointer-events:auto}
.tipq{width:48px;height:48px;border-radius:50%;border:2px solid #000;background:#1d2763;color:#ffe27a;font:700 1.25rem var(--fb);cursor:pointer;box-shadow:0 2px 0 #000}
.tipq[aria-expanded=true]{background:#ffc83c;color:#000}
.tipp{flex-basis:100%;background:#0f173f;border:2px solid #ffc83c;border-radius:4px;padding:10px 12px;color:#fff;font:1rem/1.4 var(--fb);display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between}
.tipp .tpa{display:flex;gap:6px}
/* C5-8 playoff bracket graphic (32-bit) */
.pbx{display:grid;grid-template-columns:repeat(var(--pbn,2),minmax(0,1fr));gap:12px 22px;margin:8px 0}.pbx3{--pbn:3}.pbx2{--pbn:2}
.pbcol h4{margin:0 0 6px;font:700 .9375rem var(--fh);color:var(--lav)}
.pbms{display:flex;flex-direction:column;justify-content:space-around;gap:12px;height:calc(100% - 28px)}
.pbm{position:relative;background:linear-gradient(180deg,#22307a,#16205a);border:2px solid #000;box-shadow:0 0 0 2px #3a4cb0 inset,3px 3px 0 #000;border-radius:3px;padding:2px}
.pbcol:not(:last-child) .pbm:not(.bye)::after{content:"";position:absolute;right:-24px;top:50%;width:20px;border-top:3px solid #ffc83c}
.pbm.bye{opacity:.85;border-style:dashed}
.pbc{font-size:.8125rem;color:var(--lav);padding:2px 6px}
.pbt{display:grid;grid-template-columns:28px 28px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:40px;padding:2px 6px}
.pbt+.pbt{border-top:1px solid #2f3f95}
.pbt img{width:26px;height:26px;image-rendering:pixelated}
.pbs{display:inline-grid;place-items:center;width:26px;height:26px;background:#0b112f;border:1px solid #4a5cc0;font:700 .875rem var(--fb);color:#ffe27a}
.pbn{overflow-wrap:break-word;line-height:1.25;text-align:left}.pbn small{color:var(--lav)}
.pbp{font:700 1rem var(--fb);font-style:normal;min-width:1.6em;text-align:right}
.pbt.me{background:rgba(255,200,60,.14)}.pbt.me .pbn{color:#ffe27a;font-weight:700}
.pbt.w .pbp{color:#7dff9a}.pbt.l{opacity:.6}
.pbt.tbd .pbn{color:var(--lav);font-style:italic}.pbt.tbd img{display:none}
.pbch{margin-top:8px;padding:8px;border:2px solid #ffc83c;background:#2a2000;color:#ffe27a;font-weight:700;text-align:center}
@media (max-width:700px){.pbx,.pbx3,.pbx2{grid-template-columns:minmax(0,1fr)}.pbms{height:auto}.pbcol:not(:last-child) .pbm:not(.bye)::after{display:none}
 .pbcol:not(:last-child)::after{content:"▼";display:block;text-align:center;color:#ffc83c;margin-top:6px}}
/* C5-9 CPU counter-offer */
.tcounter{display:flex;flex-direction:column;gap:6px;margin:8px 0;padding:10px 12px;border:2px solid #ffc83c;background:#2a2000;border-radius:3px;color:#fff;line-height:1.4}
.tcounter b{color:#ffe27a}.tcounter .tcl{color:#d8dcff;font-size:.9375rem;overflow-wrap:break-word}.tcounter .tca{display:flex;flex-wrap:wrap;gap:8px}

/* C5-10 real-players league: open depth spots, FICTIONAL tag, free-agent list */
.ropen{display:inline-block;padding:1px 7px;border-radius:8px;background:#2f8f5b;color:#fff;font-size:12px;font-weight:700}.ropen.short{background:#a86a12}
.hopen{margin:6px 0 8px;font-size:13px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.fl.fic,i.fl.fic{background:#c62828;color:#fff;font-weight:700;letter-spacing:.04em}.fl.fa{background:#3c6e71;color:#fff}
.fa27 .farow{cursor:default}.fa27 .rights{color:#f5c542;font-weight:700}.fa27 .btn.sm{padding:3px 10px;font-size:12px}
.ftag{display:inline-block;margin-left:4px;padding:0 5px;border-radius:6px;background:#c62828;color:#fff;font-size:10px;font-weight:700;vertical-align:middle}
/* C5-11 coach name */
.cnf{display:flex;flex-direction:column;gap:4px;min-width:0}.cnf input{font-family:inherit;max-width:100%;box-sizing:border-box}.cnf input.bad{outline:2px solid #ff6b6b}
.cnerr{color:#ff9a9a;font-size:.85em;min-height:0}.cnerr:empty{display:none}
.cnset{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;min-width:0}.cnset .cnf{flex:1 1 180px}
.cnset input{font:1rem var(--fb);background:#060a22;color:#fff;border:0;box-shadow:0 0 0 2px #3a4388;padding:8px;width:100%}.cnf small{font-size:.75rem}
/* C5-12 all-time records */
.realtag{display:inline-block;font-size:.7rem;font-weight:700;padding:1px 4px;border-radius:3px;background:#2a6b3a;color:#fff;letter-spacing:.04em}
.atr td.nm{white-space:normal;overflow-wrap:anywhere}.atr td{white-space:nowrap}.atr td:first-child{width:1.6em}
.atg{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.recall{border:2px solid #ffd65a;background:rgba(255,214,90,.08);padding:8px 10px;margin:8px 0;border-radius:4px}.recall ul,.wrrec{margin:4px 0 0;padding-left:1.1em}.recall li.me,.wrrec li.me{color:#ffe08a}
/* C5-15 cut day: select CUTS. One list, red X toggles (48px), sticky counter + Confirm */
.cutday{overflow:visible}
.cut-head{position:sticky;top:0;z-index:5;margin:-2px -2px 10px;padding:10px 10px 8px;background:linear-gradient(180deg,#232e6e,#141c46);border-bottom:2px solid #000;box-shadow:0 4px 8px rgba(0,0,0,.45)}
.cut-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cut-top h3{margin:0;flex:1 1 auto;min-width:0}.cut-top .btn{min-height:48px;margin-left:auto}
.btn.red{background:linear-gradient(180deg,#ff8a96 0,#d8283a 48%,#a8101f 52%,#e83a4c 100%);color:#fff;text-shadow:1px 1px 0 #000}.btn:disabled{filter:grayscale(.8);opacity:.6;cursor:not-allowed}
.cut-count{margin:6px 0 0;font-size:1rem}.cut-count b{font-size:1.125rem;color:var(--gold)}.cut-count b.bad{color:#ff9aa4}.cut-count b.ok{color:#7ee08f}
.cut-msg{margin:4px 0 0;font-size:0.9375rem;color:#ffd0d4;min-height:0}.cut-msg:empty{display:none}
.cut-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:8px 0 10px}.cut-tools .pill{min-height:44px;padding:0 14px}.cut-tools .btn{min-height:44px;margin-left:auto;white-space:normal}.cut-lbl{color:var(--lav)}
.cut-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.cut-row{display:flex;align-items:center;gap:10px;padding:6px 10px 6px 6px;background:#0f1640;border:2px solid #263075;border-radius:4px;min-width:0}
.cut-row.on{background:#3a0f1a;border-color:#d8283a}
.cut-x{flex:none;width:48px;height:48px;border-radius:6px;border:2px solid #d8283a;background:transparent;color:#ff8a96;font:700 1.375rem/1 var(--fb);cursor:pointer;display:flex;align-items:center;justify-content:center}
.cut-x[aria-pressed="true"]{background:#d8283a;color:#fff;border-color:#ff8a96;box-shadow:0 0 0 2px #000}
.cut-x:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.cut-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.cut-info b{overflow-wrap:anywhere}.cut-info span{font-size:0.875rem;color:var(--lav)}
.cut-row.on .cut-info b{text-decoration:line-through;text-decoration-color:#ff8a96}
.cut-rec{align-self:flex-start;margin-top:3px;font-style:normal;font-size:0.75rem;padding:1px 6px;border-radius:3px;background:#5a4410;color:#ffe08a}
.cut-ovr{flex:none;text-align:center;min-width:2.6em}.cut-ovr b{display:block;font-size:1.25rem}.cut-ovr small{color:var(--lav);font-size:0.6875rem}
.cutday{max-width:860px;margin-left:auto;margin-right:auto}

/* A/B two-option decisions: option cards keep their chrome; letter badges (.cl) share one neutral gold so A/B aren't read as good/bad */
.btn.optB{background:linear-gradient(180deg,#d0404a 0,#c8323c 48%,#a0202a 52%,#b42a34 100%);color:#fff;text-shadow:1px 1px 0 #000}
.btn.optB:hover:not(:disabled){filter:brightness(1.12)}.btn.optB:active:not(:disabled){filter:brightness(.88);transform:translateY(2px)}
.btn.optA:focus-visible,.btn.optB:focus-visible,.choice.optA:focus-visible,.choice.optB:focus-visible{outline:3px solid #ffe27a;outline-offset:2px}
.choice.optA{background:linear-gradient(180deg,#1e3a9a,#0e1e5c);box-shadow:0 0 0 2px #000,0 0 0 4px #3a66e8}
.choice.optB{background:linear-gradient(180deg,#8a1e28,#4e0e16);box-shadow:0 0 0 2px #000,0 0 0 4px #c8323c}
.choice.optA:hover:not(:disabled),.choice.optB:hover:not(:disabled),.choice.optA.pick,.choice.optB.pick{box-shadow:0 0 0 2px #000,0 0 0 4px var(--gold)}
.choice.optA:active:not(:disabled),.choice.optB:active:not(:disabled){filter:brightness(.88)}
.hc .btn.optB{background-color:#5a0010!important;color:#fff!important;box-shadow:0 0 0 3px #ff9aa8,3px 3px 0 2px #000!important}
.hc .choice.optA{background-color:#001a5a!important;box-shadow:0 0 0 3px #8fe3ff!important}.hc .choice.optB{background-color:#5a0010!important;box-shadow:0 0 0 3px #ff9aa8!important}

/* GM office scene: never crop the 384x216 art; overlays align because the box keeps the canvas aspect */
.scene canvas{object-fit:fill}
@media(min-width:901px){.scene{max-height:none;min-height:0;aspect-ratio:384/216;height:auto}}
.scene{container-type:inline-size}
.scene .wlogo{position:absolute;left:78%;top:30.1cqw;width:17%;height:8.7cqw;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1}
.scene .wlogo img{max-width:100%;max-height:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(2px 2px 0 rgba(0,0,0,.6))}

/* Draft Night Recap: one page, no scroll at 1280x800 / 1920x1080 */
#mbox:has(.dnr){width:min(1840px,98vw);max-height:96vh;padding:10px 12px}
.dnr{font-size:.8125rem;display:flex;flex-direction:column;gap:8px}
.dnt{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dnt h3{margin:0}.dnt p{margin:0;flex:1;min-width:200px}
.dnb{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,15rem);gap:8px;align-items:start}
.dng{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:5px}
.dnc{background:#151c4a;box-shadow:0 0 0 2px #000;min-width:0}.dnc.me{box-shadow:0 0 0 2px #ffc83c}
.dnc header{display:flex;align-items:center;gap:4px;padding:4px 5px;background:#222b66;font:.75rem var(--fh)}.dnc header img{width:22px;height:22px}.dnc header em{margin-left:auto;font-style:normal}
.dnr ol,.dnr ul{list-style:none;margin:0;padding:3px}.dnr li{display:flex;align-items:center;gap:4px;padding:2px 0;min-width:0}
.dnr li span{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.15}.dnr li b{font-weight:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dnr li small{color:#aab4ff;font-size:.75rem}
.dnr li em{font-style:normal;font-weight:bold}.dnh{width:28px;height:28px;object-fit:cover;flex:none;image-rendering:auto;background:#0b1030}
.dns{background:#151c4a;box-shadow:0 0 0 2px #000;padding:4px 6px}.dns h4{margin:2px 0;font:.75rem var(--fh)}.dns p{margin:4px 0 0;font-size:.75rem}
@media (max-width:760px){#mbox:has(.dnr){padding:8px}.dnb{grid-template-columns:1fr}.dng{grid-template-columns:repeat(2,minmax(0,1fr))}.dnh{width:24px;height:24px}}
.dnc li{flex-wrap:wrap;gap:2px 4px;padding:3px 0;border-bottom:1px solid #222b66}.dnc li small{flex:1}.dnc li b{flex:0 0 100%;white-space:normal;overflow-wrap:break-word;line-height:1.15}
@media (max-width:760px){.dnc li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;grid-template-areas:"h b e" "h s e";gap:0 4px;padding:2px 0}.dnc li .dnh{grid-area:h}.dnc li b{grid-area:b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dnc li small{grid-area:s}.dnc li em{grid-area:e}.dns li .dnh{width:22px;height:22px}}

/* Trade Center: two locked halves, each scrolls on its own; sticky summary + Propose always visible */
#mbox:has(.tcx){width:min(1280px,98vw);height:94vh;max-height:94vh;overflow:hidden;display:flex;padding:10px}
.tcx{display:flex;flex-direction:column;gap:6px;flex:1;min-height:0;min-width:0}.tcx .mh{margin:0}
.tfil{display:flex;gap:4px;overflow-x:auto;flex:none;padding:2px}.tfc{flex:none;min-height:48px;min-width:48px;padding:0 10px;border:0;background:#151c4a;color:#fff;font:.6875rem var(--fh);box-shadow:0 0 0 2px #000}.tfc.on{background:linear-gradient(180deg,#fff0a8,#ffc83c);color:#000}
.tx{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;flex:1;min-height:0}
.th{display:flex;flex-direction:column;min-height:0;min-width:0;background:#10163e;box-shadow:0 0 0 2px #000}
.th h3{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font:.6875rem var(--fh);color:var(--lav);margin:0;padding:4px 6px;background:#1a2260}.th h3 small{color:var(--amber);font:.75rem var(--fb)}
.tsel{display:flex;align-items:center;gap:4px;min-width:0;flex:1 1 10rem}.tsel img{width:26px;height:26px}.tsel select{flex:1;min-width:0;min-height:48px;font:.8125rem var(--fb);background:#0b1030;color:#fff;border:0;box-shadow:0 0 0 2px #3a4388}
.tl{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:0 4px 6px}
.tgh{display:flex;width:100%;align-items:center;gap:6px;min-height:48px;border:0;background:#0b1030;color:var(--amber);font:.6875rem var(--fh);padding:0 6px;position:sticky;top:0;z-index:1;text-align:left}.tgh small{color:#aab4ff;font:.75rem var(--fb)}.tgh span{margin-left:auto}
button.ta{display:flex;width:100%;align-items:center;gap:6px;min-height:48px;border:0;border-bottom:1px solid #141c4c;background:none;color:#fff;font:.8125rem var(--fb);text-align:left;padding:2px 6px;cursor:pointer}
button.ta b{font:.6875rem var(--fh);min-width:2.6em;flex:none;color:var(--lav)}button.ta span{flex:1;min-width:0;overflow-wrap:anywhere}button.ta i{color:#aab4ff;font-style:normal;font-size:.75rem}button.ta em{font:.75rem var(--fh);color:var(--gold);font-style:normal;flex:none}
button.ta.sel{background:#3a3a10;box-shadow:inset 4px 0 0 #ffc83c}
.tsum{flex:none;background:#1a2260;box-shadow:0 0 0 2px #000;padding:4px 6px;display:flex;flex-direction:column;gap:3px;font-size:.8125rem;max-height:40vh;overflow-y:auto}
.tsr{display:flex;gap:6px;align-items:center;min-width:0}.tsl{flex:none;width:9.5em;color:#aab4ff}.tsl b{display:block;color:#fff;font-weight:normal}
.tcs{display:flex;gap:4px;flex-wrap:wrap;min-width:0}.tch{min-height:48px;border:0;background:#2a3576;color:#fff;font:.75rem var(--fb);padding:0 8px;box-shadow:0 0 0 2px #000;overflow-wrap:anywhere;text-align:left}
.tsb{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tsb .terr{flex:1 1 14rem}.tbt{display:flex;gap:6px;margin-left:auto}.tbt .btn{min-height:48px}
@media (max-width:760px){#mbox:has(.tcx){width:100vw;height:100dvh;max-height:100dvh;padding:6px}.modal:has(.tcx){padding:0}
 .tx{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:6px}.tsl{width:auto}.tsr{flex-wrap:wrap}.tsum{max-height:34vh}.tbt{width:100%}.tbt .btn{flex:1}}
.tcx .tl{max-height:none!important;height:auto}
/* Next step button (top left, sticky) */
.nxw{position:sticky;top:0;z-index:60;display:flex;align-items:stretch;gap:4px;padding:6px 16px;background:var(--chrome,#141a4a);border-bottom:2px solid #000;max-width:100%;box-sizing:border-box}
.nxw[hidden]{display:none}
.nxb,.nxl{min-height:48px;font:0.8125rem var(--fh);border:2px solid #000;cursor:pointer;line-height:1.25}
.nxb{background:#ffc83c;color:#10142e;padding:8px 14px;text-align:left;flex:0 1 auto;min-width:0;overflow-wrap:anywhere;box-shadow:0 3px 0 #000}
.nxb.adv{background:#3cdc78}
.nxl{background:#0b1030;color:#fff;padding:8px 12px;min-width:56px;flex:none}
.nxb:focus-visible,.nxl:focus-visible,.nxp button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.nxp{position:absolute;left:16px;top:calc(100% + 4px);width:min(360px,calc(100vw - 32px));background:#070b26;color:#fff;border:2px solid #ffc83c;box-shadow:0 6px 0 #000;padding:10px 12px;z-index:61}
.nxp h4{margin:0 0 6px;color:#ffc83c;font:0.8125rem var(--fh)}
.nxp ul{list-style:none;margin:0;padding:0}
.nxp li button{display:block;width:100%;min-height:48px;text-align:left;background:none;border:0;border-bottom:1px solid #2a3170;color:#fff;font:0.8125rem var(--fb,inherit);padding:8px 4px;cursor:pointer}
.nxp li.ok button{color:#8be0a4}
.nxp p{margin:8px 0 0;font-size:0.8125rem}
@media (max-width:700px){.nxw{padding:6px 8px}.nxb{flex:1}.nxp{left:8px;width:calc(100vw - 16px)}}
/* toasts: below the Next step bar on every size, never catch taps */
.toast{top:var(--toastTop,96px)!important;bottom:auto!important;pointer-events:none!important;max-width:calc(100vw - 32px);z-index:55}
.nxw{flex-wrap:wrap}
.toast.dock{position:static!important;transform:none!important;flex:1 1 220px;align-self:center;max-width:none;margin:0;padding:10px 12px;font-size:0.6875rem;box-shadow:0 0 0 2px #000}
.toast.dock.hidden{display:none}
@media (max-width:700px){.toast.dock{flex:1 0 100%;order:3}.nxb{flex:1 1 0;min-width:0}}

/* revival branch: start-screen note under the revival select */
.frm .revnote{max-width:16rem;font-size:0.6875rem;line-height:1.35;color:var(--lav);opacity:.9;white-space:normal}
/* Pixelify Sans maps the "fi" ligature to a wrong glyph ("first" reads "Arst"); off for the revival note, feed posts and badge cards */
.frm .revnote,.ft,.bdt{font-variant-ligatures:none;font-feature-settings:"liga" 0,"clig" 0}

/* C5-16 player-tied coaching calls */
/* C5-17: option label on line 1, the player tag on its own smaller line 2 (rem so it scales at 130% text); 44px+ tap target. Colors untouched. */
.copts .btn{display:inline-flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;min-height:44px;max-width:100%;white-space:normal;text-align:left;line-height:1.2}
.copts .btn .copcol{display:flex;flex-direction:column;align-items:flex-start;flex:1;min-width:0}
.copts .btn .cop{display:block}
.copts .btn small.chg{display:block;font-size:0.75rem;font-weight:400;opacity:.9;margin-top:3px;white-space:normal;line-height:1.25}
.abhint{margin:2px 0 6px;font:0.8125rem var(--fh);color:var(--gold);letter-spacing:.3px}
.inbox .abhint,.cmom .abhint{text-align:left}
/* C5-17 decision-card scorebug: DC 24 · Q4 2:05 · 16 STL */
.cbug{align-items:center;gap:8px;flex-wrap:nowrap}.cbug .cbt{white-space:nowrap;display:inline-flex;gap:6px;align-items:baseline}.cbug .cbs{color:#fff;font-size:1.15em;min-width:1.2em;text-align:center}.cbug .cbc{white-space:nowrap;text-align:center;flex:1}
.cplay{margin:.35em 0}.ctag{font-style:normal;font-weight:700;padding:1px 6px;border-radius:8px;white-space:nowrap}.ctag.hot,.fl.hot,i.fl.hot{background:#d9480f;color:#fff}.ctag.shk,.fl.shk,i.fl.shk{background:#5c5f66;color:#fff}
.creport .kv em.cpl{display:block;flex-basis:100%;font-style:normal;font-size:0.8125rem;opacity:.9;margin-top:2px}
.creport .kv:has(em.cpl){flex-wrap:wrap}
.rcardp .stab td{overflow-wrap:anywhere;white-space:normal}
/* merged master: on phones the Practice Field / GM Office toggle sat over the top of the office monitor; dock it on the desk (bottom-left of the canvas) instead, same 34px+ buttons */
@media (max-width:480px){.scene .tog{top:calc(56.25cqw - 42px);right:auto;left:6px}}
/* C6-3 contrast >= 4.5:1 inside the 32-bit palette (normal + high-contrast) */
.ropen{background:#1f7a36;color:#fff}.ropen.short{background:#ffb028;color:#000}
.btn.red,#kd .btn.red,#mgGo.btn.red{background:linear-gradient(180deg,#d0404a 0,#c8323c 48%,#a0202a 52%,#b42a34 100%);color:#fff}
body.hc .hubv button.on,body.hc .tfc.on{background-color:#ffe27a!important;color:#000!important}
body.hc .hubv button:not(.on),body.hc .tfc:not(.on){background-color:#000!important;color:#fff!important;box-shadow:inset 0 0 0 2px #eef0ff}
body.hc .btn small,body.hc .btn .muted,body.hc .btn .note{color:inherit!important;opacity:1!important}
.copts .btn small.chg{opacity:1}
body.hc .ropen{background-color:#7dffa0!important;color:#000!important}body.hc .ropen.short{background-color:#ffe27a!important;color:#000!important}
body.hc .btn.red{background-color:#000!important;color:#fff!important;box-shadow:0 0 0 3px #ff9aa8,3px 3px 0 2px #000!important}
/* C6-4 draft recap: names wrap on phones instead of being cut off; the full name is also in the row's title and shows on tap */
@media (max-width:760px){.dnc li b{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;word-break:normal;line-height:1.15}.dnc li{align-items:start}.dnc li.full b{font-weight:bold}}
/* C6-2 roster tap targets: free-agent Sign/Offer/Roster full >= 28px tall on desktop (>= 48 on phones via the C4-7/C6-10 rules) */
.fa27 .btn.sm{min-height:28px;min-width:56px;padding:5px 10px;font-size:12px;line-height:1.2}
.fa27 .btn.sm:disabled{min-width:88px}
/* C6-8/9 Simple hub: words instead of odds numbers; lane effect + result effect lines */

.lanefx{margin:6px 0 8px;font-size:0.875rem;line-height:1.35;color:#d8dcff}
.res .lanefx,.res .resfx{margin:6px 0 0;color:inherit;font-size:0.875rem;line-height:1.35}
.resfx{font-weight:bold}
body.hc .lanefx{color:#fff!important}
/* C6-7 counter-offer: first in the summary row, full width, bold header, give/get on their own lines */
.tsb .tcounter{order:-1;flex:1 1 100%;border-width:3px;box-shadow:0 0 0 2px #000,4px 4px 0 2px rgba(0,0,0,.5)}
.tcounter .tcoh{font:0.9375rem var(--fh);letter-spacing:.5px;color:#ffe27a}
.tcounter .tct{font-weight:bold;color:#fff}
.tcounter .tcl{display:flex;flex-wrap:wrap;gap:4px 16px}.tcounter .tcl em{font-style:normal;color:#ffe27a;margin-right:6px}
.tcounter .tca .btn{min-height:32px}
.terr.tsm{font-size:0.875rem}
@media (max-width:760px){.tsb .tcounter{padding:8px 10px}.tcounter .tcl{flex-direction:column}}
body.hc .tcounter{background:#000!important;border-color:#ffe27a!important}body.hc .tcounter .tcl,body.hc .tcounter .tct{color:#fff!important}
body.hc .realtag{background:#000!important;color:#fff!important;border:1px solid #fff}
/* C7-1 accessibility: one visible keyboard focus ring everywhere (overrides any outline:none), screen-reader-only text, winner markers that are not color-only */
:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #ffc83c!important;outline-offset:2px!important;box-shadow:0 0 0 5px rgba(0,0,0,.85)!important}
body.hc :focus-visible{outline-color:#fff!important}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.wmk{display:inline-block;margin:0 3px;font-size:.8em;font-style:normal;color:inherit}
/* C7-2 phone: every tap target >=48px on touch screens. Play Game lives in the old header Trade slot (not a bottom overlay). */
@media (pointer:coarse),(max-width:700px){
 button,.btn,.pill,select,summary,[role=button],input[type=checkbox],input[type=radio]{min-height:48px;min-width:48px}
 input[type=range]{min-height:48px}
 .hbtns #advBtn{order:-1;flex:1 1 auto;max-width:min(46vw,11.5rem);min-height:48px;min-width:48px;margin:0;padding:6px 8px;font-size:0.7rem;line-height:1.15;white-space:normal;text-align:center}
 .hbtns #advBtn:disabled{opacity:1;filter:none;background:#3b4060;color:#d9dcef;text-shadow:none}
 #kd #kdTap,#kd #kdBox,#kd #kdSkip{position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:65;min-height:64px;margin:0;box-shadow:0 0 0 3px #000,0 6px 18px rgba(0,0,0,.6)}
 #kd #kdTap{flex-direction:row;min-height:84px;background:#0b1030}
 #kd #kdTap .key{width:64px;height:64px}
 #kd{padding-bottom:120px}
}
/* C7-3 post-pick matchup / lane sentences + one-time tip */
.lastfx{display:block;margin-top:3px;font-size:.875rem;color:#cfe6ff}
.lanetip{margin:6px 0;padding:6px 10px;background:#101a4a;border-left:4px solid #ffc83c;font-size:.875rem;line-height:1.35;color:#fff}
.kdtip{margin:8px 0 0}
/* C7-4 Simple hub: four stat tiles max, words elsewhere; C7-5 hub Sim to offseason */
.hsr.hst4{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}
.hsr.hst2{grid-template-columns:repeat(2,minmax(0,1fr))}.hcomp .hst b{font-size:1.25rem}.tllay{border:0;padding:0;margin:0 0 8px;display:flex;flex-wrap:wrap;gap:6px 16px}.tllay legend{font-weight:bold;margin-bottom:4px}
.hst{background:#0b1030;padding:6px 10px;box-shadow:0 0 0 2px #000}
#v-hub.hsimple .hdet,#v-hub.hsimple .li,#v-hub.hsimple .hopen{display:none}
.hsum .hbud{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.hsotop{margin:6px 0 8px;display:flex;justify-content:flex-end}
/* C7-4: the header stat strip (record, fans, revival, save) is hidden on the Simple hub so it shows four numbers at most */
body:has(#v-hub.on.hsimple) #hdrMeta{display:none}
/* C7-6 Since you were away */
.away h3{margin:10px 0 4px;font-size:1rem;color:var(--gold)}.away h3 small{color:var(--lav);font-size:.8rem}
.awl{margin:4px 0 6px 1.1em;padding:0;line-height:1.45}.awl li{margin:2px 0}.awf li{color:#dfe6ff}
.fpts{color:var(--gold)}.fpn{font-size:.8125rem;margin-top:6px}
.rivl ul{margin:4px 0 6px 1.1em;padding:0;line-height:1.5}.rivl em{color:var(--lav)}
/* C8-2 choose your 4 hub numbers */
.tlgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:6px;margin:8px 0}
.tlopt{display:flex;align-items:center;gap:8px;min-height:44px;padding:4px 10px;background:#0b1030;box-shadow:0 0 0 2px #000;font-size:0.875rem;color:#e8ebff;cursor:pointer}
.tlopt input{width:22px;height:22px;margin:0}
.tlopt:has(input:disabled){color:#aab4ff}
/* C8-3 season lane totals on the Coaching Report */
.lanetot{margin-top:10px}.lanetot h4{margin:6px 0;font:0.875rem var(--fh);color:#ffd23f}
.lanetot .tscroll{overflow-x:auto;margin-bottom:6px}
.ltab{min-width:300px}.ltab caption{text-align:left;font-size:0.75rem;color:#c9cff5;padding:4px 0}.ltab th[scope=row]{text-align:left;font-weight:normal}
/* C8-4 sim-to-offseason decisions */
.sodet{margin-top:4px}.sodet summary{cursor:pointer;min-height:24px;color:#c9cff5}.sodet ul{margin:4px 0 0;padding-left:18px;font-size:0.8125rem}
@media (pointer:coarse){.sodet summary{min-height:48px;display:flex;align-items:center}}
/* C8-6 pinned bar steps aside while a table scrolls */
@media (pointer:coarse),(max-width:700px){
 /* Play Game is in the sticky header now; do not slide it off-screen */
}
@media (prefers-reduced-motion:reduce){#v-hub #advBtn{transition:none}}
/* C8-7 fantasy leaders card + rivalry series */
.fantc .fantl{margin:4px 0;padding-left:22px}.fantc .fantl li{padding:3px 0}.fantc .fantl li.me{color:#ffd23f}.fantc .fantl b{margin-left:6px}
.rivb .rivs{display:block;margin-top:4px;font-weight:bold}.rivl .rivs{color:#ffd23f}
/* C8 a11y: objective-check fixes */
#kd .tag.g{background:#17652c}
.keys{color:#dfe3ff}
input[type=range]{min-height:24px}
@media (pointer:coarse){input[type=range]{min-height:48px}}
[data-scrollreg]:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.keys{background:var(--navy2);padding:4px 6px}
@media (pointer:coarse){.keys{display:none}}

/* Decision prompt score (halftime / Key Drive alert / try): clear AB + points when the overlay covers the sticky mini */
.kdscre{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;margin:0 0 12px;background:#0a0f2c;color:#fff;box-shadow:0 0 0 2px #000,0 0 0 4px #ffc83c;font-family:var(--fh);font-size:0.9375rem;flex-wrap:wrap}
.kdscre .ks{white-space:nowrap;display:inline-flex;align-items:center;gap:6px;flex:none}
.kdscre .ks b{color:#fde047;font-size:1.2em;min-width:1.4em;text-align:center}
.kdscre .kc{flex:1;min-width:0;text-align:center;color:#c8d0ff;font-size:0.8125rem;white-space:normal;line-height:1.2}
.convw .kdscre{margin:8px 0 12px}
.kdf .kdscre{text-align:left}
@media (max-width:420px){.kdscre{gap:4px;padding:6px 8px;font-size:0.875rem}.kdscre .ks b{font-size:1.15em}.kdscre .kc{flex:1 1 100%;order:-1;margin-bottom:2px}}

/* C5-17 sticky live scorebug (top of #kd, which is the scroll container) */
#kd .kdmini{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;background:#0a0f2c;color:#fde047;box-shadow:0 2px 0 #000,0 4px 10px rgba(0,0,0,.5);font-family:var(--fh);font-size:0.9375rem}
#kd .kdmini .mt{white-space:nowrap;flex:none}
#kd .kdmini .mt{display:inline-flex;align-items:center;gap:6px;color:#fff}#kd .kdmini .mt b{color:#fde047;font-size:1.15em;min-width:1.4em;text-align:center}#kd .kdmini .lg{width:22px;height:18px;object-fit:contain}
#kd .kdmini .mc{flex:1;min-width:0;text-align:center;color:#c8d0ff;font-size:0.8125rem;white-space:normal;line-height:1.2}
@media (max-width:320px){#kd .kdmini .lg{display:none}#kd .kdmini{gap:4px;padding:6px}}#kd .kdmini.fin .mc{color:#fde047}
.cbug .cbc .cbs{font-size:1em;color:#fde047}.cbug .cbc .cbs.dn{color:#fca5a5}
/* C9-4 sticky table headers: the header row stays at the top while a table scrolls, under the sticky Next-step bar (--sth, set by pinhide.js).
   Inside a .tscroll wrapper or a modal the header sticks to that box instead. Works with the pinned action bar that hides while a table scrolls. */
:root{--sth:0px}
.stab tr:first-child>th,.ctab tr:first-child>th,.needs tr:first-child>th{position:sticky;top:var(--sth);z-index:3;box-shadow:0 2px 0 #000}
.tscroll .stab tr:first-child>th,.tscroll .ctab tr:first-child>th,#mbox .stab tr:first-child>th,#mbox .ctab tr:first-child>th,#mbox .needs tr:first-child>th{top:0}
.tscroll{max-height:min(72vh,680px);overflow:auto;overscroll-behavior:contain}
.bxs tr:first-child>th{background:#151c4a}
/* C9-1 strategy effect lines */
.eff{margin:.3rem 0;font-size:.92rem;display:flex;flex-wrap:wrap;gap:.35rem;align-items:baseline}.eff b{color:#ffd54a;white-space:nowrap}.eff small{color:#b9c1e8}
.effn{margin-top:.4rem}.stadv>.ftune{margin-top:.6rem}label.chk{display:flex;gap:.5rem;align-items:center;margin:.4rem 0;min-height:44px}label.chk input{width:24px;height:24px;min-width:24px;min-height:24px;flex:none;margin:0}@media (pointer:coarse),(max-width:760px){label.chk{min-height:48px;min-width:48px}label.chk input{width:28px;height:28px}}
/* C9 a11y: Advanced fold sits outside a .panel, give it the panel background (contrast); 44px summaries in Strategy */
.stadv{background:var(--panel)}#v-strat details>summary{min-height:44px;box-sizing:border-box;padding-top:10px;padding-bottom:10px}

/* camp drills (drills.js) */
.dghost{max-width:390px;margin:0 auto}.dghint{font-size:.85rem;margin:4px 0 8px}
.dgc{display:block;width:100%;max-width:390px;aspect-ratio:195/300;image-rendering:pixelated;touch-action:none;box-shadow:0 0 0 2px #000,0 0 0 4px #3a4388;outline:none;margin:0 auto}
.dgc:focus-visible{box-shadow:0 0 0 2px #000,0 0 0 4px #ffc83c}
.dgb{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.dgbtn{flex:1 1 40%;min-height:48px;min-width:44px;font-size:1rem}
.dglive{position:absolute;left:-9999px}.dgres{text-align:center;padding:16px 0}.dgres h3{color:#ffc83c;margin:0}.dgbig{font-size:2rem;margin:6px 0}
.dgres .note{font-size:0.875rem;color:#aab4ff;margin:8px 12px 0}.adv #mgRetry,.adv #mgDone{min-height:48px;min-width:44px}

/* drill how-to popup (before every drill; nothing moves until Ready) */
.dgpop{display:flex;flex-direction:column;gap:8px;padding:10px;border:2px solid #ffc83c;background:#0b1730;color:#fff;max-width:100%;box-sizing:border-box}
.dgpop .dgpk{margin:0;font-size:11px;letter-spacing:.12em;color:#ffc83c}
.dgpop h3{margin:0;font-size:18px;line-height:1.2}
.dgprow{display:flex;gap:10px;align-items:flex-start}
.dgpic{width:96px;height:148px;flex:0 0 96px;image-rendering:pixelated;border:1px solid #ffffff33}
.dgpop ol{margin:0;padding-left:18px;font-size:14px;line-height:1.35;flex:1 1 auto;min-width:0}
.dgpop li{margin:0 0 6px}
.dgpop .dgprm{list-style:none;margin-left:-18px;color:#7ff}
.dgready{min-height:56px;width:100%;font-size:20px;margin-top:4px}
.dgready:focus-visible{outline:3px solid #fff;outline-offset:2px}
/* levels-info */
.lane[data-lane]{cursor:pointer;position:relative;min-height:44px;padding-bottom:12px}.lane[data-lane]:focus-visible{outline:3px solid var(--gold)}.lane .lnh{position:absolute;right:6px;bottom:1px;font-size:0.625rem;line-height:1;color:var(--lav);text-decoration:underline;white-space:nowrap}
.lnd h4{margin:12px 0 2px;color:var(--gold);font:0.875rem var(--fh)}.lnd p{margin:0;line-height:1.4}.lnd .lnp{display:flex;gap:4px;margin:4px 0}.lnd .lnp i{width:22px;height:12px}.lnd .lnn{margin-top:8px;padding:6px 8px;border:2px dashed var(--amber);color:var(--amber);font-size:0.875rem}.lnd .adv .btn{min-height:44px}
/* levels-real: Scouting/Recruiting effects */
.lane .lnx{display:block;font-size:0.75rem;line-height:1.2;color:var(--lav);margin-top:2px;overflow-wrap:break-word}
.lane .pm button[data-li]{font-style:italic;font-family:Georgia,serif}
.lnd .lnu{margin:2px 0 0;padding-left:18px;line-height:1.4}.lnd .lnu li{margin:2px 0}.lnd .lnow{margin-top:6px!important;padding:6px 8px;background:#101a4a;border-left:4px solid var(--gold)}
.fa27 .fawant{display:block;font-size:0.75rem;line-height:1.3;color:#d8dcff;margin-top:2px}.fa27 .fawant b{color:#ffd23f}
body.hc .lane .lnx,body.hc .fa27 .fawant{color:#fff!important}
.fa27 .btn.sm[data-fw],.fa27 .btn.sm[data-testid=fa-blocked]{min-height:44px;white-space:normal;line-height:1.15}
.fa27 .rd .btn.sm[data-fw],.fa27 .rd .btn.sm[data-testid=fa-blocked]{min-width:56px!important;max-width:64px;padding-left:4px;padding-right:4px}
/* levels-real: on phone the lane tiles sit below the canvas, so the office monitor is pinned to the canvas (56.25cqw tall) instead of the whole scene; extra tile lines no longer stretch it */
@media(max-width:700px){.scene .mon{top:10.65cqw;height:30.85cqw}}
.fl.rest,i.fl.rest{background:#5b5f6b;color:#fff}.fl.fs,i.fl.fs{background:#1d7a8c;color:#fff}

/* QB room: name-a-starter dropdown + trade-ask popup */
.qbpick{margin:12px 0;padding:12px;background:#0b1030;box-shadow:0 0 0 2px #3a4388;border-radius:4px;display:flex;flex-direction:column;gap:8px}
.qbpick label{font-size:.875rem;color:var(--lav)}
.qbpick select{font:1rem var(--fb);background:#060a22;color:#fff;border:0;box-shadow:0 0 0 2px #3a4388;padding:10px;min-height:48px;width:100%;max-width:28rem}
.qbask .cbody{margin:8px 0 12px}
/* trade-ui: red desk phone on GM Office (opens Trade Center / incoming call) */
.scene .deskphone{position:absolute;left:65.5%;top:68%;width:8%;min-width:48px;min-height:48px;height:16%;z-index:5;padding:0;border:0;background:transparent;cursor:pointer;display:flex;align-items:flex-end;justify-content:center;box-shadow:none}
.scene .deskphone:focus-visible{outline:3px solid #ffc83c;outline-offset:2px}
.scene .deskphone .dph{display:block;width:28px;height:22px;image-rendering:pixelated;background:
  linear-gradient(#c82832,#c82832) 2px 0/24px 8px no-repeat,
  linear-gradient(#8e141c,#8e141c) 4px 2px/20px 4px no-repeat,
  linear-gradient(#e03840,#e03840) 0 9px/28px 12px no-repeat,
  linear-gradient(#a01820,#a01820) 2px 11px/24px 8px no-repeat,
  linear-gradient(#3a2018,#3a2018) 12px 8px/4px 3px no-repeat;
filter:drop-shadow(1px 2px 0 rgba(0,0,0,.55));pointer-events:none}
.scene .deskphone .dpring{position:absolute;top:-2px;left:50%;transform:translateX(-50%);font:700 0.625rem/1 var(--fh);color:#fff;background:#c00;padding:2px 4px;border:2px solid #000;box-shadow:2px 2px 0 #000;white-space:nowrap;pointer-events:none}
.scene .deskphone.ring .dph{animation:phring .45s steps(2) infinite}
.scene .deskphone.ring .dpring{animation:phblink .45s steps(2) infinite}
@keyframes phring{0%,100%{transform:rotate(0)}50%{transform:rotate(-12deg)}}
@keyframes phblink{0%,100%{opacity:1}50%{opacity:.35}}
@media (max-width:700px){.scene .deskphone{left:65.5%;top:calc(56.25cqw * .68);height:calc(56.25cqw * .16)}}

/* trade-ui: incoming phone call — OVR next to names + needs lines */
.phdeal{margin:8px 0;padding:8px 10px;background:#0c1440;border:2px solid #2a3a8a;box-shadow:2px 2px 0 #000}
.phdeal p{margin:4px 0;line-height:1.35}
.phovr{display:inline-flex;align-items:baseline;gap:3px;margin-left:6px;padding:1px 6px;background:#101a4a;border:2px solid #000;vertical-align:middle}
.phovr b{font:700 1rem var(--fh);color:var(--gold)}
.phovr small{font-size:0.625rem;color:var(--lav)}
.phneeds{margin:8px 0 4px;padding:8px 10px;border-left:4px solid var(--gold);background:#101a4a}
.phneeds p{margin:3px 0;line-height:1.35;color:#dfe3ff}
.phneeds b{color:#fff}
/* sim-week: play/sim buttons sit under the inbox call; mandate + feed share a bottom row */
.hubtail{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:6px;align-items:end}
.hubtail .own,.hubtail .feedp{margin:0}
.hubtail .feedp{grid-column:auto}
.inbox .panel{justify-content:flex-start}
.inbox .adv{margin-top:8px}
@media (max-width:760px){.hubtail{grid-template-columns:1fr;align-items:stretch}}

/* Relocation tank follow-through (inbox dropdown + end-of-season news banner) */
.relpick,.relbrand{margin-top:8px;padding:10px;background:linear-gradient(180deg,#141c4c,#0a0f2c);box-shadow:0 0 0 2px #000,0 0 0 4px #6a3a88;border-radius:2px;display:flex;flex-direction:column;gap:8px}
.relpick label,.relbrand label{font:0.7rem/1.4 var(--fd);color:#c8d0ff}
.relpick select,.relbrand select{font:0.75rem/1.4 var(--fd);background:#0a0f2c;color:#fff;border:2px solid #3a4388;padding:6px 8px;border-radius:2px}
.relban{padding:12px 14px;background:linear-gradient(180deg,#1a1030,#0a0818);box-shadow:inset 0 0 0 2px #5a2a6a,0 0 0 2px #000;border-radius:2px}
.relban-tag{display:inline-block;background:#c8202c;color:#fff;font:0.65rem/1 var(--fd);padding:4px 8px;letter-spacing:.08em;margin-bottom:8px}
.relban h3{margin:0 0 8px;font:0.9rem/1.35 var(--fd);color:#ffe27a;text-shadow:2px 2px 0 #000}
/* scout-needs: keep the scouting board two-column (season scores reuse .sgrid as a card grid) */
#v-scout>.sgrid{grid-template-columns:minmax(0,1fr) 360px}
@media(max-width:1100px){#v-scout>.sgrid{grid-template-columns:minmax(0,1fr)}}
/* fa-pool: roster tabs (My roster / Free agents), Release on the player card, starter tags, sign & start */
.ros .rtabs{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 4px}
.ros .rtabs .pill{font-weight:700;letter-spacing:.02em;border-radius:6px;box-shadow:2px 2px 0 #000}
.btn.rel{background:linear-gradient(180deg,#5a5f6b 0,#3a3f4b 48%,#272b34 52%,#4a4f5b 100%);color:#fff;text-shadow:1px 1px 0 #000}
.fl.rel{background:#5c5f66;color:#fff}.fl.start{background:#1f6f3f;color:#fff;font-weight:700}
.fa27 .fahole{margin:4px 0 8px;font-size:.8125rem;line-height:1.35}
.fa27 .farow .rd{width:auto;min-width:72px;display:flex;flex-direction:column;gap:4px;align-items:flex-end}
.relask p,.fastart p{margin:6px 0}.fastart select{font:inherit;min-height:40px;max-width:100%}
@media(max-width:480px){.fa27 .farow .rd{min-width:60px}.rcardp .adv{flex-wrap:wrap}}

/* season-review: club fans table, path progress, Path board */
.tfans{margin:-4px 6px 10px;padding:6px 12px;background:rgba(10,15,44,.85);box-shadow:0 0 0 2px #000,0 0 0 3px #3a4388;font-size:.875rem}
.tfans summary{cursor:pointer;color:var(--lav)}.tfans summary b{color:var(--gold)}.tfans .stab{margin-top:6px;width:100%}
.srpaths{margin:8px 0;padding:8px 10px;border:2px solid #3a4388;border-radius:4px;background:rgba(20,28,74,.6)}.srpaths ul{margin:6px 0 0;padding-left:4px;list-style:none}.srpaths li{margin:3px 0;font-size:.875rem}
.srpaths .lnk{margin-left:8px}.srend b{color:var(--gold)}
.pboard .pbk{margin:10px 0 16px}.pboard .stab{width:100%}.pboard h4{margin-bottom:2px}
.srchat .ochs .btn{min-height:44px}
#v-hub.hsimple .tfans{display:none}
