*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;width:100%;overflow:hidden;background:#23252a;color:#cdcfd2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:default}body{position:fixed;inset:0}#stage{position:absolute;inset:0;z-index:0}#stage canvas{display:block;width:100%!important;height:100%!important;position:absolute;inset:0}#overlay{position:absolute;inset:0;z-index:10;pointer-events:none}.teardrop{position:absolute;left:50%;top:50%;width:30px;height:46px;transform:translate(-50%,calc(-50% - 60vh));pointer-events:none;filter:drop-shadow(0 0 12px rgba(220,235,255,.25));will-change:transform,opacity}.teardrop svg{width:100%;height:100%;display:block}@keyframes teardropFall{0%{transform:translate(-50%,calc(-50% - 60vh));opacity:1}88%{transform:translate(-50%,-50%);opacity:1}to{transform:translate(-50%,calc(-50% + 6px));opacity:0}}.entry-hint{position:absolute;inset:0;display:grid;place-items:center;pointer-events:auto;cursor:pointer;transition:opacity .7s ease-out;z-index:20}.entry-hint.fade-out{opacity:0;pointer-events:none}.entry-pulse{width:12px;height:12px;border-radius:50%;background:#cdd3dd;box-shadow:0 0 6px #dce8ff8c,0 0 20px #b4c8e652;animation:entryBreathe 2.6s ease-in-out infinite}.entry-label{position:absolute;bottom:12vh;font-size:11px;letter-spacing:.55em;padding-left:.55em;color:#cdd3dd61;animation:entryHintLabel 3.2s ease-in-out infinite}@keyframes entryBreathe{0%,to{transform:scale(1);opacity:.55}50%{transform:scale(1.6);opacity:1}}@keyframes entryHintLabel{0%,to{opacity:.24}50%{opacity:.62}}.replay-btn{position:absolute;right:30px;bottom:30px;width:32px;height:32px;border-radius:50%;border:1px solid rgba(205,207,210,.22);background:#23252a6b;backdrop-filter:blur(6px);display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity 1.2s ease-out,transform .22s ease-out,border-color .22s ease-out;cursor:pointer}.replay-btn.visible{opacity:.32;pointer-events:auto}.replay-btn.visible:hover{opacity:.85;border-color:#cdcfd28c;transform:scale(1.05)}.replay-btn svg{width:15px;height:15px;stroke:#cdcfd2;stroke-width:1.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
