*,: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}.main-menu{justify-content:flex-start;padding:36px 20px 48px;overflow-y:auto}.menu-subtitle{margin-bottom:.5rem}.menu-stats{margin:0}.menu-btn:disabled{opacity:.45;cursor:default}.daily-btn{background:#713bc4}.account-bar{align-items:center;gap:12px;display:flex}.menu-notice{text-align:center;color:#aaa;max-width:520px;font-size:.8rem;line-height:1.6}.leaderboard{border:1px solid #333;border-radius:10px;width:min(100%,520px);padding:16px}.leaderboard h2{margin-bottom:12px;font-size:1rem}.leaderboard p{color:#aaa}.leaderboard ol{padding-left:24px}.leaderboard li{padding:6px}.leaderboard time{font-variant-numeric:tabular-nums}.leaderboard small{color:#aaa}.play-btn:disabled{color:#898995;opacity:1;background:#303039}.tutorial-btn{background:#315b8a}.leaderboard-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.leaderboard-player{align-items:center;gap:10px;min-width:0;display:flex}.leaderboard-name{overflow-wrap:anywhere}.leaderboard-avatar{color:#c9c9e4;background:#303044;border-radius:50%;flex:0 0 32px;place-items:center;width:32px;height:32px;font-size:.85rem;display:grid;position:relative;overflow:hidden}.leaderboard-avatar img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.leaderboard time{text-align:right;flex-shrink:0}@media (width<=420px){.leaderboard small{display:block}}.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}.game-board{width:100%;height:100%;min-height:0}.game-scene--tutorial{padding-top:calc(env(safe-area-inset-top,0px) + 44px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 54px);flex-direction:column;display:flex}.game-scene--tutorial .game-board{flex:1;height:auto}.tutorial-rule{text-align:center;pointer-events:none;flex:none;width:min(100%,560px);margin-inline:auto;padding:10px 24px 0}.tutorial-rule-text{color:#dce4f3;text-wrap:balance;padding:0 0 18px;font-size:clamp(.9rem,2.5vw,1.1rem);font-weight:400;line-height:1.55;animation:.65s cubic-bezier(.2,.7,.2,1) both tutorial-rule-enter;position:relative}.tutorial-rule-text:after{content:"";background:linear-gradient(90deg,#0000,#a9bdf3,#0000);width:80px;height:2px;animation:.85s ease-out .1s both tutorial-rule-line;position:absolute;bottom:0;left:calc(50% - 40px);box-shadow:0 0 14px #91aaff40}@keyframes tutorial-rule-enter{0%{opacity:0;filter:blur(4px);transform:translateY(10px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes tutorial-rule-line{0%{opacity:0;transform:scaleX(.2)}to{opacity:1;transform:scaleX(1)}}@media (height<=500px){.tutorial-rule{padding-top:0}.tutorial-rule-text{padding-bottom:10px;font-size:.85rem;line-height:1.35}}@media (prefers-reduced-motion:reduce){.tutorial-rule-text,.tutorial-rule-text:after{animation:none}}
