html { background-color: #070c11; }
body { opacity: 1; transition: opacity 340ms ease; }
body main { transition: transform 340ms cubic-bezier(.4,0,.6,1); }
body.page-leaving { opacity: 0; pointer-events: none; }
body.page-leaving main { transform: translateY(-26px); }
@keyframes page-arrive { from { opacity: 0; transform: translateY(42px); } to { opacity: 1; transform: translateY(0); } }
body.page-arriving main { animation: page-arrive 760ms cubic-bezier(.16,1,.3,1) both; }
@media (prefers-reduced-motion: reduce) { body, body main { transition: none; } body.page-arriving main { animation: none; } body.page-leaving main { transform: none; } }
