:root {
  --sfondo: #fff8ee;
  --carta: #ffffff;
  --testo: #231a12;
  --testo-2: #5a4a3c;
  --linea: #e4d3bd;
  --primario: #1d4ed8;
  --primario-testo: #ffffff;
  --accento: #d62828;
  --ok: #1b7a3d;
  --stella: #e8a100;
  --bloccato: #ece3d6;
  --ombra: 0 2px 0 rgba(60, 40, 20, .12);
  --raggio: 16px;
}
@media (prefers-color-scheme: dark) {
  :root {
    --sfondo: #16120e;
    --carta: #241d16;
    --testo: #f6eee3;
    --testo-2: #cdbfae;
    --linea: #4a3d30;
    --primario: #8fb0ff;
    --primario-testo: #0b1633;
    --accento: #ff7b7b;
    --ok: #6fd392;
    --stella: #ffc83d;
    --bloccato: #2d251d;
    --ombra: 0 2px 0 rgba(0, 0, 0, .4);
  }
}

* { box-sizing: border-box; }
/* le classi con display proprio (grid, flex) non devono vincere sull'attributo hidden */
[hidden] { display: none !important; }
html { font-size: 112.5%; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--sfondo);
  color: var(--testo);
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
#app { max-width: 760px; margin: 0 auto; padding: 16px 16px 48px; outline: none; }
h1, h2, h3 { line-height: 1.2; margin: 0 0 .5rem; }
h1 { font-size: 1.7rem; }
h2 { font-size: 1.3rem; }
p { margin: 0 0 .75rem; }
svg { display: block; max-width: 100%; height: auto; }

.salta { position: absolute; left: -999px; top: 0; background: var(--primario); color: var(--primario-testo); padding: 8px 12px; z-index: 10; }
.salta:focus { left: 8px; top: 8px; }

:focus-visible { outline: 3px solid var(--primario); outline-offset: 2px; }

