@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Inter:wght@400;500;600&display=swap');

:root{
  --sfondo:#F7F4EE;
  --superficie:#FFFFFF;
  --testo:#2B2420;
  --testo-secondario:#6B6157;
  --testo-debole:#948B7E;
  --bordo:#E7E0D3;
  --oro:#A9761F;
  --oro-chiaro:#F3E7CE;
  --coral:#B1502E;
  --coral-chiaro:#F5E1D8;
  --verde:#2F6B4F;
  --verde-chiaro:#DEEAE2;
  --indaco:#524887;
  --indaco-chiaro:#E7E4F3;
  --errore:#B0342C;
  --errore-chiaro:#F7E2DF;
  --raggio:12px;
}

*{box-sizing:border-box}

body{
  margin:0;
  background:var(--sfondo);
  color:var(--testo);
  font-family:'Inter',system-ui,sans-serif;
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

h1,h2,.titolo{
  font-family:'Fraunces',serif;
  font-weight:600;
  margin:0;
}

a{color:var(--oro)}

.pagina{
  max-width:520px;
  margin:0 auto;
  padding:1.25rem 1rem 3rem;
}

.intestazione{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:1.25rem;
}

.intestazione h1{font-size:26px}

.link-uscita{
  font-size:13px;
  color:var(--testo-secondario);
  text-decoration:none;
  border:0.5px solid var(--bordo);
  border-radius:999px;
  padding:6px 12px;
  background:var(--superficie);
}

.schede{
  display:flex;
  gap:4px;
  background:var(--bordo);
  border-radius:10px;
  padding:3px;
  margin-bottom:1.25rem;
}

.scheda{
  flex:1;
  text-align:center;
  padding:8px;
  border-radius:8px;
  font-size:14px;
  font-weight:500;
  color:var(--testo-secondario);
  background:transparent;
  border:none;
  cursor:pointer;
}

.scheda.attiva{background:var(--superficie);color:var(--testo)}

.giorno-etichetta{
  font-size:12px;
  font-weight:600;
  color:var(--testo-debole);
  margin:1.25rem 0 6px;
}

.riga-evento{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 4px;
  border-bottom:0.5px solid var(--bordo);
  background:var(--superficie);
}

.badge{
  width:40px;
  height:40px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  font-size:19px;
}

.badge.combattimento{background:var(--coral-chiaro);color:var(--coral)}
.badge.alleanza{background:var(--verde-chiaro);color:var(--verde)}
.badge.individuale{background:var(--indaco-chiaro);color:var(--indaco)}

.dettaglio-evento{flex:1;min-width:0}
.dettaglio-evento p{margin:0}
.nome-evento{font-weight:500;font-size:15px}
.orario-evento{font-size:13px;color:var(--testo-secondario);margin-top:2px !important}

.stella{
  border:none;
  background:none;
  border-radius:50%;
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  flex-shrink:0;
  font-size:19px;
  color:var(--testo-debole);
}

.stella.attiva{background:var(--oro-chiaro);color:var(--oro)}

.stato-vuoto{
  text-align:center;
  padding:3rem 1rem;
  color:var(--testo-secondario);
}
.stato-vuoto p:first-child{color:var(--testo);font-weight:500;margin:0 0 4px}
.stato-vuoto p{margin:0;font-size:14px}

.scheda-carta{
  background:var(--superficie);
  border:0.5px solid var(--bordo);
  border-radius:var(--raggio);
  padding:1.5rem;
}

.campo{margin-bottom:1rem}
.campo label{display:block;font-size:13px;color:var(--testo-secondario);margin-bottom:4px}
.campo input, .campo select{
  width:100%;
  padding:10px 12px;
  border:0.5px solid var(--bordo);
  border-radius:8px;
  font-size:15px;
  font-family:inherit;
  background:var(--sfondo);
  color:var(--testo);
}
.campo input:focus, .campo select:focus{outline:2px solid var(--oro);outline-offset:1px}

.giorni-settimana{display:flex;gap:6px;flex-wrap:wrap}
.giorno-scelta{
  border:0.5px solid var(--bordo);
  background:var(--sfondo);
  border-radius:8px;
  padding:8px 10px;
  font-size:13px;
  cursor:pointer;
  color:var(--testo-secondario);
}
.giorno-scelta.selezionato{background:var(--oro-chiaro);border-color:var(--oro);color:var(--oro)}

.pulsante-principale{
  width:100%;
  padding:12px;
  border-radius:8px;
  border:none;
  background:var(--oro);
  color:#fff;
  font-size:15px;
  font-weight:500;
  font-family:inherit;
  cursor:pointer;
  margin-top:0.5rem;
}
.pulsante-principale:active{transform:scale(0.98)}

.errore{
  background:var(--errore-chiaro);
  color:var(--errore);
  border-radius:8px;
  padding:10px 12px;
  font-size:13px;
  margin-bottom:1rem;
  display:none;
}
.errore.visibile{display:block}

.sottotitolo{color:var(--testo-secondario);font-size:14px;margin:6px 0 1.5rem}
