body > canvas { opacity:0; transition:opacity 2s ease; }
body.start-reveal > canvas { opacity:1; }
html.returning-to-start body > canvas { opacity:1;transition:none; }
html.returning-to-start #start-intro { display:none; }
#start-intro { position:fixed;inset:0;z-index:20;background:#000;display:grid;place-items:center;padding:8vw;opacity:1;transition:opacity 2s ease; }
#start-intro p { color:#ABF6E9;font:400 clamp(23px,3.1vw,48px)/1.5 Georgia,'Times New Roman',serif;letter-spacing:.015em;text-align:center;max-width:1000px;text-wrap:balance; }
body.start-reveal #start-intro { opacity:0;pointer-events:none; }
.route-arrow { position:fixed;left:0;top:0;z-index:5;border:0;background:transparent;padding:8px;color:#76b7ad;cursor:pointer;display:none;filter:drop-shadow(0 2px 3px #0002); }
body.start-ready .route-arrow { display:block; }
.route-arrow svg { width:25px;height:31px;animation:route-blink 1.25s ease-in-out infinite; }
@keyframes route-blink { 0%,100%{opacity:.25;transform:translateY(-4px)}50%{opacity:1;transform:translateY(2px)} }
.route-arrow:focus-visible { outline:2px solid #76b7ad;border-radius:8px; }
body:not(.start-ready) .hint { opacity:0; }
@media(prefers-reduced-motion:reduce){.route-arrow svg{animation:none}}
