/* ===== IL MALLOPPO — solo le parti che il Quizzettone non ha già ===== */

.logo-main span{background:linear-gradient(180deg,#fff,var(--lime));
  -webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- concorrenti ---------- */
.castgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;max-width:1100px;margin:0 auto}
.ccard{background:var(--glass);border:1px solid var(--stroke);border-radius:22px;padding:16px 14px;
  text-align:center;position:relative;backdrop-filter:blur(12px);animation:in .3s}
.ccard .cav{width:100%;aspect-ratio:100/110;cursor:pointer}
.ccard .cav svg{width:100%;height:100%;display:block}
.ccard input{width:100%;margin-top:8px;padding:9px 10px;border-radius:12px;text-align:center;
  background:rgba(0,0,0,.3);border:2px solid var(--stroke);color:#fff;font-weight:800;outline:0}
.ccard input:focus{border-color:var(--cyan)}
.ccard .cdel{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;
  background:rgba(255,59,92,.75);font-weight:900;font-size:.8rem}
.ccard .cnome-av{font-size:.75rem;opacity:.6;margin-top:6px}

/* ---------- tabellone ---------- */
.tabellone{display:grid;gap:12px;max-width:900px;margin:0 auto}
.trow{display:flex;align-items:center;gap:16px;padding:14px 20px;border-radius:20px;
  background:var(--glass);border:1px solid var(--stroke);animation:in .3s}
.trow .tav{width:56px;height:62px;flex:none}
.trow .tav svg{width:100%;height:100%;display:block}
.trow .tnome{flex:1;font-family:var(--font-black);font-size:1.25rem;letter-spacing:.5px}
.trow .teuro{font-family:var(--font-black);font-size:1.5rem;color:var(--gold);white-space:nowrap}
.trow .terr{display:flex;gap:5px}
.trow .terr i{width:13px;height:13px;border-radius:50%;background:rgba(255,255,255,.16)}
.trow .terr i.on{background:var(--red);box-shadow:0 0 12px rgba(255,59,92,.8)}
.trow.fuori{opacity:.35;filter:grayscale(.7)}
.trow.fuori .tnome{text-decoration:line-through}
.trow.puntato{border-color:var(--red);box-shadow:0 0 30px rgba(255,59,92,.35)}
.trow.vince{border-color:var(--lime);box-shadow:0 0 34px rgba(182,255,60,.35)}

/* ---------- di chi è il turno ---------- */
.turno-di{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:6px}
.turno-di .tav{width:64px;height:70px}
.turno-di .tav svg{width:100%;height:100%;display:block}
.turno-di .tn{font-family:var(--font-black);font-size:clamp(1.1rem,3vw,1.8rem)}
.turno-di .te{font-family:var(--font-black);color:var(--gold);font-size:1.2rem}

/* ---------- che anno era ---------- */
.anni{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
.anno{padding:26px 10px;border-radius:22px;font-family:var(--font-black);
  font-size:clamp(1.5rem,5vw,2.6rem);letter-spacing:1px;color:#11031f;
  background:linear-gradient(135deg,var(--cyan),var(--violet));
  box-shadow:0 10px 0 rgba(0,0,0,.3);transition:transform .12s,opacity .2s}
.anno:nth-child(2){background:linear-gradient(135deg,var(--gold),var(--orange))}
.anno:nth-child(3){background:linear-gradient(135deg,var(--lime),var(--green))}
.anno:nth-child(4){background:linear-gradient(135deg,var(--magenta),var(--violet))}
.anno:hover{transform:translateY(-3px)}
.anno:active{transform:translateY(5px);box-shadow:0 4px 0 rgba(0,0,0,.3)}
.anno.spenta{opacity:.25;pointer-events:none}
.anno.giusta{outline:5px solid #fff;outline-offset:-5px}
.anno.sbagliata{filter:grayscale(1) brightness(.6)}
@media(max-width:720px){ .anni{grid-template-columns:repeat(2,1fr)} }

/* ---------- duello ---------- */
.duello-stage{justify-content:flex-start}
.clessidre{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:900px;margin:0 auto 8px;width:100%}
.cless{padding:16px 18px;border-radius:22px;background:var(--glass);border:2px solid var(--stroke);
  display:flex;align-items:center;gap:14px;transition:border-color .2s,box-shadow .2s}
.cless .cav{width:54px;height:60px;flex:none}
.cless .cav svg{width:100%;height:100%;display:block}
.cless .cinfo{flex:1;min-width:0}
.cless .cn{font-family:var(--font-black);font-size:1.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cless .csec{font-family:var(--font-black);font-size:2.4rem;line-height:1}
.cless .cbar{height:9px;border-radius:9px;background:rgba(255,255,255,.14);overflow:hidden;margin-top:7px}
.cless .cbar i{display:block;height:100%;background:linear-gradient(90deg,var(--lime),var(--green));transition:width .2s linear}
.cless.attivo{border-color:var(--cyan);box-shadow:0 0 34px rgba(0,229,255,.3)}
.cless.attivo .csec{color:var(--cyan)}
.cless.rosso .cbar i{background:linear-gradient(90deg,var(--red),var(--orange))}
.cless.rosso .csec{color:var(--red)}
.cless.perde{opacity:.4}

.def-lab{font-size:.75rem;letter-spacing:3px;text-transform:uppercase;opacity:.5;font-weight:800;margin-bottom:8px}
.parola{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:20px}
.parola span{width:clamp(30px,5vw,52px);height:clamp(40px,6.5vw,66px);border-radius:12px;
  background:rgba(255,255,255,.09);border:2px solid var(--stroke);
  display:grid;place-items:center;font-family:var(--font-black);
  font-size:clamp(1.2rem,3.4vw,2rem);text-transform:uppercase}
.parola span.viva{background:linear-gradient(135deg,var(--lime),var(--green));color:#06210f;border-color:transparent}

/* ---------- campione ---------- */
.campione{display:flex;flex-direction:column;align-items:center;gap:10px;margin:10px 0 26px}
.campione .cav{width:min(38vw,190px);aspect-ratio:100/110}
.campione .cav svg{width:100%;height:100%;display:block}
.campione .cn{font-family:var(--font-black);font-size:clamp(1.6rem,6vw,3rem)}
.campione .ce{font-family:var(--font-black);font-size:clamp(2rem,8vw,4rem);
  background:linear-gradient(180deg,#fff,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 4px 0 rgba(255,122,24,.7))}

/* ---------- scelta dello sfidante ---------- */
.sfidanti{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:18px}
.sfidante{padding:14px;border-radius:20px;background:var(--glass);border:2px solid var(--stroke);text-align:center}
.sfidante:hover{border-color:var(--red);transform:translateY(-3px)}
.sfidante .sav{width:100%;aspect-ratio:100/110}
.sfidante .sav svg{width:100%;height:100%;display:block}
.sfidante .sn{font-weight:900;margin-top:6px}
.sfidante .se{font-size:.85rem;color:var(--gold);font-weight:800}
