/* Interface only: scientific diagram colours, labels and controls are retained. */
:root {
  --bg: #fff; --bg-soft: #f2f6f3; --ink: #202723; --body: #53615a;
  --muted: #53615a; --hairline: #dce4dd; --hairline-strong: #b5c4b9;
  --shadow-sm: none; --shadow-md: none;
  --cloth:var(--bg); --cloth-card:var(--bg-soft);
}
html, body { font-family: "Switzer", system-ui, sans-serif; }
h1, h2, h3, .display { font-family: "Newsreader", Georgia, serif; letter-spacing: -.025em; }
.mono, code { font-family: "JetBrains Mono", monospace; }
button, input, select { font: inherit; }
.eq-block,.bento-item.dark { background:#153f38; color:#fff; }
.eq-block .caption,.bento-item.dark p { color:#e2eee8; }
.bento-item.dark .title { color:#fff; }
.pull,.geek,.bento-item { border:0; box-shadow:none; }
.pull { padding-left:0; }
button:focus-visible, a:focus-visible, input:focus-visible {
  outline: 2px solid #214e3e; outline-offset: 4px;
}
:root.is-dark {
  --bg: #121a16; --bg-soft: #1b2821; --ink: #f3f6f3;
  --body: #c4d0c7; --muted: #c4d0c7; --hairline: #344b3d; --hairline-strong: #64816e;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
}
