
*{box-sizing:border-box}html,body{margin:0;background:#020403;color:#c9e8c9;font:12px system-ui;height:100%;overflow:hidden}main{height:100%;display:grid;place-items:center;isolation:isolate;cursor:crosshair}.stage{position:relative;width:min(100vw,120vh);aspect-ratio:2077/1727;transform:perspective(1400px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .4s ease-out;animation:reveal 2.4s ease-out both}.logo{width:100%;height:100%;display:block;filter:brightness(1.12) saturate(1.16);animation:breathe 6s ease-in-out infinite}.light{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(ellipse at 66% 21%,#aaff8845,transparent 18%),radial-gradient(ellipse at 58% 36%,#52ff181b,transparent 35%);animation:flare 5s ease-in-out infinite}.sweep{position:absolute;inset:14% 15% 39% 28%;background:linear-gradient(115deg,transparent 42%,#b8ff8c25 49%,#efffe952 50%,transparent 55%);mix-blend-mode:screen;mask-image:linear-gradient(transparent,#000 20%,#000 75%,transparent);animation:sweep 9s ease-in-out infinite;opacity:0}.vignette{position:absolute;inset:0;box-shadow:inset 0 0 100px 50px #020403;pointer-events:none}canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.top{position:fixed;top:28px;left:32px;letter-spacing:4px;font-size:10px;color:#719473}.top:before{content:'';display:inline-block;width:5px;height:5px;background:#98ff59;border-radius:100%;margin-right:12px;box-shadow:0 0 12px #98ff59}.bottom{position:fixed;bottom:26px;left:32px;right:32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.caption{letter-spacing:3px;color:#66846a;font-size:9px}button{border:1px solid #73b44a55;background:#071007b3;border-radius:30px;color:#b9e4a7;padding:12px 20px;font:10px system-ui;letter-spacing:2px;cursor:pointer}button:hover{background:#193019;box-shadow:0 0 25px #80ff231a}.flash{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 60% 30%,#c8ffa950,transparent 60%);opacity:0}.flash.fire{animation:flash .9s ease-out}@keyframes breathe{50%{filter:brightness(1.28) saturate(1.3)}}@keyframes flare{50%{opacity:.35;transform:scale(1.025)}}@keyframes sweep{0%,30%,85%,100%{opacity:0;transform:translateX(-45%)}40%{opacity:.8}65%{opacity:0;transform:translateX(55%)}}@keyframes reveal{from{opacity:0;filter:blur(12px);transform:scale(.94)}to{opacity:1;filter:blur(0)}}@keyframes flash{0%{opacity:0}15%{opacity:1}100%{opacity:0}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}canvas{display:none}}@media(max-width:600px){.top{left:20px}.bottom{left:20px;right:20px}.caption{max-width:150px;line-height:1.8}.vignette{box-shadow:inset 0 0 40px 12px #020403}}

html,body{min-height:100%;height:100%;background:#020403}
main{min-height:100svh;height:100svh;cursor:default;overflow:hidden}
a.stage{display:block;color:inherit;text-decoration:none;cursor:pointer;max-width:1000px;flex-shrink:0}
a.stage:focus-visible{outline:none}
.sweep{pointer-events:none}
@media(prefers-reduced-motion:reduce){.stage{transform:none!important}.light,.sweep,.flash{display:none}}

html,body{overflow-y:auto}body>main{width:100%;padding:0;margin:0;max-width:none}.activity-footer{position:relative;z-index:2;text-align:left;background:#070c08;color:#cbd7c7}.activity-footer a{color:#a4d77c}
