/* Stile condiviso delle pagine indice (root e cartelle). */
:root{
  --bg:#F3F5F4; --surface:#FFFFFF; --surface-2:#E9EEED;
  --ink:#122027; --ink-2:#44545B; --muted:#6F7E83; --line:#D8DFDE;
  --accent:#0E6E6A; --accent-ink:#0B5A57; --accent-soft:#D5EAE7;
  --display:"IBM Plex Sans Condensed","Arial Narrow",Arial,sans-serif;
  --body:"IBM Plex Sans",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#0E1618; --surface:#152023; --surface-2:#1C2A2D;
    --ink:#EDF3F2; --ink-2:#B3C1C3; --muted:#86999E; --line:#2A3B3F;
    --accent:#43B9AE; --accent-ink:#6FD0C6; --accent-soft:#17393A;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0E1618; --surface:#152023; --surface-2:#1C2A2D;
  --ink:#EDF3F2; --ink-2:#B3C1C3; --muted:#86999E; --line:#2A3B3F;
  --accent:#43B9AE; --accent-ink:#6FD0C6; --accent-soft:#17393A;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55;padding:0 16px 64px}
.wrap{max-width:880px;margin:0 auto}
a{color:var(--accent-ink);text-underline-offset:2px}
a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
h1,h2{font-family:var(--display);text-wrap:balance;margin:0;letter-spacing:-.005em}
h1{font-size:clamp(2.2rem,6vw,3.4rem);line-height:1.04;font-weight:700}
h2{font-size:1.3rem;line-height:1.2;font-weight:600}
p{margin:0}
.eyebrow{font-family:var(--mono);font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.lead{font-size:1.15rem;color:var(--ink-2);max-width:62ch}

header{padding:56px 0 32px;border-bottom:1px solid var(--line);margin-bottom:32px;display:grid;gap:14px}
.crumb{font-family:var(--mono);font-size:.8rem}
.crumb a{text-decoration:none}
.crumb a:hover{text-decoration:underline}

.list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.card{display:grid;gap:6px;padding:20px 22px;background:var(--surface);border:1px solid var(--line);border-radius:10px;text-decoration:none;color:inherit;transition:border-color .15s,background .15s}
.card:hover{border-color:var(--accent);background:var(--surface-2)}
.card h2{color:var(--accent-ink)}
.card p{color:var(--ink-2)}
.card .meta{font-family:var(--mono);font-size:.75rem;color:var(--muted)}

footer{margin-top:48px;font-family:var(--mono);font-size:.75rem;color:var(--muted)}
