/* sprytools — Legal-Subdomain. Schlankes, lesbares Styling, konsistent mit dem Tool-Design-System
 * (gleiche Tokens), aber bewusst minimal — Rechtstext braucht kein Komponenten-System. */
:root {
  --c-bg: #f8fafc; --c-surface: #fff; --c-text: #0f172a; --c-muted: #64748b;
  --c-border: #e2e8f0; --c-accent: #4f46e5;
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: var(--font); line-height: 1.65; color: var(--c-text); background: var(--c-bg); }
.site-header { border-bottom: 1px solid var(--c-border); background: var(--c-surface); }
.site-header .bar { max-width: 760px; margin: 0 auto; padding: .75rem 1rem; }
.brand { font-weight: 700; font-size: 1.05rem; color: var(--c-text); text-decoration: none; letter-spacing: -.01em; }
main { max-width: 760px; margin: 0 auto; padding: 2.5rem 1rem; }
h1 { font-size: 1.6rem; letter-spacing: -.02em; margin: 0 0 1.5rem; }
h2 { font-size: 1.15rem; margin: 1.75rem 0 .5rem; }
h3 { font-size: 1rem; margin: 1.25rem 0 .35rem; }
p, li { color: #334155; }
a { color: var(--c-accent); }
.card { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: .625rem; padding: 1.5rem 1.75rem; }
.toc { display: flex; gap: 1.25rem; flex-wrap: wrap; margin: 0 0 1.5rem; padding: 0; list-style: none; }
.muted { color: var(--c-muted); font-size: .9rem; }
footer { max-width: 760px; margin: 1.5rem auto 3rem; padding: 0 1rem; color: var(--c-muted); font-size: .85rem; }
footer a { margin-right: 1rem; }
