:root{--fond:#f6f7f9;--texte:#1b1f24;--accent:#0b5cad;--carte:#fff;--bord:#d8dde3}
@media (prefers-color-scheme:dark){:root{--fond:#14171b;--texte:#e8ebef;--accent:#6fb1ff;--carte:#1d2126;--bord:#333a42}}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--fond);color:var(--texte);line-height:1.5}
header,main,footer{max-width:46rem;margin:0 auto;padding:1rem}
.marque{font-weight:700;font-size:1.25rem;color:var(--texte);text-decoration:none}
h1{font-size:1.6rem}
a{color:var(--accent)}
.cartes{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}
.carte{background:var(--carte);border:1px solid var(--bord);border-radius:.75rem;padding:1rem}
.carte.suggere{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}
.bouton{display:inline-block;min-height:44px;padding:.65rem 1.1rem;border-radius:.5rem;background:var(--accent);color:#fff;text-decoration:none;font-weight:600}
.bouton.inerte{background:var(--bord);color:var(--texte);cursor:not-allowed}
.qr{margin:1rem 0;text-align:center}
.qr img{background:#fff;padding:.5rem;border-radius:.5rem}
code{word-break:break-all;font-size:.9rem}
button{min-height:44px;padding:0 .9rem}
footer{font-size:.9rem;opacity:.85}
