:root{
  --paper:#FFF7E8; --card:#FFFFFF; --ink:#16181D; --soft:#61636B; --faint:#8A8C94;
  --rule:#ECE5D8; --rule-2:#DAD0BF;
  --home:#B53A17; --draw:#68686E; --away:#0B7476;
  --home-bg:#FDE4DB; --draw-bg:#EEEEF0; --away-bg:#D6F0F0;
  /* Il verso di una posizione (dal 2026-09-24): salita e discesa, non
     l'1X2. Lo disegnano la home e `/campionati` (`campionati.VERSO_CSS`).
     Su bianco 5.1:1 e 5.6:1, sul fondo della riga propria (`--accent-bg`)
     4.2 e 4.7: sono forme e non testo, bastava il 3:1. */
  --su:#1E7F3A; --giu:#C62B2B;
  --accent:#2358E8; --accent-bg:#E3EBFF;
  --linea:#16181D; --ombra:4px 4px 0 #16181D; --adesivo:#FFD23F;
  --f-titolo:"Bricolage Grotesque",system-ui,sans-serif;
  --f-testo:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-cifre:"DM Mono",ui-monospace,monospace;
  --raggio:12px; --raggio-p:6px;
  /* Solo chiaro (deciso il 2026-09-23): la «Figurina» e' crema, bordi
     d'inchiostro e ombra spostata, e al buio non restava niente di
     tutto questo. `color-scheme` tiene chiari anche campi e barre di
     scorrimento, che il browser altrimenti scurisce da solo. */
  color-scheme:light;
}

*{box-sizing:border-box}
body{background:var(--paper);color:var(--ink);
  font-family:var(--f-testo);
  line-height:1.5;-webkit-font-smoothing:antialiased}
.wrap{max-width:56rem;margin:0 auto;padding:2.5rem 1.25rem 5rem;
  display:flex;flex-direction:column;gap:2rem}

/* --- testata --- */
.testata{display:flex;flex-direction:column;gap:.9rem;
  border-bottom:2px solid var(--ink);padding-bottom:1.4rem}
