/* Cubby site theme — shared by index/privacy/support.
   Self-hosted fonts (latin subsets) — no third-party requests, no CDNs,
   no trackers. The site mirrors the app's promise: nothing leaves your device. */
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/instrument-serif-regular.woff2) format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/instrument-serif-italic.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/jetbrains-mono.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/source-sans-3.woff2) format('woff2')}

:root{
  --bg:#f6f4ef;
  --text:#1c2438;
  --font-display:'Instrument Serif',Georgia,serif;
  --font-body:'Source Sans 3',-apple-system,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#151a26;
    --text:#e6eaf2;
  }
}

*{box-sizing:border-box;margin:0;min-width:0}
/* No body padding here: index/privacy/support are all `.home`-scoped pages
   now (see home.css) and handle their own section spacing. An unscoped
   `padding` on body used to inset the full-bleed hero by 52/24px — easy to
   miss because the padding area's color happened to match the hero's own
   dark edge tone in dark mode. --bg/--text stay adaptive here only as a
   pre-.home-page-class fallback (see legal.css's body.home-page override,
   and home.css's own fixed-theme components) — every visible component now
   lives in home.css/legal.css, scoped under `.home`. */
body{background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.55;-webkit-font-smoothing:antialiased}
