:root{
  --bg:#f6f4ef; --card:#ffffff; --ink:#2b2b2b; --muted:#7a7568;
  --accent:#3f51b5; --accent-soft:#e8ebfa; --line:#e2ded4;
}
*{box-sizing:border-box}
body{
  margin:0; font-family:Georgia,'Times New Roman',serif;
  background:var(--bg); color:var(--ink); line-height:1.5;
  padding:28px 18px 64px;
}
.wrap{max-width:1060px; margin:0 auto;}
header h1{font-size:1.7rem; margin:0 0 6px;}
header p{color:var(--muted); margin:0; font-size:.95rem;}
header a{color:var(--accent);}

/* Controlli */
.controls{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  margin:22px 0 8px;
}
.chip, #studio{
  font-family:inherit; font-size:.85rem; cursor:pointer;
  border:1px solid var(--line); background:var(--card); color:var(--ink);
  border-radius:999px; padding:6px 14px;
}
.chip[aria-pressed="true"]{
  background:var(--accent); border-color:var(--accent); color:#fff;
}
#studio[aria-pressed="true"]{
  background:var(--accent-soft); border-color:var(--accent); color:var(--accent);
  font-weight:bold;
}
.hint{font-size:.8rem; color:var(--muted); margin:6px 2px 0; font-style:italic;}
.legenda{
  font-size:.8rem; color:var(--muted); margin:10px 2px 0;
  background:var(--card); border:1px dashed var(--line); border-radius:8px; padding:8px 12px;
}
.legenda b{color:var(--accent);}

/* Pannelli */
.panel{
  background:var(--card); border:1px solid var(--line); border-radius:12px;
  padding:16px 18px;
}
.casi{margin:18px 0;}
.casi h2{display: inline; padding-left: .4rem;}
h2{font-size:1.2rem; color:var(--accent); margin:0 0 10px;}
h3{font-size:1.05rem; margin:0 0 10px;}
.desc{color:var(--muted); font-size:.9rem; margin:0 0 14px;}
.nota{font-size:.8rem; font-style:italic; color:var(--muted); margin:10px 0 0;}
.lemma{font-size:1.05rem; color:var(--muted); font-style:italic; font-weight:normal;margin:10px 0; display:block; text-align: center;}
.lemma .traduzione{font-style:normal;}

summary {cursor: pointer;}

table{border-collapse:collapse; width:100%; font-size:.95rem;}
th{
  text-align:left; font-weight:normal; color:var(--muted); font-size:.78rem;
  text-transform:uppercase; letter-spacing:.05em;
  border-bottom:1px solid var(--line); padding:4px 8px;
}
td{padding:6px 8px; border-bottom:1px solid var(--line); vertical-align:bottom;}
tr:last-child td{border-bottom:none;}
td.caso, th:first-child{width:34%;}
td b{color:var(--accent); font-weight:bold;}

/* Griglia tipi (seconda declinazione) */
.decl{padding-bottom:18px;}
.tipi{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:14px;}
.tipi .panel h3{margin-bottom:8px;}

/* Modalità studio: nasconde i valori, click sulla card per rivelare */
body.studio .tipo .cella{visibility:hidden;}
body.studio .tipo{cursor:pointer; min-height:140px;}
body.studio .tipo.revealed .cella{visibility:visible;}
body.studio .tipo.revealed{border-color:var(--accent); box-shadow:0 0 0 2px var(--accent-soft);}

.foot{margin-top:26px; text-align:center; color:var(--muted); font-size:.85rem; font-style:italic;}