.occhiello{font-family:var(--f-cifre);font-size:.7rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
h1{font-family:var(--f-titolo);font-weight:700;font-size:clamp(2.2rem,7vw,3.4rem);
  line-height:1.02;margin:0;text-wrap:balance;letter-spacing:-.01em}
/* Il titolo della SINTESI e' un `<h2>` dal 2026-09-20: la sintesi e' una
   sezione della home, non una pagina, e sopra di lei c'e' il titolo di
   qualcun altro. Senza questa regola cadeva sul default del browser —
   grassetto nel carattere del testo corrente — e si vedeva solo guardando la
   pagina: nel DOM l'intestazione c'era, ed era anche quella giusta.
   Piu' piccolo dell'`h1` perche' e' un livello sotto, e non tanto da
   confondersi con i nomi dei giorni (`.gg`, 1.35rem). */
.testata h2{font-family:var(--f-titolo);font-weight:700;
  font-size:clamp(1.75rem,4vw,2rem);line-height:1.04;margin:0;
  text-wrap:balance;letter-spacing:-.01em}
/* Sottotitolo e avvertenza larghi quanto la pagina (dal 2026-09-24): con
   `46ch` e `60ch` si fermavano a meta', ognuno in un punto diverso. */
.sottotitolo{color:var(--soft);margin:0;font-size:.98rem}
.meta{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;
  font-family:var(--f-cifre);font-size:.72rem;color:var(--faint)}
.meta b{color:var(--soft);font-weight:600}

/* --- avvertenza --- */
/* `section` e non la classe nuda: anche la riga sotto le quote del mercato si
   chiama `nota`, e con la scheda di FantaClaudio (bordo, ombra) diventava un
   riquadro dentro la scheda della partita. Visto guardando `/giornata`. */
section.nota{background:var(--card);border:2px solid var(--linea);border-radius:var(--raggio);box-shadow:var(--ombra);
  padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.55rem}
.nota h2{font-family:var(--f-cifre);font-size:.7rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0}
.nota p{margin:0;font-size:.87rem;color:var(--soft)}
.nota b{color:var(--ink);font-weight:600}
/* L'avvertenza chiude i due frammenti (dal 2026-09-24): piccola e grigia,
   perche' e' una premessa da trovare, non un titolo da leggere per primo. */
.avvertenza{margin:0;font-size:.74rem;color:var(--faint)}

/* --- giorno --- */
.giorno{display:flex;align-items:baseline;gap:.7rem;margin:1rem 0 -.6rem;
  border-bottom:1px solid var(--rule-2);padding-bottom:.4rem}
.gg{font-family:var(--f-titolo);font-weight:700;font-size:1.35rem}
.dd{font-family:var(--f-cifre);font-size:.75rem;color:var(--faint)}

/* --- scheda --- */
.match{background:var(--card);border:2px solid var(--linea);border-radius:var(--raggio);box-shadow:var(--ombra);
  display:flex;flex-direction:column;gap:1rem;padding:1.1rem 1.2rem 1.2rem}
.match.giocata{opacity:.72}
.match>header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.ora{font-family:var(--f-cifre);font-size:.78rem;color:var(--faint);
  font-variant-numeric:tabular-nums}
.match h3{margin:0;font-family:var(--f-titolo);font-weight:500;
  font-size:clamp(1.05rem,3.2vw,1.3rem);flex:1;display:flex;gap:.5rem;flex-wrap:wrap;align-items:baseline}
.v{color:var(--faint);font-weight:400}
.fav,.badge{font-family:var(--f-cifre);font-size:.72rem;font-weight:600;
  padding:.22rem .5rem;border-radius:var(--raggio-p);white-space:nowrap}
.fav.home{background:var(--home-bg);color:var(--home)}
.fav.draw{background:var(--draw-bg);color:var(--draw)}
.fav.away{background:var(--away-bg);color:var(--away)}
.badge{background:var(--draw-bg);color:var(--soft);text-transform:uppercase;letter-spacing:.08em;font-size:.62rem}

/* --- barra 1X2 --- */
.barra{display:flex;height:2.1rem;overflow:hidden;border-radius:var(--raggio-p)}
.seg{display:flex;align-items:center;justify-content:center;gap:.3rem;min-width:0;
  font-family:var(--f-cifre);font-size:.74rem;
  font-variant-numeric:tabular-nums;overflow:hidden}
.seg em{font-style:normal;opacity:.65;font-size:.68rem}
.seg b{font-weight:600}
.seg.home{background:var(--home-bg);color:var(--home)}
.seg.draw{background:var(--draw-bg);color:var(--draw)}
.seg.away{background:var(--away-bg);color:var(--away)}

/* --- il mercato --- */
.mercato .implicite{margin:.4rem 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.mercato .q{border:1px solid var(--rule);border-radius:var(--raggio-p);padding:.4rem .5rem;
  display:flex;align-items:baseline;gap:.5rem}
.mercato .q dt{font-family:var(--f-cifre);font-size:.72rem;
  font-weight:600;opacity:.75}
.mercato .q dd{margin:0;display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap;
  font-family:var(--f-cifre);font-variant-numeric:tabular-nums}
.mercato .q b{font-size:.9rem;font-weight:600}
.mercato .q u{text-decoration:none;font-size:.68rem;color:var(--faint)}
.mercato .q.home{background:var(--home-bg)} .mercato .q.home b{color:var(--home)}
.mercato .q.draw{background:var(--draw-bg)} .mercato .q.draw b{color:var(--draw)}
.mercato .q.away{background:var(--away-bg)} .mercato .q.away b{color:var(--away)}
.mercato .etichetta small{font-weight:400;text-transform:none;letter-spacing:0;
  opacity:.75;margin-left:.4rem}
.mercato .nota{margin:.35rem 0 0;font-size:.68rem;color:var(--faint)}

/* --- misure --- */
.misure{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));
  gap:.6rem 1rem;border-block:1px solid var(--rule);padding:.7rem 0}
.misure div{display:flex;flex-direction:column;gap:.1rem}
.misure dt{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.misure dd{margin:0;font-family:var(--f-cifre);font-size:.88rem;
  font-variant-numeric:tabular-nums;font-weight:600}

.etichetta{display:block;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--faint);margin-bottom:.5rem}

/* --- gettoni punteggio --- */
.chips{display:flex;flex-wrap:wrap;gap:.4rem}
.chip{display:inline-flex;align-items:baseline;gap:.35rem;padding:.3rem .55rem;border-radius:var(--raggio-p);
  font-family:var(--f-cifre);font-size:.78rem;font-variant-numeric:tabular-nums}
.chip b{font-weight:600}
.chip i{font-style:normal;font-size:.68rem;opacity:.75}
.chip.home{background:var(--home-bg);color:var(--home)}
.chip.draw{background:var(--draw-bg);color:var(--draw)}
.chip.away{background:var(--away-bg);color:var(--away)}

