/* Strumenti ServerDiCasa — stessi token del tema "Registro di Bordo" (theme.json + style.css).
   Caricato DOPO lo <style> inline di ogni tool: sovrascrive i token e le famiglie tipografiche. */

:root:root:root{
  --bg:#f2f5f3; --surface:#ffffff; --surface-2:#e9eeeb; --text:#1a2320; --muted:#4c5750;
  --border:#d7ddd8; --accent:#2f6f5e; --accent-soft:#dfeae5; --accent-strong:#24564a; --copper:#a4632f;
  --ok:#3b7d3f; --ok-soft:#e3efe3; --warn:#a4632f; --warn-soft:#f5e8dc; --crit:#a83232; --crit-soft:#f6e0e0;
  --shadow:none;
  --font-display:"Fraunces", Georgia, "Times New Roman", serif;
  --font-body:"Source Serif 4", Georgia, "Times New Roman", serif;
  --font-mono:"IBM Plex Mono", ui-monospace, "Courier New", monospace;
  --radius:4px;
}
@media (prefers-color-scheme: dark){
  :root:root:root:not([data-theme="light"]){
    --bg:#121815; --surface:#171f1b; --surface-2:#1d2622; --text:#e9ede9; --muted:#a9b5ad;
    --border:#2b352f; --accent:#6fbfa4; --accent-soft:#1b3229; --accent-strong:#9fd6c1; --copper:#d99a5c;
    --ok:#7cc985; --ok-soft:#163020; --warn:#d99a5c; --warn-soft:#33241a; --crit:#e07b7b; --crit-soft:#331a1a;
  }
}
:root:root:root[data-theme="dark"]{
  --bg:#121815; --surface:#171f1b; --surface-2:#1d2622; --text:#e9ede9; --muted:#a9b5ad;
  --border:#2b352f; --accent:#6fbfa4; --accent-soft:#1b3229; --accent-strong:#9fd6c1; --copper:#d99a5c;
  --ok:#7cc985; --ok-soft:#163020; --warn:#d99a5c; --warn-soft:#33241a; --crit:#e07b7b; --crit-soft:#331a1a;
}

body{font-family:var(--font-body); font-size:1.0625rem; line-height:1.6; padding-block:0 64px}
h1,h2,h3{font-family:var(--font-display); font-weight:500; letter-spacing:-.01em}
h1{font-size:clamp(1.9rem,3.4vw,2.6rem); line-height:1.25}
.eyebrow, .panel-head h2, .stat .k, th, .pill, .example-tag, .hint, .preset-btn, .field label{font-family:var(--font-mono)}
.eyebrow{color:var(--copper)}
.eyebrow::before{background:var(--copper)}
.panel, .stat, .verdict, .toggle-row, textarea, .field .input-row, .preset-btn, .backup-note{border-radius:var(--radius)}
button, a.cta-btn, .cta-btn{
  font-family:var(--font-mono); font-size:.85rem; text-transform:uppercase; letter-spacing:.06em;
  border-radius:2px; background:var(--accent); color:var(--surface);
}
button.ghost{background:transparent; color:var(--muted); border-color:var(--border)}
a{color:var(--accent)}
a:hover{color:var(--copper)}
footer p a, .backup-note a{color:var(--accent-strong)}
.pill{border-radius:2px; text-transform:uppercase; letter-spacing:.05em; font-size:11.5px}
.verdict h3{font-family:var(--font-display); font-weight:500}

/* intestazione e piè di pagina del blog, replicati in statico */
.blog-header{
  display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap;
  padding:.9rem 0; margin:0 0 2.4rem; border-bottom:1px solid var(--border);
}
.blog-header .wordmark{
  font-family:var(--font-display); font-weight:600; font-size:1.35rem; letter-spacing:-.01em;
  text-decoration:none; color:var(--text);
}
.blog-header nav, .blog-footer nav{display:flex; gap:1.2rem; flex-wrap:wrap}
.blog-header nav a, .blog-footer nav a{
  font-family:var(--font-mono); font-size:.82rem; letter-spacing:.06em; text-transform:uppercase;
  text-decoration:none; color:var(--muted); border-bottom:1px solid transparent; padding-bottom:.2rem;
}
.blog-header nav a:hover, .blog-footer nav a:hover{color:var(--accent); border-color:var(--accent)}
.blog-footer{
  margin-top:2.4rem; padding-top:1.5rem; border-top:1px solid var(--border);
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; align-items:center;
}
.blog-footer .copy{font-family:var(--font-mono); font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted)}

/* accessibilità comune a tutti gli strumenti */
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible{outline:2px solid var(--accent); outline-offset:2px}
@media (prefers-reduced-motion: reduce){ *, *::before, *::after{transition:none !important; animation:none !important; scroll-behavior:auto !important} }
