:root{--accent:#8ee7ff;--rgb:93,202,255}*{box-sizing:border-box}body{margin:0;background:#030608;color:#f0f4f5;font-family:Barlow,Arial,sans-serif}body[data-mode="1"]{--accent:#ffb34e;--rgb:255,102,22}body[data-mode="2"]{--accent:#b6a0e9;--rgb:121,79,189}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}#stage{position:relative;width:100vw;height:100svh;overflow:hidden;isolation:isolate;background:#030608}.aura{position:absolute;inset:-20%;background:radial-gradient(ellipse at 50% 45%,rgba(var(--rgb),.24),transparent 58%);transition:background 1.5s}.rays{position:absolute;inset:0;opacity:.13;background:repeating-conic-gradient(from 0deg at 50% 45%,transparent 0deg 14deg,rgba(var(--rgb),.4) 15deg,transparent 16deg 30deg);filter:blur(15px)}.portraits{position:absolute;inset:0;display:grid;place-items:center}.portrait{position:absolute;width:min(100vw,50svh);height:min(200vw,100svh);background-image:url(assets/portraits.png);background-size:300% 100%;background-position:var(--pos) center;opacity:0;transform:scale(1.04);filter:blur(15px);transition:opacity 1.8s,transform 7s linear,filter 1.8s;mask-image:radial-gradient(ellipse 58% 58% at 50% 43%,black 32%,rgba(0,0,0,.95) 48%,rgba(0,0,0,.55) 68%,transparent 94%)}.portrait.active{opacity:1;transform:scale(1);filter:blur(0)}canvas,.veil,.flash{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.veil{background:linear-gradient(0deg,#030608 0%,transparent 38%),linear-gradient(90deg,rgba(0,0,0,.55),transparent 35%,transparent 65%,rgba(0,0,0,.45));box-shadow:inset 0 0 130px #0008}.flash{opacity:0;background:radial-gradient(ellipse,rgba(var(--rgb),.35),transparent 70%)}.flash.burst{animation:burst 1.7s ease-out}@keyframes burst{15%{opacity:1}100%{opacity:0}}.scorpion{position:absolute;right:-3%;top:24%;width:30vw;height:50vh;fill:none;stroke:var(--accent);stroke-width:5;opacity:0;filter:blur(1px) drop-shadow(0 0 15px #f70);transform:rotate(-15deg) scale(.7);transition:opacity 1.5s,transform 3s}.scorpion ellipse{fill:var(--accent)}body[data-mode="1"] .scorpion{opacity:.11;transform:rotate(0) scale(1)}@media(prefers-reduced-motion:reduce){.portrait{transition:opacity 1s;transform:none!important}.rays{display:none}}.portrait.ambient{filter:blur(48px);transform:scale(1.8);mask-image:radial-gradient(ellipse,black 15%,transparent 70%);transition:opacity 2s}.portrait.ambient.active{opacity:.5;filter:blur(48px);transform:scale(1.8)}