/* Snap+ F2P: only what free-to-play adds on top of the Snap+ sheets (solo-v4, keeper, keeper-intro,
   mode-shell, keeper-v4, plus). Snake-room palette: canvas #07121c · surface #0c1b2a · inset #122538 ·
   raised #1a3148 · teal #03ffcc · violet #9b7bff · ice #a9dcff. */
:root{--f2p-canvas:#07121c;--f2p-surface:#0c1b2a;--f2p-inset:#122538;--f2p-raised:#1a3148;--f2p-teal:#03ffcc;--f2p-violet:#9b7bff;--f2p-ice:#a9dcff;--f2p-text:#eef4f8;--f2p-sec:#93a6ba;--f2p-bad:#f5647a;--f2p-warn:#f5a524}
html,body{background:var(--f2p-canvas);color:var(--f2p-text)}
body.f2p-page{min-height:100vh;min-height:100dvh;overflow-x:hidden}
.f2p-skip{position:absolute;left:8px;top:-60px;z-index:300;padding:10px 14px;border-radius:8px;background:var(--f2p-teal);color:#04121a;font:800 13px Inter,sans-serif}
.f2p-skip:focus{top:8px}
.f2p-app a{color:var(--f2p-ice)}
.f2p-app a:hover{color:#fff}
.f2p-app :focus-visible{outline:2px solid var(--f2p-teal);outline-offset:2px}
.f2p-app code{font:600 12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:#d7e4f4;word-break:break-all}

/* ---- top bar */
.f2p-shell .f2p-tag{flex:none;font:900 italic 15px/1 'Barlow Condensed',sans-serif;letter-spacing:1px;color:#fff;padding:5px 8px;border-radius:6px;background:linear-gradient(135deg,#9b7bff33,#03ffcc1f);box-shadow:inset 0 0 0 1px #9b7bff55}
.f2p-shell .f2p-tag i{font-style:normal;color:var(--f2p-teal);font-size:11px;letter-spacing:1.4px;margin-left:2px}
.f2p-shell .ms-pill.is-on{box-shadow:inset 0 0 0 1px #9b7bff66,0 0 18px -6px #9b7bffaa}
@media (max-width:600px){.f2p-shell .f2p-tag{display:none}.f2p-shell .ms-pills{min-width:180px}}

/* ---- generic cards / loading */
.f2p-main{max-width:1180px;margin:0 auto;padding:26px 24px 60px;box-sizing:border-box}
.f2p-loading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:50vh;font:600 14px Inter,sans-serif;color:var(--f2p-sec)}
.f2p-spinner{width:18px;height:18px;border-radius:50%;border:2px solid #ffffff22;border-top-color:var(--f2p-teal);animation:f2pSpin .8s linear infinite}
@keyframes f2pSpin{to{transform:rotate(360deg)}}
.f2p-card{max-width:760px;margin:6vh auto;padding:28px clamp(18px,4vw,36px);border-radius:18px;background:linear-gradient(165deg,#12253acc,#0c1b2af2);box-shadow:0 30px 80px #0008,inset 0 0 0 1px #ffffff12;box-sizing:border-box}
.f2p-card h1{margin:8px 0 10px;font:900 italic clamp(32px,5vw,48px)/.95 'Barlow Condensed',sans-serif;text-transform:uppercase}
.f2p-card h2{margin:26px 0 6px;font:800 italic 24px/1 'Barlow Condensed',sans-serif;text-transform:uppercase}
.f2p-card p{font:500 14px/1.55 Inter,sans-serif;color:#c7d3e0}
.f2p-card .sd-primary{text-decoration:none;color:var(--on-teal,#04121a)}
.f2p-small{font-size:12px!important;color:var(--f2p-sec)!important}
.f2p-net{position:fixed;left:50%;top:56px;transform:translateX(-50%);z-index:250;padding:8px 14px;border-radius:999px;background:#1a0f06f2;color:#ffd39a;font:700 12px Inter,sans-serif;box-shadow:inset 0 0 0 1px #f5a52488,0 10px 30px #000a}
.f2p-net[data-net="online"]{background:#062019f2;color:#9ffde6;box-shadow:inset 0 0 0 1px #03ffcc66}
.f2p-chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font:800 11px/1 Inter,sans-serif;letter-spacing:.6px;text-transform:uppercase;background:var(--f2p-inset);color:var(--f2p-sec);white-space:nowrap}
.f2p-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.f2p-chip.is-open{color:var(--f2p-teal);box-shadow:inset 0 0 0 1px #03ffcc44}
.f2p-chip.is-open:before{animation:f2pPulse 1.6s ease-in-out infinite}
.f2p-chip.is-locked{color:var(--f2p-ice);box-shadow:inset 0 0 0 1px #a9dcff44}
.f2p-chip.is-provisional{color:#ffd39a;box-shadow:inset 0 0 0 1px #f5a52455}
.f2p-chip.is-final{color:#d9ccff;background:#9b7bff26;box-shadow:inset 0 0 0 1px #9b7bff88}
@keyframes f2pPulse{50%{opacity:.35}}

/* ---- intro (keeper-intro pack · C) */
.f2p-intro .ki-c-foil b{letter-spacing:2px}
.f2p-week{font:800 11px/1 Inter,sans-serif;letter-spacing:1.6px;text-transform:uppercase;color:var(--f2p-violet);display:inline-flex;gap:8px;align-items:center}
.f2p-week:before{content:"";width:18px;height:2px;border-radius:2px;background:var(--f2p-violet)}
.f2p-intro .ki-c-title em{background:linear-gradient(180deg,#f0eaff,#c7b6ff 45%,#9b7bff);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 0 18px #9b7bff77)}
.f2p-lock{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:10px 14px;border-radius:12px;background:#0d1f31cc;box-shadow:inset 0 0 0 1px #9b7bff44;font:600 13px/1.2 Inter,sans-serif;color:#c7d3e0}
.f2p-lock b{font:800 italic 26px/1 'Barlow Condensed',sans-serif;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.4px}
.f2p-lock small{font-size:11px;color:var(--f2p-sec)}
.f2p-lock.is-closed{box-shadow:inset 0 0 0 1px #f5a52466}
.f2p-form{grid-template-columns:1fr!important}
.f2p-form .ki-name span small{font-weight:500;color:var(--f2p-sec);text-transform:none;letter-spacing:0;margin-left:6px}
.f2p-hint{margin:-4px 0 0;font:500 12px/1.3 Inter,sans-serif;color:var(--f2p-sec)}
.f2p-hint.is-bad{color:#ffb3bf}
.f2p-form input[aria-invalid="true"]{box-shadow:inset 0 0 0 1px var(--f2p-bad)!important}
.f2p-fair{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font:600 12px/1.3 Inter,sans-serif;color:var(--f2p-sec)}
.f2p-fair code{font-size:11px;color:#c9d6e6;padding:2px 6px;border-radius:6px;background:#ffffff0a}
.f2p-fair-dot{width:8px;height:8px;border-radius:50%;background:var(--f2p-teal);box-shadow:0 0 10px var(--f2p-teal)}
.f2p-blocked{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:14px;background:#0d1f31e6;box-shadow:inset 0 0 0 1px #9b7bff55}
.f2p-blocked p{margin:0;font:500 13px/1.45 Inter,sans-serif;color:#c7d3e0}.f2p-blocked p b{color:#fff}
.f2p-resume{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}
.f2p-resume label{display:flex;flex-direction:column;gap:6px;font:700 11px Inter,sans-serif;letter-spacing:.8px;text-transform:uppercase;color:var(--f2p-sec)}
.f2p-resume input,.f2p-form-grid input,.f2p-lb-controls select{height:42px;padding:0 12px;border:0;border-radius:10px;background:#07121c;color:#fff;font:700 15px Inter,sans-serif;letter-spacing:.5px;box-shadow:inset 0 0 0 1px #ffffff1f;min-width:0}
.f2p-blocked-links{font-size:12px!important}
@media (max-width:600px){
 .f2p-intro .f2p-week{order:-3;justify-content:center;width:100%}
 .f2p-intro .f2p-lock{justify-content:center;text-align:center}
 .f2p-intro .f2p-fair{justify-content:center;text-align:center}
 .f2p-intro .ki-line{text-align:center}
 .f2p-intro .plus-howto{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
 .f2p-intro .plus-howto li{padding:8px 2px}
 .f2p-resume{grid-template-columns:1fr}
}

/* ---- draft: things the prototype had that F2P doesn't */
.f2p-app .plus-restart,.f2p-app [data-solo-new],.f2p-app [data-solo-teams],.f2p-app [data-solo-demo]{display:none!important}

/* ---- end screen */
.f2p-end{max-width:1180px;margin:0 auto;padding:clamp(18px,3vw,34px) clamp(14px,3vw,28px) 60px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.85fr);grid-template-areas:"hero keep" "cta cta" "team team";gap:18px 26px;box-sizing:border-box}
.f2p-end-hero{grid-area:hero;align-self:center;min-width:0}
.f2p-end-hero h1{margin:10px 0 14px;font:900 italic clamp(44px,6.4vw,84px)/.88 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:-.5px;text-shadow:0 6px 30px #000a;outline:none}
.f2p-end-hero h1 em{display:block;font-style:inherit;color:transparent;background:linear-gradient(180deg,#e6fff8,#7dffe3 45%,#03ffcc);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 0 18px #03ffcc55)}
.f2p-kick{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;font:700 14px Inter,sans-serif;color:#c7d3e0}
.f2p-kick b{font:900 italic 38px/1 'Barlow Condensed',sans-serif;color:#fff;font-variant-numeric:tabular-nums}
.f2p-kick small{font-size:12px;color:var(--f2p-sec)}
.f2p-kick.is-live{color:#ffd39a}.f2p-kick.is-live span{color:var(--f2p-sec);font-weight:500}
.f2p-end-line{margin:12px 0 0;font:500 13px/1.5 Inter,sans-serif;color:var(--f2p-sec);max-width:52ch}
.f2p-end-keep{grid-area:keep;display:flex;flex-direction:column;gap:12px;min-width:0}
.f2p-claim,.f2p-share{padding:16px;border-radius:16px;background:linear-gradient(165deg,#13273dcc,#0c1b2af2);box-shadow:inset 0 0 0 1px #ffffff14,0 20px 50px #0007;min-width:0}
.f2p-claim{box-shadow:inset 0 0 0 1px #9b7bff66,0 0 40px -14px #9b7bff,0 20px 50px #0007}
.f2p-code{display:block;margin:8px 0 6px;font:800 clamp(30px,4.2vw,40px)/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:4px;color:#fff;user-select:all}
.f2p-claim-note{margin:0 0 8px;font:500 12.5px/1.45 Inter,sans-serif;color:#c7d3e0}.f2p-claim-note b{color:#d9ccff}
.f2p-claim-id{display:flex;gap:8px;margin:0 0 12px;font:600 11px Inter,sans-serif;color:var(--f2p-sec);min-width:0}
.f2p-claim-id dt{text-transform:uppercase;letter-spacing:1px}.f2p-claim-id dd{margin:0;font-family:ui-monospace,Menlo,monospace;color:#c9d6e6;word-break:break-all}
.f2p-claim-actions{display:flex;flex-wrap:wrap;gap:8px}
.f2p-claim-actions .sd-primary{min-height:40px;padding:8px 16px}
.f2p-share-row{display:flex;gap:8px;margin-top:8px;min-width:0}
.f2p-share-row input{flex:1 1 auto;min-width:0;height:40px;padding:0 10px;border:0;border-radius:10px;background:#07121c;color:#c9d6e6;font:600 12px ui-monospace,Menlo,monospace;box-shadow:inset 0 0 0 1px #ffffff1f}
.f2p-share-row .sd-secondary{flex:none;white-space:nowrap}
.f2p-share-links{margin:10px 0 0;font:600 12px Inter,sans-serif;color:var(--f2p-sec)}
/* the CTA: a reward moment */
.f2p-cta{grid-area:cta;position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,1.4fr);align-items:center;gap:18px;min-height:190px;padding:22px clamp(18px,3vw,36px);border-radius:24px;overflow:hidden;text-decoration:none;color:#fff!important;
 background:radial-gradient(ellipse 70% 120% at 20% 50%,#3a2a7a 0%,#1b1748 45%,#0b1530 80%),#0b1530;box-shadow:0 30px 90px -20px #9b7bffaa,inset 0 0 0 1.5px #9b7bffaa,inset 0 1px 0 #ffffff33;transition:transform .2s cubic-bezier(.2,.9,.3,1.2),box-shadow .2s}
.f2p-cta:hover{transform:translateY(-3px) scale(1.005);box-shadow:0 40px 110px -20px #9b7bffdd,inset 0 0 0 1.5px #c7b6ff,inset 0 1px 0 #ffffff44}
.f2p-cta:focus-visible{outline:3px solid var(--f2p-teal);outline-offset:4px}
.f2p-cta-glow{position:absolute;inset:-40% -10% -40% 30%;z-index:-1;background:radial-gradient(circle at 40% 50%,#9b7bff55,transparent 60%),radial-gradient(circle at 80% 30%,#03ffcc33,transparent 50%);animation:f2pGlow 4.5s ease-in-out infinite alternate}
.f2p-cta-sweep{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(105deg,transparent 35%,#ffffff2e 48%,transparent 60%);transform:translateX(-120%);animation:f2pSweep 3.6s cubic-bezier(.5,0,.3,1) 1.2s infinite}
@keyframes f2pGlow{to{transform:translateX(-6%) scale(1.08);opacity:.75}}
@keyframes f2pSweep{0%{transform:translateX(-120%)}45%,100%{transform:translateX(120%)}}
.f2p-cta-kits{position:relative;height:150px;display:block}
.f2p-cta-kit{--w:84px;position:absolute;left:50%;bottom:6px;width:var(--w);height:var(--w);margin-left:calc(var(--w)/-2);transform-origin:50% 140%;transform:rotate(calc((var(--i) - (var(--n) - 1)/2)*11deg)) translateY(calc(var(--i)*0px));filter:drop-shadow(0 10px 14px #0009);animation:f2pKitBob 3.2s ease-in-out infinite;animation-delay:calc(var(--i)*.12s)}
.f2p-cta-kit .sd-jersey{width:100%;height:100%}
@keyframes f2pKitBob{50%{translate:0 -5px}}
.f2p-cta-dog{position:absolute;left:clamp(130px,19%,230px);bottom:-6px;width:88px;height:88px;border-radius:50%;object-fit:cover;z-index:3;box-shadow:0 0 0 3px #0b1530,0 0 0 5px #9b7bff,0 14px 30px #000a;animation:f2pDog 2.8s ease-in-out infinite}
@keyframes f2pDog{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-8px) rotate(4deg)}}
.f2p-cta-copy{position:relative;z-index:3;display:flex;flex-direction:column;gap:8px;min-width:0}
.f2p-cta-copy small{font:800 12px Inter,sans-serif;letter-spacing:1.6px;text-transform:uppercase;color:#c7b6ff}
.f2p-cta-copy b{font:900 italic clamp(34px,4.6vw,60px)/.92 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:-.3px;text-shadow:0 4px 24px #0009}
.f2p-cta-copy i{font:600 14px/1.4 Inter,sans-serif;font-style:normal;color:#d7defa}
.f2p-cta-arrow{display:inline-block;color:var(--f2p-teal);animation:f2pArrow 1.4s ease-in-out infinite}
@keyframes f2pArrow{50%{transform:translateX(8px)}}
.f2p-end-team{grid-area:team;min-width:0}
/* arrival after lock */
.f2p-end.is-arriving .f2p-end-hero>*{animation:f2pRise .6s cubic-bezier(.2,.9,.3,1.1) both}
.f2p-end.is-arriving .f2p-end-hero>*:nth-child(2){animation-delay:.08s}.f2p-end.is-arriving .f2p-end-hero>*:nth-child(3){animation-delay:.16s}
.f2p-end.is-arriving .f2p-end-keep{animation:f2pRise .6s cubic-bezier(.2,.9,.3,1.1) .25s both}
.f2p-end.is-arriving .f2p-cta{animation:f2pCtaIn .9s cubic-bezier(.2,.9,.25,1.15) .45s both}
.f2p-end.is-arriving .f2p-cta-kit{animation:f2pKitIn .55s cubic-bezier(.3,1.4,.5,1) both,f2pKitBob 3.2s ease-in-out 1.8s infinite;animation-delay:calc(.75s + var(--i)*.08s),calc(1.8s + var(--i)*.12s)}
.f2p-end.is-arriving .f2p-cta-dog{animation:f2pDogIn .7s cubic-bezier(.3,1.6,.5,1) 1.35s both,f2pDog 2.8s ease-in-out 2.1s infinite}
@keyframes f2pRise{from{opacity:0;transform:translateY(16px)}}
@keyframes f2pCtaIn{from{opacity:0;transform:translateY(40px) scale(.94)}}
@keyframes f2pKitIn{from{opacity:0;translate:0 -120px;scale:1.5}}
@keyframes f2pDogIn{from{opacity:0;transform:translateY(60px) scale(.4)}}
@media (max-width:900px){
 .f2p-end{grid-template-columns:1fr;grid-template-areas:"hero" "keep" "cta" "team"}
}
@media (max-width:600px){
 .f2p-end{padding:16px 12px 40px;gap:14px}
 .f2p-end-hero{text-align:center}.f2p-end-hero .sd-overline{justify-content:center;flex-wrap:wrap}
 .f2p-end-hero h1{font-size:clamp(40px,12.4vw,56px)}
 .f2p-kick{justify-content:center}.f2p-kick b{font-size:32px}
 .f2p-end-line{margin-inline:auto}
 .f2p-cta{grid-template-columns:1fr;min-height:0;padding:16px 16px 20px;gap:4px;text-align:center}
 .f2p-cta-kits{height:104px}.f2p-cta-kit{--w:62px}
 .f2p-cta-dog{left:auto;right:12px;top:12px;bottom:auto;width:58px;height:58px}
 .f2p-cta-copy{align-items:center}
 .f2p-cta-copy b{font-size:clamp(30px,9.4vw,40px)}
 .f2p-code{font-size:30px;letter-spacing:3px}
 .f2p-share-row{flex-wrap:wrap}.f2p-share-row input{flex-basis:100%}
}

/* ---- Pick-8 team field */
.f2p-field{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:16px;min-width:0}
.f2p-pitch{position:relative;display:flex;flex-direction:column;gap:10px;padding:16px 14px 18px;border-radius:20px;overflow:hidden;min-width:0;
 background:repeating-linear-gradient(90deg,#0f2a22 0 9%,#0d261f 9% 18%),#0d261f;box-shadow:inset 0 0 0 1px #03ffcc22,inset 0 0 80px #000a,0 20px 60px #0007}
.f2p-pitch:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% -10%,#a9dcff22,transparent 60%)}
.f2p-pitch-label{position:relative;z-index:1;font:800 11px Inter,sans-serif;letter-spacing:1.4px;text-transform:uppercase;color:#bfeee0}
.f2p-pitch-label small{display:block;margin-top:3px;font-weight:500;letter-spacing:0;text-transform:none;color:#8fb8ab}
.f2p-row{position:relative;z-index:1;list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:10px;min-width:0}
.f2p-slot{position:relative;flex:0 1 150px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 6px 10px;border-radius:14px;background:linear-gradient(170deg,#173149e6,#0c1b2af2);box-shadow:inset 0 0 0 1px #ffffff1a,inset 0 2px 0 var(--accent,#03ffcc),0 12px 26px #0008;text-align:center}
.f2p-slot.is-empty{opacity:.4}
.f2p-slot-pill{position:absolute;top:6px;left:6px;padding:3px 6px;border-radius:6px;background:#07121ccc;font:800 10px/1 Inter,sans-serif;letter-spacing:.6px;color:var(--f2p-teal)}
.f2p-slot-kit{width:70px;height:70px;display:block}.f2p-slot-kit .sd-jersey{width:100%;height:100%}
.f2p-slot b{font:800 italic 17px/1 'Barlow Condensed',sans-serif;text-transform:uppercase;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.f2p-slot small{font:600 10px Inter,sans-serif;color:var(--f2p-sec);white-space:nowrap}
.f2p-pts{font:900 italic 22px/1 'Barlow Condensed',sans-serif;color:var(--f2p-teal);font-variant-numeric:tabular-nums;margin-top:2px}
.f2p-slot-empty{font:800 22px 'Barlow Condensed',sans-serif;color:var(--f2p-sec);padding:24px 0}
.f2p-bench{padding:14px;border-radius:18px;background:#0b1826;box-shadow:inset 0 0 0 1px #ffffff10;min-width:0}
.f2p-bench ol{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.f2p-bn{display:flex;align-items:center;gap:8px;padding:4px 8px 4px 4px;border-radius:10px;background:#0f1f30;opacity:.55;filter:saturate(.55);min-width:0}
.f2p-bn .sd-jersey{width:30px;height:30px;flex:none}
.f2p-bn span{display:flex;flex-direction:column;min-width:0}
.f2p-bn b{font:700 12px/1.1 Inter,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.f2p-bn small{font:600 10px Inter,sans-serif;color:var(--f2p-sec)}
.f2p-bn .f2p-pts{margin:0 0 0 auto;font-size:16px;color:#c9d6e6}
@media (max-width:900px){.f2p-field{grid-template-columns:1fr}}
@media (max-width:600px){
 .f2p-pitch{padding:12px 8px 14px;gap:8px}
 .f2p-row{gap:6px}
 .f2p-slot{flex-basis:110px;padding:6px 3px 8px;border-radius:12px}
 .f2p-slot-kit{width:50px;height:50px}
 .f2p-slot b{font-size:14px}.f2p-slot small{font-size:9px}
 .f2p-pts{font-size:18px}
 .f2p-slot-pill{top:4px;left:4px;font-size:9px;padding:2px 4px}
 .f2p-bench ol{grid-template-columns:1fr 1fr}
}

/* ---- page heads */
.f2p-pagehead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 20px;margin-bottom:16px}
.f2p-pagehead h1{margin:6px 0 0;font:900 italic clamp(38px,5vw,60px)/.92 'Barlow Condensed',sans-serif;text-transform:uppercase}
.f2p-you-tag{font:800 12px Inter,sans-serif;font-style:normal;vertical-align:middle;padding:4px 8px;border-radius:999px;background:#9b7bff33;color:#d9ccff;box-shadow:inset 0 0 0 1px #9b7bff88;letter-spacing:.6px;text-transform:uppercase}

/* ---- leaderboard */
.f2p-lb{max-width:880px;margin:0 auto}
.f2p-lb-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;min-width:0}
.f2p-field-label{display:flex;flex-direction:column;gap:5px;font:700 10px Inter,sans-serif;letter-spacing:1px;text-transform:uppercase;color:var(--f2p-sec)}
.f2p-lb-controls select{font-size:13px;letter-spacing:0;padding-right:28px}
.f2p-lb-search{min-width:180px;flex:1 1 180px}
.f2p-lb-search input{width:100%}
.f2p-lb-note{margin:0 0 12px;font:500 12.5px/1.45 Inter,sans-serif;color:var(--f2p-sec)}
.f2p-lb-you{position:sticky;top:8px;z-index:5;margin-bottom:12px;padding:10px;border-radius:16px;background:#0c1b2af2;backdrop-filter:blur(6px);box-shadow:inset 0 0 0 1px #9b7bff66,0 18px 40px #000a}
.f2p-lb-you .sd-overline{margin:0 0 6px 6px;color:#c7b6ff}
.f2p-lb-head{display:grid;grid-template-columns:64px 1fr 90px;padding:0 14px 6px;font:700 10px Inter,sans-serif;letter-spacing:1px;text-transform:uppercase;color:var(--f2p-sec)}
.f2p-lb-head span:last-child{text-align:right}
.f2p-lb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.f2p-lb-link{display:grid;grid-template-columns:64px minmax(0,1fr) 90px;align-items:center;gap:0;padding:10px 14px;border-radius:12px;background:#0c1b2a;color:inherit!important;text-decoration:none;box-shadow:inset 0 0 0 1px #ffffff0d;transition:background .15s,transform .15s}
.f2p-lb-link:hover{background:#12263a;transform:translateX(2px)}
.f2p-lb-rank{font:900 italic 26px/1 'Barlow Condensed',sans-serif;color:#fff;font-variant-numeric:tabular-nums}
.f2p-lb-row:nth-child(1) .f2p-lb-rank{color:#ffd76a}.f2p-lb-row:nth-child(2) .f2p-lb-rank{color:#d7e1ec}.f2p-lb-row:nth-child(3) .f2p-lb-rank{color:#e7a676}
.f2p-lb-list.is-pinned .f2p-lb-rank{color:#fff!important}
.f2p-lb-name{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}
.f2p-lb-name b{font:800 15px/1.2 Inter,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.f2p-lb-name em{font:800 10px Inter,sans-serif;font-style:normal;padding:3px 7px;border-radius:999px;background:#9b7bff33;color:#d9ccff;text-transform:uppercase;letter-spacing:.6px}
.f2p-lb-prev{flex-basis:100%;display:flex;flex-wrap:wrap;gap:4px;min-width:0}
.f2p-lb-chip{font:600 10.5px Inter,sans-serif;color:var(--f2p-sec);padding:2px 6px;border-radius:6px;background:#ffffff08;white-space:nowrap}
.f2p-lb-chip b{color:var(--f2p-teal);font-size:10px}.f2p-lb-chip i{font-style:normal;color:#dfe8f2}
.f2p-lb-total{text-align:right;font:900 italic 24px/1 'Barlow Condensed',sans-serif;color:var(--f2p-teal);font-variant-numeric:tabular-nums}
.f2p-lb-total small{font:700 11px Inter,sans-serif;color:var(--f2p-sec);font-style:normal}
.f2p-lb-row.is-you .f2p-lb-link{background:linear-gradient(90deg,#9b7bff2e,#0c1b2a 70%);box-shadow:inset 0 0 0 1px #9b7bffaa}
.f2p-lb-more{display:flex;justify-content:center;padding:16px 0}
.f2p-lb-empty{text-align:center;color:var(--f2p-sec);font:600 13px Inter,sans-serif}
@media (max-width:600px){
 .f2p-main{padding:16px 12px 40px}
 .f2p-lb-head{grid-template-columns:44px 1fr 70px;padding:0 10px 6px}
 .f2p-lb-link{grid-template-columns:44px minmax(0,1fr) 70px;padding:9px 10px}
 .f2p-lb-rank{font-size:22px}.f2p-lb-total{font-size:20px}
 .f2p-lb-controls{width:100%}.f2p-lb-controls .f2p-field-label{flex:1 1 140px}.f2p-lb-controls select{width:100%}
}

/* ---- team page */
.f2p-team{display:flex;flex-direction:column;gap:16px;min-width:0}
.f2p-team .f2p-pagehead{margin:0}
.f2p-team-sub{margin:6px 0 0;font:700 14px Inter,sans-serif;color:var(--f2p-teal)}
.f2p-team-stats{display:flex;flex-wrap:wrap;gap:10px}
.f2p-team-stats>div{display:flex;flex-direction:column;gap:6px;padding:10px 14px;border-radius:14px;background:#0c1b2a;box-shadow:inset 0 0 0 1px #ffffff12;min-width:96px}
.f2p-team-stats small{font:700 10px Inter,sans-serif;letter-spacing:1px;color:var(--f2p-sec)}
.f2p-team-stats b{font:900 italic 32px/1 'Barlow Condensed',sans-serif;color:#fff;font-variant-numeric:tabular-nums}
.f2p-team-stats b[data-team-total]{color:var(--f2p-teal)}
.f2p-team-stats b span{font:600 13px Inter,sans-serif;font-style:normal;color:var(--f2p-sec)}
.f2p-team-stats b.is-sub{font:700 13px Inter,sans-serif;color:#c7d3e0}
.f2p-team-keep{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:stretch}
.f2p-team-keep .f2p-kick{flex-direction:column;justify-content:center;padding:14px 18px;border-radius:16px;background:#0c1b2a;box-shadow:inset 0 0 0 1px #ffffff12}
.f2p-team-own{text-align:center;margin:0}.f2p-team-own .sd-primary{text-decoration:none;color:#04121a!important}
.f2p-team-foot{margin:0;font:600 13px Inter,sans-serif;color:var(--f2p-sec);text-align:center}
.f2p-team .f2p-cta{min-height:150px}
@media (max-width:900px){.f2p-team-keep{grid-template-columns:1fr}.f2p-team-keep .f2p-kick{align-items:center}}
@media (max-width:600px){.f2p-team-stats{width:100%}.f2p-team-stats>div{flex:1 1 0;min-width:0;padding:8px 10px}.f2p-team-stats b{font-size:26px}}

/* ---- claim + fair */
.f2p-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.f2p-form-grid label{display:flex;flex-direction:column;gap:6px;font:700 11px Inter,sans-serif;letter-spacing:.8px;text-transform:uppercase;color:var(--f2p-sec);min-width:0}
.f2p-form-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px}
.f2p-verify-form{grid-template-columns:1fr}
.f2p-result{margin-top:16px;padding:14px 16px;border-radius:14px;font:500 14px/1.5 Inter,sans-serif}
.f2p-result p{margin:4px 0 0}
.f2p-result.is-good{background:#062019;box-shadow:inset 0 0 0 1px #03ffcc66;color:#c9fff1}.f2p-result.is-good>b{color:var(--f2p-teal);font-size:16px}
.f2p-result.is-bad{background:#1a0a10;box-shadow:inset 0 0 0 1px #f5647a88;color:#ffd0d8}
.f2p-lede{font-size:16px!important;color:#e3ebf4!important}
.f2p-steps{margin:16px 0;padding-left:22px;display:flex;flex-direction:column;gap:10px;font:500 14px/1.55 Inter,sans-serif;color:#c7d3e0}
.f2p-steps b{color:#fff}.f2p-steps li::marker{color:var(--f2p-violet);font-weight:800}
.f2p-fair-box{padding:14px 16px;border-radius:14px;background:#07121c;box-shadow:inset 0 0 0 1px #9b7bff44}
.f2p-fair-box dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font:600 12px Inter,sans-serif}
.f2p-fair-box dt{color:var(--f2p-sec);text-transform:uppercase;letter-spacing:.8px;font-size:10.5px;padding-top:2px}
.f2p-fair-box dd{margin:0;min-width:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.f2p-fair-box .is-good{color:var(--f2p-teal)!important}.f2p-fair-box .is-bad{color:var(--f2p-bad)!important}
.f2p-errorcard,.f2p-void{text-align:center}
@media (max-width:600px){.f2p-form-grid{grid-template-columns:1fr}.f2p-fair-box dl{grid-template-columns:1fr}}

/* ---- reduced motion */
.is-reduced .f2p-cta-glow,.is-reduced .f2p-cta-sweep,.is-reduced .f2p-cta-kit,.is-reduced .f2p-cta-dog,.is-reduced .f2p-cta-arrow,.is-reduced .f2p-chip:before{animation:none!important}
.is-reduced .f2p-cta-sweep{display:none}
@media (prefers-reduced-motion:reduce){
 .f2p-cta-glow,.f2p-cta-sweep,.f2p-cta-kit,.f2p-cta-dog,.f2p-cta-arrow,.f2p-chip:before,.f2p-end.is-arriving *,.f2p-spinner{animation:none!important}
 .f2p-cta-sweep{display:none}.f2p-cta,.f2p-lb-link{transition:none}
}

/* ---- pass 2 fixes */
.plus-app .sd-main.f2p-main{max-width:1180px;padding:28px 24px 60px}
@media (max-width:600px){.plus-app .sd-main.f2p-main{padding:18px 12px 40px}}
.f2p-end-hero h1:focus,.f2p-end-hero h1:focus-visible{outline:none}
/* CTA fan: eight kits, wide arc */
.f2p-cta-kits{height:170px}
.f2p-cta-kit{--w:96px;transform-origin:50% 230%;transform:rotate(calc((var(--i) - (var(--n) - 1)/2)*9deg))}
.f2p-cta-dog{left:auto;right:auto;left:50%;margin-left:clamp(40px,7vw,90px);bottom:-4px}
@media (min-width:601px){.f2p-cta{grid-template-columns:minmax(300px,1fr) minmax(0,1.3fr)}.f2p-cta-dog{left:28%;margin-left:0}}
/* phone end screen: claim code, then the CTA, then share + team */
@media (max-width:900px){
 .f2p-end{display:flex;flex-direction:column}
 .f2p-end-keep{display:contents}
 .f2p-end-hero{order:1}.f2p-claim{order:2}.f2p-cta{order:3}.f2p-share{order:4}.f2p-end-team{order:5}
}
@media (max-width:600px){.f2p-cta-kits{height:118px}.f2p-cta-kit{--w:66px}.f2p-cta-dog{left:auto;right:12px;top:12px;bottom:auto;margin:0}}
/* team page keep row */
.f2p-team-keep{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
@media (max-width:600px){.f2p-team-keep{grid-template-columns:1fr}}
/* leaderboard: medal colours only once ranked; compact pinned row on phones */
.f2p-lb-row:nth-child(n) .f2p-lb-rank.is-unranked{color:var(--f2p-sec)!important}
.f2p-lb-controls select{-webkit-appearance:none;appearance:none;background:#07121c url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2393a6ba' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 12px center/12px 8px;padding-right:34px}
@media (max-width:600px){.f2p-lb-you .f2p-lb-prev{display:none}}

/* ---- site footer (web/footer.mjs). Small and muted like sport.fun, still AA: #97a8ba on #06101a is about 7.6:1. */
.f2p-legal{max-width:1180px;width:100%;margin:0 auto;padding:18px 24px calc(18px + env(safe-area-inset-bottom));border-top:1px solid rgba(147,166,186,.12);text-align:center;box-sizing:border-box}
.f2p-legal p{margin:0 auto;max-width:760px;font:500 11px/1.6 Inter,system-ui,sans-serif;letter-spacing:.01em;text-wrap:balance;overflow-wrap:anywhere}
.f2p-legal-text{color:#97a8ba}
@media (max-width:600px){.f2p-legal{padding:14px 16px calc(14px + env(safe-area-inset-bottom))}}
/* phone draft: the fixed tray sits at the bottom; reserve its height so the footer scrolls clear of it */
body[data-screen="draft"] .f2p-legal{padding-bottom:calc(var(--f2p-tray-h,0px) + 16px + env(safe-area-inset-bottom))}

/* ==== 8-player daily game (snap-daily-1) ================================================== */
/* one-step stepper (the star, the closer) */
.plus .plus-steps.is-one{grid-template-columns:minmax(0,280px)}
/* the eight on the end screen / team page: no second column */
.f2p-field.is-eight{grid-template-columns:minmax(0,1fr)}
.f2p-field.is-eight .f2p-pitch{max-width:760px;width:100%;margin:0 auto;box-sizing:border-box}
/* team panel: 8 slot rows, the slot being dealt glows, the chosen open slot is marked */
.f2p-eight .kd5-slot.is-dealing,.f2p-eight .kd5-slot.is-chosen{box-shadow:inset 0 0 0 1.5px #03ffccaa,0 0 18px #03ffcc22;border-style:solid}
.f2p-eight .kd5-slot.is-dealing .kd5-name,.f2p-eight .kd5-slot.is-chosen .kd5-name{color:#bff7ea}
.f2p-eight .kd5-slot.is-dealing .kd5-name:after{content:" · dealing";color:#03ffcc;font-weight:700}
.f2p-eight .kd5-slot.is-chosen .kd5-name:after{content:" · next deal";color:#03ffcc;font-weight:700}
.f2p-sheet8 .kd5-list{flex:0 0 auto}
.kd5-chip b small{font-size:9px;font-weight:700;color:#8fa4bb;margin-left:1px}
.kd5-chip.is-full:not(.is-need){opacity:.7}
/* stack hints */
.plus-chip.is-stack{background:#03ffcc;color:#002b22}

/* ---- slot chooser (before each deal): the lineup in the Pick 8 shape */
.f2p-chooser{min-width:0}
.f2p-ch-pitch{padding:18px 14px 20px;gap:12px}
.f2p-ch{position:relative;flex:0 1 150px;min-width:0;list-style:none}
.f2p-ch.is-filled,.f2p-ch.is-later,.f2p-ch-btn{min-height:128px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:22px 6px 10px;border-radius:14px;text-align:center}
.f2p-ch.is-filled{background:linear-gradient(170deg,#173149e6,#0c1b2af2);box-shadow:inset 0 0 0 1px #ffffff1a,inset 0 2px 0 var(--accent,#03ffcc);opacity:.78}
.f2p-ch.is-filled b{font:800 italic 16px/1 'Barlow Condensed',sans-serif;text-transform:uppercase;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}
.f2p-ch.is-filled small,.f2p-ch.is-later small{font:600 10px Inter,sans-serif;color:var(--f2p-sec);white-space:nowrap}
.f2p-ch-kit{width:52px;height:52px;display:block}.f2p-ch-kit .sd-jersey{width:100%;height:100%}
.f2p-ch.is-later{border:1.5px dashed #ffffff22;background:#07121c66}
.f2p-ch-pill{position:absolute;top:6px;left:6px;padding:3px 6px;border-radius:6px;background:#07121ccc;font:800 10px/1 Inter,sans-serif;letter-spacing:.6px;color:var(--f2p-teal)}
.f2p-ch-btn{all:unset;box-sizing:border-box;width:100%;min-height:128px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:22px 6px 10px;border-radius:14px;text-align:center;cursor:pointer;
 background:linear-gradient(170deg,#0f2f2ae6,#0b1d24f2);border:1.5px dashed #03ffcc66;transition:transform .15s,box-shadow .15s,background .15s}
.f2p-ch-btn:hover{transform:translateY(-2px);background:linear-gradient(170deg,#12403ae6,#0b1d24f2)}
.f2p-ch-btn:focus-visible{outline:2px solid #03ffcc;outline-offset:2px}
.f2p-ch-btn.is-selected{border:2px solid #03ffcc;background:linear-gradient(170deg,#0f4a40,#0b2a2a);box-shadow:0 0 0 4px #03ffcc22,0 16px 34px #03ffcc22;transform:translateY(-2px)}
.f2p-ch-btn b{font:900 italic 18px/1 'Barlow Condensed',sans-serif;text-transform:uppercase;color:#fff;letter-spacing:.3px}
.f2p-ch-btn small{font:600 10px Inter,sans-serif;color:#8fd8c6}
.f2p-ch-plus{font:900 30px/1 Inter,sans-serif;color:#03ffcc;opacity:.9}
.f2p-ch.is-later .f2p-ch-plus{color:#5d7891;font-size:22px}
.f2p-ch-sug{position:absolute;top:6px;right:6px;padding:3px 6px;border-radius:6px;background:#f5a52433;color:#ffd28f;font:800 9px/1 Inter,sans-serif;font-style:normal;letter-spacing:.5px;text-transform:uppercase}
/* the slot panel (right of the chooser on desktop, bottom sheet on phones) */
.f2p-slotpanel{display:flex;flex-direction:column;gap:12px}
.f2p-slotpanel-big{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:14px;background:#0f2f2a;box-shadow:inset 0 0 0 1px #03ffcc33}
.f2p-slotpanel-big b{font:900 italic 44px/1 'Barlow Condensed',sans-serif;color:#03ffcc;letter-spacing:.5px}
.f2p-slotpanel-big small{font:600 13px/1.35 Inter,sans-serif;color:#cfe9e2}
.f2p-slotpanel-facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.f2p-slotpanel-facts li{display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:10px;background:#122538}
.f2p-slotpanel-facts span{font:700 9.5px Inter,sans-serif;letter-spacing:.8px;text-transform:uppercase;color:var(--f2p-sec)}
.f2p-slotpanel-facts b{font:800 15px Inter,sans-serif;color:#fff}
.f2p-slotpanel-note{margin:0;font:500 12px/1.4 Inter,sans-serif;color:var(--f2p-sec)}
@media (max-width:600px){
 .f2p-ch-pitch{padding:12px 6px 14px;gap:8px}
 .f2p-ch{flex-basis:108px}
 .f2p-ch.is-filled,.f2p-ch.is-later,.f2p-ch-btn{min-height:92px;padding:18px 3px 6px}
 .f2p-ch-kit{width:36px;height:36px}
 .f2p-ch.is-filled b{font-size:13px}.f2p-ch-btn b{font-size:14px}.f2p-ch-btn small,.f2p-ch.is-filled small,.f2p-ch.is-later small{font-size:9px}
 .f2p-ch-plus{font-size:22px}
 .f2p-ch-pill{top:4px;left:4px;font-size:9px;padding:2px 4px}.f2p-ch-sug{top:4px;right:4px;font-size:7.5px;padding:2px 4px}
 .f2p-slotpanel-big{flex-direction:row;align-items:center;gap:12px;padding:10px 12px}.f2p-slotpanel-big b{font-size:34px}.f2p-slotpanel-big small{font-size:12px}
 .f2p-slotpanel-facts,.f2p-slotpanel-note{display:none}
}
/* leaderboard: all eight in the preview */
.f2p-lb-prev[data-lb-eight]{gap:3px}
.f2p-lb-prev[data-lb-eight] .f2p-lb-chip{font-size:10px;padding:2px 5px}
@media (max-width:600px){.f2p-lb-prev[data-lb-eight] .f2p-lb-chip{font-size:9px;padding:2px 4px}.f2p-lb-prev[data-lb-eight] .f2p-lb-chip b{font-size:8.5px}}
/* the Snap shell's status row (deals left / solo reroll) is not used on the slot step either */
.plus[data-plus-phase="slot"] [data-status]{display:none}
@media (max-width:600px){
 .f2p-ch-pitch{gap:6px;padding:10px 6px 12px}
 .f2p-ch.is-filled,.f2p-ch.is-later,.f2p-ch-btn{min-height:76px;padding:17px 3px 5px;gap:2px}
 .f2p-ch-btn small,.f2p-ch.is-later small{display:none}
 .f2p-ch-kit{width:30px;height:30px}
 .f2p-ch-plus{font-size:18px}
}
/* phone tray: the chip row is tight; drop the "/N" so FLEX and the count never clip */
@media (max-width:600px){.kd4-tray-toggle .kd5-chip b small{display:none}}

/* ---- Snap Pass (intro line, restore, the pass card) */
.f2p-passline{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font:600 12.5px/1.4 Inter,sans-serif;color:#c7d3e0}
.f2p-passline b{color:#d9ccff}
.f2p-passline.is-new span{flex:1 1 260px}
.f2p-pass-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#9b7bff22;box-shadow:inset 0 0 0 1px #9b7bff66;color:#d9ccff;font-weight:800;white-space:nowrap}
.f2p-pass-chip code{font-size:12px;color:#fff;letter-spacing:1px}
.f2p-linkbtn{appearance:none;border:0;background:none;padding:0;color:var(--f2p-ice);font:700 12.5px Inter,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.f2p-linkbtn:hover{color:#fff}
.f2p-restore{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:14px;background:#0d1f31e6;box-shadow:inset 0 0 0 1px #9b7bff55}
.f2p-restore-lead{margin:0;font:500 13px/1.45 Inter,sans-serif;color:#c7d3e0}.f2p-restore-lead b{color:#fff}
.f2p-restore-row{display:flex;align-items:flex-end;gap:8px}
.f2p-restore-row label{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0;font:700 11px Inter,sans-serif;letter-spacing:.8px;text-transform:uppercase;color:var(--f2p-sec)}
.f2p-restore input{height:42px;padding:0 12px;border:0;border-radius:10px;background:#07121c;color:#fff;font:700 16px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:2px;box-shadow:inset 0 0 0 1px #ffffff1f;min-width:0;width:100%;box-sizing:border-box}
.f2p-restore .sd-secondary{height:42px;flex:none}
.f2p-ts{min-height:65px}.f2p-ts[hidden]{display:none}
.f2p-pass-title{margin:8px 0 4px;font:800 13px/1.3 Inter,sans-serif;color:#c7d3e0}
.f2p-pass-title .f2p-code{margin:6px 0 0}
.f2p-code.is-masked{color:#d9ccff;letter-spacing:3px}
.f2p-pass.is-fresh{box-shadow:inset 0 0 0 2px #9b7bffcc,0 0 60px -10px #9b7bff,0 20px 50px #0007;animation:f2pPassIn .7s cubic-bezier(.2,.9,.3,1.1) both}
@keyframes f2pPassIn{from{transform:translateY(8px) scale(.98);opacity:.2}}
.f2p-pass .f2p-claim-actions a.sd-secondary{text-decoration:none;color:#fff}
.f2p-next{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-top:12px;min-height:44px;padding:8px 18px;text-decoration:none;color:#04121a!important;box-sizing:border-box}
.f2p-pass .f2p-next{width:100%}
.f2p-next small{font:700 12px Inter,sans-serif;opacity:.75}
.f2p-no{font:700 .82em Inter,sans-serif;font-style:normal;color:var(--f2p-violet);letter-spacing:.2px}
h1 .f2p-no{font:900 italic .7em 'Barlow Condensed',sans-serif;color:#c7b6ff}

/* ---- prizes: bands, chips, the prize line */
.f2p-prize{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;font:800 11px/1 Inter,sans-serif;letter-spacing:.3px;white-space:nowrap;background:#03ffcc1a;color:var(--f2p-teal);box-shadow:inset 0 0 0 1px #03ffcc55}
.f2p-prize.is-first{background:linear-gradient(135deg,#ffd76a33,#f5a52422);color:#ffe29a;box-shadow:inset 0 0 0 1px #ffd76a88,0 0 18px -6px #ffd76a}
.f2p-band{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 12px;padding:10px 14px;border-radius:14px;background:linear-gradient(100deg,#ffd76a14,#03ffcc12 60%,#0c1b2a);box-shadow:inset 0 0 0 1px #03ffcc33}
.f2p-band.is-preview{background:#0c1b2a;box-shadow:inset 0 0 0 1px #ffffff14}
.f2p-band-label{font:800 10.5px Inter,sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:var(--f2p-sec)}
.f2p-band-pct{font:900 italic 18px/1 'Barlow Condensed',sans-serif;letter-spacing:.3px;color:var(--f2p-teal);text-transform:uppercase}
.f2p-band small{flex-basis:100%;font:500 12px/1.4 Inter,sans-serif;color:var(--f2p-sec)}
.f2p-lb-row.is-prize-zone .f2p-lb-link{box-shadow:inset 3px 0 0 var(--f2p-teal),inset 0 0 0 1px #03ffcc22}
.f2p-lb-row.is-prize-zone[data-row-prize="first"] .f2p-lb-link{box-shadow:inset 3px 0 0 #ffd76a,inset 0 0 0 1px #ffd76a44}
.f2p-lb-row.is-you.is-prize-zone .f2p-lb-link{box-shadow:inset 3px 0 0 var(--f2p-teal),inset 0 0 0 1px #9b7bffaa}
.f2p-lb-line{display:flex;align-items:center;gap:10px;margin:4px 0;font:800 11px Inter,sans-serif;letter-spacing:1px;text-transform:uppercase;color:var(--f2p-teal)}
.f2p-lb-line:before,.f2p-lb-line:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,#03ffcc88,transparent)}
.f2p-lb-you.is-multi{position:static}
.f2p-team-prize{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 0;font:600 13px Inter,sans-serif}
.f2p-team .f2p-band{margin:0 0 12px}

/* ---- My entries */
.f2p-mine-page{max-width:880px;margin:0 auto}
.f2p-mine-page .f2p-pagehead .f2p-next{margin-top:0}
.f2p-mine-top{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px;margin-bottom:18px}
.f2p-mine-top .f2p-mine-prizes:only-child{grid-column:1/-1}
.f2p-mine-prizes{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:16px;border-radius:16px;text-decoration:none;color:#fff!important;background:linear-gradient(150deg,#ffd76a1f,#0c1b2af2 70%);box-shadow:inset 0 0 0 1px #ffd76a66,0 20px 50px #0007}
.f2p-mine-prizes b{font:900 italic 26px/1 'Barlow Condensed',sans-serif;text-transform:uppercase}
.f2p-mine-prizes span{font:700 14px Inter,sans-serif;color:#ffe29a}.f2p-mine-prizes i{font:700 13px Inter,sans-serif;font-style:normal;color:var(--f2p-teal)}
.f2p-er-week h2{display:flex;align-items:center;gap:10px;margin:18px 0 8px;font:800 italic 22px/1 'Barlow Condensed',sans-serif;text-transform:uppercase}
.f2p-er-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.f2p-er{display:grid;grid-template-columns:44px minmax(0,1fr) 92px 80px auto;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:#0c1b2a;box-shadow:inset 0 0 0 1px #ffffff0d}
.f2p-er-no{font:900 italic 24px/1 'Barlow Condensed',sans-serif;color:var(--f2p-violet)}
.f2p-er-name{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0}
.f2p-er-name b{font:800 15px/1.2 Inter,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.f2p-er-rank b{font:900 italic 22px/1 'Barlow Condensed',sans-serif}.f2p-er-rank small,.f2p-er-pts small{font:600 11px Inter,sans-serif;color:var(--f2p-sec)}
.f2p-er-pts{font:900 italic 22px/1 'Barlow Condensed',sans-serif;color:var(--f2p-teal);text-align:right}
.f2p-er-pts small{margin-left:3px}
.f2p-er-go a{display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;white-space:nowrap;text-decoration:none;font-size:13px;box-sizing:border-box}
.f2p-er-go .sd-primary{color:#04121a!important}.f2p-er-go .sd-secondary{color:#fff!important}
.f2p-chip.is-void{color:var(--f2p-bad);box-shadow:inset 0 0 0 1px #f5647a55}
.f2p-chip.is-drafting{color:#ffd39a;box-shadow:inset 0 0 0 1px #f5a52455}
.f2p-mine .f2p-restore{margin:16px 0}

/* ---- claim page (Sport.fun handoff) */
.f2p-claimpage.is-wide{max-width:860px}
.f2p-prizes{list-style:none;margin:16px 0;padding:0;display:flex;flex-direction:column;gap:10px}
.f2p-prizecard{display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 16px;border-radius:16px;background:#0c1b2a;box-shadow:inset 0 0 0 1px #03ffcc44,0 16px 40px #0006}
.f2p-prizecard.is-first{box-shadow:inset 0 0 0 1px #ffd76a88,0 0 40px -16px #ffd76a,0 16px 40px #0006}
.f2p-prizecard-tp b{display:block;font:900 italic 32px/1 'Barlow Condensed',sans-serif;color:var(--f2p-teal)}
.f2p-prizecard.is-first .f2p-prizecard-tp b{color:#ffe29a}
.f2p-prizecard-tp span{font:700 11px Inter,sans-serif;letter-spacing:.8px;text-transform:uppercase;color:var(--f2p-sec)}
.f2p-prizecard-info{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0}
.f2p-prizecard-info>b{flex-basis:100%;font:800 16px/1.2 Inter,sans-serif}
.f2p-prizecard-info>span:not(.f2p-chip){font:600 12.5px Inter,sans-serif;color:var(--f2p-sec)}
.f2p-prizecard-info small{font:600 12px Inter,sans-serif;color:var(--f2p-sec)}
.f2p-prizecard-info .f2p-small{flex-basis:100%;margin:0}
.f2p-prizecard-go .sd-primary{white-space:nowrap;min-height:44px;padding:8px 18px}
.f2p-claim-done{font:800 13px Inter,sans-serif;color:var(--f2p-teal)}
.f2p-chip.is-claim-unclaimed{color:var(--f2p-teal);box-shadow:inset 0 0 0 1px #03ffcc44}
.f2p-chip.is-claim-expired{color:var(--f2p-sec)}
.f2p-chip.is-claim-submitted,.f2p-chip.is-claim-locked{color:#04121a;background:var(--f2p-teal)}
.f2p-prizecard{grid-template-columns:150px minmax(0,1fr)}
.f2p-prizecard-claim{grid-column:1/-1;padding-top:12px;border-top:1px solid #ffffff14}
.f2p-sfid{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 12px}
.f2p-sfid label{display:flex;flex-direction:column;gap:6px;font:700 11px Inter,sans-serif;letter-spacing:.8px;text-transform:uppercase;color:var(--f2p-sec);min-width:0}
.f2p-sfid input{height:46px;padding:0 14px;border:0;border-radius:12px;background:#07121c;color:#fff;font:700 16px Inter,sans-serif;letter-spacing:.3px;box-shadow:inset 0 0 0 1px #ffffff26;min-width:0;text-transform:none}
.f2p-sfid input:focus-visible{outline:2px solid var(--f2p-teal);outline-offset:2px}
.f2p-sfid input[aria-invalid=true]{box-shadow:inset 0 0 0 1px var(--f2p-bad)}
.f2p-sfid .sd-primary{min-height:46px;padding:8px 22px;white-space:nowrap}
.f2p-sfid>.f2p-small{grid-column:1/-1;margin:0}.f2p-sfid>.f2p-small.is-bad{color:var(--f2p-bad)!important;font-weight:700}
.f2p-sfid.is-confirm,.f2p-sfid.is-done{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.f2p-sfid.is-confirm p,.f2p-sfid.is-done p{margin:0}
.f2p-sfid-id{font-family:'JetBrains Mono',ui-monospace,monospace;color:var(--f2p-teal);word-break:break-all}
.f2p-sfid.is-done .f2p-claim-done{font-size:14px}
.f2p-claim-steps{margin-top:18px}
.f2p-legacy{margin-top:18px;padding:12px 14px;border-radius:12px;background:#07121c88;box-shadow:inset 0 0 0 1px #ffffff12}
.f2p-legacy summary{cursor:pointer;font:700 13px Inter,sans-serif;color:var(--f2p-ice)}
.f2p-legacy .f2p-form-grid{margin-top:12px}

@media (max-width:900px){.f2p-mine-top{grid-template-columns:1fr}}
@media (max-width:600px){
 .f2p-restore-row{flex-direction:column;align-items:stretch}.f2p-restore .sd-secondary{width:100%}
 .f2p-er{grid-template-columns:34px minmax(0,1fr) auto;grid-template-areas:"no name pts" "no rank go";gap:6px 10px;padding:10px 12px}
 .f2p-er-no{grid-area:no;font-size:20px}.f2p-er-name{grid-area:name}.f2p-er-rank{grid-area:rank}.f2p-er-pts{grid-area:pts}.f2p-er-go{grid-area:go;justify-self:end}
 .f2p-prizecard{grid-template-columns:1fr;gap:10px}.f2p-prizecard-go .sd-primary{width:100%;justify-content:center}
 .f2p-sfid{grid-template-columns:1fr}.f2p-sfid .sd-primary,.f2p-sfid .f2p-form-actions>*{width:100%;justify-content:center}.f2p-sfid .f2p-form-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
 .f2p-mine-page .f2p-pagehead .f2p-next{width:100%}
 .f2p-band-pct{font-size:16px}
}
.f2p-blocked-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.f2p-blocked-links .sd-secondary{text-decoration:none;color:#fff!important;min-height:36px;display:inline-flex;align-items:center;padding:6px 14px}
.f2p-blocked-wrap{display:flex;flex-direction:column;gap:8px}

/* ==== Draft UX pass (snap-daily-2) ========================================================= */
/* no Star · Deals · Closer stepper; one control group (rerolls left · Reroll · Autopick) */
.f2p-daily .plus-trackbar,.f2p-daily [data-tracker]{display:none!important}
.f2p-ctl{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.f2p-daily .plus-calls.f2p-ctl{display:flex;align-items:center;gap:10px;margin:0 0 10px}
.f2p-auto.sd-reroll{display:inline-flex;align-items:center;gap:6px;background:#03ffcc1a;color:#9ff5df;box-shadow:inset 0 0 0 1px #03ffcc44}
.f2p-auto.sd-reroll:hover{background:#03ffcc2e}
.f2p-auto .sd-icon{width:15px;height:15px}
@media (max-width:600px){.f2p-daily .plus-calls.f2p-ctl{flex-wrap:wrap;gap:8px}.f2p-daily .plus-calls .plus-calls-count{width:auto;margin:0 4px 0 0}}

/* Questionable: a small Q on the card, the library card, the roster row and in the player info */
.f2p-q{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;box-sizing:border-box;border-radius:5px;background:#f5a524;color:#1d1300;font:900 11px/1 Inter,sans-serif;font-style:normal;letter-spacing:.2px;box-shadow:0 2px 8px #0006}
.f2p-q.is-word{height:20px;padding:0 7px;font-size:10.5px;letter-spacing:.4px;text-transform:uppercase;justify-self:start;width:max-content}
.f2p-q.is-mini{min-width:14px;height:14px;font-size:9px;border-radius:4px;vertical-align:1px;box-shadow:none}
.sd-card .sd-card-top .f2p-q{position:absolute;top:46px;right:12px;z-index:5}
.kd-pc-top .f2p-q{position:absolute;top:6px;right:6px;z-index:4}
.sd-sel-rank .f2p-q{margin-left:8px}

/* roster panel (desktop rail + phone tray): the team shirt instead of a round shield */
.kd5-kit.f2p-kit{flex:none;width:30px;height:30px;display:grid;place-items:center;margin:-4px 0}
.kd5-kit .sd-jersey{width:30px;height:30px}
.f2p-tray-kits{display:none}
@media (max-width:1099px){
 .f2p-tray-kits{display:flex;gap:3px;align-items:center;min-width:0;overflow:hidden}
 .f2p-daily .kd4-tray-toggle .kd5-chips{display:none}
 .f2p-tray-kit{flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#0e1d2c;font:800 8.5px/1 Inter,sans-serif;font-style:normal;color:#5f7790;letter-spacing:.3px}
 .f2p-tray-kit.is-empty{box-shadow:inset 0 0 0 1px #ffffff1c}
 .f2p-tray-kit .sd-jersey{width:28px;height:28px}
}
@media (max-width:380px){.f2p-tray-kit{width:27px;height:27px}.f2p-tray-kit .sd-jersey{width:25px;height:25px}}

/* ---- the slot on rails: a broadcast shot of the pitch, the next slot flashing + counting down ---- */
/* UX4: a high sideline camera. The stadium bowl (roof, floodlights, haze, three stand tiers with a
   dot-pattern crowd, a few twinkling phone lights) sits behind a turf plane tilted in CSS 3D. The slot
   tiles stay upright: they're laid out in screen space, each row a little smaller toward the back
   (zoom), with a ground shadow, so they read like billboards standing on the field. */
@property --rails-p{syntax:'<number>';inherits:true;initial-value:100}
.f2p-bcast{--stad-h:clamp(118px,23vh,190px);position:relative;border-radius:22px;overflow:hidden;isolation:isolate;
 background:radial-gradient(120% 70% at 50% 0%,#0f2741 0%,#081626 46%,#050c16 100%);box-shadow:inset 0 0 0 1px #03ffcc1f,0 24px 60px #0009}
.f2p-bcast .f2p-cam{position:relative;transform-origin:50% 58%}
.f2p-bcast.is-counting:not(.is-still) .f2p-cam{animation:f2pCamPush var(--rails-ms,3100ms) cubic-bezier(.3,.1,.3,1) forwards}
@keyframes f2pCamPush{from{transform:scale(1)}to{transform:scale(1.045)}}
/* stadium */
.f2p-stad{position:absolute;inset:0 0 auto;height:calc(var(--stad-h) + 70px);pointer-events:none;overflow:hidden}
.f2p-stad>i{position:absolute;display:block}
.f2p-stad-roof{left:-10%;right:-10%;top:-62%;height:100%;border-radius:0 0 50% 50%/0 0 100% 100%;
 background:linear-gradient(#02060c,#040b14 80%,#0a1a2a);box-shadow:0 2px 0 #03ffcc33,0 10px 30px #000c;z-index:3}
.f2p-stad-tier{left:50%;transform:translateX(-50%);border-radius:50% 50% 0 0/100% 100% 0 0;
 background:radial-gradient(circle,#a9c6e655 .9px,transparent 1.6px) 0 0/7px 6px,radial-gradient(circle,#03ffcc30 .9px,transparent 1.6px) 3px 3px/9px 7px,linear-gradient(#0c1d33,#081425);
 box-shadow:inset 0 2px 0 #03ffcc66,inset 0 14px 22px -10px #03ffcc33,0 -1px 0 #000}
.f2p-stad-tier.t3{width:150%;height:200%;top:4%;filter:blur(1.3px);opacity:.7;z-index:1}
.f2p-stad-tier:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,#050c16d9,transparent 30% 70%,#050c16d9),radial-gradient(circle,#ffffff14 1px,transparent 2px) 2px 1px/13px 11px}
.f2p-stad-tier.t2{width:132%;height:200%;top:24%;filter:blur(.9px);opacity:.9;z-index:1;
 background:radial-gradient(circle,#c3d8ef66 1px,transparent 1.8px) 0 0/8px 7px,radial-gradient(circle,#ffd28f2e 1px,transparent 1.8px) 4px 2px/11px 9px,linear-gradient(#0d2238,#091729)}
.f2p-stad-tier.t1{width:118%;height:200%;top:46%;filter:blur(.6px);z-index:1;
 background:radial-gradient(circle,#d6e6f777 1.1px,transparent 2px) 0 0/9px 8px,radial-gradient(circle,#03ffcc3a 1.1px,transparent 2px) 4px 4px/12px 10px,linear-gradient(#10283f,#0a1a2b)}
.f2p-stad-phones{inset:8% 0 30%;z-index:2}
.f2p-stad-phones b{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;box-shadow:0 0 6px 2px #cfffff;opacity:0;animation:f2pPhone 2.4s ease-in-out infinite}
@keyframes f2pPhone{0%,70%,100%{opacity:0}80%{opacity:.95}}
.f2p-stad-lights{inset:0;z-index:4}
.f2p-stad-lights b{position:absolute;top:6%;width:120px;height:120px;margin-left:-60px;border-radius:50%;
 background:radial-gradient(closest-side,#ffffff 0 4%,#e8fbffee 7%,#bff6ff88 16%,#7fe8ff2a 45%,#7fe8ff0d 70%,transparent)}
.f2p-stad-lights b:after{content:"";position:absolute;left:50%;top:50%;width:240px;height:420px;margin-left:-120px;transform-origin:50% 0;
 background:linear-gradient(#bff6ff2e,transparent 75%);clip-path:polygon(47% 0,53% 0,100% 100%,0 100%);opacity:.55}
.f2p-stad-lights b:nth-child(1){left:9%}.f2p-stad-lights b:nth-child(1):after{transform:rotate(-28deg)}
.f2p-stad-lights b:nth-child(2){left:34%;top:2%}.f2p-stad-lights b:nth-child(2):after{transform:rotate(-9deg)}
.f2p-stad-lights b:nth-child(3){left:66%;top:2%}.f2p-stad-lights b:nth-child(3):after{transform:rotate(9deg)}
.f2p-stad-lights b:nth-child(4){left:91%}.f2p-stad-lights b:nth-child(4):after{transform:rotate(28deg)}
.f2p-stad-haze{inset:10% -10% 0;z-index:4;background:radial-gradient(60% 46% at 50% 62%,#7fe8ff22,transparent 70%),radial-gradient(30% 40% at 20% 40%,#bff6ff12,transparent),radial-gradient(30% 40% at 80% 40%,#bff6ff12,transparent);mix-blend-mode:screen}
/* turf: one tilted plane (stripes, yard lines, sidelines, a light pool and a vignette) */
.f2p-turf{position:absolute;left:0;right:0;top:calc(var(--stad-h) - 4px);bottom:0;perspective:560px;perspective-origin:50% -60%;z-index:1;pointer-events:none}
/* symmetric broadcast shot on the 50: the plane (viewBox centred on the 50) is centred on the panel, wider than it, so the near sideline runs edge to edge (~15 to 15) and the end zones are cropped */
.f2p-turf-plane{position:absolute;left:50%;top:0;width:var(--turf-w,128%);height:var(--turf-h,60%);transform:translateX(-50%) rotateX(46deg);transform-origin:50% 0;box-shadow:0 -6px 30px #03ffcc22}
/* UX9: the turf is an NFL field to the rulebook (SVG in feet, see nflField in plus-screen.mjs); the own 35 sits under the formation */
.f2p-turf-plane .f2p-field{position:absolute;inset:0;width:100%;height:100%;display:block;background:#0a2c20}
.f2p-turf-plane:after{content:"";position:absolute;inset:0;background:radial-gradient(40% 40% at 50% 30%,#e6fff526,transparent 72%);pointer-events:none}
.f2p-turf:after{content:"";position:absolute;inset:0;background:radial-gradient(90% 85% at 50% 30%,transparent 45%,#050c16cc 100%),linear-gradient(#050c1655,transparent 22%)}
/* the formation, in screen space over the turf */
.f2p-bcast .f2p-ch-pitch{position:relative;z-index:2;background:none;box-shadow:none;border-radius:0;overflow:visible;padding:calc(var(--stad-h) + 2px) 18px 22px;gap:10px}
.f2p-bcast .f2p-ch-pitch:after{display:none}
.f2p-bcast .f2p-row[data-row="0"]{zoom:.7}.f2p-bcast .f2p-row[data-row="1"]{zoom:.78}.f2p-bcast .f2p-row[data-row="2"]{zoom:.86}.f2p-bcast .f2p-row[data-row="3"]{zoom:.94}
@media (max-width:600px){.f2p-bcast .f2p-row[data-row="0"]{zoom:.78}.f2p-bcast .f2p-row[data-row="1"]{zoom:.86}.f2p-bcast .f2p-row[data-row="2"]{zoom:.93}.f2p-bcast .f2p-row[data-row="3"]{zoom:1}}
.f2p-bcast .f2p-ch:before{content:"";position:absolute;left:8%;right:8%;bottom:-9px;height:16px;border-radius:50%;background:radial-gradient(closest-side,#000a,transparent);z-index:-1}
.f2p-bcast .f2p-ch.is-filled{opacity:.9;background:linear-gradient(170deg,#173149f2,#0c1b2af7);box-shadow:inset 0 0 0 1px #ffffff22,inset 0 2px 0 var(--accent,#03ffcc),0 10px 22px #0008}
.f2p-bcast .f2p-ch.is-later{background:#06111bb3;border-color:#ffffff30}
/* the next slot: lit, flashing the whole beat, a ring draining around it and a 3 · 2 · 1 */
.f2p-rails .f2p-ch.is-next{min-height:128px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:22px 6px 10px;border-radius:14px;text-align:center;
 border:2px solid #03ffcc;background:linear-gradient(170deg,#0f4a40,#0b2a2a);box-shadow:0 0 0 4px #03ffcc22,0 16px 34px #03ffcc33}
.f2p-rails .f2p-ch.is-next b{font:900 italic 18px/1 'Barlow Condensed',sans-serif;text-transform:uppercase;color:#fff;letter-spacing:.3px}
.f2p-rails .f2p-ch.is-next small{font:600 10px Inter,sans-serif;color:#8fd8c6}
.f2p-cd-ring{position:absolute;inset:-8px;border-radius:20px;padding:3px;pointer-events:none;
 background:conic-gradient(from 0deg,#ffd28f calc(var(--rails-p)*1%),#ffffff12 0);
 -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
 filter:drop-shadow(0 0 6px #ffd28f88)}
.f2p-rails.is-counting .f2p-cd-ring{animation:f2pRing var(--rails-ms,3100ms) linear forwards}
@keyframes f2pRing{from{--rails-p:100}to{--rails-p:0}}
.f2p-cd{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#03ffcc;box-shadow:0 0 0 4px #03ffcc33,0 0 22px #03ffcc88;margin-bottom:3px}
.f2p-cd b[data-rails-num]{font:900 italic 26px/1 'Barlow Condensed',sans-serif!important;color:#04221d!important;letter-spacing:0!important}
.f2p-cd b[data-rails-num]:empty:before{content:"+"}
.f2p-cd b.is-tick{animation:f2pTick .3s cubic-bezier(.2,1.6,.4,1)}
@keyframes f2pTick{from{transform:scale(1.6);opacity:.3}}
.f2p-rails.is-flashing .f2p-ch.is-next{animation:f2pRailsFlash .7s ease-in-out infinite}
.f2p-rails.is-flashing{animation:f2pRailsIn .18s ease-out}
@keyframes f2pRailsFlash{50%{transform:scale(1.05);box-shadow:0 0 0 7px #03ffcc55,0 0 38px 8px #03ffcc88;background:linear-gradient(170deg,#14695a,#0c3a36)}}
@keyframes f2pRailsIn{from{opacity:.4}}
.f2p-eight .kd5-slot.is-chosen{animation:f2pRailsRow .7s ease-in-out infinite}
@keyframes f2pRailsRow{50%{background:#03ffcc2a}}
/* reduced motion: a static highlight and the number; no flash, push, twinkle or tick */
.is-reduced .f2p-rails,.is-reduced .f2p-rails *,.is-reduced .f2p-eight .kd5-slot.is-chosen{animation:none!important}
.is-reduced .f2p-rails .f2p-cd-ring{--rails-p:100}
.is-reduced .f2p-eight .kd5-slot.is-chosen{background:#03ffcc22}
@media (prefers-reduced-motion:reduce){.f2p-rails,.f2p-rails *,.f2p-eight .kd5-slot.is-chosen{animation:none!important}.f2p-rails .f2p-cd-ring{--rails-p:100}}
@media (min-width:1100px){.kd.plus.f2p-daily[data-plus-phase="slot"] .sd-stage{grid-template-columns:minmax(0,1fr) 300px}}
@media (max-width:600px){
 /* phone: the stadium is a band above the pitch, not squeezed around it */
 .f2p-bcast{--stad-h:104px;border-radius:18px}
 .f2p-stad-tier.t3{width:190%}.f2p-stad-tier.t2{width:170%}.f2p-stad-tier.t1{width:150%}
 .f2p-stad-lights b{width:80px;height:80px;margin-left:-40px}
 .f2p-stad-lights b:after{width:150px;height:260px;margin-left:-75px}
 .f2p-turf{perspective:1200px}.f2p-turf-plane{--turf-w:134%;--turf-h:150%}
 .f2p-bcast .f2p-ch-pitch{padding:calc(var(--stad-h) + 2px) 8px 16px;gap:8px}
 .f2p-rails .f2p-ch.is-filled,.f2p-rails .f2p-ch.is-later,.f2p-rails .f2p-ch.is-next{min-height:92px;padding:18px 4px 8px}
 .f2p-rails .f2p-ch-kit{width:38px;height:38px}
 .f2p-cd{width:34px;height:34px}.f2p-cd b[data-rails-num]{font-size:21px!important}
 .f2p-cd-ring{inset:-6px;border-radius:18px}
}

/* ---- the deal: three cards across the stage, the player info UNDER them ---- */
.f2p-daily .sd-sel.f2p-dinfo{display:grid;grid-template-columns:minmax(220px,auto) minmax(0,1fr) auto;grid-template-areas:none;height:auto;align-items:center;gap:10px 22px;padding:14px 18px;box-sizing:border-box}
.f2p-dinfo-id{display:flex;align-items:center;gap:12px;min-width:0}
.f2p-dinfo-kit{flex:none;width:58px;height:58px;display:grid;place-items:center;border-radius:12px;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--accent,#03ffcc) 30%,transparent),transparent 70%)}
.f2p-dinfo-kit .sd-jersey{width:54px;height:54px}
.f2p-dinfo-name{display:flex;flex-direction:column;gap:3px;min-width:0}
.f2p-dinfo-name strong{font:900 italic 26px/1 'Barlow Condensed',sans-serif;text-transform:uppercase;color:#fff;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.f2p-dinfo-sub{font:600 11.5px/1.2 Inter,sans-serif;color:#9fb3c8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.f2p-dinfo-sub b{color:#03ffcc;font-weight:800}.f2p-dinfo-sub small{font-size:10px;color:#7f93a8}
.f2p-dinfo-stats{display:flex;align-items:center;gap:22px;min-width:0;flex-wrap:wrap}
.f2p-dinfo-cell{display:flex;align-items:baseline;gap:8px;min-width:0}
.f2p-dinfo-cell b{font:800 17px/1 Inter,sans-serif;color:#fff;white-space:nowrap}
.f2p-dinfo-cell small{font:600 11px/1 Inter,sans-serif;color:#8ea3b8;white-space:nowrap}
.f2p-dinfo-proj b{font-size:22px;color:#03ffcc}
.f2p-dinfo-form{align-items:center}
.f2p-dinfo .sd-form{display:flex;align-items:flex-end;gap:3px;height:34px}
.f2p-dinfo .plus-chips{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap;margin:-2px 0 0}
.f2p-dinfo .sd-draft-cta{grid-column:3;grid-row:1;position:static;margin:0;min-width:210px;height:48px;white-space:nowrap}
.f2p-daily .f2p-dinfo.is-empty{display:block;padding:18px}
.f2p-daily .sd-sel.f2p-dinfo>*{grid-area:auto}
.f2p-dinfo .sd-form i{width:16px;max-width:16px;flex:none}
.f2p-dinfo .sd-form i b{font:700 9px/1 Inter,sans-serif;color:#cfe;position:absolute;top:-12px;left:50%;transform:translateX(-50%)}
.f2p-dinfo-form .sd-intel-v{font:800 15px/1 Inter,sans-serif;color:#fff}.f2p-dinfo-form .sd-intel-v small{font-size:10px;color:#8ea3b8;margin-left:2px}
.f2p-daily[data-plus-phase="slot"] [data-selected]{display:none!important}
.f2p-eight .kd5-slot{height:34px}
.f2p-eight .kd5-slot.is-filled{grid-template-columns:44px 30px minmax(0,1fr) auto}
@media (min-width:1100px){
 .kd.plus.f2p-daily:is([data-plus-phase="offers"],[data-plus-phase="opening"],[data-plus-phase="finishing"])[data-plus-deal="true"] .sd-stage{grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:minmax(0,1fr) auto;row-gap:12px}
 .kd.plus.f2p-daily:is([data-plus-phase="offers"],[data-plus-phase="opening"],[data-plus-phase="finishing"])[data-plus-deal="true"] .sd-stage-main{grid-column:1;grid-row:1}
 .kd.plus.f2p-daily:is([data-plus-phase="offers"],[data-plus-phase="opening"],[data-plus-phase="finishing"])[data-plus-deal="true"] [data-selected]{grid-column:1;grid-row:2;display:block;padding:0;align-self:end}
 .kd.plus.f2p-daily:is([data-plus-phase="offers"],[data-plus-phase="opening"],[data-plus-phase="finishing"])[data-plus-deal="true"] .plus-rail{grid-column:2;grid-row:1/span 2}
 .kd.plus.f2p-daily:is([data-plus-phase="offers"],[data-plus-phase="opening"],[data-plus-phase="finishing"]) .sd-seats{gap:16px}
 .kd.plus.f2p-daily:is([data-plus-phase="offers"],[data-plus-phase="opening"],[data-plus-phase="finishing"]) .sd-chamber{flex:none;height:clamp(320px,calc(100vh - 370px),560px)}
}
@media (min-width:601px) and (max-width:1099px){
 .kd.plus.f2p-daily:is([data-plus-phase="offers"],[data-plus-phase="opening"],[data-plus-phase="finishing"])[data-plus-deal="true"] [data-selected]{position:static;display:block;margin-top:12px;padding:0}
 .f2p-daily .sd-sel.f2p-dinfo{grid-template-columns:minmax(0,1fr) auto}.f2p-dinfo-stats{grid-column:1/-1;grid-row:2}.f2p-dinfo .sd-draft-cta{grid-column:2}
}
@media (max-width:600px){
 /* phone: one big card at a time (swipe or tap the edges), the info card below, a fixed Draft bar */
 .kd.plus.f2p-daily:is([data-plus-phase="offers"],[data-plus-phase="opening"],[data-plus-phase="finishing"])[data-plus-deal="true"] .sd-selected{position:static;display:block;margin:12px 0 0;padding:0;border-radius:16px;border-width:1px;background:var(--glass,#0d1a2b);backdrop-filter:none;box-shadow:none}
 .kd.plus.f2p-daily:is([data-plus-phase="offers"],[data-plus-phase="opening"],[data-plus-phase="finishing"]) .sd-stage-heading p{display:none}
 .f2p-daily .sd-sel.f2p-dinfo{grid-template-columns:minmax(0,1fr);gap:12px;padding:14px 14px 12px}
 .f2p-dinfo-name strong{font-size:24px}
 .f2p-dinfo-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
 .f2p-dinfo-cell{flex-direction:column;align-items:flex-start;gap:4px;padding:8px 10px;border-radius:10px;background:#ffffff08}
 .f2p-dinfo-form{grid-column:1/-1;order:9;flex-direction:row;align-items:center;gap:10px}
 .f2p-dinfo .plus-chips{grid-column:auto}
 .kd.plus.f2p-daily:is([data-plus-phase="offers"],[data-plus-phase="opening"],[data-plus-phase="finishing"])[data-cards="fan"] .sd-seats{padding:6px max(14px,calc((100% - (100vw - 104px)) / 2));gap:10px;scroll-padding-inline:0}
 .kd.plus.f2p-daily:is([data-plus-phase="offers"],[data-plus-phase="opening"],[data-plus-phase="finishing"])[data-cards="fan"] .sd-seat{flex:0 0 calc(100vw - 104px)}
 .kd.plus.f2p-daily:is([data-plus-phase="offers"],[data-plus-phase="opening"],[data-plus-phase="finishing"])[data-cards="fan"] .sd-card{aspect-ratio:5/5.9}
 .f2p-dinfo-kit{display:none}
 .kd.plus.f2p-daily:is([data-plus-phase="offers"],[data-plus-phase="opening"],[data-plus-phase="finishing"])[data-cards="fan"] .sd-surname{font-size:32px}
 .kd.plus.f2p-daily:is([data-plus-phase="offers"],[data-plus-phase="opening"],[data-plus-phase="finishing"])[data-cards="fan"] .sd-card-art .sd-jersey{max-height:190px}
 .f2p-dinfo .sd-draft-cta{position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:32;grid-column:auto;grid-row:auto;width:auto;min-width:0;height:52px;margin:0;border-radius:14px;box-shadow:0 12px 30px #000c,0 0 0 1px #03ffcc55;font-size:16px}
}
/* the tutorial's suggestion: ringed and labelled, every other card still open */
.is-tut-suggest{outline:3px solid #ffd28f;outline-offset:3px}
.mt-tut-tag{position:fixed;z-index:2;transform:translate(-50%,-50%);padding:4px 9px;border-radius:999px;background:#ffd28f;color:#2a1a00;font:900 10px/1 Inter,sans-serif;letter-spacing:.6px;text-transform:uppercase;white-space:nowrap;pointer-events:none;box-shadow:0 4px 12px #0008}
.mt-tut-tag[hidden]{display:none}
.mt-tut.is-interactive .mt-tut-spot{box-shadow:0 0 0 200vmax #03080e73,0 0 0 2px #ffd28f,0 0 22px 4px #ffd28f55}
.mt-tut.is-interactive:not(.is-reduced) .mt-tut-spot{animation:none}
@media (max-width:600px){
 .f2p-daily .kd4-tray-toggle .kd4-tray-count small{display:none}
 .f2p-tray-kits{gap:2px}
 .f2p-tray-kit{width:28px;height:28px;border-radius:7px}.f2p-tray-kit .sd-jersey{width:26px;height:26px}
}
@media (max-width:380px){.f2p-tray-kit{width:25px;height:25px}.f2p-tray-kit .sd-jersey{width:23px;height:23px}}
@media (max-width:600px){
 /* phone deal: the card's size comes from its width (80% of the screen), not the chamber height */
 .kd.plus.f2p-daily:is([data-plus-phase="offers"],[data-plus-phase="opening"],[data-plus-phase="finishing"]) .sd-chamber{height:auto;min-height:0;container-type:normal}
 .kd.plus.f2p-daily:is([data-plus-phase="offers"],[data-plus-phase="opening"],[data-plus-phase="finishing"])[data-cards="fan"] .sd-card{width:100%;height:auto;max-height:none;max-width:none}
}

/* ---------- UX3 (23 Oct 2026): calm first-run, neutral cards, no text selection, dark-kit rim light */
/* hint: one slim line docked in the stage header; never over the cards, panel, strip or button */
.f2p-hint{display:flex;align-items:center;gap:8px;margin:8px 0 0;max-width:100%;padding:5px 6px 5px 10px;border-radius:999px;background:#03ffcc12;border:1px solid #03ffcc33;color:#c9fff2;font:600 12.5px/1.3 Inter,sans-serif;width:fit-content}
.f2p-hint [data-f2p-hint-text]{min-width:0}
.f2p-hint-dot{flex:none;width:6px;height:6px;border-radius:50%;background:#03ffcc;box-shadow:0 0 8px #03ffcc}
.f2p-hint-x{flex:none;width:22px;height:22px;border:0;border-radius:50%;background:transparent;color:#9fd8cb;font:700 15px/1 Inter,sans-serif;cursor:pointer}
.f2p-hint-x:hover,.f2p-hint-x:focus-visible{background:#03ffcc22;color:#fff}
.kd.plus.f2p-daily:is([data-plus-phase="offers"],[data-plus-phase="opening"],[data-plus-phase="finishing"]) .sd-stage-heading .f2p-hint{display:flex}
@media (max-width:600px){.f2p-hint{font-size:12px;border-radius:12px;width:auto}}
.is-hint-pulse{animation:f2p-hint-pulse .8s ease-out 2}
@keyframes f2p-hint-pulse{0%{box-shadow:0 0 0 0 #03ffcc88}100%{box-shadow:0 0 0 10px #03ffcc00}}
.f2p-app.is-reduced .is-hint-pulse{animation:none}
/* waiting button (nothing picked yet) */
.sd-draft-cta.is-waiting{cursor:default;justify-content:center}
.sd-sel-empty .sd-draft-cta.is-waiting{margin-top:14px;width:100%}
.f2p-daily .f2p-dinfo.is-empty{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.f2p-daily .f2p-dinfo.is-empty p{margin:0;flex:1 1 auto;color:#9fb3c8}
.f2p-daily .f2p-dinfo.is-empty .sd-draft-cta{margin:0;width:auto;min-width:210px}
@media (max-width:600px){.f2p-daily .f2p-dinfo.is-empty .sd-draft-cta{width:auto}}
.f2p-locking{padding:40px 0;text-align:center;color:#9fb3c8;font:600 14px/1.4 Inter,sans-serif}
/* card borders: neutral by default; teal only on hover / focus and on the picked card */
.v4 .sd-card:hover .sd-card-front,.v4 .sd-card.is-base:hover .sd-card-front{box-shadow:inset 0 0 0 1.5px #03ffcc88,0 12px 28px #0008}
.v4 .sd-card.is-selected .sd-card-front,.v4 .sd-card.is-selected:hover .sd-card-front{box-shadow:inset 0 0 0 2px var(--teal,#03ffcc),0 0 26px #03ffcc33,0 12px 28px #0008}
/* no text selection in the draft UI; search inputs stay selectable */
.f2p-app input,.f2p-app textarea,.f2p-app [contenteditable]{-webkit-user-select:text;user-select:text}
/* dark kits (black / navy / brown shirts) on dark cards: a rim light + a brighter key light */
.sd-jersey.is-dark-kit>.sd-kit-body{filter:drop-shadow(0 0 .5cqh color-mix(in srgb,var(--light),#fff 55%)) drop-shadow(0 0 2.2cqh color-mix(in srgb,var(--light),transparent 35%))}
.sd-jersey.is-dark-kit>.sd-kit-light{opacity:1;background:radial-gradient(closest-side,color-mix(in srgb,var(--light),#fff 15%),color-mix(in srgb,var(--light),transparent 65%) 55%,transparent 78%)}
.sd-jersey.is-dark-kit.is-mini>.sd-kit-body{filter:drop-shadow(0 0 .8cqh color-mix(in srgb,var(--light),#fff 50%))}
.sd-draft-cta.is-lock-cta{height:auto;min-height:46px;padding:8px 14px;white-space:normal;line-height:1.2;font-size:14px;text-align:center}
.sd-draft-cta.is-lock-cta .sd-icon{flex:none}
.sd-stage-heading .f2p-hint{white-space:normal;overflow:visible;text-overflow:clip;order:4;flex-basis:100%;color:#c9fff2}
.kd.plus.f2p-daily .sd-stage-heading .f2p-hint{display:flex}
/* text selection off across the game surface */
.f2p-app [data-plus-root],.f2p-app .sd-draft,.f2p-app .sd-card,.f2p-app .sd-selected,.f2p-app .plus-rail,.f2p-app .plus-tray-wrap,.f2p-app .sd-stage-heading,.f2p-app [data-rails]{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.f2p-app input{-webkit-user-select:text;user-select:text}
/* hover styling only where hover exists (no sticky teal on touch) */
@media (hover:none){
 .v4 .sd-card:hover:not(.is-selected) .sd-card-front{box-shadow:inset 0 0 0 1px #ffffff1a,0 12px 28px #0008}
}
.sd-stage-heading p.f2p-hint,.sd-stage-heading p.f2p-hint [data-f2p-hint-text]{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.sd-stage-heading p.f2p-hint{max-width:100%!important;box-sizing:border-box}
/* ---------- UX3 rev 2: the moving tutorial bubble. No backdrop: the layer never takes clicks,
   only the bubble does; it points at its target (arrow on the side facing it). */
.f2p-coach-layer{position:fixed;inset:0;z-index:240;pointer-events:none}
.f2p-coach{position:fixed;width:min(340px,calc(100vw - 24px));box-sizing:border-box;display:flex;align-items:flex-start;gap:10px;padding:12px 38px 12px 12px;border-radius:16px;border:1px solid #03ffcc66;background:#0B1A26f2;box-shadow:0 16px 40px #000c,0 0 0 1px #00000040;pointer-events:auto;transition:top .28s cubic-bezier(.2,.8,.2,1),left .28s cubic-bezier(.2,.8,.2,1);-webkit-user-select:none;user-select:none}
.f2p-coach[hidden]{display:none}
.f2p-coach.is-reduced{transition:none}
@media (prefers-reduced-motion:reduce){.f2p-coach{transition:none}}
.f2p-coach-dog{flex:none;width:40px;height:40px;border-radius:50%;border:2px solid #03ffcc;background:#03ffcc22;object-fit:cover}
.f2p-coach-body{display:flex;flex-direction:column;gap:6px;min-width:0}
.f2p-coach-body p{margin:0;font:700 14px/1.35 Inter,sans-serif;color:#f3f7fb}
.f2p-coach-skip{align-self:flex-start;border:0;background:none;padding:2px 0;color:#9fd8cb;font:700 12px/1 Inter,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.f2p-coach-skip:hover,.f2p-coach-skip:focus-visible{color:#fff}
.f2p-coach-x{position:absolute;top:8px;right:8px;width:26px;height:26px;border:1px solid #ffffff2a;border-radius:50%;background:#ffffff0d;color:#dfe9f3;font:700 13px/1 Inter,sans-serif;cursor:pointer;display:grid;place-items:center}
.f2p-coach-x:hover,.f2p-coach-x:focus-visible{background:#03ffcc22;border-color:#03ffcc88;color:#fff}
.f2p-coach-arrow{position:absolute;width:12px;height:12px;background:#0B1A26;border:1px solid #03ffcc66;transform:rotate(45deg)}
.f2p-coach[data-side="below"] .f2p-coach-arrow{top:-7px;left:calc(var(--ax) - 6px);border-right:0;border-bottom:0}
.f2p-coach[data-side="above"] .f2p-coach-arrow{bottom:-7px;left:calc(var(--ax) - 6px);border-left:0;border-top:0}
.f2p-coach[data-side="right"] .f2p-coach-arrow{left:-7px;top:calc(var(--ay) - 6px);border-right:0;border-top:0}
.f2p-coach[data-side="left"] .f2p-coach-arrow{right:-7px;top:calc(var(--ay) - 6px);border-left:0;border-bottom:0}
@media (max-width:600px){.f2p-coach-body p{font-size:13.5px}.f2p-coach-dog{width:34px;height:34px}}

/* ---- UX5: the same broadcast stadium team view on the end screen + team page (all 8 in) ---- */
/* No countdown, no flashing slot; the camera pushes in once on mount and holds. Tiles read at full
   strength (no "earlier pick" dimming) and carry points once the week is scored. */
.f2p-field-main{display:flex;flex-direction:column;gap:10px;min-width:0}
.f2p-field.is-eight .f2p-field-main{max-width:820px;width:100%;margin:0 auto}
.f2p-bcast.is-final .f2p-cam{animation:f2pCamPush 1.6s cubic-bezier(.3,.1,.3,1) .15s 1 both}
.f2p-bcast.is-final .f2p-ch.is-filled{opacity:1}
.f2p-bcast.is-final .f2p-ch .f2p-pts{font-size:20px;margin-top:3px}
.is-reduced .f2p-bcast.is-final .f2p-cam,.is-reduced .f2p-bcast.is-final .f2p-stad-phones b{animation:none!important}
@media (prefers-reduced-motion:reduce){.f2p-bcast.is-final .f2p-cam,.f2p-bcast.is-final .f2p-stad-phones b{animation:none!important}}
@media (max-width:600px){.f2p-bcast.is-final .f2p-ch .f2p-pts{font-size:15px;margin-top:1px}}

/* ---------- UX6 (23 Oct 2026): one pick screen. The star and the closer use the deal's cards, control
   row and info strip; their longer list is a sideways row of the same cards. */
.f2p-pick-tools{flex-wrap:wrap}
.f2p-pick-tools .sd-filter{display:flex;gap:6px}
.f2p-pick-tools .sd-search{flex:1 1 180px;max-width:280px;margin:0}
.f2p-pick-tools .sd-search input{width:100%;box-sizing:border-box}
.f2p-daily .f2p-ctl .f2p-auto{margin-left:auto}
/* UX9: the star and the closer are back on the compact player squares; the grid scrolls in its area so
   the info strip and button (under it) stay above the fold */
.kd.plus.f2p-daily .f2p-squares{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px;align-content:start;overflow-y:auto;overscroll-behavior:contain;padding:2px 4px 18px 2px;scrollbar-width:thin;scrollbar-color:#03ffcc55 transparent;-webkit-mask-image:linear-gradient(#000 calc(100% - 26px),transparent);mask-image:linear-gradient(#000 calc(100% - 26px),transparent)}
.f2p-squares .sd-lib-empty{grid-column:1/-1;margin:24px 0;text-align:center;color:#9fb3c8;font:600 14px/1.3 Inter,sans-serif}
.f2p-squares .sd-lib-empty[hidden]{display:none}
.kd.plus .f2p-squares .sd-lib-card.is-blocked{opacity:.38;filter:saturate(.4);cursor:not-allowed}
.kd.plus .f2p-squares .sd-lib-card.is-combo,.kd.plus .f2p-squares .sd-lib-card.is-stack{box-shadow:inset 0 0 0 1px #ffffff1a}
.kd.plus .f2p-squares .sd-lib-card.kd-pc:hover:not(:disabled),.kd.plus .f2p-squares .sd-lib-card.kd-pc:focus-visible{box-shadow:inset 0 0 0 1.5px #03ffcc99}
.kd.plus .f2p-squares .sd-lib-card.kd-pc.is-selected,.kd.plus .f2p-squares .sd-lib-card.kd-pc.is-selected:hover{box-shadow:inset 0 0 0 2px #03ffcc,0 0 20px #03ffcc33}
@media (hover:none){.kd.plus .f2p-squares .sd-lib-card.kd-pc:hover:not(.is-selected){box-shadow:inset 0 0 0 1px #ffffff1a}}
.f2p-app .sd-lib-card{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
@media (min-width:601px){
 .kd.plus.f2p-daily:is([data-plus-phase="opening"],[data-plus-phase="finishing"]) .f2p-squares{height:clamp(260px,calc(100vh - 400px),620px)}
}
@media (max-width:600px){
 .kd.plus.f2p-daily .f2p-squares{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-height:calc(100svh - 400px);min-height:236px}
 .kd.plus .f2p-squares .sd-lib-card.kd-pc{height:114px;padding:6px 6px 0;border-radius:11px;gap:1px}
 .kd.plus .f2p-squares .sd-lib-card.kd-pc strong{font-size:11px;margin-top:3px;letter-spacing:-.2px;max-width:100%;overflow:hidden;text-overflow:clip}
 .kd.plus .f2p-squares .sd-lib-card.kd-pc.is-long strong,.kd.plus .f2p-squares .sd-lib-card.kd-pc.is-xlong strong{font-size:10px}
 .kd.plus .f2p-squares .sd-lib-card.kd-pc small{font-size:9.5px}
 .kd.plus .f2p-squares .sd-lib-card.kd-pc .kd-pc-pos{font-size:10px;height:17px;line-height:17px;padding:0 4px}
 .kd.plus .f2p-squares .f2p-q{min-width:15px;height:15px;font-size:9.5px}
 .kd.plus .f2p-squares .kd-pc-art{width:74px;height:74px;bottom:-14px}
 .kd.plus .f2p-squares .kd-pc-art .sd-jersey{width:74px!important;height:74px!important}
 .kd.plus .f2p-squares .plus-combo{font-size:7.5px;padding:2px 4px;left:4px;bottom:4px}
}
.kd.plus.f2p-daily .f2p-dinfo .sd-draft-cta.is-lock-cta{white-space:normal;line-height:1.15;text-align:center}
@media (min-width:1100px){.kd.plus.f2p-daily .f2p-dinfo .sd-draft-cta.is-lock-cta{max-width:250px}}
/* the strip's button keeps its place (top right) when the player has tags; tags take their own row */
.f2p-daily .sd-sel.f2p-dinfo>.plus-chips{grid-column:1/-1;grid-row:2}
@media (max-width:1099px){.f2p-daily .sd-sel.f2p-dinfo>.plus-chips{grid-row:auto}}
@media (min-width:1100px){
 /* stats as a 2 x 2 block so a long button (the closer's) never squeezes them into a column */
 .kd.plus.f2p-daily .sd-sel.f2p-dinfo{grid-template-columns:minmax(140px,250px) minmax(max-content,1fr) auto;column-gap:18px}
 .kd.plus.f2p-daily .f2p-dinfo-stats{display:grid;grid-template-columns:repeat(2,auto);justify-content:start;gap:8px 18px}
}

/* ---------- UX7 (23 Oct 2026): end screen. The squad (stadium team view) is the centrepiece, above the
   fold; the headline, pass, share and the Sport.fun CTA sit around it and never cover a tile. */
.f2p-ch-badge{position:absolute;top:6px;right:6px;z-index:2;padding:3px 6px;border-radius:6px;font:800 9.5px/1 Inter,sans-serif;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}
.f2p-ch-badge.is-star{background:#ffd28f;color:#2a1a00;box-shadow:0 0 12px #ffd28f66}
.f2p-ch-badge.is-closer{background:#03ffcc;color:#04221c;box-shadow:0 0 12px #03ffcc55}
.f2p-end .f2p-pitch-label{display:none}
@media (min-width:1100px){
 /* desktop: pass | stadium | share, the headline over the stadium's top-left stands, a slim CTA strip below */
 .f2p-end{max-width:1400px;grid-template-columns:minmax(270px,300px) minmax(0,1fr) minmax(250px,280px);grid-template-areas:"pass team share" "cta cta cta";grid-template-rows:auto auto;gap:12px 18px;padding:12px 22px 30px;align-items:start}
 .f2p-end-keep{display:contents}
 .f2p-end .f2p-claim,.f2p-end .f2p-pass{grid-area:pass}
 .f2p-end .f2p-share{grid-area:share}
 .f2p-end-hero{grid-area:team;align-self:start;justify-self:start;position:relative;z-index:4;max-width:165px;margin:14px 0 0 16px;pointer-events:none}
 .f2p-end-hero>*{pointer-events:auto}
 .f2p-end-hero .sd-overline{font-size:9px;letter-spacing:1px;line-height:1.35}
 .f2p-end-hero h1{font-size:30px;line-height:.9;margin:6px 0 8px}
 .f2p-end-hero .f2p-kick{flex-direction:column;align-items:flex-start;gap:2px;font-size:11px}
 .f2p-end-hero .f2p-kick b{font-size:26px}.f2p-end-hero .f2p-kick small{font-size:10px}
 .f2p-end-line{display:none}
 .f2p-end .f2p-cta{grid-area:cta;display:flex;align-items:center;gap:18px;min-height:0;padding:10px 22px;border-radius:16px}
 .f2p-end .f2p-cta-kits{display:none}
 .f2p-end .f2p-cta-dog{position:relative;inset:auto;margin:0;width:44px;height:44px;flex:0 0 auto}
 .f2p-end .f2p-cta-copy{flex-direction:row;align-items:baseline;gap:16px;flex-wrap:wrap}
 .f2p-end .f2p-cta-copy b{font-size:26px}
 .f2p-end .f2p-cta-copy i{font-size:12px}
 .f2p-end .f2p-bcast{--stad-h:100px}
 .f2p-end .f2p-bcast .f2p-ch-pitch{padding:calc(var(--stad-h) + 2px) 14px 18px;gap:10px}
 .f2p-end .f2p-ch.is-filled{min-height:114px;padding:21px 6px 9px}
 .f2p-end .f2p-ch-kit{width:50px;height:50px}
 .f2p-end .f2p-pass .f2p-code{font-size:30px}
}
@media (max-width:600px){
 /* phone: the squad first, the compact headline + kickoff over its sky band; then pass, share, CTA */
 .f2p-end{position:relative;padding:10px 10px 40px;gap:12px}
 .f2p-end-team{order:1}.f2p-claim,.f2p-pass{order:2}.f2p-share{order:3}.f2p-cta{order:4}
 .f2p-end-hero{order:0;position:absolute;top:10px;left:10px;right:10px;z-index:3;padding:10px 12px 0;pointer-events:none;text-align:center}
 .f2p-end-hero>*{pointer-events:auto}
 .f2p-end-hero .sd-overline,.f2p-end-line{display:none}
 .f2p-end-hero h1{font-size:25px;margin:0 0 5px;line-height:.95}
 .f2p-end-hero h1 em{display:inline}
 .f2p-end-hero .f2p-kick{margin:0;gap:6px;font-size:12px}.f2p-end-hero .f2p-kick b{font-size:20px}.f2p-end-hero .f2p-kick small{display:none}
 .f2p-end .f2p-bcast{--stad-h:116px}
 .f2p-end .f2p-ch-badge{top:4px;right:4px;font-size:7.5px;padding:2px 4px}
}

/* ---------- UX9 (23 Oct 2026): bare splash. Title, pitch, prize line, countdown, Start; one closed "Details & terms" */
.f2p-intro.is-bare .ki-c-side{gap:14px}
.f2p-intro.is-bare .ki-line{margin:0;font-size:17px}
.f2p-prizeline{margin:0;font:600 15px/1.3 Inter,sans-serif;color:#c9d6e6}
.f2p-prizeline b{color:#ffd76a;font-weight:900}
.f2p-pz-part{white-space:nowrap}
.f2p-intro.is-bare .f2p-passline.is-new{margin:-4px 0 0;justify-content:center;font-size:12.5px}
.f2p-intro.is-bare .f2p-passline.is-new .f2p-linkbtn{font-size:12.5px;color:#9fb3c8}
/* Open Details & terms: let the one-viewport splash grow so the page scrolls (desktop clipped it at height:100svh). Stage layers are inset:0, so they stretch with it. */
.ki.plus-intro.is-details-open,.ki.plus-intro:has([data-intro-details][open]){height:auto;min-height:calc(100svh - var(--ki-top));overflow:visible;overflow-x:clip}
.f2p-details{border-radius:12px;background:#ffffff06;box-shadow:inset 0 0 0 1px #ffffff12}
.f2p-details>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font:700 13px/1 Inter,sans-serif;color:#9fb3c8}
.f2p-details>summary::-webkit-details-marker{display:none}
.f2p-details>summary::after{content:'+';font:600 18px/1 Inter,sans-serif;color:#03ffcc}
.f2p-details[open]>summary::after{content:'–'}
.f2p-details>summary:focus-visible{outline:2px solid #03ffcc;outline-offset:2px;border-radius:12px}
.f2p-details-body{display:grid;gap:10px;padding:0 14px 14px;font:500 13px/1.45 Inter,sans-serif;color:#c9d6e6}
.f2p-details-body h2{margin:6px 0 0;font:800 11px/1 Inter,sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:#03ffcc}
.f2p-details-body p{margin:0}
.f2p-dt-prizes{border-collapse:collapse;font-size:13px}.f2p-dt-prizes th{text-align:left;padding:4px 16px 4px 0;color:#9fb3c8;font-weight:700}.f2p-dt-prizes td{padding:4px 0;color:#fff}
.f2p-details-body .plus-howto{margin:0}

/* ---------- UX9: phone deal cards 25% smaller (the frame; the shirt stays about the same) so both
   neighbours peek in from the edges; swipe + snap unchanged */
@media (max-width:600px){
 .kd.plus.f2p-daily[data-plus-phase="offers"] .sd-chamber{margin-inline:-16px;width:calc(100% + 32px);max-width:none;overflow:visible}
 .kd.plus.f2p-daily[data-plus-phase="offers"][data-cards="fan"] .sd-seats{--seat-w:calc((100vw - 104px) * .75);padding:6px calc((100vw - var(--seat-w)) / 2);gap:12px;scroll-padding-inline:0}
 .kd.plus.f2p-daily[data-plus-phase="offers"][data-cards="fan"] .sd-seat{flex:0 0 var(--seat-w)}
 .kd.plus.f2p-daily[data-plus-phase="offers"][data-cards="fan"] .sd-card{aspect-ratio:5/6.4}
 .kd.plus.f2p-daily[data-plus-phase="offers"][data-cards="fan"] .sd-card-art .sd-jersey{max-height:168px}
 .kd.plus.f2p-daily[data-plus-phase="offers"][data-cards="fan"] .sd-surname{font-size:25px}
}
@media (max-width:600px){
 /* bare splash on iPhone: a smaller pack so Start sits above the fold */
 .f2p-intro.is-bare .ki-c-show{transform:scale(.62);transform-origin:50% 30%;margin:-34px 0 -62px}
 .f2p-intro.is-bare .ki-line{font-size:15px}
 .f2p-intro.is-bare .f2p-lock{padding:8px 12px}
 .f2p-intro.is-bare .f2p-hint#f2p-name-hint{display:none}
}
/* UX11: desktop deal pitch fits all four rows at 1366x768: shorter stands, slightly smaller tiles (phone + end screen unchanged) */
@media (min-width:601px){
 .f2p-rails.f2p-bcast{--stad-h:clamp(110px,16vh,150px)}
 .f2p-rails .f2p-ch.is-filled,.f2p-rails .f2p-ch.is-later,.f2p-rails .f2p-ch.is-next{min-height:114px;padding-top:20px;padding-bottom:8px}
 .f2p-rails .f2p-ch-kit{width:46px;height:46px}
}
/* "Email me my result" (end screen, optional, collapsed) */
.f2p-optin{margin:10px 0 0;font-size:13px;color:#9fb3c8;min-width:0}
.f2p-optin>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px;color:#b9a6ff;font-weight:700;padding:4px 0}
.f2p-optin>summary::-webkit-details-marker{display:none}
.f2p-optin>summary::before{content:'✉';font-size:12px;opacity:.85}
.f2p-optin>summary:hover{color:#d6caff;text-decoration:underline}
.f2p-optin-form{margin-top:8px;padding:12px;border-radius:14px;background:#0c1b2ad9;box-shadow:inset 0 0 0 1px #ffffff14;display:grid;gap:10px}
.f2p-optin-field{display:grid;gap:4px}.f2p-optin-field span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7f93a8}
.f2p-optin-field input{height:40px;padding:0 10px;border:0;border-radius:10px;background:#07121c;color:#e8f0fa;font:600 14px system-ui,sans-serif;box-shadow:inset 0 0 0 1px #ffffff24;min-width:0}
.f2p-optin-field input:focus{outline:2px solid #9b7bff;outline-offset:1px}
.f2p-optin-consent{display:flex;gap:8px;align-items:flex-start;line-height:1.35;color:#c9d6e6}
.f2p-optin-consent input{margin-top:2px;width:16px;height:16px;accent-color:#9b7bff;flex:0 0 auto}
.f2p-optin-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.f2p-optin-err{color:#ff9a9a;font-weight:600}
.f2p-optin.is-done{margin:0 2px;color:#7ef0c8}
/* Team page: the market rank under the name, the same "QB #3 · Sport.fun market rank" as the cards */
.f2p-ch.is-filled small.f2p-ch-rank{white-space:normal;text-align:center;line-height:1.2;max-width:100%}
.f2p-ch.is-filled .f2p-ch-rank b{font:800 inherit/1.2 Inter,sans-serif;font-size:inherit;color:#ffd76a}
.f2p-paid{margin:0;padding-left:18px;font-size:13px;line-height:1.45;color:#c9d6e6}.f2p-paid li{margin:2px 0}
/* ---- $250 top-3 prize chips: gold / silver / bronze, in the prize-chip language */
.f2p-prize{gap:5px}
.f2p-prize b{font:inherit;font-weight:900}
.f2p-prize .f2p-prize-lab{font:700 10px/1 Inter,sans-serif;letter-spacing:.2px;opacity:.85;text-transform:none}
.f2p-prize.is-gold{background:linear-gradient(135deg,#ffd76a3d,#f5a52424);color:#ffe29a;box-shadow:inset 0 0 0 1px #ffd76a99,0 0 18px -6px #ffd76a}
.f2p-prize.is-silver{background:linear-gradient(135deg,#e3ecf63a,#9fb3c822);color:#eef3f9;box-shadow:inset 0 0 0 1px #d7e1ecaa,0 0 16px -7px #d7e1ec}
.f2p-prize.is-bronze{background:linear-gradient(135deg,#e7a6763a,#b8683a22);color:#f6c9a6;box-shadow:inset 0 0 0 1px #e7a676aa,0 0 16px -7px #e7a676}
.f2p-prize.is-projected{border:0;background-blend-mode:normal}
.f2p-prize.is-slot{opacity:.9}.f2p-prize.is-slot b{font-weight:700;letter-spacing:.3px}
.f2p-lb-rank.is-gold,.f2p-lb-rank.is-silver,.f2p-lb-rank.is-bronze{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;font-size:22px}
.f2p-lb-rank.is-gold{color:#1a1204!important;background:radial-gradient(circle at 35% 30%,#fff1b8,#ffd76a 45%,#c9952a);box-shadow:0 0 14px -2px #ffd76a99}
.f2p-lb-rank.is-silver{color:#10161d!important;background:radial-gradient(circle at 35% 30%,#ffffff,#d7e1ec 45%,#8c9cad);box-shadow:0 0 12px -3px #d7e1ec88}
.f2p-lb-rank.is-bronze{color:#1d0f06!important;background:radial-gradient(circle at 35% 30%,#ffd9bd,#e7a676 45%,#a5602f);box-shadow:0 0 12px -3px #e7a67688}
.f2p-lb-row.is-p1 .f2p-lb-link{box-shadow:inset 3px 0 0 #ffd76a,inset 0 0 0 1px #ffd76a44}
.f2p-lb-row.is-p2 .f2p-lb-link{box-shadow:inset 3px 0 0 #d7e1ec,inset 0 0 0 1px #d7e1ec33}
.f2p-lb-row.is-p3 .f2p-lb-link{box-shadow:inset 3px 0 0 #e7a676,inset 0 0 0 1px #e7a67633}
.f2p-lb-row.is-you.is-p1 .f2p-lb-link,.f2p-lb-row.is-you.is-p2 .f2p-lb-link,.f2p-lb-row.is-you.is-p3 .f2p-lb-link{box-shadow:inset 3px 0 0 #9b7bff,inset 0 0 0 1px #9b7bffaa}
.f2p-lb-row.is-slot .f2p-lb-link{background:repeating-linear-gradient(135deg,#0c1b2a 0 10px,#0e1f30 10px 20px);box-shadow:inset 0 0 0 1px dashed #ffffff1f}
.f2p-lb-row.is-slot .f2p-lb-name b{font:900 italic 20px/1 'Barlow Condensed',sans-serif;letter-spacing:.3px;text-transform:uppercase}
.f2p-band-prov{font:800 10px Inter,sans-serif;letter-spacing:1px;text-transform:uppercase;padding:4px 8px;border-radius:999px;background:#ffb02e22;color:#ffc96b;box-shadow:inset 0 0 0 1px #ffb02e66}
.f2p-end-prize{margin:6px 0 0}
@media (max-width:600px){
 .f2p-lb-row .f2p-prize .f2p-prize-lab{display:none}
 .f2p-lb-rank.is-gold,.f2p-lb-rank.is-silver,.f2p-lb-rank.is-bronze{width:32px;height:32px;font-size:19px}
 .f2p-lb-row.is-slot .f2p-lb-name b{font-size:17px}
}
[data-lb-more][hidden]{display:none!important}
/* ---- BETA pill: small, lilac, unmistakable (splash wordmark, header, end screen) */
.f2p-beta{display:inline-flex;align-items:center;justify-content:center;height:20px;padding:0 9px;border-radius:999px;font:900 10.5px/1 Inter,sans-serif;font-style:normal;letter-spacing:1.6px;text-transform:uppercase;white-space:nowrap;
 color:#efe9ff;background:linear-gradient(135deg,#9b7bff59,#7a5cff2e);box-shadow:inset 0 0 0 1.5px #b9a4ff,0 0 14px -4px #9b7bffcc;text-shadow:none;-webkit-text-fill-color:#efe9ff;vertical-align:middle;filter:none}
.f2p-intro .ki-c-title{position:relative;width:fit-content}
.f2p-intro .ki-c-title .f2p-beta{position:absolute;top:-6px;right:-58px;transform:rotate(-6deg);height:22px;font-size:11px}
.f2p-shell .f2p-beta.is-nav{flex:none;margin-left:-2px;height:18px;padding:0 7px;font-size:9.5px;letter-spacing:1.3px}
.f2p-end-beta{display:block;margin:0 0 6px;line-height:0}.f2p-end-beta .f2p-beta{height:20px}
.f2p-intro .ki-c-title em{text-shadow:none}/* text-shadow under the clipped gradient greyed the lilac SUNDAYS */
.f2p-beta-note{margin:0 0 6px;padding:10px 12px;border-radius:12px;background:#9b7bff14;box-shadow:inset 0 0 0 1px #9b7bff55}
.f2p-beta-note h2{margin-top:0!important;color:#d9ccff!important}
.f2p-beta-note p{margin:4px 0 0}
.f2p-legal-beta{font:900 10px/1 Inter,sans-serif!important;letter-spacing:1.6px;text-transform:uppercase;color:#c7b6ff!important;margin:0 0 6px!important}
@media (max-width:600px){
 .f2p-intro .ki-c-title{margin-left:auto;margin-right:auto}
 .f2p-intro .ki-c-title .f2p-beta{position:static;display:flex;width:fit-content;margin:8px auto 0;transform:none;height:20px;font-size:10px}
}

/* "or reroll" under the Draft button (deals): desktop stacks it in the CTA column; on phones the
   stack is the fixed bottom tray (reserveTray measures it, so cards and footer scroll clear). */
.f2p-dinfo .f2p-cta-stack{grid-column:3;grid-row:1;display:flex;flex-direction:column;align-items:stretch;gap:4px}
.f2p-alt-reroll{appearance:none;border:0;background:none;color:#a9b8cc;font:700 13px/1.2 Inter,sans-serif;padding:6px 10px;border-radius:8px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#a9b8cc66}
.f2p-alt-reroll small{font-weight:600;color:#7f8ea3;font-size:12px}
.f2p-alt-reroll:hover:not([disabled]){color:#03ffcc}
.f2p-alt-reroll:focus-visible{outline:2px solid #03ffcc;outline-offset:2px}
.f2p-alt-reroll[disabled]{cursor:default;text-decoration:none;opacity:.6}
@media (max-width:1099px) and (min-width:601px){.f2p-dinfo .f2p-cta-stack{grid-column:2}}
@media (max-width:600px){
 .f2p-dinfo .f2p-cta-stack{position:fixed;left:0;right:0;bottom:0;z-index:32;gap:2px;padding:10px 12px calc(4px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#0b142400,#0b1424f2 22%,#0b1424fa)}
 .f2p-dinfo .f2p-cta-stack .sd-draft-cta{position:static;width:100%}
 .f2p-alt-reroll{padding:8px 10px;min-height:36px}
}
