html,body{margin:0;height:100%;background:#0f0f14;color:#e9eef7;font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
.stage{position:fixed;inset:0;overflow:hidden}
.layer{position:absolute;inset:0}
.hidden{display:none}
.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;image-rendering:pixelated}
.hud{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:center;padding:12px}
.bubble{background:#121826;border:1px solid #2b3144;padding:10px 14px;border-radius:12px;box-shadow:0 6px 18px rgba(0,0,0,.4)}
.btn{cursor:pointer;background:#2a2f3d;color:#e9eef7;border:1px solid #2b3144;border-radius:12px;padding:10px 14px;font-weight:700}
.btn:hover{background:#343a4b}
.sprite{position:absolute;width:128px;height:192px;image-rendering:pixelated;filter:drop-shadow(0 8px 12px rgba(0,0,0,.45))}
.sprite.short{height:160px}
#andrew{left:16%;bottom:24%}
#eevee{left:12%;bottom:22%;width:120px;height:120px}
.fade{position:absolute;inset:0;background:#000;opacity:0;transition:opacity .55s ease;pointer-events:none}
.center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center}
#eeveeIntro{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:192px;height:144px;image-rendering:pixelated}
.tail{position:absolute;left:calc(50% + 72px);top:calc(46% + 28px);width:38px;height:8px;background:#222;border-radius:10px;transform-origin:left center;animation:swish 1.6s ease-in-out infinite}
@keyframes swish{0%{transform:rotate(6deg)}50%{transform:rotate(-10deg)}100%{transform:rotate(6deg)}}
.heart{position:absolute;left:50%;top:26%;transform:translate(-50%,-50%);font-size:28px;opacity:0;animation:pop 2.4s ease-in-out infinite}
@keyframes pop{0%{opacity:0;transform:translate(-50%,-30%) scale(.6)}10%{opacity:1;transform:translate(-50%,-42%) scale(1)}30%{opacity:.9}80%{opacity:0;transform:translate(-50%,-72%) scale(1.2)}100%{opacity:0}}
.cringus{position:absolute;left:0;right:0;bottom:28px;text-align:center;opacity:.92}
.cringus span{background:#121826;border:1px solid #2b3144;border-radius:12px;padding:10px 14px}
.clickable{cursor:pointer}
.zone{position:absolute}
.toast{position:absolute;left:50%;bottom:80px;transform:translateX(-50%);background:#121826;border:1px solid #2b3144;border-radius:12px;padding:8px 12px;opacity:0;transition:opacity .25s ease}
.toast.show{opacity:1}
.hint{position:absolute;left:12px;top:12px;background:#121826;border:1px solid #2b3144;padding:6px 10px;border-radius:10px;opacity:.9;font-size:13px}
.card{width:680px;max-width:92%;text-align:center}