*{margin:0;padding:0;box-sizing:border-box}#__next,body,html{width:100%;height:100%;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}canvas{display:block}.portal{pointer-events:none;z-index:100}.overlay-backdrop,.portal{position:fixed;top:0;left:0;width:100%;height:100%}.overlay-backdrop{background:rgba(0,0,0,.5);backdrop-filter:blur(4px);pointer-events:all;z-index:99;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.overlay-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:12px;padding:24px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;pointer-events:all;box-shadow:0 10px 40px rgba(0,0,0,.3);animation:slideUp .3s ease-out;z-index:100}@keyframes slideUp{0%{transform:translate(-50%,-40%);opacity:0}to{transform:translate(-50%,-50%);opacity:1}}.mobile-only{display:none!important}.desktop-only{display:block!important}@media (max-width:768px){.mobile-only{display:flex!important}.desktop-only{display:none!important}}.hud{position:fixed;top:20px;left:20px;right:20px;bottom:20px;pointer-events:none;z-index:50}.hud-element{pointer-events:auto}.controls-guide{position:fixed;bottom:20px;right:20px;background:rgba(0,0,0,.7);color:#fff;padding:16px;border-radius:8px;font-size:12px;max-width:250px;z-index:50}.controls-guide kbd{background:hsla(0,0%,100%,.2);padding:2px 6px;border-radius:4px;font-family:monospace;margin-right:6px}button{font-family:inherit;border:none;border-radius:8px;padding:10px 20px;cursor:pointer;font-weight:600;transition:all .2s ease}button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-secondary{background:#e5e7eb;color:#1f2937}.btn-secondary:hover:not(:disabled){background:#d1d5db}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.spinner{display:inline-block;width:20px;height:20px;border-radius:50%;border:3px solid hsla(0,0%,100%,.3);border-top-color:#fff;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}