/* Minimal neutral styles using CSS variables if present */
:root {
  --page-max-width: 860px;
  --page-padding: 24px;
  --page-font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Helvetica Neue, Arial, "Apple Color Emoji", "Segoe UI Emoji";
}
body {
  margin: 0;
  color: hsl(var(--foreground, 222.2 84% 4.9%));
  background: hsl(var(--background, 0 0% 100%));
  font-family: var(--page-font);
  line-height: 1.65;
}
.container {
  max-width: var(--page-max-width);
  margin: 0 auto;
  padding: var(--page-padding);
}
header.site {
  padding: 24px var(--page-padding) 0;
}
header.site a { color: hsl(var(--foreground, 222.2 84% 4.9%)); text-decoration: none; }
header.site a:hover { text-decoration: underline; }
main h1 { font-size: 2rem; margin: 1rem 0; }
main h2 { font-size: 1.5rem; margin: 1.25rem 0 0.5rem; }
main h3 { font-size: 1.25rem; margin: 1rem 0 0.5rem; }
main p { margin: 0.75rem 0; }
main ul, main ol { padding-left: 1.25rem; margin: 0.75rem 0; }
main li { margin: 0.25rem 0; }
main a { color: var(--todayoff-blue, #0ea5b7); }
main code { background: rgba(0,0,0,0.05); padding: 0.15rem 0.35rem; border-radius: 4px; }
main pre { background: rgba(0,0,0,0.05); padding: 0.75rem; overflow: auto; border-radius: 6px; }
hr { border: 0; border-top: 1px solid rgba(0,0,0,0.1); margin: 1.25rem 0; }
footer.site { color: rgba(0,0,0,0.55); font-size: 0.9rem; padding: 2rem 0; }

.loading { opacity: 0.6; }
.sr-only { position: absolute; left: -10000px; }

