*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;background:#05130d;color:#b9ffd1;font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
#stage{position:relative;min-height:100%;display:grid;place-items:center;overflow:hidden;cursor:pointer}
#art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:contrast(1.06) saturate(1.05) brightness(.92)}
#matrix{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;mix-blend-mode:screen;transition:opacity .25s ease}
#stage.active #matrix{opacity:.55}
#neon{position:absolute;top:8%;left:50%;transform:translateX(-50%);font-weight:900;letter-spacing:.08em;font-size:min(16vw,160px);color:#a6ffc0;text-shadow:0 0 6px #8bffb1,0 0 20px #48e68b,0 0 40px #1dc471;opacity:0;pointer-events:none}
#stage.active #neon{opacity:.95;animation:flicker 3.2s linear infinite}
@keyframes flicker{0%,19%,21%,23%,80%,100%{filter:brightness(1)}20%,22%{filter:brightness(2)}55%{filter:brightness(.8)}}
#badge{position:absolute;bottom:5%;left:50%;transform:translateX(-50%);padding:.5rem .75rem;border:1px solid rgba(0,255,150,.35);border-radius:8px;font-size:12px;letter-spacing:.18em;color:#9affb8;background:rgba(0,0,0,.28);opacity:0;transition:opacity .25s ease;pointer-events:none}
#stage.easter #badge{opacity:1}
#hint{position:absolute;bottom:10px;right:12px;font-size:12px;opacity:.55;background:rgba(0,0,0,.25);padding:6px 8px;border-radius:6px;border:1px solid rgba(0,255,150,.18)}
/* subtle scanlines */
#stage:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,0) 0 2px,rgba(0,0,0,.15) 2px 3px);opacity:.22}
