html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* header stays visible while scrolling on larger screens */
@media (min-width:900px){header.top{position:sticky;top:0;z-index:50}}
/* floating back-to-top button */
#totop{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:60;width:56px;height:56px;margin:0;padding:0;
 display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;line-height:1;
 background:var(--red);color:#fff;border:2px solid #000;box-shadow:4px 4px 0 #000,0 0 18px rgba(179,18,27,.55);
 opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .2s,transform .2s,background .15s}
#totop.show{opacity:1;transform:none;pointer-events:auto}
#totop:hover{background:var(--red2)}
#totop span{font-size:20px}#totop small{font:700 10px 'Courier New',monospace;letter-spacing:.15em}
