:root{
  /* shared with the landing palette (same names + values) */
  --void:#020202;
  --line:#1c212b;
  --hair:#161a22;
  --ink:#e6e6e6;
  --ink-2:#cdd1d8;
  --ink-muted:#9aa0ab;
  --faintest:#777d87;
  --jar:#3b82f6;
  /* manifesto-only shades (no landing equivalent) */
  --surface-deep:#050507;
  --border-soft:#111419;
  --white:#fff;
  --black:#000;
}
*{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:var(--void);color:var(--ink);font-family:'JetBrains Mono',ui-monospace,monospace;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
  ::selection{background:var(--white);color:var(--black);}
  ::-webkit-scrollbar{width:0;background:transparent;}
  a{color:inherit;text-decoration:none;}
  @media (prefers-reduced-motion:reduce){*{animation:none!important;}html.lj-js [data-reveal]{opacity:1;transform:none;filter:none;transition:none;}}

/* ---- reveal-on-scroll (JS-gated via html.lj-js, so no-JS / crawlers render visible) ---- */
html.lj-js [data-reveal]{opacity:0;transform:translateY(28px);filter:blur(8px);transition:opacity .7s cubic-bezier(.25,1,.5,1),transform .7s cubic-bezier(.25,1,.5,1),filter .7s cubic-bezier(.25,1,.5,1);}
html.lj-js [data-reveal].is-revealed{opacity:1;transform:none;filter:none;}

/* ---- interactive (hover) states ---- */
.m0:hover{ background:#e5e5e5 !important; }
.m1:hover{ color:#fff !important; }
