/* Colori, caratteri ed elementi di base. */
:root{
  --bg:#f2f5f0; --surface:#ffffff; --fg:#16211b; --muted:#5b6a61; --line:#d6ddd5;
  --accent:#0f6b3f; --accent-fg:#ffffff; --chalk:#e9efe7; --flag:#b77900; --danger:#b3261e;
  --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif; --body:"Barlow","Segoe UI",system-ui,sans-serif;
}
@media (prefers-color-scheme: dark){ :root{
  --bg:#0f1512; --surface:#18211c; --fg:#e6ece7; --muted:#9aa89f; --line:#2b372f;
  --accent:#4cc38a; --accent-fg:#0b1a12; --chalk:#1f2a24; --flag:#f0b429; --danger:#ff8a80; color-scheme:dark } }
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.45 var(--body);padding:0 16px 48px}
.wrap{max-width:1120px;margin-inline:auto}
header.top{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 20px;padding-block:18px 12px;border-bottom:2px solid var(--fg)}
h1{font:700 30px/1 var(--display);letter-spacing:.01em;margin:0;text-transform:uppercase}
.sub{color:var(--muted)}
nav{display:flex;flex-wrap:wrap;gap:4px;margin-left:auto;align-items:center}
nav a{font:600 17px var(--display);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-decoration:none;padding:6px 12px;border-radius:4px}
nav a.on{background:var(--fg);color:var(--bg)}
h2{font:700 24px/1.1 var(--display);text-transform:uppercase;margin:0;text-wrap:balance}
h3{font:600 18px/1.15 var(--display);text-transform:uppercase;letter-spacing:.02em;margin:0}
.bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-block:16px 12px}
.bar.tight{margin:0}
.push{margin-left:auto}
.chips{display:flex;flex-wrap:wrap;gap:6px}
button,.btn{font:600 14px var(--body);color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:7px 12px;cursor:pointer;text-decoration:none;display:inline-block}
button:hover,.btn:hover{border-color:var(--muted)}
button.pri{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}
button.chip{border-radius:999px;padding:5px 12px;font-weight:500}
button.chip.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}
button.link{border:0;background:none;padding:4px 6px;color:var(--accent);text-decoration:underline}
button.danger{color:var(--danger)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
input,select,textarea{font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:7px 9px;max-width:100%}
textarea{width:100%;min-height:64px;resize:vertical}
label{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
label>*{text-transform:none;letter-spacing:0;font-weight:400;font-size:15px}
label.check{flex-direction:row;align-items:center;gap:8px;text-transform:none;font-size:15px;letter-spacing:0;color:var(--fg);font-weight:400}
.grow{flex:1 1 200px;min-width:0}
.w80{width:80px}
.empty{color:var(--muted);padding:24px 0}
