/* MvF Fantasy, on top of MvF Core's lineup.css (dark app look, yellow #ff0 accents, Bebas/Impact headings). Every class starts ff-. */
.ff [hidden]{display:none!important}
.ff{--y:#ff0;--card:#161616;--line:#2a2a2a;--mute:#9a9a9a}
.ff a{color:var(--y)}
.ff-top{margin:6px 0 10px}
.ff-top h1{font:400 34px/1 Impact,"Arial Narrow",sans-serif;text-transform:uppercase;margin:4px 0 0}
.ff-tabs{display:flex;gap:4px;background:#1c1c1c;border-radius:99px;padding:4px;margin:0 0 14px;overflow-x:auto;scrollbar-width:none}
.ff-tabs::-webkit-scrollbar{display:none}
.ff-tabs a{flex:1 0 auto;text-align:center;color:#ddd;text-decoration:none;font:700 14px/1 Arial,sans-serif;padding:12px 8px;border-radius:99px;white-space:nowrap}
.ff-tabs a[aria-current]{background:var(--y);color:#000}
.ff-test{background:#2a0000;border-left:4px solid #d00;color:#f3caca;font-size:13px;padding:8px 10px;border-radius:4px;margin:0 0 12px;line-height:1.4}
.ff-note{color:var(--mute);font-size:13px;line-height:1.45}
.ff-h{font:400 24px/1 Impact,"Arial Narrow",sans-serif;text-transform:uppercase;margin:18px 0 8px;display:flex;align-items:baseline;gap:10px}
.ff-h small{font:400 13px Arial,sans-serif;color:var(--mute);text-transform:none}
.ff-wkpts{margin-left:auto;color:var(--y);font-weight:400}
.ff-card{background:var(--card);border-radius:10px;padding:14px 16px;margin:0 0 14px}
.ff-card h2{font:400 26px/1 Impact,"Arial Narrow",sans-serif;text-transform:uppercase;margin:0 0 8px}
.ff-card p{margin:6px 0 12px;color:#cfcfcf;font-size:15px;line-height:1.45}
.ff-deadline{border-left:6px solid var(--y)}
.ff-deadline b{display:block;font:400 26px/1.1 Impact,"Arial Narrow",sans-serif;margin-top:4px}
.ff-slim{padding:10px 14px}.ff-slim b{font-size:20px}
.ff-go{display:block;width:100%;text-align:center;font-size:18px;padding:14px;border:0;border-radius:8px;background:var(--y);color:#000!important;text-decoration:none;font-family:Impact,"Arial Narrow",sans-serif;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.ff-go:disabled{opacity:.35;cursor:default}
.ff-btn2{background:none;border:1px solid #444;color:#fff;border-radius:8px;padding:12px 16px;font:700 15px Arial,sans-serif;cursor:pointer}
.ff-link{display:inline-block;margin-top:10px;font-size:15px}
.ff-manager{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:6px 0 8px}
.ff-manager h2{font:400 28px/1 Impact,"Arial Narrow",sans-serif;text-transform:uppercase;margin:4px 0 0}
.ff-stat{text-align:right}.ff-stat b{display:block;font:400 34px/1 Impact,"Arial Narrow",sans-serif;color:var(--y)}.ff-stat small{color:var(--mute);font-size:12px}
.ff-weeks{display:flex;gap:6px;overflow-x:auto;padding:4px 0 10px;scrollbar-width:none}
.ff-weeks::-webkit-scrollbar{display:none}
.ff-weeks a{flex:none;background:#222;color:#fff;border-radius:99px;padding:10px 14px;font-size:14px;text-decoration:none}
.ff-weeks a[aria-current]{background:var(--y);color:#000;font-weight:700}

/* Squad cards (My team) */
.ff-squad{display:grid;gap:8px}
.ff-pcard{background:var(--card);border-radius:10px;border-left:6px solid var(--kit,#555);overflow:hidden}
.ff-pcard summary{display:flex;align-items:center;gap:12px;padding:10px 12px;list-style:none;cursor:pointer;min-height:64px}
.ff-pcard summary::-webkit-details-marker{display:none}
.ff-pcard[data-static] summary{cursor:default}
.ff-pic{position:relative;flex:none;width:46px;height:46px;border-radius:50%;background:#2a2a2a;overflow:visible}
.ff-pic img{width:46px;height:46px;border-radius:50%;object-fit:cover;display:block}
.ff-arm,.ff-rules .ff-arm{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--y);color:#000;font:900 12px/1 Arial,sans-serif;font-style:normal}
.ff-pic .ff-arm{position:absolute;right:-4px;bottom:-4px;border:2px solid #000}
.ff-who{flex:1;min-width:0}
.ff-who b{display:block;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ff-who small{display:block;color:var(--mute);font-size:13px;margin-top:2px}
.ff-pts{flex:none;text-align:right;font:400 30px/1 Impact,"Arial Narrow",sans-serif;color:var(--y)}
.ff-pts small{display:block;font:400 11px Arial,sans-serif;color:var(--mute)}
.ff-break{padding:0 12px 12px 70px}
.ff-app{margin:0 0 8px}
.ff-apphead{margin:0 0 4px;font-size:13px;color:#cfcfcf}
.ff-apphead i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px;vertical-align:1px}
.ff-apphead em{font-style:normal;background:#333;color:#fff;border-radius:3px;padding:1px 5px;font-size:11px;margin-left:4px;text-transform:uppercase}
.ff-break ul{list-style:none;margin:0;padding:0}
.ff-break li{display:flex;justify-content:space-between;font-size:14px;padding:5px 0;border-bottom:1px solid var(--line)}
.ff-break li b{color:#8f8}
.ff-break li b.ff-neg,.ff-neg{color:#f77!important}
.ff-break li.ff-sub{color:var(--mute)}.ff-break li.ff-sub b{color:var(--y)}

/* Pick screen */
.ff-picked{position:sticky;top:0;z-index:5;background:#0b0b0b;padding:10px 0 8px;margin:0 -16px;padding-left:16px;padding-right:16px;border-bottom:1px solid var(--line)}
.ff-bank{display:flex;align-items:baseline;gap:8px;font-size:13px;color:var(--mute)}
.ff-bank b{font:400 24px/1 Impact,"Arial Narrow",sans-serif;color:var(--y)}
.ff-count{margin-left:auto;background:#222;border:0;color:#fff;border-radius:99px;padding:8px 12px;font:700 13px Arial,sans-serif;cursor:pointer}
.ff-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 6px;margin:10px 0 8px}
.ff-slot{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;background:var(--card);border-radius:8px;border-top:4px solid var(--kit,#555);padding:8px 2px 6px;min-height:128px;min-width:0}
.ff-slot .ff-pic,.ff-slot .ff-pic img{width:36px;height:36px}
.ff-slot small{color:var(--mute);font-size:11px}
.ff-sname{font-size:12px;font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 2px}
.ff-sbtns{display:flex;gap:4px;margin-top:auto}
.ff-empty{border:2px dashed #3a3a3a;border-top-width:2px;background:none;justify-content:center;cursor:pointer}
.ff-plus{font-size:26px;color:#666;line-height:1}
.ff-cap,.ff-x{width:28px;height:28px;border-radius:50%;border:0;background:#333;color:#bbb;font:900 13px/1 Arial,sans-serif;cursor:pointer;padding:0}
.ff-cap.on{background:var(--y);color:#000}
.ff-x{font:700 17px/1 Arial,sans-serif;color:#fff}
.ff-rules{font-size:12px;color:var(--mute);margin:4px 0 6px;line-height:1.5}
.ff-filter{display:flex;gap:8px;margin:12px 0 8px}
.ff-filter input,.ff-filter select{font-size:16px;background:#1c1c1c;border:1px solid #333;color:#fff;border-radius:8px;padding:12px}
.ff-filter input{flex:1;min-width:0}
.ff-chips{display:flex;gap:8px;overflow-x:auto;padding:8px 8px 12px 0;margin:0 0 2px;scrollbar-width:none}
.ff-chips::-webkit-scrollbar{display:none}
.ff-chips button{flex:none;position:relative;border:1px solid #333;border-bottom:3px solid var(--kit,#333);background:#161616;color:#fff;font:700 14px/1 Arial,sans-serif;padding:10px 13px;border-radius:8px;cursor:pointer}
.ff-chips button[aria-pressed=true]{background:#fff;color:#000;border-color:#fff}
.ff-chips button i{position:absolute;top:-6px;right:-6px;background:var(--y);color:#000;font:900 11px/18px Arial,sans-serif;font-style:normal;width:18px;height:18px;border-radius:50%;text-align:center}
.ff-list{display:grid;gap:6px;padding-bottom:110px}
.ff-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--card);border:0;border-left:5px solid var(--kit,#555);border-radius:8px;padding:10px 12px;color:#fff;font:inherit;cursor:pointer;min-height:62px}
.ff-row.in{background:#262600;outline:2px solid var(--y)}
.ff-row.no{opacity:.45}
.ff-price{flex:none;text-align:right}
.ff-price b{display:block;font:400 20px/1 Impact,"Arial Narrow",sans-serif}
.ff-price small{display:block;font-size:11px;color:var(--mute);margin-top:3px}
.ff-row.in .ff-price small{color:var(--y)}
.ff-savebar{position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));z-index:6;background:linear-gradient(transparent,#0b0b0b 30%);padding:18px 16px 10px}
.ff-savebar>*{max-width:528px;margin-left:auto;margin-right:auto}
.ff-msg{font-size:14px;color:#cfcfcf;margin:0 auto 8px;min-height:20px;text-align:center}
.ff-msg.ff-warn{color:#ffb4b4}.ff-msg.ff-ok{color:#b6f5b6}
.ff-prices .ff-savebar .ff-msg{margin-top:8px}

/* League table */
.ff-league{list-style:none;margin:0;padding:0}
.ff-league li a,.ff-lhead{display:grid;grid-template-columns:48px 1fr 44px 56px;align-items:center;gap:6px;padding:12px 8px;border-bottom:1px solid #222;color:#fff;text-decoration:none;font-size:15px}
.ff-lhead{color:var(--mute);font-size:12px;padding-top:4px;padding-bottom:6px;border-bottom:1px solid #333}
.ff-league li a span:nth-child(3),.ff-league li a b,.ff-lhead span:nth-child(n+3){text-align:right}
.ff-league li a b{color:var(--y);font:400 22px/1 Impact,"Arial Narrow",sans-serif}
.ff-league li.me a{background:#1d1d00}
.ff-up,.ff-down,.ff-same{font-style:normal;font-size:10px;margin-left:5px;vertical-align:1px}
.ff-up{color:#6f6}.ff-down{color:#f66}.ff-same{color:#666}
.ff-sum .ff-sumtext p{color:#e8e8e8;font-size:15px;line-height:1.55;margin:8px 0}
.ff-sumtools{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.ff-sumtools textarea{width:100%;font:16px/1.5 Arial,sans-serif;background:#0b0b0b;color:#fff;border:1px solid #444;border-radius:8px;padding:10px}
.ff-sumtools .ff-go{width:auto;flex:1;font-size:16px;padding:12px}
.ff-sumtools .ff-msg{flex-basis:100%;text-align:left;min-height:0;margin:0}

/* Every player's points */
.ff-table{width:100%;border-collapse:collapse;font-size:14px}
.ff-table th{text-align:left;color:#8a8a8a;font-weight:400;font-size:12px;padding:6px 4px;border-bottom:1px solid #333}
.ff-table td{padding:9px 4px;border-bottom:1px solid #222;vertical-align:top}
.ff-table td small{display:block;color:var(--mute);font-size:12px;margin-top:2px}
.ff-table td i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px;vertical-align:0}
.ff-table td:last-child b{color:var(--y)}
.ff-table tr.me td{background:#1d1d00}

/* Prices */
.ff-tteam{font:400 22px/1 Impact,"Arial Narrow",sans-serif;text-transform:uppercase;margin:20px 0 6px}
.ff-tteam i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:8px}
.ff-prow{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #222}
.ff-pname{flex:1;min-width:0;font-size:15px}
.ff-pname small{display:block;color:var(--mute);font-size:12px;margin-top:2px}
.ff-pin{flex:none;font-size:15px;color:var(--mute)}
.ff-pin input{width:74px;font-size:16px;background:#1c1c1c;border:1px solid #333;color:#fff;border-radius:6px;padding:9px 6px;text-align:right;margin:0 3px}
.ff-changed .ff-pin input{border-color:var(--y);color:var(--y)}
.ff-reset{flex:none;width:40px;height:40px;border-radius:8px;border:1px solid #333;background:none;color:#aaa;font-size:18px;cursor:pointer}
.ff-prices{padding-bottom:110px}
@media (max-width:360px){.ff-slots{gap:4px}.ff-sname{font-size:11px}.ff-tabs a{padding:11px 9px;font-size:13px}}
.ff-head h1{font:400 30px/1 Impact,"Arial Narrow",sans-serif;text-transform:uppercase;margin:4px 0 8px}
.ff-trans{font-size:13px;color:#cfcfcf;background:#1c1c1c;border-radius:6px;padding:6px 10px;margin-top:6px}
.ff-trans.ff-cost{background:#3a1010;color:#ffb4b4}
.ff-hit{font-size:14px;color:#cfcfcf;margin:0 0 10px}.ff-hit b{color:#f77}
.ff-rulebox{margin:0 0 4px}.ff-rulebox summary{font-size:14px;color:var(--y);cursor:pointer;padding:8px 0}
.ff-money{display:flex;gap:8px;margin:0 0 10px}
.ff-money button,.ff-money select{flex:1;font:700 15px Arial,sans-serif;background:#161616;border:1px solid #333;color:#fff;border-radius:8px;padding:11px 12px;cursor:pointer;min-height:44px}
.ff-money select{font-size:16px}
.ff-money button[aria-pressed=true],.ff-money select.on{background:var(--y);color:#000;border-color:var(--y)}
.ff-banner{margin:0 0 12px;line-height:0}
.ff-banner img{display:block;width:100%;height:auto}
.lu-empty .ff-banner{margin-bottom:24px}

/* Player panel (pop-up) */
.ff-item{position:relative}
.ff-info{position:absolute;left:17px;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:transparent;color:transparent;cursor:pointer;padding:0}
.ff-slot .ff-info{left:50%;top:6px;transform:translateX(-50%);width:44px;height:44px}.ff-slot .ff-info::after{right:0;bottom:0;width:18px;height:18px;font-size:12px;line-height:18px}.ff-info::after{content:"i";position:absolute;right:-4px;bottom:-2px;width:20px;height:20px;border-radius:50%;background:#fff;color:#000;font:italic 700 13px/20px Georgia,serif;text-align:center;border:2px solid #000}
.ff-plink{background:none;border:0;padding:0;color:#fff;font:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:#555;text-underline-offset:3px}
.ff-more{width:100%;margin-top:10px}
.ff-modal{position:fixed;inset:0;z-index:2000}
.ff-scrim{position:absolute;inset:0;background:rgba(0,0,0,.65);opacity:0;transition:opacity .2s}
.ff-sheet{position:absolute;left:0;right:0;bottom:0;max-height:92vh;max-height:92dvh;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#0b0b0b;border-top:3px solid var(--y,#ff0);border-radius:14px 14px 0 0;padding:18px 16px calc(24px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .22s ease;outline:0;color:#fff;font-family:Arial,Helvetica,sans-serif}
.ff-modal.open .ff-scrim{opacity:1}.ff-modal.open .ff-sheet{transform:none}
@media (min-width:600px){.ff-sheet{left:50%;right:auto;width:560px;margin-left:-280px;top:6vh;bottom:auto;max-height:88vh;border-radius:14px;border:1px solid #333;border-top:3px solid var(--y,#ff0);transform:translateY(20px);opacity:0;transition:transform .2s,opacity .2s}.ff-modal.open .ff-sheet{opacity:1}}
html.ff-locked,html.ff-locked body{overflow:hidden}
.ff-close{position:sticky;top:0;display:block;margin:-6px -4px -38px auto;box-shadow:0 0 0 4px #0b0b0b;width:44px;height:44px;border-radius:50%;border:0;background:#222;color:#fff;font-size:26px;line-height:1;cursor:pointer;z-index:2}
.ff-mhead{display:flex;align-items:center;gap:14px;padding:0 0 12px;border-bottom:3px solid var(--kit,#555)}
.ff-mpic,.ff-mpic img{width:64px;height:64px}
.ff-mhead>div{padding-right:50px;min-width:0}.ff-mhead h2{font:400 28px/1 Impact,"Arial Narrow",sans-serif;text-transform:uppercase;margin:0}
.ff-mhead p{margin:4px 0 0;color:#bdbdbd;font-size:14px}
.ff-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:14px 0 8px}
.ff-stat2{background:#161616;border-radius:8px;padding:8px 4px;text-align:center}
.ff-stat2 b{display:block;font:400 22px/1 Impact,"Arial Narrow",sans-serif;color:var(--y,#ff0)}
.ff-stat2 small{display:block;color:#9a9a9a;font-size:11px;margin-top:3px}
.ff-mbits{margin:6px 0 4px}
.ff-sheet .ff-h{font-size:20px;margin:18px 0 6px}
.ff-next{list-style:none;margin:0;padding:0}
.ff-next li,.ff-wkrow summary{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #222;font-size:14px}
.ff-next li small{margin-left:auto;color:#9a9a9a;font-size:12px;text-align:right}
.ff-wk{flex:none;width:44px;color:#9a9a9a;font-size:13px}
.ff-opp{flex:1;min-width:0}.ff-opp i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px}
.ff-wkrow summary{list-style:none;cursor:pointer}.ff-wkrow summary::-webkit-details-marker{display:none}
.ff-wkrow summary b{flex:none;font:400 22px/1 Impact,"Arial Narrow",sans-serif;color:var(--y,#ff0);min-width:30px;text-align:right}
.ff-wkrow summary::after{content:"›";color:#666;font-size:18px;transition:transform .15s}
.ff-wkrow[open] summary::after{transform:rotate(90deg)}
.ff-wkrow.ff-dnp summary{color:#777}.ff-wkrow.ff-dnp summary::after{visibility:hidden}
.ff-wkrow .ff-apphead{margin:8px 0 2px 54px}
.ff-wkrow .ff-break{padding:0 0 8px 54px}
.ff-res{font-style:normal;font-size:12px;font-weight:700;border-radius:3px;padding:1px 5px;white-space:nowrap}
.ff-res.ff-W{background:#1f4d1f;color:#9f9}.ff-res.ff-D{background:#333;color:#ddd}.ff-res.ff-L{background:#4d1f1f;color:#f99}
.ff-loading{text-align:center;padding:40px 0}
/* Week status: points still coming in / week complete (inc/weeks.php) */
.ff-wstat{background:#161616;border:1px solid #2a2a2a;border-left:4px solid #ffb36b;border-radius:10px;padding:10px 12px;margin:8px 0 12px}
.ff-wstat.is-done{border-left-color:#7dde9b}
.ff-wstat b{display:block;font-size:15px}.ff-wstat small{display:block;color:#bdbdbd;font-size:13px;line-height:1.4;margin-top:3px}
.ff-wstat .ff-ok{color:#7dde9b}.ff-wstat .ff-tip{color:#8a8a8a;font-size:12px}
.ff-wstat .lu-btn,.ff-wstat .ff-btn2{margin-top:10px}
.ff-wstat .ff-msg{margin:6px 0 0;font-size:13px;color:#cfcfcf}.ff-wstat .ff-msg:empty{display:none}
/* The bench (squad of 9, 7 play) */
.ff-benchh{font:400 20px/1 Impact,"Arial Narrow",sans-serif;text-transform:uppercase;margin:16px 0 8px;color:#bdbdbd}.ff-benchh small{font:400 12px Arial,sans-serif;text-transform:none;color:#8a8a8a;margin-left:6px}
.ff-benchlist .ff-pcard{opacity:.75}
.ff-subtag{display:block;color:#7dde9b!important;font-size:12px!important;margin-top:2px}.ff-subtag.ff-out{color:#ffb36b!important}
.ff-slot.ff-bslot{background:#111;border-style:dashed}
.ff-slot .ff-blab{position:static;align-self:flex-end;margin:-2px 0 -6px;font:700 10px Arial,sans-serif;color:#8a8a8a;text-transform:uppercase;letter-spacing:.05em}
.ff-slots .ff-benchrow{grid-column:1/-1;font:400 16px/1 Impact,"Arial Narrow",sans-serif;text-transform:uppercase;color:#bdbdbd;margin:6px 0 -2px}
.ff-swap{position:absolute;top:4px;left:4px;width:30px;height:30px;border-radius:50%;border:1px solid #444;background:#1c1c1c;color:#fff;font:700 14px/1 Arial,sans-serif;cursor:pointer;padding:0;z-index:2}.ff-swap[aria-pressed=true]{background:var(--y,#ff0);color:#000;border-color:var(--y,#ff0)}
.ff-slot.ff-swapping{outline:2px solid var(--y,#ff0);outline-offset:2px}
/* Rules tab */
.ff-rulespage section{background:var(--card,#161616);border-radius:10px;padding:12px 14px;margin:0 0 10px}
.ff-rulespage h3{font:400 20px/1 Impact,"Arial Narrow",sans-serif;text-transform:uppercase;margin:0 0 8px;color:var(--y,#ff0)}
.ff-rulespage ul{margin:0;padding-left:18px}.ff-rulespage li{margin:0 0 6px;line-height:1.45;font-size:15px;color:#e6e6e6}
.ff-rulespage .is-pts ul{padding:0;list-style:none}
.ff-rulespage li.pt{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.ff-rulespage li.pt b{flex:none;min-width:40px;text-align:center;background:var(--y,#ff0);color:#000;border-radius:4px;padding:2px 7px;font:700 14px/1.3 Arial,sans-serif}
.ff-rulespage .is-pts li:not(.pt){margin:8px 0 0;font-size:13px;color:#9a9a9a}

/* Join screen */
.ff-join h2{font:400 30px/1 Impact,"Arial Narrow",sans-serif;text-transform:uppercase;margin:6px 0 10px;color:var(--y,#ff0)}
.ff-join p{margin:0 0 10px;line-height:1.5;font-size:15px}
.ff-join ul{margin:0 0 12px;padding-left:20px}.ff-join li{margin:0 0 6px;line-height:1.45;font-size:15px}
.ff-join .ff-go{display:block;width:100%;margin:6px 0 10px;min-height:48px;font-size:17px}
.ff-join .ff-joinrules{display:block;text-align:center;text-decoration:none}
.ff-table td.ff-pk{color:#a8a8a8;white-space:nowrap;font-size:14px}
.ff-nx{display:block;font-size:13px;color:var(--y,#ff0);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ff-nx i{display:inline-block;width:9px;height:9px;border-radius:2px;margin:0 4px 0 1px;vertical-align:0}.ff-nx.off{color:var(--mute)}
.ff-item,.ff-item>.ff-row{min-width:0}
/* Team names */
.ff-mgr-who{display:block;color:var(--mute);font-size:14px;margin-top:4px}
.ff-tname{background:var(--card,#161616);border-radius:10px;padding:0 14px;margin:0 0 12px}
.ff-tname summary{padding:12px 0;font-size:15px;font-weight:700;color:var(--y,#ff0);cursor:pointer;min-height:24px}
.ff-tname form{padding:0 0 12px}.ff-tname label{display:block;font-size:13px;color:var(--mute);margin:0 0 6px}
.ff-tname-row{display:flex;gap:8px}.ff-tname-row input{flex:1;min-width:0;font-size:16px;padding:11px 12px;border-radius:8px;border:1px solid #333;background:#0b0b0b;color:#fff}
.ff-tname-row .ff-go{flex:none;width:auto;margin:0;padding:0 18px;min-height:46px}
.ff-tname-tip{font-size:13px;line-height:1.45;color:#bdbdbd;margin:8px 0 8px;padding:8px 10px;border-left:3px solid var(--y,#ff0);background:#0f0f0f;border-radius:0 6px 6px 0}
.ff-tname .ff-btn2{margin-top:2px}.ff-tname-reset{margin:0 0 12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ff-lname{min-width:0}.ff-lname b{display:block;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-lname small{display:block;color:var(--mute);font-size:12px;font-weight:400}
.ff-league li a .ff-lname b{color:#fff;font:700 15px/1.25 Arial,Helvetica,sans-serif;text-align:left}
/* Challenge bonuses */
.ff-bonus h2{font:400 22px/1 Impact,"Arial Narrow",sans-serif;text-transform:uppercase;margin:0 0 12px;color:var(--y,#ff0)}
.ff-bonus label{display:block;font-size:13px;color:var(--mute);margin:10px 0 6px}
.ff-bonus select,.ff-bonus input{width:100%;box-sizing:border-box;font-size:16px;padding:10px 12px;border-radius:8px;border:1px solid #333;background:#0b0b0b;color:#fff}
.ff-bonus select{padding:6px}.ff-bonus optgroup{color:var(--y,#ff0);font-style:normal}.ff-bonus option{color:#fff;padding:6px 4px}
.ff-bn-row{display:grid;grid-template-columns:90px 1fr;gap:10px}.ff-bn-row>div{min-width:0}
.ff-bonus .ff-go{display:block;width:100%;margin-top:14px;min-height:48px}
.ff-bn-list{list-style:none;margin:0;padding:0}.ff-bn-list li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #222}
.ff-bn-list li>span{flex:1;min-width:0}.ff-bn-list li>span b{display:block;font-size:15px}.ff-bn-list li>span small{display:block;color:var(--mute);font-size:12px;margin-top:2px}
.ff-bn-list li>b{font:400 22px/1 Impact,"Arial Narrow",sans-serif;color:var(--y,#ff0)}.ff-bn-list li>b.ff-neg{color:#ff5a5a}
.ff-bn-list .ff-btn2{flex:none;min-width:44px;min-height:44px;padding:0;font-size:20px}
.ff-draft{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#262600;border:1px solid var(--y,#ff0);color:#fff;border-radius:8px;padding:8px 12px;margin:0 0 10px;font-size:14px}.ff-draft[hidden]{display:none}.ff-draft .ff-btn2{min-height:40px}
/* Team on a pitch (7-a-side, 1-3-2-1) */
.ff-pitch{position:relative;margin:4px 0 10px;padding:16px 6px 14px;border-radius:12px;overflow:hidden;background:repeating-linear-gradient(180deg,#2f8a3c 0 40px,#2a7f36 40px 80px);box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.ff-pitch-lines{position:absolute;inset:8px;border:2px solid rgba(255,255,255,.45);border-radius:6px;pointer-events:none}
.ff-pitch-lines::before{content:"";position:absolute;left:28%;right:28%;bottom:-2px;height:15%;border:2px solid rgba(255,255,255,.45);border-bottom:0}
.ff-pitch-lines::after{content:"";position:absolute;left:50%;top:-2px;width:70px;height:35px;margin-left:-35px;border:2px solid rgba(255,255,255,.45);border-top:0;border-radius:0 0 70px 70px}
.ff-frow{position:relative;display:flex;justify-content:space-evenly;gap:4px;margin:6px 0 12px}
.ff-pitch .ff-frow:last-child{margin-bottom:0}
.ff-tok{flex:0 1 92px;min-width:0;display:flex;flex-direction:column;align-items:center;text-decoration:none;color:#fff;-webkit-tap-highlight-color:transparent}
.ff-tok-pic{position:relative;width:54px;height:54px;border-radius:50%;background:#111;border:3px solid var(--kit,#555);display:grid;place-items:center;overflow:visible}
.ff-tok-pic img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.ff-tok-pic em{font:700 17px/1 Arial,sans-serif;font-style:normal;color:#fff}
.ff-tok-pic .ff-arm{position:absolute;top:-4px;right:-6px;width:22px;height:22px;font-size:12px;box-shadow:0 0 0 2px #000}
.ff-tok-in{position:absolute;bottom:-4px;right:-6px;width:20px;height:20px;border-radius:50%;background:#1a9a42;color:#fff;font:700 12px/20px Arial,sans-serif;font-style:normal;text-align:center;box-shadow:0 0 0 2px #000}
.ff-tok b{display:block;color:#fff;max-width:100%;margin-top:5px;padding:2px 6px;border-radius:4px;background:rgba(0,0,0,.78);font-size:12px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ff-tok-pts{margin-top:2px;min-width:28px;padding:1px 6px;border-radius:4px;background:var(--y,#ff0);color:#000;font:700 13px/1.3 Arial,sans-serif;text-align:center}
.ff-pbench{background:var(--card,#161616);border-radius:12px;padding:10px 6px 12px;margin:0 0 14px}
.ff-pbench .lu-eye{display:block;padding:0 8px 4px}.ff-pbench .ff-frow{margin:4px 0 0;justify-content:flex-start;gap:14px;padding:0 8px}
.ff-tok.is-bench .ff-tok-pic{opacity:.8}.ff-tok.is-out{opacity:.55}.ff-tok.is-bench .ff-tok-pts{background:#333;color:#bbb}
.ff-sortby{display:flex;align-items:center;gap:6px;margin:0 0 10px;font-size:13px;color:var(--mute)}.ff-sortby a{padding:6px 12px;border-radius:99px;background:#1c1c1c;color:#fff;text-decoration:none;min-height:32px;display:inline-flex;align-items:center}.ff-sortby a[aria-current]{background:var(--y,#ff0);color:#000;font-weight:700}
/* Pick screen on a pitch */
.ff-slots.ff-onpitch{display:block}
.ff-pickpitch .ff-frow{gap:6px;margin:4px 0 10px}.ff-pickpitch .ff-frow:last-child{margin-bottom:0}
.ff-pickpitch .ff-slot,.ff-pickbench .ff-slot{flex:0 1 31%;max-width:118px;background:rgba(0,0,0,.72);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.ff-pickpitch .ff-slot.ff-empty{background:rgba(0,0,0,.28);border:2px dashed rgba(255,255,255,.55);border-top-width:2px}
.ff-pickpitch .ff-slot.ff-empty .ff-plus,.ff-pickpitch .ff-slot.ff-empty small{color:#fff}
.ff-pickbench{margin-top:0}.ff-pickbench .ff-frow{justify-content:center;gap:8px}.ff-pickbench .ff-slot{background:#111}
.ff-pickpitch,.ff-pickbench{padding-top:12px}.ff-pickpitch .ff-slot,.ff-pickbench .ff-slot{min-height:112px;padding:6px 2px 6px;flex-basis:30%}
.ff-pickpitch .ff-slot.ff-empty,.ff-pickbench .ff-slot.ff-empty{min-height:92px;justify-content:center}
.ff-pickbench .ff-slot.ff-bslot{border:0;border-top:4px solid var(--kit,#555);background:#0b0b0b}.ff-pickbench .ff-slot.ff-bslot.ff-empty{border:2px dashed #444}
#ff-save.is-saved,#ff-save.is-saved:disabled{background:#123d1d!important;color:#7ee29a!important;border:2px solid #1a9a42!important;opacity:1!important;filter:none!important}
/* Pitch tokens: the link fills the token, the ⓘ sits on the photo */
.ff-tok{position:relative}.ff-tok-a{display:flex;flex-direction:column;align-items:center;width:100%;text-decoration:none;color:#fff;-webkit-tap-highlight-color:transparent}
.ff-tok-i{position:absolute;top:34px;left:calc(50% - 40px);z-index:2;width:30px;height:30px;padding:0;border:0;background:none;cursor:pointer;font-size:0;color:transparent;line-height:0}
.ff-tok-i::before{content:"i";display:block;width:20px;height:20px;margin:5px;border-radius:50%;background:#fff;color:#000;font:italic 700 13px/20px Georgia,serif;text-align:center;box-shadow:0 0 0 2px #000}
.ff-tok.is-bench .ff-tok-a,.ff-tok.is-out .ff-tok-a{opacity:inherit}
.ff-pcard .ff-nx{margin-top:3px}.ff-pkline{display:block;color:var(--mute);font-size:12px;margin-top:2px}
