/* ════════════════════════════════════════════════════════════════════════════
 * BASE
 * Reset, body, scrollbar, fonts, body-state gating, reduced-motion
 * ════════════════════════════════════════════════════════════════════════════
 */

*{margin:0;padding:0;box-sizing:border-box;}
html,body{background:var(--deep);color:var(--paper);font-family:'Inter',sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
@media (pointer:fine){html{cursor:none;}html *{cursor:none!important;}}
.serif-it{font-family:'Fraunces',serif;font-style:italic;font-variation-settings:"opsz" 144,"SOFT" 100;font-weight:300;}
::selection{background:var(--violet);color:var(--paper);}
::-webkit-scrollbar{width:6px;}::-webkit-scrollbar-track{background:var(--base);}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--periwinkle),var(--violet));}
.mono{font-family:'JetBrains Mono',monospace;}

/* ───── Pause all entrance animations until the loader finishes ───── */
body:not(.entered) .hero *,
body:not(.entered) nav,
body:not(.entered) .audio-toggle,
body:not(.entered) .listen-badge,
body:not(.entered) .ticker-wrap *,
body:not(.entered) .entry-sweep{
  animation-play-state:paused !important;
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;}
}
