  :root { --void: #f1f4fb; --arc: #0a55e6; --ice: #0078c9; --iris: #5a3bd6;
    --paper: #f3f5fb; --paper-2: #e9edf7; --paper-3: #dfe4f1; --ink: #0a0d24; --ink-2: #3b4060; --ink-3: #5c6180; --rule: #d3d8e8; --rule-strong: #0a0d24;
    --accent: #0a55e6; --accent-soft: rgba(10, 85, 230, .08); --card: #fbfcff; --glass: rgba(255, 255, 255, .62); --glass-line: rgba(10, 13, 36, .13); --sheet: rgba(243, 245, 251, .74); }
  :root[data-theme="dark"] { --void: #050016;
    --arc: #0099ff; --ice: #83dcff; --iris: #bfa7ff;
    --paper: #09061f; --paper-2: #120e2e; --paper-3: #1b163c; --ink: #f4f7ff; --ink-2: #c1c6e4; --ink-3: #9096bb; --rule: #2a2650; --rule-strong: #f4f7ff;
    --accent: #83dcff; --accent-ink: #050016; --accent-soft: rgba(131, 220, 255, .12); --card: #100c2a; --glass: rgba(11, 8, 36, .55); --glass-line: rgba(190, 200, 255, .17); --sheet: rgba(7, 4, 26, .64); }
  html { background: var(--void); }
  body { background: transparent; }
  .nebula, #field { position: fixed; inset: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; }
  .nebula { z-index: -2; transform: translate3d(0, var(--nebula-y, 0), 0) scale(1.5); filter: hue-rotate(var(--nebula-hue, 0deg));
    background: radial-gradient(38% 42% at 74% 30%, color-mix(in srgb, var(--arc) 42%, transparent), transparent 72%), radial-gradient(30% 36% at 24% 62%, color-mix(in srgb, var(--iris) 26%, transparent), transparent 74%); }
  .masthead { background: color-mix(in srgb, var(--void) 45%, transparent) !important; backdrop-filter: blur(14px) saturate(1.3); -webkit-backdrop-filter: blur(14px) saturate(1.3); border-bottom-color: var(--glass-line) !important; }
  .masthead .brand { transition: opacity .3s; }
  html.at-top .masthead .brand { opacity: 0; pointer-events: none; }
  .lead h2 { font-family: var(--sans); font-weight: 600; letter-spacing: -.04em; }
  .lead h2 em { font-style: normal; font-weight: 400; }
  .section-head h2 { font-family: var(--sans); font-weight: 600; letter-spacing: -.03em; }

/* inner pages: the page rides over the background as one glass sheet */
body.inner main { position: relative; background: var(--sheet); backdrop-filter: blur(26px) saturate(1.4); -webkit-backdrop-filter: blur(26px) saturate(1.4); border: 1px solid var(--glass-line); margin-top: 20vh; margin-bottom: 30vh; border-radius: 22px; padding-block: clamp(24px, 3vw, 44px); }
body.inner main:not(.wrap) { border-radius: 0; border-inline: 0; }
body.inner main.wrap { max-width: min(var(--max), calc(100% - 28px)); }
body.inner main h1 { font-family: var(--sans); font-weight: 600; letter-spacing: -.04em; }
body.inner main h2 { font-family: var(--sans); font-weight: 600; letter-spacing: -.028em; }
body.inner main h1 em, body.inner main h2 em { font-style: normal; }
body.inner .footer { background: var(--sheet); margin-top: 0; }
@media (max-width: 640px) { body.inner main { margin-top: 12vh; margin-bottom: 18vh; } body.inner main.wrap { border-radius: 16px; } }
