*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;overscroll-behavior:none;background:#0a0a0f;width:100%;height:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}body{position:fixed;inset:0}.app-root{width:100%;height:100%;position:relative}.copyright-mark{z-index:20;letter-spacing:.04em;color:#ffffff8c;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:11px;line-height:1;position:fixed;bottom:10px;right:14px}canvas{touch-action:none}.splash{background:#0a0a0f;flex-direction:column;justify-content:center;align-items:center;height:100%;animation:.5s ease-in fadeIn;display:flex}.splash-title{color:#fff;letter-spacing:.3em;text-transform:uppercase;margin:0;font-size:2.5rem;font-weight:300}.splash-subtitle{color:#888;letter-spacing:.5em;text-transform:uppercase;margin-top:.5rem;font-size:1.2rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.main-menu{background:#0a0a0f;flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100%;display:flex}.menu-title{color:#fff;letter-spacing:.3em;text-transform:uppercase;margin:0;font-size:2.5rem;font-weight:300}.menu-subtitle{color:#888;letter-spacing:.5em;text-transform:uppercase;margin:0 0 2rem;font-size:1rem}.menu-btn{cursor:pointer;text-transform:uppercase;letter-spacing:.15em;border:none;font-family:inherit;transition:opacity .2s}.menu-btn:active{opacity:.7}.play-btn{color:#fff;background:#2a6aff;border-radius:8px;padding:.9rem 3rem;font-size:1.2rem;font-weight:600}.menu-stats{color:#666;margin:.5rem 0 2rem;font-size:.85rem}.settings-btn{color:#666;background:0 0;border:1px solid #333;border-radius:6px;padding:.5rem 1.5rem;font-size:.8rem}.hud{pointer-events:none;z-index:10;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.hud-top{padding:env(safe-area-inset-top,8px) 16px 8px 16px;pointer-events:auto;justify-content:space-between;align-items:center;display:flex}.hud-label{color:#aaa;text-transform:uppercase;letter-spacing:.15em;font-size:.9rem}.hud-seed{color:#666;letter-spacing:.05em;font-size:.8rem}.hud-bottom{padding:12px 16px env(safe-area-inset-bottom,12px) 16px;pointer-events:auto;justify-content:center;gap:16px;display:flex}.hud-btn{color:#888;cursor:pointer;text-transform:uppercase;letter-spacing:.1em;background:0 0;border:1px solid #333;border-radius:6px;padding:6px 18px;font-family:inherit;font-size:.8rem;transition:opacity .2s}.hud-btn:active{opacity:.6}.hud-btn:disabled{opacity:.4;cursor:default}.skip-btn{color:#777}.jump-dialog-overlay{z-index:20;pointer-events:auto;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.jump-dialog{background:#16161e;border:1px solid #333;border-radius:10px;flex-direction:column;gap:12px;width:240px;padding:20px;display:flex}.jump-dialog-title{color:#ccc;text-transform:uppercase;letter-spacing:.1em;text-align:center;font-size:.9rem}.jump-dialog-input{color:#eee;text-align:center;background:#0a0a0f;border:1px solid #333;border-radius:6px;padding:8px 10px;font-family:inherit;font-size:1rem}.jump-dialog-error{color:#f66;text-align:center;font-size:.75rem}.jump-dialog-actions{justify-content:center;gap:12px;display:flex}.win-overlay{z-index:20;background:#000000b3;justify-content:center;align-items:center;animation:.3s ease-out winFadeIn;display:flex;position:absolute;inset:0}.win-card{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.win-title{color:#fff;letter-spacing:.15em;text-transform:uppercase;margin:0;font-size:1.6rem;font-weight:400}.win-btn{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.15em;background:#2a6aff;border:none;border-radius:8px;padding:.8rem 3rem;font-family:inherit;font-size:1.1rem;font-weight:600;transition:opacity .2s}.win-btn:active{opacity:.7}@keyframes winFadeIn{0%{opacity:0}to{opacity:1}}.game-scene{background:#0a0a0f;width:100%;height:100%;position:relative;overflow:hidden}
