:root{
  --sfondo:#F6F0E6;--carta:#FFFDF9;--testo:#2A2018;--tenue:#6E5D4E;--bordo:#E5D9C4;
  --terra:#AD5537;--terra-scura:#833D26;--primario:#833D26;--su-primario:#fff;
  --sabbia:#F1DCC4;--salvia:#DEE7D3;--salvia-scura:#374F31;
  --rosa:#F3DBD8;--rosa-scuro:#7A3730;--ocra:#F5E7C4;--ocra-scuro:#6E4C1C;
  --velo:rgba(42,32,24,.45);
  --corpo:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --titoli:Georgia,'Times New Roman',serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;}
body{font-family:var(--corpo);background:var(--sfondo);color:var(--testo);min-height:100vh;min-height:100dvh;font-size:1.05rem;line-height:1.55;}
body.sheet-aperto{overflow:hidden;}
h1,h2,h3{font-family:var(--titoli);line-height:1.2;}
button,textarea,input{font:inherit;color:inherit;}
#app{max-width:560px;margin:0 auto;padding:20px 18px 32px;padding-top:max(20px,env(safe-area-inset-top));min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;}

.marchio{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tenue);}
.titolo{font-size:2.6rem;font-weight:700;margin:6px 0 10px;letter-spacing:-.02em;}
.lead{color:var(--tenue);margin-bottom:24px;}
.pila{display:flex;flex-direction:column;gap:12px;}
.piede{font-size:.78rem;color:var(--tenue);margin-top:28px;line-height:1.5;}

.btn{display:block;width:100%;min-height:56px;border:2px solid var(--terra-scura);background:transparent;border-radius:16px;padding:14px 18px;font-weight:700;text-align:center;cursor:pointer;color:var(--terra-scura);}
.btn.primario{background:var(--primario);border-color:var(--primario);color:var(--su-primario);}
.btn.chiaro{border-color:var(--bordo);background:var(--carta);color:var(--testo);}
.btn.piccolo{min-height:48px;padding:10px 14px;font-size:.95rem;}
.btn:disabled{opacity:.4;cursor:not-allowed;}
.btn:active{transform:scale(.98);}
a.btn{text-decoration:none;}
.btn:focus-visible,.chip:focus-visible,.riga:focus-visible,.opzione:focus-visible,.voce:focus-visible,.acc-testa:focus-visible,.chiudi:focus-visible,.indietro:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--terra);outline-offset:2px;}

.indietro{background:none;border:none;color:var(--tenue);font-weight:600;padding:8px 0;margin-bottom:8px;cursor:pointer;text-align:left;}

.gruppo{margin:22px 0 8px;}
.gruppo h2{font-size:1.05rem;margin-bottom:10px;}
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chip{min-height:48px;padding:10px 16px;border-radius:100px;border:2px solid var(--bordo);background:var(--carta);cursor:pointer;font-weight:600;}
.chip[aria-pressed="true"]{background:var(--primario);border-color:var(--primario);color:var(--su-primario);}
.opzione{display:block;width:100%;text-align:left;min-height:56px;padding:14px 16px;border-radius:14px;border:2px solid var(--bordo);background:var(--carta);cursor:pointer;margin-bottom:8px;}
.opzione[aria-pressed="true"]{border-color:var(--terra-scura);background:var(--sabbia);}
.opzione small{display:block;color:var(--tenue);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;}
textarea,input[type=text],input[type=search]{width:100%;border:2px solid var(--bordo);border-radius:14px;padding:12px 14px;background:var(--carta);}
textarea{min-height:84px;resize:vertical;}
input[type=text],input[type=search]{min-height:48px;}

.barra{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.fase{font-weight:700;color:var(--tenue);font-size:.9rem;}
.tempo{font-family:var(--titoli);font-size:2.6rem;font-weight:700;font-variant-numeric:tabular-nums;}
.tempo.scaduto{color:var(--rosa-scuro);}
.totale{color:var(--tenue);font-size:.9rem;margin-bottom:14px;}
.scheda{background:var(--carta);border:1px solid var(--bordo);border-radius:18px;padding:20px;margin-bottom:12px;}
.scheda h1{font-size:1.5rem;margin-bottom:10px;}
.cosa{font-size:1.2rem;line-height:1.5;}
.dici{margin-top:14px;padding:12px 14px;background:var(--salvia);border-radius:12px;color:var(--salvia-scura);font-weight:600;}
.domanda-box{background:var(--sabbia);border-radius:14px;padding:12px 14px;margin-bottom:12px;font-family:var(--titoli);font-size:1.05rem;}
.domanda-box small{display:block;font-family:var(--corpo);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tenue);}
.avanza{margin:6px 0 96px;}
.ripresa{background:var(--ocra);border-color:var(--ocra-scuro);margin-bottom:18px;}
.ripresa .cosa{font-weight:700;font-family:var(--titoli);}

.strumenti{position:fixed;left:0;right:0;bottom:0;background:var(--carta);border-top:1px solid var(--bordo);padding:10px 12px;padding-bottom:max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:560px;margin:0 auto;z-index:20;}
.strumenti .btn{min-height:52px;padding:8px 4px;font-size:.88rem;border-radius:14px;}

