/* Reset, background and text utilities */
*{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100%}
body{
  background:var(--bg); color:var(--text);
  font:15px/1.5 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
  transition:background .4s var(--ease),color .4s var(--ease);
}
body::before{
  content:""; position:fixed; inset:-20%; z-index:-1; pointer-events:none;
  background:
    radial-gradient(40% 35% at 20% 10%,var(--glow-a),transparent 70%),
    radial-gradient(35% 30% at 85% 30%,var(--glow-b),transparent 70%);
  animation:drift 24s ease-in-out infinite alternate;
}
@keyframes drift{to{transform:translate3d(-4%,3%,0) rotate(4deg)}}
button,input{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
button:disabled{cursor:not-allowed;opacity:.45}
::selection{background:var(--accent);color:var(--accent-ink)}
.serif{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.01em}
.num{font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.muted{color:var(--muted)}
.hidden{display:none!important}