/* --- giocatori --- */
.due{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
@media(max-width:34rem){.due{grid-template-columns:1fr}}
.squadra h4{margin:0 0 .4rem;font-size:.8rem;font-weight:600;display:flex;
  justify-content:space-between;align-items:baseline;gap:.5rem;
  padding-bottom:.3rem;border-bottom:1px solid var(--rule)}
.squadra.casa h4{color:var(--home)} .squadra.osp h4{color:var(--away)}
.lam{font-family:var(--f-cifre);font-size:.68rem;
  color:var(--faint);font-weight:400;font-variant-numeric:tabular-nums}
.squadra ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.28rem}
.squadra li{display:flex;align-items:baseline;gap:.45rem;font-size:.83rem}
.pn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pr{font-family:var(--f-cifre);font-size:.62rem;color:var(--faint);
  letter-spacing:.04em}
.pv{font-family:var(--f-cifre);font-size:.76rem;font-weight:600;
  font-variant-numeric:tabular-nums;color:var(--soft)}
.vuoto{color:var(--faint);font-style:italic;font-size:.78rem}

/* --- formazioni probabili --- */
.formazioni{border-top:1px solid var(--rule);padding-top:.85rem}
.undici h5{margin:0 0 .45rem;font-size:.8rem;font-weight:600;display:flex;
  justify-content:space-between;align-items:baseline;gap:.5rem;
  padding-bottom:.3rem;border-bottom:1px solid var(--rule)}
.undici.casa h5{color:var(--home)} .undici.osp h5{color:var(--away)}
.mod{font-family:var(--f-cifre);font-size:.7rem;
  color:var(--faint);font-weight:400;letter-spacing:.04em}
.undici ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.15rem}
/* la certezza e' peso visivo: un 55% si legge piu' leggero di un 90% */
.undici li{display:flex;align-items:baseline;gap:.4rem;font-size:.8rem;
  opacity:calc(.5 + .5 * var(--peso,1))}
.ru{font-family:var(--f-cifre);font-size:.58rem;font-weight:600;
  width:1.15rem;height:1.15rem;flex:0 0 auto;display:grid;place-items:center;
  border-radius:var(--raggio-p);background:var(--draw-bg);color:var(--soft)}
.r-p{background:var(--draw-bg);color:var(--faint)}
.r-d{background:var(--away-bg);color:var(--away)}
.r-c{background:var(--rule);color:var(--soft)}
.r-a{background:var(--home-bg);color:var(--home)}
.nn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pp{font-family:var(--f-cifre);font-size:.7rem;
  font-variant-numeric:tabular-nums;color:var(--faint)}
.pp::after{content:"%";font-size:.82em;opacity:.6}
.fuori{margin:.5rem 0 0;font-size:.72rem;color:var(--faint);line-height:1.45}
.fuori span{font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--home);margin-right:.35rem}
.fuori i{font-style:normal;opacity:.75}
/* --- panchina: stesso elenco dei titolari, ma chiusa finche' non la si apre --- */
.panca{margin-top:.55rem;padding-top:.5rem;border-top:1px dashed var(--rule-2)}
.panca>summary{display:flex;align-items:center;gap:.3rem;margin-bottom:0;
  cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}
.panca>summary::-webkit-details-marker{display:none}
/* la freccia e' disegnata a mano: `display:flex` sul riassunto toglie il
   triangolo di serie, e senza un segno la riga non sembra apribile */
.panca>summary::before{content:"";flex:0 0 auto;width:.32rem;height:.32rem;
  margin-right:.1rem;border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;transform:rotate(-45deg);
  transition:transform .15s ease}
.panca[open]>summary::before{transform:rotate(45deg)}
.panca>summary:hover{color:var(--soft)}
.panca[open]>summary{margin-bottom:.35rem}
.quanti{font-family:var(--f-cifre);letter-spacing:0;
  font-variant-numeric:tabular-nums;opacity:.7}
.panca li{font-size:.76rem}
.panca .ru{width:1.05rem;height:1.05rem;font-size:.54rem}
.r-x{background:var(--rule);color:var(--faint)}

/* --- la sintesi della home (dal 2026-09-23): prefisso `sn-` ---
   Classi sue e non quelle della scheda: `.fav` e `.barra` qui sopra sono
   della pagina esplosa, e riusarle con un altro significato vorrebbe dire
   che una modifica a una pagina ne cambia un'altra senza dirlo. */