/* Pulsanti */
.btn {
  font: inherit; font-weight: 700; min-height: 48px; padding: 10px 18px;
  border-radius: 14px; border: 2px solid var(--primario);
  background: var(--primario); color: var(--primario-testo);
  cursor: pointer; box-shadow: var(--ombra); text-align: center;
}
.btn.secondario { background: var(--carta); color: var(--primario); }
.btn.piccolo { min-height: 44px; padding: 6px 14px; font-size: .9rem; }
.btn[disabled], .btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; box-shadow: none; }
.btn:active:not([disabled]) { transform: translateY(1px); }
/* niente zoom al doppio tocco sui comandi (telefono) */
.btn, .scheda, .carta, .lettera, .parola-diff, .cella input { touch-action: manipulation; }
.riga { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.riga.fine { justify-content: space-between; }

.avviso { background: #fff3cd; color: #4a3500; border: 2px solid #e8b100; border-radius: 12px; padding: 10px 14px; margin: 0 0 14px; }
@media (prefers-color-scheme: dark) { .avviso { background: #3d3210; color: #ffe9a3; border-color: #a88200; } }

/* Emily: benvenuto, banner della home, avatar piccolo */
.benvenuto { text-align: center; margin-bottom: 14px; }
.benvenuto p { color: var(--testo-2); }
.emily-grande { display: block; width: min(100%, 380px); height: auto; margin: 0 auto 8px; }
.banner { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }
.emily-banner {
  display: block; width: 100%; max-width: 420px; height: 210px; object-fit: contain; margin: 0 auto;
  background: linear-gradient(#bfe3f7, #fdf1d6); border-radius: var(--raggio);
}
@media (min-width: 640px) {
  .banner { flex-direction: row; align-items: center; gap: 18px; }
  .emily-banner { flex: 0 0 40%; width: 40%; margin: 0; }
}
.emily-mini {
  display: inline-block; flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; overflow: hidden;
  background: #bfe3f7; border: 2px solid var(--linea); vertical-align: middle;
}
.emily-mini img { display: block; width: 100%; height: 100%; object-fit: cover; }
.con-emily { display: flex; align-items: center; gap: 10px; text-align: left; }
.esito .con-emily { justify-content: center; }
.fumetto {
  position: relative; background: var(--carta); border: 2px solid var(--linea);
  border-radius: var(--raggio); padding: 10px 14px; flex: 1 1 0; min-width: 0;
}
.fumetto::before {
  content: ""; position: absolute; left: -9px; top: 28px; width: 14px; height: 14px;
  background: var(--carta); border-left: 2px solid var(--linea); border-bottom: 2px solid var(--linea);
  transform: rotate(45deg);
}
.fumetto h1 { margin-bottom: .25rem; }
.fumetto p { margin: 0; color: var(--testo-2); }

/* Statistiche */
.statistiche { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-bottom: 18px; }
.stat { background: var(--carta); border: 2px solid var(--linea); border-radius: var(--raggio); padding: 10px 14px; }
.stat .etichetta { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--testo-2); }
.stat .valore { font-size: 1.5rem; font-weight: 800; overflow-wrap: normal; hyphens: none; }
.stat .nota { font-size: .85rem; color: var(--testo-2); }
.barra { height: 10px; background: var(--bloccato); border-radius: 6px; overflow: hidden; margin-top: 6px; }
.barra > span { display: block; height: 100%; background: var(--ok); }

/* Mappa del viaggio */
.mappa { list-style: none; padding: 0; margin: 0 0 18px; position: relative; }
.mappa li { position: relative; padding-left: 44px; padding-bottom: 14px; }
.mappa li::before { content: ""; position: absolute; left: 17px; top: 36px; bottom: -6px; border-left: 4px dotted var(--linea); }
.mappa li:last-child::before { display: none; }
.numero {
  position: absolute; left: 0; top: 6px; width: 38px; height: 38px; border-radius: 50%;
  background: var(--primario); color: var(--primario-testo); display: grid; place-items: center; font-weight: 800;
}
.bloccata .numero { background: var(--bloccato); color: var(--testo-2); }
.fatta .numero { background: var(--ok); color: var(--sfondo); }
.scheda {
  display: grid; grid-template-columns: 1fr 104px; gap: 12px; width: 100%; text-align: left;
  font: inherit; color: inherit; background: var(--carta); border: 2px solid var(--linea);
  border-radius: var(--raggio); padding: 12px; box-shadow: var(--ombra); cursor: pointer;
}
button.scheda:hover { border-color: var(--primario); }
.bloccata .scheda { background: var(--bloccato); cursor: not-allowed; box-shadow: none; }
.scheda .titolo { font-weight: 800; font-size: 1.1rem; display: block; }
.scheda .sotto { color: var(--testo-2); font-size: .9rem; display: block; }
.cartolina { border-radius: 10px; overflow: hidden; border: 2px solid var(--linea); align-self: center; }

.stelle { color: var(--stella); letter-spacing: 2px; font-size: 1.1rem; white-space: nowrap; }
.stelle .vuota { color: var(--linea); }

/* Medaglie */
.medaglie { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 18px; padding: 0; list-style: none; }
.medaglie li { width: 76px; text-align: center; font-size: .8rem; line-height: 1.2; }
.medaglie svg { width: 52px; margin: 0 auto 2px; }

.menu { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }

/* Form */
.pannello { background: var(--carta); border: 2px solid var(--linea); border-radius: var(--raggio); padding: 16px; margin-bottom: 16px; }
label { display: block; font-weight: 700; margin: 0 0 4px; }
input[type="text"] {
  font: inherit; width: 100%; min-height: 48px; padding: 8px 12px; border-radius: 12px;
  border: 2px solid var(--linea); background: var(--sfondo); color: var(--testo); margin-bottom: 12px;
}

/* Schermate interne */
.testata { display: flex; gap: 12px; align-items: center; margin-bottom: 12px; }
.testata h1 { margin: 0; font-size: 1.4rem; flex: 1 1 0; min-width: 0; }
.indietro { flex: 0 0 auto; }
.tappe { list-style: none; padding: 0; margin: 0 0 16px; display: grid; gap: 10px; }
.tappe .scheda { grid-template-columns: 1fr auto; align-items: center; }
.avanzamento { color: var(--testo-2); font-size: .9rem; margin: 0 0 10px; }

.parola {
  display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; align-items: center;
  background: var(--carta); border: 2px solid var(--linea); border-radius: var(--raggio);
  padding: 10px 14px; margin-bottom: 10px;
}
.parola.sentita { border-color: var(--ok); }
.en { font-size: 1.4rem; font-weight: 800; }
.pron { color: var(--accento); font-weight: 700; font-size: 1.1rem; }
.it { color: var(--testo-2); }
.nota { font-size: .85rem; color: var(--testo-2); }
.audio { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.stato-audio { grid-column: 1 / -1; font-size: .85rem; color: var(--accento); min-height: 0; }
.stato-audio:empty { display: none; }

.regola { background: var(--carta); border: 2px solid var(--linea); border-radius: var(--raggio); padding: 16px; margin-bottom: 12px; }
.regola p { white-space: pre-line; }
.esempi { list-style: none; padding: 0; margin: 12px 0 0; display: grid; gap: 8px; }
.frasi-utili { margin-top: 12px; }
.esempi li { border-left: 4px solid var(--primario); padding-left: 10px; }

.dialogo { display: grid; gap: 10px; margin-bottom: 14px; }
.battuta { max-width: 92%; background: var(--carta); border: 2px solid var(--linea); border-radius: var(--raggio); padding: 10px 14px; }
.battuta.altro { justify-self: end; background: var(--bloccato); }
.battuta .chi { font-weight: 800; font-size: .85rem; color: var(--primario); }

.esito { text-align: center; }
.esito .stelle { font-size: 2.2rem; }
.nuovi { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin: 12px 0; }
.nuovi figure { margin: 0; width: 140px; font-size: .85rem; }
.nuovi svg { margin: 0 auto 4px; }
.medaglia-grande svg { width: 72px; }

.toast {
  position: fixed; left: 16px; right: 16px; bottom: 16px; max-width: 560px; margin: 0 auto; z-index: 20;
  background: var(--primario); color: var(--primario-testo); font-weight: 700;
  border-radius: 14px; padding: 12px 16px; text-align: center; box-shadow: 0 4px 16px rgba(0, 0, 0, .3);
}
.toast[hidden] { display: none; }

.emily-festa { display: block; height: 230px; width: auto; max-width: 100%; margin: 4px auto 8px; }
.emily-londra { display: block; width: min(100%, 320px); height: auto; margin: 4px auto 8px; }

@media (max-width: 420px) {
  html { font-size: 106%; }
  .scheda { grid-template-columns: 1fr 84px; }
  .stat .valore { font-size: 1.2rem; }
  .parola { grid-template-columns: 1fr; }
  .audio { justify-content: flex-start; }
}
/* Impostazioni, progressi, leggi il mio testo */
textarea {
  font: inherit; width: 100%; min-height: 140px; padding: 8px 12px; border-radius: 12px; resize: vertical;
  border: 2px solid var(--linea); background: var(--sfondo); color: var(--testo); margin-bottom: 12px;
}
.frasi-lette { margin-top: 10px; }
.frase { margin: 0 0 6px; padding: 6px 10px; border-radius: 10px; border: 2px solid transparent; }
.frase.in-lettura { background: #fff3cd; color: #4a3500; border-color: #e8b100; font-weight: 700; }
@media (prefers-color-scheme: dark) { .frase.in-lettura { background: #3d3210; color: #ffe9a3; border-color: #a88200; } }
.mie-frasi { list-style: none; padding: 0; margin: 0 0 16px; display: grid; gap: 8px; }
.mie-frasi li.riga { background: var(--carta); border: 2px solid var(--linea); border-radius: var(--raggio); padding: 8px 12px; }
.en.piccola { font-size: 1.1rem; flex: 1 1 160px; }
.giorni { list-style: none; padding: 0; margin: 0 0 16px; display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.giorni li { text-align: center; background: var(--carta); border: 2px solid var(--linea); border-radius: 10px; padding: 4px 0; min-height: 52px; font-size: .85rem; }
.giorni li span { display: block; color: var(--testo-2); }
.giorni li.fatto { border-color: var(--ok); color: var(--ok); font-weight: 800; }
.pannello h2:not(:first-child) { margin-top: 14px; }

/* Esercizi */
.esercizio h2 { margin-bottom: .75rem; }
.esercizio:focus { outline: none; }
.opzioni { display: grid; gap: 10px; margin: 0 0 14px; }
.opzioni.righe { display: flex; flex-wrap: wrap; }
.colonne { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.btn.opzione { width: 100%; font-size: 1.1rem; }
.btn.opzione.scelto, .btn.pezzo.scelto { background: var(--primario); color: var(--primario-testo); }
.btn.fatto, .btn.opzione.fatto { background: var(--ok); border-color: var(--ok); color: var(--sfondo); opacity: 1; }
.btn.errato { text-decoration: line-through; }
.frase { font-size: 1.5rem; margin: 0 0 14px; }
.vuoto { display: inline-block; min-width: 3ch; border-bottom: 3px solid var(--primario); text-align: center; color: var(--testo-2); }
.vuoto.pieno { color: var(--ok); }
.frase-costruita { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; min-height: 60px; padding: 8px; margin-bottom: 12px; background: var(--carta); border: 2px dashed var(--linea); border-radius: var(--raggio); }
.btn.pezzo { font-size: 1.1rem; }
form .btn { margin-top: 4px; }
.feedback { margin: 0 0 10px; }
.feedback p { margin: 0 0 .4rem; }
.feedback.ok > p:first-child { color: var(--ok); font-weight: 800; font-size: 1.2rem; }
.feedback.riprova > p:first-child { color: var(--primario); font-weight: 700; }
.suggerimento { background: var(--carta); border-left: 4px solid var(--stella); padding: 6px 10px; border-radius: 8px; }
.carte { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 14px; }
.carta { font: inherit; font-weight: 700; min-height: 72px; padding: 6px; border-radius: 12px; border: 2px solid var(--primario); background: var(--primario); color: var(--primario-testo); cursor: pointer; }
.carta.aperta { background: var(--carta); color: var(--testo); }
.carta.trovata { background: var(--ok); border-color: var(--ok); color: var(--sfondo); cursor: default; }
.punti-guadagnati { font-size: 1.4rem; font-weight: 800; color: var(--ok); }
@media (min-width: 600px) { .carte { grid-template-columns: repeat(4, 1fr); } }

/* Giochi linguistici */
.aiuto { margin: 12px 0; }
.aiuto .suggerimento { margin-top: 8px; }
.tessera { min-width: 48px; min-height: 48px; font-size: 1.4rem; font-weight: 800; text-transform: uppercase; padding: 6px 12px; }
span.tessera { display: inline-grid; place-items: center; border-radius: 12px; border: 2px solid var(--primario); background: var(--primario); color: var(--primario-testo); }
.anagramma.giusta { border-color: var(--ok); border-style: solid; }
.parola-frase { font-size: 1.2rem; min-height: 48px; }
.btn.parola-frase.fatto { text-decoration: underline wavy; }
.correzioni { list-style: none; padding: 0; margin: 0 0 12px; color: var(--ok); font-weight: 700; }
.etichetta-testo { margin: 10px 0 4px; font-weight: 800; color: var(--testo-2); font-size: .85rem; text-transform: uppercase; letter-spacing: .04em; }
.testo-diff { background: var(--carta); border: 2px solid var(--linea); border-radius: var(--raggio); padding: 10px 14px; margin-bottom: 8px; font-size: 1.15rem; }
.testo-diff p { margin: 0 0 4px; }
.riga-diff { display: flex; flex-wrap: wrap; gap: 2px 6px; }
.parola-diff { font: inherit; color: inherit; background: none; border: 2px solid transparent; border-radius: 8px; min-height: 44px; min-width: 44px; padding: 2px 6px; cursor: pointer; }
.parola-diff:hover { border-color: var(--linea); }
.parola-diff.fatto { background: var(--ok); color: var(--sfondo); border-color: var(--ok); }
.parola-diff.errato { text-decoration: line-through; color: var(--testo-2); }
.brano { background: var(--carta); border-left: 4px solid var(--primario); border-radius: 8px; padding: 8px 12px; font-size: 1.2rem; }
.affermazioni { list-style: none; padding: 0; margin: 0 0 12px; display: grid; gap: 10px; }
.affermazioni li { background: var(--carta); border: 2px solid var(--linea); border-radius: var(--raggio); padding: 10px 14px; }
.affermazioni .en.piccola { margin-bottom: 8px; }
.rebus { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: center; margin: 8px 0 14px; padding: 14px; background: var(--carta); border: 2px dashed var(--linea); border-radius: var(--raggio); }
.elemento-rebus { font-size: 2.6rem; font-weight: 800; line-height: 1.1; }
.emoji-grande { font-size: 6rem; line-height: 1.2; text-align: center; margin: 4px 0 14px; }
.categoria { font-weight: 700; color: var(--ok); }
.opzioni.righe.frase-errori { align-items: center; }
.vuoto.attuale { border-bottom-color: var(--accento); }
.domanda-indovinello, .domanda-lampo { font-size: 1.4rem; font-weight: 800; margin: 12px 0; }
.indizi-gioco { padding-left: 1.4rem; font-size: 1.2rem; margin: 0 0 10px; }

/* Cruciverba */
.cruciverba { display: grid; grid-template-columns: repeat(var(--colonne), minmax(0, 46px)); gap: 2px; justify-content: center; margin: 8px 0 12px; }
.cella { position: relative; aspect-ratio: 1; background: var(--carta); border: 2px solid var(--testo-2); border-radius: 4px; min-width: 0; }
.cella.nera { background: var(--testo); border-color: var(--testo); opacity: .85; }
.cella input { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 2px; background: transparent; color: var(--testo); text-align: center; font-weight: 800; font-size: 1.3rem; text-transform: uppercase; caret-color: transparent; }
.cella.parola-attiva { background: #dbe6ff; }
.cella.attiva { background: #ffe39b; }
.cella.errata { border-color: var(--accento); background: #ffd9d9; }
.cella.errata input { color: #b00020; }
.cella.aiutata { background: #fff0a8; border-color: #b8860b; }
.cella.aiutata input { color: #231a12; }
.cella.attiva input, .cella.parola-attiva input { color: #231a12; }
@media (prefers-color-scheme: dark) {
  .cella.parola-attiva { background: #26365e; }
  .cella.attiva { background: #5a4710; }
  .cella.errata { background: #4d1f1f; }
  .cella.errata input { color: #ff9a9a; }
  .cella.aiutata { background: #5c4a00; border-color: #d4a72c; }
  .cella.aiutata input { color: #f6eee3; }
  .cella.attiva input, .cella.parola-attiva input { color: #f6eee3; }
}
.cella:focus-within { z-index: 2; }
.lettera:focus-visible { position: relative; z-index: 2; }
.cella .num { position: absolute; top: 1px; left: 3px; font-size: .6rem; font-weight: 700; color: var(--testo-2); z-index: 1; pointer-events: none; line-height: 1; }
.indizio-attivo { min-height: 3em; background: var(--carta); border: 2px solid var(--linea); border-radius: 12px; padding: 6px 12px; font-weight: 700; }
.indizi { padding-left: 1.5rem; margin: 0 0 8px; font-size: .95rem; }
.indizi-colonne { margin-top: 12px; }
.indizi-colonne h3 { font-size: 1rem; }
@media (max-width: 420px) { .indizi-colonne { grid-template-columns: 1fr; } .cella input { font-size: 1.1rem; } }

/* Cerca parole */
.cercaparole { display: grid; grid-template-columns: repeat(var(--colonne), minmax(0, 44px)); gap: 3px; justify-content: center; margin: 8px 0 12px; touch-action: none; user-select: none; -webkit-user-select: none; }
.lettera { font: inherit; font-weight: 800; font-size: 1.25rem; aspect-ratio: 1; min-height: 0; padding: 0; border-radius: 8px; border: 2px solid var(--linea); background: var(--carta); color: var(--testo); cursor: pointer; }
.lettera.anteprima { background: #ffe39b; border-color: var(--stella); color: #231a12; }
.lettera.trovata { background: var(--ok); border-color: var(--ok); color: var(--sfondo); }
.elenco-parole { list-style: none; padding: 0; margin: 0 0 12px; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 6px; }
.voce-parola { background: var(--carta); border: 2px solid var(--linea); border-radius: 10px; padding: 6px 10px; }
.voce-parola .en { font-size: 1.1rem; }
.voce-parola.trovata { text-decoration: line-through; opacity: .65; border-color: var(--ok); }

/* Giochi a tempo */
.punteggio { font-size: 1.3rem; font-weight: 800; margin: 0 0 8px; }
.arena { position: relative; height: 340px; background: var(--carta); border: 2px solid var(--linea); border-radius: var(--raggio); overflow: hidden; margin-bottom: 12px; }
.arena .parola-gioco { position: absolute; font: inherit; font-weight: 800; font-size: 1.15rem; min-height: 52px; min-width: 96px; max-width: 70%; padding: 8px 14px; border-radius: 14px; border: 2px solid var(--primario); background: var(--primario); color: var(--primario-testo); cursor: pointer; box-shadow: var(--ombra); touch-action: manipulation; }
.arena.pioggia .parola-gioco { top: 0; max-width: none; min-width: 0; padding: 8px 4px; font-size: 1.05rem; line-height: 1.15; will-change: transform; }
.arena .parola-gioco[hidden] { display: none; }
.arena .parola-gioco.colpita { background: var(--ok); border-color: var(--ok); color: var(--sfondo); }
.arena .parola-gioco.sbagliata { background: var(--accento); border-color: var(--accento); color: #fff; }
.arena .parola-gioco[disabled] { opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
  .arena .parola-gioco.colpita, .arena .parola-gioco.sbagliata { animation: esplodi .35s ease-out forwards; }
}
@keyframes esplodi { to { opacity: 0; scale: 1.5; } }
.riepilogo { background: var(--carta); border: 2px solid var(--linea); border-radius: var(--raggio); padding: 14px; margin-bottom: 12px; text-align: center; }
.nuovo-record { font-size: 1.5rem; font-weight: 800; color: #8a5a00; margin: 0 0 8px; }
@media (prefers-color-scheme: dark) { .nuovo-record { color: var(--stella); } }
.esito-lampo { min-height: 1.5em; font-size: 1rem; font-weight: 700; }
.dati-gioco { display: grid; grid-template-columns: 1fr auto; gap: 4px 16px; max-width: 280px; margin: 0 auto 8px; text-align: left; }
.dati-gioco dt { font-weight: 700; }
.dati-gioco dd { margin: 0; font-weight: 800; text-align: right; }
.barra-tempo { height: 14px; background: var(--bloccato); border-radius: 8px; overflow: hidden; margin: 8px 0 4px; }
.barra-tempo-riempi { display: block; height: 100%; width: 100%; background: var(--primario); }
.btn.opzione .tasto { display: inline-grid; place-items: center; width: 28px; height: 28px; margin-right: 10px; border-radius: 8px; border: 2px solid currentColor; font-size: .85rem; }

/* Giochi linguistici: seconda ondata */
.parola-cesto { min-height: 48px; font-size: 1.15rem; cursor: grab; }
.cesti { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin-bottom: 12px; }
.cesto { background: var(--carta); border: 3px dashed var(--linea); border-radius: var(--raggio); padding: 10px; min-height: 140px; }
.cesto-nome { width: 100%; margin-bottom: 8px; min-height: 52px; font-size: 1.1rem; }
.cesto-parole { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.cesto-parole li { background: var(--ok); color: var(--sfondo); border-radius: 10px; padding: 4px 10px; font-weight: 700; }
.tessera.sillaba { text-transform: none; }
.cielo { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; padding: 12px; margin: 8px 0; background: #14204a; border-radius: var(--raggio); }
.stellina { font-size: 2rem; line-height: 1; color: #ffd84d; }
.stellina.spenta { color: #5b6694; }
.parola-nascosta { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 8px 0; }
.lettera-nascosta { display: inline-grid; place-items: center; min-width: 1.6ch; height: 2.2rem; border-bottom: 4px solid var(--primario); font-size: 1.8rem; text-transform: uppercase; }
.tastiera { display: grid; grid-template-columns: repeat(auto-fit, minmax(48px, 1fr)); gap: 6px; margin-bottom: 12px; }
.tasto-lettera { min-width: 48px; padding: 6px 0; font-size: 1.1rem; }
.tris { display: grid; grid-template-columns: repeat(3, minmax(0, 96px)); gap: 8px; justify-content: center; margin: 10px 0; }
.cella-tris { aspect-ratio: 1; min-height: 80px; font-size: 2.6rem; font-weight: 800; padding: 0; }
.cella-tris.x { color: var(--primario); }
.cella-tris.o { color: var(--accento); }
.cella-tris.x[disabled], .cella-tris.o[disabled] { opacity: 1; }
.cella-tris.scelta { background: #ffe39b; color: #231a12; }
.cella-tris.vincente { background: var(--ok); color: var(--sfondo); border-color: var(--ok); }
.domanda-tris { margin: 8px 0; }
.dialogo-ordina { display: grid; gap: 10px; margin: 10px 0; }
.battuta-gioco { display: grid; gap: 2px; text-align: left; font-size: 1.1rem; }
.battuta-gioco .chi { font-size: .8rem; color: var(--testo-2); font-weight: 800; }
.battuta-gioco.errato { text-decoration: none; border-color: var(--accento); }
.dialogo-fatto { list-style: none; padding: 0; margin: 0 0 10px; display: grid; gap: 6px; color: var(--ok); font-size: 1.15rem; }
.parola-chiamata { text-align: center; }
.bingo { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 10px 0; }
.cella-bingo { min-height: 72px; font-size: 1.15rem; padding: 6px; }
.riga[hidden] { display: none; }

/* ===== Effetti di festa e stile 3D (luce da in alto a sinistra) ===== */
:root {
  --sfondo-2: #ffe9c9;
  --ombra-3d: rgba(60, 40, 20, .3);
  --luce-a: rgba(41, 182, 246, .18);
  --luce-b: rgba(255, 64, 129, .12);
  --stella-incavo: #b9ae9d;
  --stella-incavo-2: #e4dbcc;
  --stella-ombra: rgba(120, 70, 0, .5);
}
@media (prefers-color-scheme: dark) {
  :root {
    --sfondo-2: #2a1c14;
    --ombra-3d: rgba(0, 0, 0, .55);
    --luce-a: rgba(41, 182, 246, .10);
    --luce-b: rgba(255, 64, 129, .08);
    --stella-incavo: #4b4036;
    --stella-incavo-2: #30271f;
    --stella-ombra: rgba(0, 0, 0, .6);
  }
}
body {
  background:
    radial-gradient(circle at 12% 0%, var(--luce-a), transparent 42%),
    radial-gradient(circle at 92% 8%, var(--luce-b), transparent 38%),
    linear-gradient(180deg, var(--sfondo) 0%, var(--sfondo-2) 100%) fixed;
  background-color: var(--sfondo);
}

/* Pulsanti: rilievo con luce sopra e spessore sotto, che si schiaccia al clic */
.btn {
  background-image: linear-gradient(180deg, rgba(255, 255, 255, .3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, .14));
  box-shadow: 0 4px 0 var(--ombra-3d), inset 0 1px 0 rgba(255, 255, 255, .35);
}
.btn:active:not([disabled]) { transform: translateY(3px); box-shadow: 0 1px 0 var(--ombra-3d), inset 0 2px 4px rgba(0, 0, 0, .2); }
.btn[disabled], .btn[aria-disabled="true"] { box-shadow: none; }
@media (prefers-reduced-motion: no-preference) {
  .btn, .scheda { transition: transform .08s, box-shadow .08s, border-color .15s; }
}
html:not([data-effetti="spenti"]) .btn.opzione.fatto { box-shadow: 0 4px 0 var(--ombra-3d), 0 0 0 4px rgba(102, 187, 106, .5); }
.numero { background-image: radial-gradient(circle at 30% 25%, rgba(255, 255, 255, .45), rgba(255, 255, 255, 0) 60%); box-shadow: 0 3px 0 var(--ombra-3d); }
.scheda { box-shadow: 0 3px 0 var(--ombra-3d); }
.bloccata .scheda { box-shadow: none; }

/* Stelle del punteggio: oro con riflesso e ombra; quelle non conquistate in grigio incavato */
.stelle span {
  display: inline-block; color: transparent; -webkit-text-fill-color: transparent;
  background: linear-gradient(145deg, #fff3b8 0%, #ffc107 42%, #e08600 100%);
  -webkit-background-clip: text; background-clip: text;
  filter: drop-shadow(0 2px 1px var(--stella-ombra));
}
.stelle .vuota {
  background: linear-gradient(145deg, var(--stella-incavo), var(--stella-incavo-2));
  -webkit-background-clip: text; background-clip: text;
  filter: drop-shadow(0 -1px 0 rgba(0, 0, 0, .3)) drop-shadow(0 1px 0 rgba(255, 255, 255, .5));
}

/* Barre di avanzamento: gradiente e punta luminosa */
.barra > span {
  background-image: linear-gradient(90deg, #2e9b4f, #8fdc5a 85%, #e9ffc4);
  box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .12), inset 0 2px 0 rgba(255, 255, 255, .35);
  border-radius: 6px;
}
.barra-tempo-riempi { background-image: linear-gradient(90deg, #1d4ed8, #5b8cff 85%, #cfe0ff); box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .12); }

/* Cartoline: ombra e leggero rilievo */
.cartolina { box-shadow: 0 4px 8px var(--ombra-3d); }

/* Strato degli effetti: non intercetta mai i tocchi */
#effetti { position: fixed; inset: 0; z-index: 50; pointer-events: none; overflow: hidden; }
.eff-stella {
  position: absolute; pointer-events: none; transform: translate(-50%, -50%); will-change: transform, opacity;
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  background: linear-gradient(135deg, #fff 0%, var(--c, #ffc107) 45%, color-mix(in srgb, var(--c, #ffc107) 65%, #000) 100%);
}
.eff-grande { width: 120px; height: 120px; }
.eff-coriandolo { position: absolute; width: 9px; height: 14px; border-radius: 2px; will-change: transform, opacity; }
.eff-punti { position: absolute; transform: translate(-50%, -50%); font-weight: 800; font-size: 1.4rem; color: var(--ok); text-shadow: 0 1px 2px var(--sfondo), 0 0 6px var(--sfondo); }
.eff-msg {
  position: absolute; left: 50%; top: 12%; transform: translateX(-50%); max-width: 90vw; text-align: center;
  padding: 10px 22px; border-radius: 999px; font-weight: 800; font-size: 1.5rem; line-height: 1.2;
  background: rgba(35, 26, 18, .94); color: #ffd54f; border: 2px solid #ffc107; box-shadow: 0 5px 0 rgba(0, 0, 0, .35);
}

/* Movimento decorativo: solo con effetti pieni e senza richiesta di movimento ridotto */
@media (prefers-reduced-motion: no-preference) {
  html[data-effetti="pieni"] .stelle { isolation: isolate; }
  html[data-effetti="pieni"] .esito .stelle { position: relative; perspective: 600px; padding: 0 6px; }
  html[data-effetti="pieni"] .esito .stelle::before {
    content: ""; position: absolute; left: 50%; top: 50%; width: 320px; height: 320px; margin: -160px 0 0 -160px; z-index: -1;
    background: repeating-conic-gradient(from 0deg, rgba(255, 193, 7, .38) 0 9deg, transparent 9deg 24deg);
    -webkit-mask-image: radial-gradient(circle, #000 15%, transparent 68%); mask-image: radial-gradient(circle, #000 15%, transparent 68%);
    animation: raggi 16s linear infinite;
  }
  html[data-effetti="pieni"] .esito .stelle span { animation: entra-stella .9s cubic-bezier(.2, .8, .3, 1.15) both; }
  html[data-effetti="pieni"] .esito .stelle span:nth-child(2) { animation-delay: .4s; }
  html[data-effetti="pieni"] .esito .stelle span:nth-child(3) { animation-delay: .8s; }
  html[data-effetti="pieni"] .medaglia-grande svg { animation: gira-medaglia 2.6s ease-in-out .3s both; filter: drop-shadow(0 4px 6px rgba(224, 134, 0, .55)); }
  html[data-effetti="pieni"] .cartolina-nuova .cartolina { animation: gira-cartolina 1.5s ease-in-out .3s both; backface-visibility: hidden; }
  html[data-effetti="pieni"] button.scheda:hover .cartolina, html[data-effetti="pieni"] .nuovi figure:hover .cartolina {
    transform: perspective(500px) rotateX(5deg) rotateY(-9deg); box-shadow: 8px 10px 14px var(--ombra-3d);
  }
  html[data-effetti="pieni"] .cartolina { transition: transform .2s, box-shadow .2s; }
  html[data-effetti="pieni"] .barra > span { background-size: 200% 100%; animation: scorri 4s linear infinite; }
  html[data-effetti="pieni"] .btn.opzione.fatto { animation: bagliore .9s ease-out 1; }
  html[data-effetti="pieni"] body::before, html[data-effetti="pieni"] body::after, html[data-effetti="pieni"] #app::before {
    content: ""; position: fixed; z-index: -1; width: 22px; height: 22px; pointer-events: none; opacity: .15;
    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
    background: linear-gradient(135deg, #fff7c4, #ffc107); animation: luccica 6s ease-in-out infinite;
  }
  html[data-effetti="pieni"] body::before { left: 6%; top: 18%; }
  html[data-effetti="pieni"] body::after { right: 5%; top: 52%; animation-delay: 2s; width: 28px; height: 28px; }
  html[data-effetti="pieni"] #app::before { left: 12%; top: 86%; animation-delay: 4s; width: 16px; height: 16px; }
}
@keyframes entra-stella { from { transform: rotateY(-540deg) scale(.1); opacity: 0; } to { transform: rotateY(0) scale(1); opacity: 1; } }
@keyframes raggi { to { transform: rotate(360deg); } }
@keyframes gira-medaglia { from { transform: perspective(400px) rotateY(0deg); } to { transform: perspective(400px) rotateY(720deg); } }
@keyframes gira-cartolina { from { transform: perspective(700px) rotateY(-180deg); } to { transform: perspective(700px) rotateY(0deg); } }
@keyframes scorri { to { background-position: -200% 0; } }
@keyframes luccica { 0%, 100% { opacity: .12; transform: scale(.8); } 50% { opacity: .7; transform: scale(1.1); } }
@keyframes bagliore { from { box-shadow: 0 4px 0 var(--ombra-3d), 0 0 0 0 rgba(102, 187, 106, .7); } to { box-shadow: 0 4px 0 var(--ombra-3d), 0 0 0 4px rgba(102, 187, 106, .5); } }

/* Glossario: termini gia' studiati con traduzione al passaggio del mouse */
.termine { text-decoration: underline dotted 1px; text-underline-offset: 4px; text-decoration-color: var(--primario); cursor: help; border-radius: 4px; }
.termine:hover, .termine:focus-visible { background: color-mix(in srgb, var(--primario) 14%, transparent); }
.glossario-tip {
  position: fixed; z-index: 50; max-width: min(320px, calc(100vw - 16px)); padding: 10px 14px;
  background: var(--primario); color: var(--primario-testo); border: 2px solid var(--primario-testo);
  border-radius: 14px; box-shadow: 0 6px 18px rgba(0, 0, 0, .3); font-size: 1rem; line-height: 1.35; pointer-events: none;
}
.glossario-tip[hidden] { display: none; }
.glossario-tip .tip-it { font-weight: 800; font-size: 1.1rem; }
.glossario-tip .tip-pron { font-weight: 700; font-style: italic; }
.glossario-tip .tip-nota { margin-top: 4px; font-size: .92rem; opacity: .95; }

/* ===== Rifinitura grafica: gerarchia, stati, mappa, esito, transizioni, schermi stretti e larghi ===== */
:root {
  --carta-2: #fff3e0;
  --ok-sfondo: #e3f5e8;
  --err: #b3261e;
  --err-sfondo: #fde7e4;
  --evidenza: #ffe39b;
  --evidenza-testo: #231a12;
  --nera: #3a2f25;
  --blu-fr: #0055a4;
  --rosso-fr: #ef4135;
  --ombra-carta: 0 1px 0 rgba(60, 40, 20, .08), 0 6px 16px rgba(60, 40, 20, .08);
}
@media (prefers-color-scheme: dark) {
  :root {
    --carta-2: #2f261d;
    --ok-sfondo: #17301f;
    --err: #ff8a80;
    --err-sfondo: #3b1b18;
    --evidenza: #5a4710;
    --evidenza-testo: #fff3cf;
    --nera: #0c0906;
    --ombra-carta: 0 1px 0 rgba(0, 0, 0, .35), 0 8px 20px rgba(0, 0, 0, .28);
  }
}

/* Identita': nastro blu con banda rossa in cima alla pagina */
html::before {
  content: ""; position: fixed; top: 0; left: 0; right: 0; height: 5px; z-index: 40; pointer-events: none;
  background: linear-gradient(90deg, var(--blu-fr) 0 40%, var(--rosso-fr) 40% 60%, var(--blu-fr) 60%);
}
body { font-family: ui-rounded, "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif; }
#app { padding-top: 22px; }
h1, h2, h3 { letter-spacing: -.01em; font-weight: 800; }
h2 { margin-top: .25rem; }
h3 { font-size: 1.05rem; }
#avvisi { max-width: 760px; margin: 0 auto; padding: 16px 16px 0; }
#avvisi .avviso { margin-bottom: 8px; font-weight: 700; }

/* Pulsanti: stati */
.btn { border-radius: 16px; letter-spacing: .01em; position: relative; }
@media (hover: hover) {
  .btn:hover:not([disabled]) { filter: brightness(1.07); transform: translateY(-1px); }
  .btn.secondario:hover:not([disabled]) { background-color: var(--carta-2); }
  button.scheda:hover { transform: translateY(-2px); box-shadow: 0 5px 0 var(--ombra-3d); }
}
.btn:active:not([disabled]) { filter: none; }
.btn[disabled], .btn[aria-disabled="true"] { opacity: .5; filter: saturate(.4); background-image: none; }
.btn.fatto[disabled], .btn.soluzione[disabled], .btn.errato[disabled], .btn.tessera.scelta[disabled] { opacity: 1; filter: none; }
.btn.opzione { text-align: left; padding-right: 44px; min-height: 54px; }
.colonne .btn.opzione, .domanda-tris .btn.opzione { padding-right: 18px; }
.btn.opzione.scelto, .btn.pezzo.scelto, .btn.parola-cesto.scelto {
  background-color: var(--primario); color: var(--primario-testo);
  box-shadow: 0 4px 0 var(--ombra-3d), 0 0 0 4px color-mix(in srgb, var(--primario) 35%, transparent);
}
.btn.fatto, .btn.opzione.fatto { background-color: var(--ok); border-color: var(--ok); color: var(--sfondo); }
.btn.errato {
  background-color: var(--err-sfondo); border-color: var(--err); color: var(--err);
  text-decoration: line-through; box-shadow: none; background-image: none;
}
.btn.soluzione { border-color: var(--ok); border-style: dashed; color: var(--ok); background-color: var(--ok-sfondo); background-image: none; }
.btn.opzione.fatto::after, .btn.opzione.soluzione::after, .btn.opzione.errato::after {
  position: absolute; right: 14px; top: 50%; transform: translateY(-50%); font-weight: 800; text-decoration: none; display: inline-block;
}
.btn.opzione.fatto::after, .btn.opzione.soluzione::after { content: "✓"; }
.btn.opzione.errato::after { content: "✕"; }
.colonne .btn.opzione::after { display: none; }
.lampo-errore { border-color: var(--err) !important; background-color: var(--err-sfondo) !important; color: var(--err) !important; }
.contatore {
  display: inline-grid; place-items: center; min-width: 26px; height: 26px; padding: 0 7px; margin-left: 4px; border-radius: 13px;
  background: var(--accento); color: var(--sfondo); font-size: .85rem; font-weight: 800; vertical-align: middle;
}
.pillola {
  display: inline-block; padding: 4px 12px; border-radius: 999px; font-size: .8rem; font-weight: 800; white-space: nowrap;
  border: 2px solid var(--linea); color: var(--testo-2);
}
.pillola.viva { background: var(--primario); border-color: var(--primario); color: var(--primario-testo); }
input[type="text"]:focus-visible, textarea:focus-visible { border-color: var(--primario); outline-offset: 0; }
input[type="text"][disabled] { opacity: .7; }

/* Carte e pannelli */
.pannello, .stat, .regola, .parola, .riepilogo, .affermazioni li, .testo-diff, .fumetto { box-shadow: var(--ombra-carta); }
.pannello, .regola { padding: 18px; }

/* Home */
.banner { margin-bottom: 14px; }
.emily-banner { box-shadow: var(--ombra-carta); }
.fumetto h1 { font-size: 1.6rem; }
@media (max-width: 639px) {
  .fumetto::before { left: 36px; top: -9px; border: 0; border-left: 2px solid var(--linea); border-top: 2px solid var(--linea); }
}
.btn.continua {
  display: grid; gap: 2px; width: 100%; text-align: left; padding: 14px 54px 14px 18px; margin-bottom: 14px; min-height: 72px;
  border-color: transparent; color: #fff; background-color: var(--blu-fr);
  background-image: linear-gradient(120deg, #0b4fc0 0%, #2f6fe6 55%, #5b8cff 100%);
  box-shadow: 0 5px 0 #06307a, 0 10px 22px rgba(11, 79, 192, .35);
}
.btn.continua .sopra { font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; opacity: .9; }
.btn.continua .dove { font-size: 1.2rem; font-weight: 800; line-height: 1.25; }
.btn.continua::after {
  content: "→"; position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
  width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: #0b4fc0; font-size: 1.2rem;
}
.btn.continua:active:not([disabled]) { box-shadow: 0 1px 0 #06307a; }
.statistiche { grid-template-columns: 1fr 1fr; }
.stat { border-top-width: 5px; padding: 10px 14px 12px; }
.stat.livello { grid-column: 1 / -1; border-top-color: var(--primario); }
.stat.punti { border-top-color: var(--stella); }
.stat.serie { border-top-color: var(--linea); }
.stat.serie.accesa { border-top-color: #ff9800; }
.stat .valore { line-height: 1.2; }
.barra { height: 12px; border-radius: 8px; }
.menu { margin-bottom: 18px; }
.menu .btn { width: 100%; }
.medaglie li { background: var(--carta); border: 2px solid var(--linea); border-radius: 14px; padding: 8px 4px; width: 92px; }

/* Mappa del viaggio */
.mappa li { padding-left: 54px; padding-bottom: 14px; }
.mappa li::before { left: 19px; top: 44px; bottom: -8px; border-left: 4px dotted var(--linea); }
.mappa li.fatta::before { border-left: 4px solid var(--ok); }
.numero { width: 42px; height: 42px; top: 10px; font-size: 1.05rem; z-index: 1; }
.scheda { grid-template-columns: 1fr 112px; align-items: center; padding: 12px 14px; }
.scheda .titolo { line-height: 1.25; }
.mappa .corrente .scheda { border-color: var(--primario); border-width: 3px; box-shadow: 0 4px 0 var(--ombra-3d), 0 0 0 5px color-mix(in srgb, var(--primario) 22%, transparent); }
.mappa .corrente .numero { box-shadow: 0 0 0 4px color-mix(in srgb, var(--primario) 35%, transparent), 0 3px 0 var(--ombra-3d); }
.etichetta-qui {
  display: inline-block; margin-bottom: 4px; padding: 1px 10px; border-radius: 999px; background: var(--accento); color: var(--sfondo);
  font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em;
}
.scheda > div:first-child { min-width: 0; }
.passi { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin-top: 8px; }
.passo { flex: 0 1 22px; min-width: 10px; height: 7px; border-radius: 4px; background: var(--bloccato); border: 1px solid var(--linea); }
.passo.fatto { background: var(--ok); border-color: var(--ok); }
.conta-stelle { margin-left: 6px; font-size: .8rem; font-weight: 800; color: var(--stella); white-space: nowrap; }
.bloccata .scheda { border-style: dashed; opacity: .8; }
.bloccata .scheda .titolo { color: var(--testo-2); }

/* Unita': elenco delle tappe */
.obiettivo { color: var(--testo-2); font-size: 1.05rem; }
.tappe { counter-reset: none; }
.tappe .scheda { grid-template-columns: auto 1fr auto; gap: 12px; }
.numero-tappa {
  width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-weight: 800;
  background: var(--bloccato); color: var(--testo-2); border: 2px solid var(--linea);
}
.tappe .fatta .numero-tappa { background: var(--ok); border-color: var(--ok); color: var(--sfondo); }
.tappe .prossima .numero-tappa { background: var(--primario); border-color: var(--primario); color: var(--primario-testo); }
.tappe .prossima .scheda { border-color: var(--primario); border-width: 3px; }
.testata { margin-bottom: 14px; }
.testata h1 { font-size: 1.35rem; }

/* Ascolta, regole, dialogo */
.parola { position: relative; }
.parola.sentita::after {
  content: "✓"; position: absolute; top: -9px; right: -7px; width: 26px; height: 26px; border-radius: 50%;
  display: grid; place-items: center; background: var(--ok); color: var(--sfondo); font-weight: 800; font-size: .9rem;
}
.parola.da-ripassare { border-color: var(--stella); }
.parola-ripasso { font-size: 1.8rem; font-weight: 800; margin: 12px 0 2px; overflow-wrap: anywhere; }
.ripasso-quiz .pron { margin: 0 0 10px; }
.regola h2 { color: var(--primario); }
.esempi li { border-left-width: 5px; border-radius: 4px; padding: 2px 0 2px 12px; }
.battuta { border-radius: 18px 18px 18px 6px; }
.battuta.altro { border-radius: 18px 18px 6px 18px; }

/* Esercizi: avanzamento, riscontro */
.progresso { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; align-items: center; margin-bottom: 14px; }
.progresso .avanzamento { margin: 0; font-weight: 700; }
.progresso .barra { grid-column: 1 / -1; margin-top: 0; order: 3; }
.punti-sessione { font-weight: 800; color: var(--stella); font-size: .95rem; }
.esercizio h2 { font-size: 1.35rem; }
.feedback:empty { display: none; }
.feedback { border-radius: var(--raggio); padding: 12px 14px; border: 2px solid transparent; }
.feedback.ok { background: var(--ok-sfondo); border-color: var(--ok); }
.feedback.riprova { background: var(--carta); border-color: var(--primario); box-shadow: var(--ombra-carta); }
.feedback p:last-child { margin-bottom: 0; }
.feedback .rivelazione { font-weight: 700; }
.feedback.ok > p:first-child::before { content: "✓ "; }
.frase-costruita { border-radius: var(--raggio); padding: 10px; }
.vuoto { font-weight: 800; padding: 0 6px; }
.vuoto.attuale { background: var(--evidenza); color: var(--evidenza-testo); border-radius: 6px 6px 0 0; }
.scelta-ripresa .opzioni { margin-bottom: 0; }
.carta { min-height: 76px; font-size: 1rem; border-radius: 14px; box-shadow: 0 3px 0 var(--ombra-3d); }
.carta:not(.aperta):not(.trovata)::before { content: "?"; font-size: 1.7rem; opacity: .55; }
.carta.aperta { border-color: var(--stella); }

/* Esito di tappa */
.esito { padding: 22px 18px; overflow: hidden; }
.esito h1 { font-size: 1.9rem; margin-bottom: .2rem; }
.sotto-titolo { color: var(--testo-2); font-weight: 700; }
.esito .stelle { font-size: 3.2rem; letter-spacing: 6px; display: inline-block; }
.punti-guadagnati {
  display: inline-block; padding: 4px 18px; border-radius: 999px; background: var(--ok-sfondo); border: 2px solid var(--ok);
  font-size: 1.5rem; margin: 6px 0 12px;
}
.azioni-esito { justify-content: center; }
.nuovi figure { background: var(--carta); border: 2px solid var(--linea); border-radius: var(--raggio); padding: 10px; width: 170px; box-shadow: var(--ombra-carta); }

/* Giochi */
.griglia-scorri { overflow-x: auto; margin: 8px -16px 12px; padding: 4px 8px 10px; overscroll-behavior-x: contain; scrollbar-width: thin; }
.cruciverba { grid-template-columns: repeat(var(--colonne), minmax(36px, 1fr)); max-width: calc(var(--colonne) * 54px); margin: 0 auto; justify-content: normal; }
.cella { border-radius: 6px; }
.cella.nera { background: var(--nera); border-color: var(--nera); opacity: 1; }
@media (prefers-color-scheme: dark) { .cella { border-color: #8a7a68; } .cella.nera { border-color: transparent; } }
.cella.parola-attiva { background: color-mix(in srgb, var(--primario) 28%, var(--carta)); }
.cella.attiva { background: var(--evidenza); box-shadow: 0 0 0 3px var(--stella); z-index: 1; }
.cella.attiva input { color: var(--evidenza-testo); }
.indizio-attivo { position: sticky; top: 10px; z-index: 6; border-color: var(--primario); box-shadow: var(--ombra-carta); }
.indizi { list-style: none; padding-left: 0; }
.indizi li { margin-bottom: 2px; }
.indizio-btn {
  font: inherit; color: inherit; text-align: left; background: none; border: 2px solid transparent; border-radius: 10px;
  min-height: 40px; padding: 4px 8px; cursor: pointer; width: 100%; touch-action: manipulation;
}
@media (hover: hover) { .indizio-btn:hover { border-color: var(--linea); } }
.indizi li.attivo .indizio-btn { background: var(--evidenza); color: var(--evidenza-testo); font-weight: 700; }
.indizi li.scritta .indizio-btn { color: var(--testo-2); text-decoration: line-through; }
.indizi li.attivo.scritta .indizio-btn { color: var(--evidenza-testo); }
.cercaparole { grid-template-columns: repeat(var(--colonne), minmax(0, 54px)); margin: 8px -8px 12px; }
.lettera { border-radius: 10px; font-size: 1.3rem; }
.lettera.anteprima { background: var(--evidenza); color: var(--evidenza-testo); }
.tessera.scelta { cursor: pointer; }
.cesto { transition: border-color .15s; }
.cesto-parole li { animation: none; }
.cielo { background: linear-gradient(180deg, #0f1a45, #24306b); box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .08); }
.lettera-nascosta { min-width: 1.4ch; font-weight: 800; }
.tastiera { grid-template-columns: repeat(7, 1fr); }
.tasto-lettera { min-width: 0; min-height: 46px; padding: 6px 0; }
.tris { grid-template-columns: repeat(3, minmax(0, 104px)); }
.cella-tris.x[disabled], .cella-tris.o[disabled], .cella-tris.vincente[disabled] { filter: none; }
.cella-tris.scelta { background-color: var(--evidenza); color: var(--evidenza-testo); background-image: none; }
.cella-bingo { overflow-wrap: anywhere; hyphens: auto; }
.arena { height: clamp(320px, 52vh, 440px); background: linear-gradient(180deg, color-mix(in srgb, var(--primario) 12%, var(--carta)), var(--carta)); }
.pronti { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; font-size: 2.2rem; font-weight: 800; color: var(--primario); pointer-events: none; }
.corsia { position: absolute; top: 0; bottom: 0; border-left: 2px dashed var(--linea); pointer-events: none; }
.corsia:first-of-type { border-left: 0; }
.corsia .tasto { position: absolute; bottom: 6px; left: 50%; transform: translateX(-50%); width: 26px; height: 26px; border-radius: 8px; border: 2px solid var(--linea); color: var(--testo-2); font-size: .8rem; font-weight: 800; display: none; place-items: center; }
.solo-tastiera { display: none; }
@media (hover: hover) and (pointer: fine) { .solo-tastiera { display: block; } .corsia .tasto { display: grid; } }
.barra-tempo.poco .barra-tempo-riempi { background: var(--accento); background-image: none; }
.esito-lampo.ok { color: var(--ok); }
.ripasso-gioco { background: var(--carta); border-left: 5px solid var(--stella); border-radius: 8px; padding: 8px 12px; margin: 0 0 10px; }
ul.ripasso-gioco { list-style: none; display: grid; gap: 4px; }
.riepilogo { padding: 18px; }
.dati-gioco { font-size: 1.1rem; }
.toast { border-radius: 16px; bottom: 20px; }

/* Schermo stretto (telefono a 360px): le stelle di sfondo finirebbero sopra al testo */
@media (max-width: 900px) { html[data-effetti="pieni"] body::before, html[data-effetti="pieni"] body::after, html[data-effetti="pieni"] #app::before { display: none; } }
@media (max-width: 480px) {
  #app { padding-left: 16px; padding-right: 16px; }
  .cruciverba.larga { grid-template-columns: repeat(var(--colonne), minmax(42px, 1fr)); }
  .cella input { font-size: 1.25rem; }
  .scheda { grid-template-columns: 1fr 88px; gap: 10px; }
  .tappe .scheda { grid-template-columns: auto 1fr auto; }
  .esito .stelle { font-size: 2.8rem; }
  .azioni-esito .btn { width: 100%; }
  .colonne { gap: 8px; }
  .colonne .btn.opzione { font-size: 1rem; padding-left: 10px; padding-right: 10px; }
  .emoji-grande { font-size: 5rem; }
  .elemento-rebus { font-size: 2.1rem; }
  .carta { font-size: .92rem; }
  .cella-bingo { font-size: 1rem; }
  .nuovi figure { width: calc(50% - 8px); }
}

/* Schermo largo: la home su due colonne, con il riepilogo sempre visibile */
@media (min-width: 1000px) {
  #app[data-schermata="home"] { max-width: 1140px; }
  .home { display: grid; grid-template-columns: 380px minmax(0, 1fr); gap: 32px; align-items: start; }
  .home-lato { position: sticky; top: 18px; }
  .home-lato .banner { flex-direction: column; align-items: stretch; gap: 10px; }
  .home-lato .emily-banner { flex: none; width: 100%; max-width: none; }
  .home-lato .fumetto::before { left: 36px; top: -9px; border: 0; border-left: 2px solid var(--linea); border-top: 2px solid var(--linea); }
  .home-viaggio .scheda { grid-template-columns: 1fr 150px; padding: 14px 18px; }
  .home-viaggio .scheda .titolo { font-size: 1.2rem; }
}
@media (min-width: 700px) {
  #app { padding-top: 30px; }
  .esito { padding: 30px; }
  .carte { gap: 12px; }
  .carta { min-height: 92px; font-size: 1.1rem; }
  .arena .parola-gioco { font-size: 1.25rem; }
}

/* Movimento: ingresso delle schermate e piccoli riscontri. «Ridotti» = sola dissolvenza, «Spenti» = niente */
@media (prefers-reduced-motion: no-preference) {
  html[data-effetti="pieni"] #app.entra > *, html[data-effetti="pieni"] .esercizio > .corpo { animation: entra .3s cubic-bezier(.2, .7, .3, 1) backwards; }
  html[data-effetti="pieni"] #app.entra > :nth-child(2) { animation-delay: .04s; }
  html[data-effetti="pieni"] #app.entra > :nth-child(3) { animation-delay: .08s; }
  html[data-effetti="pieni"] #app.entra > :nth-child(n+4) { animation-delay: .12s; }
  html[data-effetti="ridotti"] #app.entra > *, html[data-effetti="ridotti"] .esercizio > .corpo { animation: appare .2s ease-out backwards; }
  html[data-effetti="pieni"] .feedback:not(:empty) { animation: entra .25s ease-out backwards; }
  html[data-effetti="pieni"] .lampo-errore { animation: scuoti .35s ease-in-out 1; }
  html[data-effetti="pieni"] .carta.aperta, html[data-effetti="pieni"] .carta.trovata { animation: gira-carta .28s ease-out 1; }
  html[data-effetti="pieni"] .mappa .corrente .numero { animation: pulsa 2.4s ease-in-out infinite; }
  html[data-effetti="pieni"] .cesto-parole li, html[data-effetti="pieni"] .dialogo-fatto li, html[data-effetti="pieni"] .lettera.trovata { animation: salta .3s ease-out 1; }
  html[data-effetti="pieni"] .pronti { animation: pulsa-testo .55s ease-in-out infinite alternate; }
  html[data-effetti="pieni"] .barra > span { transition: width .5s cubic-bezier(.2, .7, .3, 1); }
}
@keyframes entra { from { opacity: 0; transform: translateY(12px); } }
@keyframes appare { from { opacity: 0; } }
@keyframes scuoti { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-5px); } 75% { transform: translateX(5px); } }
@keyframes gira-carta { from { transform: perspective(500px) rotateY(90deg); } to { transform: perspective(500px) rotateY(0); } }
@keyframes pulsa { 0%, 100% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--primario) 35%, transparent), 0 3px 0 var(--ombra-3d); } 50% { box-shadow: 0 0 0 9px color-mix(in srgb, var(--primario) 12%, transparent), 0 3px 0 var(--ombra-3d); } }
@keyframes salta { from { transform: scale(.7); } 60% { transform: scale(1.12); } to { transform: scale(1); } }
@keyframes pulsa-testo { from { transform: scale(1); } to { transform: scale(1.12); } }

/* Pratica libera: elenco semplice (niente mappa, niente lucchetti) e riga fissa di avviso */
.banner-libera {
  background: var(--carta-2); color: var(--testo); border: 2px dashed var(--primario); border-radius: 12px;
  padding: 8px 12px; margin: 0 0 14px; font-weight: 700; font-size: .95rem;
}
.elenco-libera { list-style: none; padding: 0; margin: 0 0 16px; display: grid; gap: 8px; }
.elenco-libera .scheda, .tappe.libere .scheda { grid-template-columns: auto 1fr; gap: 12px; align-items: center; width: 100%; text-align: left; }
.elenco-libera .scheda { border-style: dashed; box-shadow: none; }
.esito-libera h1 { margin-bottom: 4px; }

/* Riga del copyright in fondo alle due pagine iniziali */
.copyright { margin: 22px 0 4px; text-align: center; font-size: .8rem; color: var(--testo-2); overflow-wrap: anywhere; }
/* Ritorno alla home del sito */
.torna-sito{position:fixed;right:8px;bottom:8px;z-index:50;width:44px;height:44px;opacity:.7;border-radius:50%;background:#fff var(--img) center/78% no-repeat;border:3px solid #7fb3de;box-shadow:0 3px 8px rgba(0,0,0,.3);text-decoration:none}
.torna-sito:hover,.torna-sito:focus-visible{opacity:1}.torna-sito:hover{transform:scale(1.06)}.torna-sito:focus-visible{outline:4px solid #1f5f99;outline-offset:3px}
.torna-sito span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:root{--img:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAA/C0lEQVR42u29ebBl13Xe91t773Pu9MYe0Wg0GjNAgMRAAAQ4iARIUTRJ2ZoC2HJSKbssy05iu8px7DiSE6BtOZbiRLbkUmSLpYG2Zcfd1kBKokmLJAASJDhgIkCA6EZj7vHN7913h3PO3nvlj33u8BoAB1fKoqvyqm/1u/fde+45e6/xW99aB/4z/agiO5+r8H34M32eqveZ/2+P/fprdv+5LkwEXT/70OULbnMP7m3Pi8iGqoqI6PfP4qfzKVa/9ta8tbgpcvVr3+s51u9HVZv/x2Mbb/nGi6fjZRfvch+8oXXyja75e97h++67z+jo8V1I8UiKVl/63Xfq6pNfW19+/pGlV//wM2fPfmnf95MmHD161IqILr340HuH57742MrxYw8vLT1ytYio3vdda4IcA2NAf+2xU7/84rnVR22oHjm/vPXVrz61/HuqOn/vsWM71u273oDRSRw5ciTK6CGiR48etd/2g8eeFYCtpRd+vFx9es+5E4+VbBx/h3/tiQ8lSThmvh8k/5ln7lVV3evXHv71pZMP5cNzj18aTn/l36jqLPcf+a4E5aiquVck/M6Jc3/++bXyp1aXltBQNbuba7yybe/62KMvHjl2773h/gcftN/TBiiIHDkSUZUzX/js9S987FduPPfHv/e2s6qde++9N3w7CTk2Okblvnj+1RXK86+2zr12fkOyztMA99//zJ+4CXrwwfvtkSMmLn3zV/+h7T57VVXFsN0berv93G1Lz/323xchwr3mO2nQvSLh6TMrb3nyte4vn1lei43MaIyR3FpZW14K3zw//Gt/9Py5Hz1y993+6FG1APLd2sVTv/u71zR9/1/01lbuDKESMU7mFheeG860f/7gD//Zf6v33WfkyJH45kcyfPXo3/2xrXMn7zh41Y2/f/1H/t5XFERA/2Sl/6gVuTesvfrJP1++8pnfXj37UrC2aREUQpzZc4VpHP6hH9t7+MOfGL33Ddfo/vtF77+/9fNfeuGzx8/17wy9fkDEKkoUAdFobWYO75k9/RPv2nXHLZ09p++77z4j38l+ixyJG5/71JX9F08+YDdWD22trKAxIAjNzgzNiw8wmFv8G5f+ub/4z77zJlygVX/Ci3/06FF77733hq2tE9f3v/UbD2ydeWZv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")}
@media (prefers-reduced-motion:reduce){.torna-sito:hover{transform:none}}
