:root{--bg: #050507;--fg: #f2f1ec;--mute: #8e8e9a;--iri1: #7ee8d8;--iri2: #9b8cff;--iri3: #ff7ad9;--iri4: #ffd36a}html,body{background:var(--bg);color:var(--fg);overscroll-behavior-x:none}[data-luce]{opacity:0;transition:opacity .9s ease}html[data-fascio-acceso] [data-luce],html[data-webgl="0"] [data-luce]{opacity:1}@media (prefers-reduced-motion: reduce){[data-luce]{transition:none}}.carico{position:fixed;left:50%;top:50%;z-index:5;width:44px;height:1px;translate:-50% -50%;background:var(--fg);pointer-events:none;animation:carico 1.3s ease-in-out infinite alternate;transition:opacity .4s ease}@keyframes carico{0%{opacity:.12;scale:.5 1}to{opacity:.55;scale:1 1}}html[data-scena-pronta] .carico,html[data-webgl="0"] .carico{opacity:0;animation:none}.cristallo{position:fixed;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}html[data-cristallo-no] .cristallo{display:none}.frase-entrata{position:fixed;left:0;right:0;top:46%;transform:translateY(-50%);z-index:4;margin:0;padding:0 16px;pointer-events:none;text-align:center;font-size:clamp(40px,8.2vw,104px);line-height:.98;font-weight:600;letter-spacing:-.045em}.frase-entrata .riga{display:block;white-space:nowrap}.frase-entrata .p{display:inline-block;opacity:0;will-change:transform,opacity,filter}.iri{background:linear-gradient(90deg,var(--iri1),var(--iri2),var(--iri3),var(--iri4),var(--iri1));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:iri 9s linear infinite}@keyframes iri{to{background-position:300% 0}}@media (prefers-reduced-motion: reduce){.iri{animation:none}}.tessera-entrata{position:fixed;z-index:4;border-radius:8%;pointer-events:none}.tessera-entrata[data-tessera="1"]{z-index:5}.pulsante-vetro{position:fixed;z-index:4;display:grid;place-items:center;border-radius:999px;opacity:0;pointer-events:none;color:var(--fg);font-size:12px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;text-decoration:none}.pulsante-vetro:hover{text-shadow:0 0 14px rgb(255 255 255 / .55)}.tessera-entrata:focus-visible,.pulsante-vetro:focus-visible,.blocco:focus-visible{outline:2px solid var(--fg);outline-offset:4px}.blocco{position:fixed;z-index:4;border:0;padding:0;background:transparent;border-radius:8%;cursor:pointer;pointer-events:none}.blocco-nome{position:fixed;z-index:5;margin:0;pointer-events:none;opacity:0;transform:translate(-50%,-100%);font-size:clamp(18px,1.7vw,28px);line-height:1.05;font-weight:700;letter-spacing:-.025em;white-space:nowrap;transition:opacity .25s ease}.velo{position:fixed;inset:0;z-index:5}.velo[hidden],.scheda-avanti[hidden]{display:none}.scheda-avanti{position:fixed;z-index:6;transform:translate(-50%);display:grid;justify-items:center;gap:10px;text-align:center;width:min(560px,calc(100vw - 32px));padding:0 4px}.scheda-avanti h2{margin:0;font-size:clamp(26px,3vw,40px);line-height:1;font-weight:700;letter-spacing:-.03em}.scheda-avanti p{margin:0;color:var(--mute);font-size:16px;line-height:1.45;max-width:42ch}.scheda-avanti button{margin-top:4px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid rgb(242 241 236 / .3);background:transparent;color:var(--fg);font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.scheda-avanti button:focus-visible{outline:2px solid var(--fg);outline-offset:3px}.scorri{position:fixed;left:0;right:0;bottom:calc(22px + env(safe-area-inset-bottom,0px));margin:0;text-align:center;z-index:4;pointer-events:none;font-size:12px;letter-spacing:.1em;color:var(--mute)}.fine-entrata{position:fixed;left:50%;bottom:calc(12svh + env(safe-area-inset-bottom,0px));z-index:4;transform:translate(-50%);display:grid;place-items:center;min-height:44px;padding:0 22px;border-radius:999px;border:1px solid rgb(242 241 236 / .3);color:var(--fg);font-size:12px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;text-decoration:none;opacity:0;pointer-events:none}.fine-entrata:hover{border-color:#f2f1ecb3}.fine-entrata:focus-visible{outline:2px solid var(--fg);outline-offset:3px}.track{position:relative;z-index:0}.track section{height:100svh}@media (pointer: coarse){html{scroll-snap-type:y proximity}.track section{scroll-snap-align:start}}.elenco{position:absolute;left:-9999px}html[data-webgl="0"] .elenco{position:static;padding:24svh 24px;font-size:24px;line-height:1.6}html[data-webgl="0"] .frase-entrata,html[data-webgl="0"] .track{display:none}
