*{box-sizing:border-box;margin:0;padding:0}html,body{background:#1a1a22;width:100%;height:100%;overflow:hidden}#game{width:100vw;height:100dvh}#game canvas{display:block}#gate{z-index:10;background:radial-gradient(circle at 50% 30%,#2a2233,#14101a);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#gate[hidden]{display:none}.gate-card{text-align:center;color:#3a2f2a;background:#fff7ec;border-radius:16px;width:min(86vw,340px);padding:28px 24px;font-family:system-ui,sans-serif;box-shadow:0 12px 40px #0006}.gate-card h1{margin-bottom:4px;font-size:26px}.gate-sub{opacity:.7;margin-bottom:18px;font-size:13px}.otp{justify-content:center;gap:clamp(5px,2vw,9px);margin:8px 0 10px;display:flex}.otp-box{text-align:center;color:#3a2f2a;caret-color:#e88aa0;-moz-appearance:textfield;background:#fff;border:2px solid #e0d3c2;border-radius:12px;outline:none;width:clamp(34px,12.5vw,46px);height:54px;font-size:clamp(20px,6vw,26px);font-weight:700;transition:border-color .15s,box-shadow .15s,transform 80ms}.otp-box::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.otp-box::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.otp-box:focus{border-color:#e88aa0;box-shadow:0 0 0 4px #e88aa038}.otp.shake{animation:.42s cubic-bezier(.36,.07,.19,.97) otpShake}@keyframes otpShake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-6px)}40%,60%{transform:translate(6px)}}.gate-hint{color:#8a7a68;margin-top:2px;font-size:12px}.gate-error{color:#c0506a;margin-top:10px;font-size:13px}#rotate{z-index:20;text-align:center;color:#fff7ec;background:radial-gradient(circle at 50% 40%,#2a2233,#14101a);justify-content:center;align-items:center;font-family:system-ui,sans-serif;display:none;position:fixed;inset:0}@media (orientation:portrait){body.playing #rotate{display:flex}}.rotate-emoji{font-size:56px;animation:2.6s ease-in-out infinite rotateHint}.rotate-card p{margin-top:16px;font-size:18px}.rotate-card .rotate-sub{opacity:.7;margin-top:4px;font-size:13px}@keyframes rotateHint{0%,55%{transform:rotate(0)}80%,to{transform:rotate(90deg)}}
