/* V286 · INFECTION. Todo el tema depende de una temporada activada en Supabase. */
#nb-infection[hidden], #home-infection[hidden], #infection-result-hint[hidden]{display:none!important}
body.infection-season{
  --brand-primary:#a5e44b;--brand-primary-rgb:165,228,75;--brand-primary-hover:#b9f36d;--brand-primary-soft:#c3e794;
  --brand-hot:#96ca3e;--brand-hot-rgb:150,202,62;--brand-primary-faint:rgba(165,228,75,.07);--brand-primary-glow:rgba(135,179,48,.2);
  --surface-page:#0e100f;--surface-header:#090c0b;--surface-input:#0c100e;--surface-card:#191e1a;
  --surface-card-elevated:#151b16;--surface-panel:#161c18;--text-primary:#f0f3ee;--text-muted:#9ba89d;
  --border-brand:rgba(165,228,75,.42);--red:#a5e44b;--slime-opacity:.26;--slime-depth:12px;
  background-color:var(--surface-page);
  background-image:radial-gradient(ellipse at 0 0,rgba(58,86,25,.14),transparent 42%);
}
body.infection-season[data-infection-phase="spread"]{--slime-opacity:.48;--slime-depth:23px;background-image:radial-gradient(ellipse at 4% 25%,rgba(61,98,27,.18),transparent 40%),radial-gradient(ellipse at 97% 67%,rgba(40,75,24,.16),transparent 48%)}
body.infection-season[data-infection-phase="mutation"]{--slime-opacity:.72;--slime-depth:36px;background-image:radial-gradient(ellipse at 0 15%,rgba(61,98,27,.22),transparent 40%),radial-gradient(ellipse at 100% 60%,rgba(57,80,23,.22),transparent 48%)}
body.infection-season :is(.stitle,.profile-name,.race-card-cta){color:var(--brand-primary)}
body.infection-season .nb.on{background:linear-gradient(135deg,rgba(99,139,32,.2),rgba(17,28,17,.6));border-color:rgba(165,228,75,.42);color:#f0f3ee}
body.infection-season :is(.btn-red,.stb.on){background:#a5e44b;color:#12200b;border-color:#a5e44b;text-shadow:none}
body.infection-season .hdr{border-color:rgba(154,211,64,.26);background:linear-gradient(130deg,#0a0e0c,#111711)}
body.infection-season .rw-shell{--rw-primary:#a5e44b!important;--rw-secondary:#c6e79a!important;--rw-bg:radial-gradient(ellipse at 80% 4%,rgba(78,116,29,.28),transparent 58%),linear-gradient(125deg,#101911,#182713 48%,#0b100d);--rw-pattern:radial-gradient(ellipse at 2% 3%,rgba(148,184,63,.12),transparent 24%)}
body.infection-season :is(.rcard,.card,.driver-rating-card,.constructor-card,.people-section-hero){border-color:rgba(154,211,64,.2)}
body.infection-season :is(.rcard,.driver-rating-card,.people-section-hero){background-image:radial-gradient(ellipse at 10% -8%,rgba(109,140,40,.13),transparent 65%)}
/* Gotas por encima del contenido, confinadas al borde y sin eventos de puntero. */
.slime-surface{position:relative;isolation:isolate}
.slime-surface::before{content:"";position:absolute;pointer-events:none;z-index:-1;top:0;left:0;right:0;height:var(--slime-depth,18px);border-radius:22px 22px 40% 30%;opacity:var(--slime-opacity,.35);background:radial-gradient(ellipse 9px 26px at 9% 0,#c7eb6d 5%,#597a20 38%,transparent 65%),radial-gradient(ellipse 17px 32px at 16% 0,#a7c253 4%,#536d1d 40%,transparent 68%),radial-gradient(ellipse 11px 20px at 84% 0,#bbd659 6%,#435c20 40%,transparent 67%),linear-gradient(180deg,rgba(93,125,24,.75),transparent 60%)}
.infection-season[data-infection-phase="spread"] .rcard{box-shadow:inset 0 4px 0 rgba(87,119,32,.3)}
.infection-season[data-infection-phase="mutation"] :is(.rcard,.people-section-hero,.constructor-card){box-shadow:inset 0 5px 0 rgba(137,177,43,.35),inset 3px 0 0 rgba(104,143,31,.18)}
.infection-season[data-infection-phase="mutation"] .rcard::after{content:"";position:absolute;top:0;right:20%;width:19px;height:34px;border-radius:0 0 64% 43%;background:linear-gradient(100deg,rgba(155,191,51,.5),rgba(44,64,13,.25));box-shadow:inset 2px 0 2px rgba(221,240,161,.25);pointer-events:none}
.infection-kicker{display:block;color:#b1db77;font:800 12px 'Barlow Condensed',sans-serif;letter-spacing:2px;text-transform:uppercase}
.infection-button.btn{background:#a5e44b;color:#152007;border:1px solid #b8ef68;border-radius:12px;min-height:44px;white-space:normal;text-shadow:none;letter-spacing:1px;box-shadow:0 5px 18px rgba(111,148,39,.12)}
.infection-button.btn:hover{background:#baef73}
.infection-button.btn:disabled{opacity:.45;cursor:not-allowed}
.infection-season :is(button,select,input):focus-visible{outline:2px solid #e0f6bb;outline-offset:3px}
.infection-home,.infection-status-hero,.infection-report{border:1px solid rgba(164,210,81,.3);border-radius:22px;background:radial-gradient(ellipse at 90% 0,rgba(90,123,38,.24),transparent 65%),linear-gradient(135deg,#182016,#0b100d);color:#f0f3ee}
.infection-home{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:30px;align-items:center;padding:26px 30px;margin:22px 0}
.infection-home h2{font:800 clamp(21px,2.2vw,32px) 'Formula1', 'Orbitron',sans-serif;margin:10px 0;letter-spacing:.3px}
.infection-home h2 small{font:700 12px 'Barlow Condensed',sans-serif;display:inline-block;margin-left:16px;color:#c8d2c6;letter-spacing:1.7px}
.infection-home p{margin:8px 0 0;color:#b3c1ae;overflow-wrap:anywhere}
.infection-home-progress{display:flex;flex-direction:column;gap:4px}
.infection-home-progress strong{font:800 42px 'Barlow Condensed',sans-serif;color:#c3ee86;line-height:1}
.infection-home-progress strong small{font-size:20px}
.infection-home-progress>span{font:700 11px 'Barlow Condensed',sans-serif;letter-spacing:1px;color:#acbfa7}
.infection-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.infection-status-hero{padding:clamp(22px,3vw,42px);margin-bottom:22px}
.infection-status-hero h2{font:800 clamp(22px,3.5vw,46px) 'Formula1','Orbitron',sans-serif;margin:13px 0;line-height:1.3}
.infection-phase,.infection-seal{display:inline-flex;border:1px solid rgba(186,234,97,.35);border-radius:100px;padding:10px 16px;color:#c9ed92;font:800 12px 'Barlow Condensed',sans-serif;letter-spacing:2px}
.infection-counter{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin:36px 0 16px}
.infection-counter>strong{font:800 clamp(40px,5vw,70px) 'Barlow Condensed',sans-serif;line-height:1}
.infection-counter small{font-size:clamp(17px,2vw,26px);color:#b0bfac}
.infection-counter>b{font:800 clamp(26px,3vw,40px) 'Barlow Condensed',sans-serif;color:#c4eb8b}
.infection-progress{height:20px;border:1px solid #364d26;border-radius:30px;background:#0b100b;overflow:hidden;box-shadow:inset 0 2px 7px #040704}
.infection-progress>span{display:block;height:100%;border-radius:9px 16px 12px 8px;background:linear-gradient(180deg,#dcf6ac 0%,#9cca4d 22%,#759d30 53%,#3e591b 100%);box-shadow:inset 0 2px 3px rgba(255,255,255,.4);transition:width .5s ease}
.infection-status-hero p,.infection-help{color:#aaba9f;font-size:13px;line-height:1.65}
.infection-report{padding:clamp(20px,3vw,32px);margin-bottom:28px}
.infection-report h3{font:800 clamp(19px,2.3vw,30px) 'Formula1','Orbitron',sans-serif;margin:10px 0;line-height:1.3;overflow-wrap:anywhere}
.infection-drivers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}
.infection-driver{display:flex;align-items:center;gap:18px;background:rgba(0,0,0,.25);border:1px solid rgba(159,192,104,.2);border-radius:16px;padding:18px;min-width:0}
.infection-driver>div{min-width:0}.infection-driver strong{font:800 clamp(19px,2vw,26px) 'Barlow Condensed',sans-serif;display:block;margin:6px 0;overflow-wrap:anywhere}
.infection-driver small{color:#aebbab}.infection-avatar{position:relative;display:grid;place-items:center;width:86px;height:94px;border-radius:18px;flex-shrink:0;border:1px solid #6e8e43;overflow:hidden;background:#273422;color:#cbe29e;font:700 25px 'Barlow Condensed',sans-serif}
.infection-avatar img{position:absolute;width:100%;height:100%;object-fit:cover}
.infection-report-footer{border-top:1px solid rgba(184,223,121,.2);padding-top:18px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font:700 12px 'Barlow Condensed',sans-serif;letter-spacing:1.3px;color:#a9b89f}.infection-report-footer b{color:#d8eba9}
.infection-history{margin-top:32px}.infection-history-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}
.infection-history-card{border:1px solid #313d2b;background:linear-gradient(130deg,#1b221a,#141916);border-radius:18px;padding:22px;min-width:0}
.infection-history-card .infection-heading{font:700 12px 'Barlow Condensed',sans-serif;letter-spacing:1.4px;color:#afd278}.infection-history-card h3{font-size:17px;margin:14px 0;color:#ecf2e4}.infection-history-card p{margin:8px 0;font-size:14px;overflow-wrap:anywhere}.infection-history-card p span{color:#a6c978;font:700 12px 'Barlow Condensed',sans-serif;margin-right:8px}.infection-history-card small{font-size:11px;color:#91a08c;display:block;margin-top:16px}
.infection-await{padding:26px;border:1px dashed #526448;border-radius:18px;color:#b3c2aa;margin-bottom:22px;line-height:1.6}.infection-await h2,.infection-await h3{color:#e4f0d7;margin:10px 0}.infection-await .btn{margin-top:12px}
.infection-pilot-badge{display:inline-flex;align-self:flex-start;border-radius:30px;padding:5px 10px;font:800 10px 'Barlow Condensed',sans-serif;letter-spacing:1.3px;border:1px solid #4f6242;color:#b7c6ae;margin:0 0 10px;background:#172015}
.infection-exposed{color:#c3db9f;background:linear-gradient(100deg,#344b21,#162012)}.infection-infected{background:#a2cc4e;color:#17210c;border-color:#c7e67d;box-shadow:inset 0 2px 2px #d1e7a4}
.infection-card-infected.driver-rating-card{border:1px solid #97bd4e;box-shadow:inset 0 7px 0 #526f29,inset 4px 0 0 #354b1a;background-image:radial-gradient(ellipse at 85% 4%,rgba(142,177,53,.25),transparent 48%)}
.infection-card-exposed.driver-rating-card{border-top-color:#596e35}.infection-calendar-note{border:1px solid #3f5230;background:linear-gradient(110deg,#24351a,#121b10);border-radius:12px;padding:10px 12px;margin:12px 0;color:#c5daa8;font-size:12px;line-height:1.5}.infection-calendar-note b{display:block;font:800 10px 'Barlow Condensed',sans-serif;letter-spacing:1.6px;margin-bottom:5px}.infection-calendar-note span{overflow-wrap:anywhere}.infection-calendar-note.is-current{border-color:#98c84f}
.infection-multiplier{display:inline-flex;flex-shrink:0;white-space:nowrap;border:1px solid #4c632e;border-radius:5px;color:#c5e394;background:#26361b;padding:3px 5px;font:800 10px 'Barlow Condensed',sans-serif;letter-spacing:.4px}.infection-season .championship-bar-name{flex-wrap:wrap}
.infection-admin-card{padding:24px;margin-bottom:20px}.infection-admin-card p{line-height:1.65;color:#b7c5ae;font-size:13px}.infection-admin-card h2{font-size:24px;margin:12px 0}.infection-admin-card .btn{margin-top:10px}
.infection-roster-select,.infection-multiplier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}
.infection-roster-select label{display:flex;align-items:center;gap:10px;border:1px solid #465439;border-radius:10px;padding:12px;flex-wrap:wrap;min-height:44px}.infection-roster-select small{color:#99b284}.infection-roster-select input{accent-color:#a5e44b;width:18px;height:18px}.infection-multiplier-grid label{font-size:14px;min-width:0}.infection-multiplier-grid select{margin-top:8px}
.infection-draft{padding:20px;border:1px dashed #a4cb5e;border-radius:16px;margin:20px 0;background:#182211}.infection-draft h3{line-height:1.65;font-size:20px}.infection-actions{display:flex;flex-wrap:wrap;gap:12px}.infection-error{color:#ffb1b1!important}
@media(max-width:900px){.infection-home{grid-template-columns:minmax(0,1fr) auto;gap:20px}.infection-home>.btn{grid-column:1/-1;justify-self:start}.infection-drivers{grid-template-columns:1fr}.infection-home h2 small{display:block;margin:10px 0 0}}
@media(max-width:520px){.infection-home{padding:22px 18px;gap:14px}.infection-home h2{font-size:21px}.infection-home-progress strong{font-size:34px}.infection-home .btn{width:100%}.infection-roster-select,.infection-multiplier-grid{grid-template-columns:1fr}.infection-avatar{width:68px;height:80px}.infection-driver{gap:12px;padding:14px}.infection-status-hero,.infection-report{padding:22px 18px}.infection-counter{margin-top:24px}.infection-counter small{display:block;font-size:17px;margin-top:6px}.infection-history-grid{grid-template-columns:1fr}.infection-admin-card{padding:18px}.infection-heading{gap:12px}.infection-admin-card .infection-actions>.btn{width:100%}}
@media(prefers-reduced-motion:reduce){.infection-progress>span{transition:none}}