.velo{position:fixed;inset:0;background:var(--velo);z-index:30;display:flex;align-items:flex-end;justify-content:center;}
.foglio{background:var(--sfondo);width:100%;max-width:560px;max-height:88vh;max-height:88dvh;overflow-y:auto;border-radius:22px 22px 0 0;padding:18px 18px 28px;padding-bottom:max(28px,env(safe-area-inset-bottom));}
.foglio-testa{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.foglio-testa h2{font-size:1.3rem;}
.chiudi{background:none;border:2px solid var(--bordo);border-radius:100px;min-height:44px;padding:8px 16px;font-weight:700;cursor:pointer;}
.grande{font-family:var(--titoli);font-size:1.5rem;line-height:1.35;margin:6px 0 10px;}
.tema{color:var(--tenue);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px;}
.etichetta-riserva{display:inline-block;background:var(--ocra);color:var(--ocra-scuro);border-radius:100px;padding:4px 12px;font-size:.78rem;font-weight:700;margin-bottom:6px;}

.riga{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:56px;padding:12px 16px;border-radius:14px;border:2px solid var(--bordo);background:var(--carta);cursor:pointer;margin-bottom:8px;font-weight:600;}
.riga .n{font-variant-numeric:tabular-nums;font-weight:700;min-width:2ch;text-align:right;}
.riga.silenzio{border-color:var(--terra);background:var(--sabbia);}
.riga.molto{border-color:var(--rosa-scuro);background:var(--rosa);}
.nota{font-size:.85rem;color:var(--tenue);margin:6px 0 12px;}
.contatore{font-family:var(--titoli);font-size:3rem;font-weight:700;text-align:center;font-variant-numeric:tabular-nums;margin:8px 0;}
.frase{background:var(--carta);border:1px solid var(--bordo);border-radius:14px;padding:14px 16px;margin-bottom:8px;font-size:1.1rem;}
.consiglio{background:var(--salvia);color:var(--salvia-scura);border-radius:14px;padding:12px 14px;margin-top:12px;font-weight:600;}
.sezione{margin-top:20px;}
.sezione h3{font-size:1rem;margin-bottom:8px;}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:8px;}

/* Informazioni e pagine */
.grp{font-family:var(--corpo);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tenue);margin:24px 0 8px;}
.voce{display:block;width:100%;text-align:left;padding:14px 16px;border-radius:14px;border:2px solid var(--bordo);background:var(--carta);cursor:pointer;margin-bottom:8px;}
.voce strong{display:block;font-family:var(--titoli);font-size:1.1rem;}
.voce span{display:block;color:var(--tenue);font-size:.88rem;margin-top:2px;line-height:1.4;}
.info{margin-bottom:28px;}
.info-h{font-size:1.25rem;margin:26px 0 8px;}
.info-p{margin:0 0 12px;}
.info-lista,.info-passi{margin:0 0 12px 1.2rem;}
.info-lista li,.info-passi li{margin-bottom:8px;}
.info-btn{margin:10px 0;}
.tabella{width:100%;border-collapse:collapse;margin:8px 0;font-size:.92rem;}
.tabella th,.tabella td{border-bottom:1px solid var(--bordo);padding:8px 6px;text-align:center;}
.tabella th:first-child,.tabella td:first-child{text-align:left;}
.tabella th{color:var(--tenue);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;}
.campo{display:block;font-weight:700;font-size:.9rem;margin:16px 0 6px;}
.voto-riga{margin:12px 0;}
.voti{display:flex;gap:8px;margin-top:6px;}
.chip.voto{flex:1;min-width:44px;padding:10px 0;text-align:center;}
.avviso{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:var(--testo);color:var(--sfondo);padding:12px 20px;border-radius:100px;z-index:60;font-weight:600;max-width:90%;text-align:center;}
.etichetta-tema{display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tenue);}

/* Durata su misura */
.editor{margin-top:12px;}
.stepper{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.stepper strong{font-family:var(--titoli);font-size:1.6rem;font-variant-numeric:tabular-nums;text-align:center;}
.stepper .btn{width:64px;min-height:48px;padding:8px;flex:none;}
.fase-riga{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--bordo);}
.fase-riga > span{flex:1;font-size:.92rem;line-height:1.3;}
.fase-riga .stepper{gap:6px;flex:none;}
.fase-riga .stepper strong{font-family:var(--corpo);font-size:1rem;min-width:58px;}
.fase-riga .stepper .btn{width:44px;min-height:44px;padding:4px;}

/* Elenco delle domande: un menu a tendina per argomento */
.acc{border:2px solid var(--bordo);border-radius:14px;background:var(--carta);margin-bottom:8px;overflow:hidden;}
.acc-testa{display:flex;align-items:center;width:100%;min-height:52px;padding:12px 16px;background:none;border:none;cursor:pointer;font-family:var(--titoli);font-size:1.1rem;font-weight:700;text-align:left;gap:10px;}
.acc-testa::after{content:'▾';transition:transform .2s;color:var(--tenue);}
.acc-testa[aria-expanded="true"]::after{transform:rotate(180deg);}
.acc-n{margin-left:auto;font-family:var(--corpo);font-size:.8rem;color:var(--tenue);background:var(--sabbia);border-radius:100px;padding:2px 10px;font-weight:700;}
.acc-corpo{padding:4px 12px 12px;}
.acc-corpo .opzione,.acc-corpo .frase{margin-bottom:6px;}
.acc-corpo .opzione{min-height:48px;}

@media (min-width:700px){
  #app{max-width:640px;}
  .strumenti,.foglio{max-width:640px;}
  .titolo{font-size:3rem;}
}
@media (prefers-reduced-motion: reduce){
  *{transition:none !important;}
  .btn:active{transform:none;}
}
