:root { --bg:#ffffff; --fg:#1d1d1f; --muted:#6e6e73; --card:#f5f5f7; --accent:#b8262b; --line:#d2d2d7; }
@media (prefers-color-scheme: dark) { :root { --bg:#161617; --fg:#f5f5f7; --muted:#a1a1a6; --card:#232325; --accent:#ff6b6b; --line:#3a3a3c; } }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:17px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
header { border-bottom:1px solid var(--line); }
.wrap { max-width:820px; margin:0 auto; padding:0 20px; }
.top { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 0; flex-wrap:wrap; }
.brand { font-weight:700; font-size:20px; color:var(--fg); text-decoration:none; }
.brand span { color:var(--accent); }
nav a { color:var(--muted); text-decoration:none; margin-left:16px; font-size:15px; }
nav a:hover, nav a[aria-current] { color:var(--fg); }
.lang { display:inline-flex; border:1px solid var(--line); border-radius:8px; overflow:hidden; margin-left:16px; }
.lang button { background:none; border:0; color:var(--muted); padding:4px 10px; font:inherit; font-size:14px; cursor:pointer; }
.lang button[aria-pressed="true"] { background:var(--card); color:var(--fg); font-weight:600; }
main { padding:32px 0 48px; }
h1 { font-size:34px; line-height:1.2; margin:0 0 8px; }
h2 { font-size:22px; margin:36px 0 8px; }
h3 { font-size:18px; margin:24px 0 4px; }
p, li { color:var(--fg); }
.lead { color:var(--muted); font-size:19px; margin-top:0; }
.card { background:var(--card); border-radius:14px; padding:18px 20px; margin:16px 0; }
a { color:var(--accent); }
code { background:var(--card); padding:1px 6px; border-radius:5px; font-size:15px; }
footer { border-top:1px solid var(--line); color:var(--muted); font-size:14px; padding:20px 0 40px; }
body [lang="en"] { display:none; }
body.en [lang="en"] { display:revert; }
body.en [lang="it"] { display:none; }
.grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:14px; margin:16px 0; }
.grid .card { margin:0; }
.card h3 { margin-top:0; }
.flow { font-family:ui-monospace, SFMono-Regular, Menlo, monospace; font-size:14px; overflow-x:auto; white-space:pre; }
pre { background:var(--card); border-radius:10px; padding:12px 14px; overflow-x:auto; font-size:14px; }
pre code { background:none; padding:0; }
ol li, ul li { margin:4px 0; }