/* Il filetto sta SOPRA la sintesi e non sotto: sopra c'e' sempre qualcosa
   — la vetrina, o i blocchi della lega — e la giornata e' la seconda
   parte della home. Fino al 2026-09-23 era il filetto sotto, alleggerito
   da due regole gemelle in `pages.py` e `home.py`, che adesso non ci sono
   piu'. */
.sn-testa{border-bottom:0;padding-bottom:0;border-top:2px solid var(--linea);padding-top:2rem;margin-top:1rem}
.sn-leggenda{margin:0;display:flex;gap:.9rem;font-size:.74rem;color:var(--soft)}
.sn-leggenda span::before{content:"";display:inline-block;width:.6rem;height:.6rem;
  border-radius:2px;margin-right:.35rem;vertical-align:-1px;background:currentColor}
.sn-leggenda .home::before{background:var(--home)}
.sn-leggenda .draw::before{background:var(--draw)}
.sn-leggenda .away::before{background:var(--away)}
.sn-spunti{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}
/* i tre spunti prendono i tre fondi dell'1X2 in ordine, come adesivi: non
   dicono un esito, ed e' per questo che sono fondi tenui e non colori pieni */
.sn-spunto{border:2px solid var(--linea);border-radius:var(--raggio);box-shadow:var(--ombra);
  padding:.7rem .9rem;display:flex;flex-direction:column;gap:.1rem}
.sn-spunto:nth-child(1){background:var(--home-bg)}
.sn-spunto:nth-child(2){background:var(--draw-bg)}
.sn-spunto:nth-child(3){background:var(--away-bg)}
.sn-spunto small{font-family:var(--f-cifre);font-size:.64rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--soft)}
.sn-spunto b{font-family:var(--f-titolo);font-size:1.02rem;font-weight:700}
.sn-spunto span{font-family:var(--f-cifre);font-size:.8rem;color:var(--soft)}
.sn-giorno{display:flex;align-items:baseline;gap:.6rem;margin:.6rem 0 -1.2rem;
  font-family:var(--f-titolo);font-weight:700;font-size:1.2rem;text-transform:capitalize}
.sn-giorno span{font-family:var(--f-cifre);font-weight:400;font-size:.74rem;
  color:var(--faint);text-transform:none}
.sn-pt{background:var(--card);border:2px solid var(--linea);border-radius:var(--raggio);
  box-shadow:var(--ombra);margin-bottom:-1.3rem}
.sn-pt:last-child{margin-bottom:0}
.sn-riga{display:grid;grid-template-columns:3rem minmax(10rem,1fr) 11.5rem;
  gap:.6rem 1rem;align-items:center;padding:.75rem .95rem}
.sn-ora{font-family:var(--f-cifre);font-size:.8rem;color:var(--faint)}
.sn-sq{margin:0;font-family:var(--f-titolo);font-weight:500;font-size:1.05rem;line-height:1.25}
.sn-vs{color:var(--faint);margin:0 .3em;font-weight:400}
.sn-finita{display:inline-block;margin-left:.6rem;font-family:var(--f-cifre);font-size:.62rem;
  letter-spacing:.08em;text-transform:uppercase;color:var(--soft);background:var(--draw-bg);
  padding:.12rem .4rem;border-radius:var(--raggio-p);vertical-align:2px;font-weight:500}
.sn-giocata .sn-riga{opacity:.72}
.sn-tre{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem}
.sn-tre span{font-family:var(--f-cifre);font-size:.78rem;text-align:center;padding:.15rem 0;
  border-radius:var(--raggio-p);color:var(--faint)}
.sn-tre em{font-style:normal;opacity:.7;margin-right:.25rem}
.sn-tre .sn-fav{font-weight:600}
.sn-tre .sn-fav.home{background:var(--home-bg);color:var(--home)}
.sn-tre .sn-fav.draw{background:var(--draw-bg);color:var(--draw)}
.sn-tre .sn-fav.away{background:var(--away-bg);color:var(--away)}
.sn-filo{display:flex;height:3px;margin-top:.35rem;border-radius:2px;overflow:hidden}
.sn-filo i{display:block}
.sn-filo .home{background:var(--home)} .sn-filo .draw{background:var(--draw)}
.sn-filo .away{background:var(--away)}
@media (max-width:52rem){
  .sn-riga{grid-template-columns:3rem 1fr}
  .sn-esito{grid-column:1/-1}
}
