*,:before,:after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html{height:100%;height:100dvh;overflow:hidden}body{width:100%;height:100%;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#080818;height:100dvh;margin:0;padding:0;position:fixed;overflow:hidden}#app{background:#000;justify-content:center;align-items:center;width:100vw;height:100dvh;display:flex;position:relative;overflow:hidden}#game-canvas{touch-action:none;-webkit-touch-callout:none;display:block;position:absolute;top:52px;left:0}.rotate-prompt{z-index:9999;text-align:center;color:#fff;background:#1a1a2e;flex-direction:column;justify-content:center;align-items:center;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,monospace,sans-serif;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.rotate-prompt__content{flex-direction:column;align-items:center;gap:24px;display:flex}.rotate-prompt__icon{font-size:64px;animation:1.5s ease-in-out infinite alternate rotate-hint}.rotate-prompt__message{max-width:280px;font-size:18px;line-height:1.5}@keyframes rotate-hint{0%{transform:rotate(0)}to{transform:rotate(90deg)}}.hud-bar{padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);z-index:100;-webkit-backdrop-filter:blur(16px);pointer-events:none;background:#080818d9;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:8px;height:52px;padding:0 10px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 20px #0006}.hud-bar__left{flex-shrink:0;align-items:center;gap:10px;display:flex}.hud-bar__center{flex:1;justify-content:center;align-items:center;min-width:0;display:flex}.hud-bar__right{flex-shrink:0;align-items:center;gap:8px;display:flex}.hud-info-group{flex-direction:column;align-items:center;gap:1px;display:flex}.hud-info-value{color:var(--color-gold);text-shadow:0 0 8px #daa52080;text-align:center;font-variant-numeric:tabular-nums;min-width:48px;font-size:18px;font-weight:700;line-height:1;display:inline-block}.hud-info-label{color:#ffffff80;text-transform:uppercase;letter-spacing:.06em;font-size:10px;line-height:1}.hud-counter{color:#fff;font-size:13px;font-weight:700}.hud-counter--low{color:#e74c3c}.hud-tier-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:700}.hud-tier-badge[data-tier=beginner]{background:var(--tier-beginner-bg);color:var(--tier-beginner-text);box-shadow:var(--tier-beginner-glow)}.hud-tier-badge[data-tier=apprentice]{background:var(--tier-apprentice-bg);color:var(--tier-apprentice-text);box-shadow:var(--tier-apprentice-glow)}.hud-tier-badge[data-tier=challenger]{background:var(--tier-challenger-bg);color:var(--tier-challenger-text);box-shadow:var(--tier-challenger-glow)}.hud-tier-badge[data-tier=expert]{background:var(--tier-expert-bg);color:var(--tier-expert-text);box-shadow:var(--tier-expert-glow)}.hud-practice-badge{color:#87ceeb;letter-spacing:.08em;white-space:nowrap;background:#4a9eff26;border:1px solid #4a9eff59;border-radius:6px;flex-shrink:0;padding:4px 12px;font-size:12px;font-weight:700}.hud-btn{pointer-events:auto;color:#fff;transition:all var(--transition-fast);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;transition:background .15s;display:flex}.hud-btn:hover{background:#ffffff1f;border-color:#ffffff38}.hud-btn:focus-visible{outline-offset:2px;outline:2px solid #fff}.hud-combo{pointer-events:none;z-index:99;position:fixed;top:58px;left:50%;transform:translate(-50%)}.hud-combo__badge{color:var(--color-gold);letter-spacing:.02em;text-shadow:var(--glow-gold);font-size:18px;font-weight:800;display:block}.hud-combo--pop .hud-combo__badge{animation:.25s cubic-bezier(.36,1.4,.64,1) both hud-combo-pop}@keyframes hud-combo-pop{0%{opacity:.4;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.main-menu{z-index:300;background:#0a0a1e;flex-direction:column;justify-content:space-between;align-items:center;height:100dvh;max-height:100dvh;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}#menu-particles{z-index:0;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.main-menu__inner{z-index:1;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;width:100%;max-width:340px;padding:40px 32px;display:flex;position:relative}.main-menu__title{color:#fff;letter-spacing:-.02em;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(28px,8vw,64px);font-weight:900;line-height:1}.menu-logo__img{filter:drop-shadow(0 0 12px #daa5204d);width:clamp(180px,40vw,300px);height:auto;margin:0 auto;animation:3s ease-in-out infinite alternate logo-glow-pulse;display:block}@keyframes logo-glow-pulse{0%{filter:drop-shadow(0 0 8px #daa52033)}to{filter:drop-shadow(0 0 20px #daa52080)drop-shadow(0 0 40px #daa52026)}}@media (prefers-reduced-motion:reduce){.menu-logo__img{filter:drop-shadow(0 0 10px #daa5204d);animation:none}}#menu-logo-title,.main-menu__high-score,#menu-progress,.main-menu__btn,.main-menu__toolbar{opacity:0}.main-menu__tagline{color:#ffffff8c;text-align:center;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:clamp(11px,3vw,14px)}.main-menu__high-score{color:#ffffffb3;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:14px}.main-menu__high-score strong{color:#ffd93d}.main-menu__nav{flex-direction:column;gap:10px;width:100%;display:flex}.main-menu__btn{border-radius:var(--radius-md);background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);width:100%;color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-normal);border:1px solid #ffffff14;justify-content:center;align-items:center;gap:8px;padding:16px 24px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;font-weight:600;display:flex;position:relative;overflow:hidden}.main-menu__btn:before{content:"";background:linear-gradient(105deg,#0000 40%,#ffffff0f 50%,#0000 60%);transition:transform .5s;position:absolute;top:0;bottom:0;left:0;right:0;transform:translate(-100%)}.main-menu__btn:hover:before{transform:translate(100%)}.main-menu__btn:after{content:attr(data-tooltip);color:#fff;white-space:normal;text-align:center;opacity:0;pointer-events:none;z-index:100;background:#000000d9;border-radius:6px;max-width:260px;padding:6px 12px;font-size:12px;font-weight:400;transition:opacity .2s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.main-menu__btn:hover:after{opacity:1}.main-menu__btn:hover{background:#ffffff12;border-color:#ffffff2e;transform:translateY(-2px)}.main-menu__btn:active{transform:translateY(0)}.main-menu__btn:focus-visible{outline-offset:3px;outline:2px solid #fff}.main-menu__btn--play{background:linear-gradient(135deg,#6b1515 0%,#8b1a1a 100%);border-color:#8b1a1a99;animation:2.5s ease-in-out infinite alternate cta-glow;box-shadow:0 4px 24px #8b1a1a4d,inset 0 1px #ffffff1a}@keyframes cta-glow{0%{box-shadow:0 4px 20px #8b1a1a4d,inset 0 1px #ffffff1a}to{box-shadow:0 4px 32px #c81e1e80,0 0 60px #8b1a1a33,inset 0 1px #ffffff26}}.main-menu__btn--play:hover{background:linear-gradient(135deg,#7d1818 0%,#a52020 100%);transform:translateY(-3px);box-shadow:0 8px 40px #c81e1e80,inset 0 1px #ffffff26}#btn-practice-range:hover{box-shadow:var(--glow-blue);border-color:#4a9eff80}.main-menu__btn--compete:hover{box-shadow:var(--glow-gold);border-color:#daa52080}@media (prefers-reduced-motion:reduce){.main-menu__btn--play{animation:none}.main-menu__btn:hover{transform:none}.main-menu__btn:before{display:none}}.main-menu__toolbar{justify-content:center;gap:12px;display:flex}.main-menu__icon-btn{border-radius:var(--radius-sm);border:var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);width:44px;height:44px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);cursor:pointer;justify-content:center;align-items:center;font-size:18px;transition:background .15s;display:flex}.main-menu__icon-btn:hover{color:var(--color-text-primary);background:#ffffff1a;border-color:#fff3}.main-menu__icon-btn:focus-visible{outline-offset:3px;outline:2px solid #fff}.formation-hint{pointer-events:none;z-index:60;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;top:60%;left:0;right:0}.formation-hint__line{border-top:2px dashed #fff9;width:80%;height:2px;animation:1.2s ease-in-out infinite formation-hint-pulse}.formation-hint__text{color:#ffffffd9;text-align:center;text-shadow:0 1px 4px #000000b3;background:#0006;border-radius:4px;margin:0;padding:4px 12px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}@keyframes formation-hint-pulse{0%,to{opacity:.5}50%{opacity:1}}.menu-progress{flex-direction:column;align-items:center;gap:6px;width:240px;margin-bottom:8px;display:flex}.menu-progress__tier{align-items:center;gap:8px;display:flex}.menu-progress__tier-badge{letter-spacing:.08em;text-transform:uppercase;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:700}.menu-progress__tier-badge[data-tier=beginner]{color:#90ee90;background:#2d6a2d}.menu-progress__tier-badge[data-tier=apprentice]{color:#87ceeb;background:#2d4a7a}.menu-progress__tier-badge[data-tier=challenger]{color:#ffd580;background:#7a4a2d}.menu-progress__tier-badge[data-tier=expert]{color:#ff9090;background:#6a1a1a}.menu-progress__level-text{color:#ffffff8c;font-size:13px}.menu-progress__bar-wrap{background:#ffffff1a;border-radius:99px;width:100%;height:4px;overflow:hidden}.menu-progress__bar{background:linear-gradient(90deg,#4a9eff,#a0cfff);border-radius:99px;width:0%;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.menu-progress__next-label{color:#ffffff59;font-size:11px}.menu-footer{z-index:1;border-top:1px solid #ffffff0f;flex-direction:column;flex-shrink:0;align-items:center;gap:12px;width:100%;margin-top:auto;padding:16px 24px;display:flex;position:relative}.menu-footer__links{flex-wrap:wrap;justify-content:center;gap:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:11px;display:flex}.menu-footer__links a{color:#fff6;text-decoration:none;transition:color .2s}.menu-footer__links a:hover{color:#ffffffe6}.menu-footer__stores{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.store-btn{color:#fff;background:#ffffff0d;border:1px solid #fff3;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:12px;text-decoration:none;transition:background .2s;display:flex}.store-btn:hover{background:#ffffff1f}.store-btn__icon{font-size:20px}.store-btn__sub{opacity:.7;font-size:10px;display:block}.store-btn__name{font-size:14px;font-weight:700;display:block}.menu-footer__version{color:#fff3;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:10px}.level-failed-overlay{z-index:500;color:#fff;letter-spacing:.04em;pointer-events:none;background:#0a0a1ed1;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.level-failed-overlay.hidden{display:none}.confirm-overlay{z-index:9999;-webkit-backdrop-filter:blur(3px);background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.confirm-overlay.hidden{display:none}.confirm-card{text-align:center;background:#16213e;border:1px solid #ffffff1f;border-radius:16px;width:90%;max-width:360px;padding:32px 36px;animation:.2s cubic-bezier(.34,1.56,.64,1) forwards card-pop-in}.confirm-card__message{color:#fff;margin:0 0 24px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:17px;font-weight:600;line-height:1.5}.confirm-card__sub{color:#ffffff80;margin-top:6px;font-size:13px;font-weight:400;display:block}.confirm-card__actions{justify-content:center;gap:12px;display:flex}.confirm-btn{cursor:pointer;border:none;border-radius:10px;min-width:100px;padding:11px 28px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:15px;font-weight:600;transition:opacity .15s,transform .1s}.confirm-btn:hover{opacity:.85;transform:scale(1.03)}.confirm-btn:focus-visible{outline-offset:3px;outline:2px solid #fff}.confirm-btn--ghost{color:#fff;background:#ffffff14;border:1px solid #ffffff2e}.confirm-btn--danger{color:#fff;background:#8b1a1a}.hud-hints{color:#ffffff73;letter-spacing:.04em;pointer-events:none;white-space:nowrap;text-overflow:ellipsis;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:11px;overflow:hidden}@media (max-width:480px){.hud-hints{display:none}}.sp-overlay{z-index:9999;isolation:isolate;pointer-events:auto;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);will-change:opacity;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;transform:translateZ(0)}.sp-panel{z-index:10000;pointer-events:auto;will-change:auto;background:#1a1a2e;border:1px solid #ffffff26;border-radius:16px;flex-direction:column;gap:0;width:min(92vw,400px);max-height:90vh;padding:0;display:flex;position:relative;overflow-y:auto;transform:translateZ(0)}.sp-panel::-webkit-scrollbar{width:6px}.sp-panel::-webkit-scrollbar-track{background:0 0}.sp-panel::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.sp-panel button,.sp-panel input,.sp-panel select,.sp-panel .grid-option-btn,.sp-panel .sp-close-btn{pointer-events:auto}.sp-head-row{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.sp-heading{color:#fff;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:18px;font-weight:700}.sp-close-btn{z-index:10001;color:#ffffffb3;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;transition:background .15s;display:flex;position:relative;pointer-events:auto!important;cursor:pointer!important}.sp-close-btn:hover{color:#fff;background:#ffffff29}.sp-close-btn:focus-visible{outline-offset:2px;outline:2px solid #fff}.sp-section{border-bottom:1px solid #ffffff0f;flex-direction:column;gap:12px;padding:16px 24px;display:flex}.sp-section:last-child{border-bottom:none}.sp-section--danger .sp-section-title{color:#ff7878e6}.sp-section-title{color:#ffffff73;letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:11px;font-weight:600}.sp-row{justify-content:space-between;align-items:center;gap:12px;min-height:32px;display:flex}.sp-label{color:#ffffffd9;flex:1;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:14px}.sp-row-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.sp-checkbox{accent-color:#ff6b6b;cursor:pointer;flex-shrink:0;width:18px;height:18px}.sp-slider{accent-color:#ff6b6b;cursor:pointer;width:110px}.sp-slider-value{color:#fff9;text-align:right;min-width:34px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:12px}.sp-select{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #fff3;border-radius:8px;outline:none;padding:5px 8px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.sp-select:focus-visible{outline-offset:2px;outline:2px solid #fff}.sp-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;padding:6px 14px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.sp-btn:hover{background:#ffffff2e}.sp-btn:focus-visible{outline-offset:2px;outline:2px solid #fff}.sp-btn--danger{color:#ffa0a0e6;background:#dc505033;border-color:#dc505066}.sp-btn--danger:hover{background:#dc505059}.settings-character-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:6px;display:grid}.character-btn{color:#fff9;cursor:pointer;text-align:center;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:8px;min-height:44px;padding:10px 8px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;font-weight:500;transition:all .2s}.character-btn[aria-pressed=true]{color:#daa520;background:#daa52033;border-color:#daa52080}.character-btn:hover{background:#ffffff1a;border-color:#ffffff40}.sp-confirm-row{background:#b43c3c26;border:1px solid #b43c3c4d;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;display:flex}.sp-confirm-text{color:#ffc8c8e6;flex:1;min-width:160px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.archypop--high-contrast .hud{background:#000000bf}.archypop--high-contrast .hud-score{color:#fff;text-shadow:0 1px 3px #000}.archypop--high-contrast .hud-level{color:#e0e0e0}.archypop--high-contrast .hud-combo__badge{color:#ffe000;text-shadow:0 1px 4px #000}.archypop--high-contrast .hud-arrows{color:#fff}.archypop--high-contrast .main-menu{background:#000000f7}.archypop--high-contrast .main-menu__btn{background:#ffffff1f;border-color:#ffffff80}.archypop--high-contrast .main-menu__btn--play{background:#ff505080;border-color:#f44}.settings-overlay{z-index:400;background:#0000008c;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.settings-panel{background:#1a1a2e;border:1px solid #ffffff26;border-radius:16px;flex-direction:column;gap:20px;min-width:260px;padding:28px 32px;display:flex}.settings-panel__title{color:#fff;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:18px;font-weight:700}.settings-row{display:flex}.settings-label{color:#ffffffd9;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:15px;display:flex}.settings-toggle{accent-color:#ff6b6b;cursor:pointer;width:18px;height:18px}.settings-close-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;align-self:flex-end;padding:8px 20px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:14px}.settings-close-btn:hover{background:#fff3}.settings-close-btn:focus-visible{outline-offset:2px;outline:2px solid #fff}.settings-grid-selector{gap:10px;margin-top:8px;display:flex}.grid-option-btn{color:#ffffff73;cursor:pointer;z-index:10;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:12px 16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:11px;transition:background .15s,border-color .15s,color .15s;display:flex;position:relative;pointer-events:auto!important}.grid-option-btn:hover{color:#ffffffbf;background:#ffffff14}.grid-option-btn:focus-visible{outline-offset:2px;outline:2px solid #4a9eff99}.grid-option-btn.active{color:#87ceeb;background:#4a9eff1f;border-color:#4a9eff73}.grid-option-btn svg{width:28px;height:28px}.tutorial-overlay{z-index:200;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.tutorial-complete{pointer-events:auto;z-index:210;background:#000000bf;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.tutorial-complete__card{text-align:center;background:linear-gradient(160deg,#1e1e3a,#2a2a52);border:1px solid #ffffff1f;border-radius:20px;flex-direction:column;align-items:center;gap:12px;width:90%;max-width:340px;padding:40px 32px;display:flex}.tutorial-complete__icon{font-size:52px;line-height:1}.tutorial-complete__title{color:#fff;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:28px;font-weight:800}.tutorial-complete__body{color:#ffffffb3;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:15px;line-height:1.5}.tutorial-complete__btn{color:#fff;cursor:pointer;background:#8b1a1a;border:none;border-radius:12px;margin-top:8px;padding:12px 32px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;font-weight:700;transition:background .15s}.tutorial-complete__btn:hover{background:#a52020}.tutorial-complete__btn:focus-visible{outline-offset:3px;outline:2px solid #fff}.tutorial-complete__practice-link{color:#ffffff8c;margin-top:14px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;text-decoration:none;transition:color .15s;display:block}.tutorial-complete__practice-link:hover{color:#fff;outline:none;text-decoration:underline}.tutorial-complete__practice-link:focus-visible{color:#fff;outline:none;text-decoration:underline}.tutorial-layer1{position:absolute;top:0;bottom:0;left:0;right:0}.tutorial-hint{pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0a1ed1;border:1px solid #ffffff26;border-radius:14px;align-items:center;gap:14px;max-width:320px;padding:14px 20px;animation:.3s tutorial-fade-in;display:flex;position:absolute;bottom:28px;left:20px}.tutorial-hint__icon{flex-shrink:0;font-size:28px;line-height:1;color:#fff!important;opacity:1!important}.tutorial-hint .hint-icon,.tutorial-hint .tutorial-icon,.tutorial-hint [class*=icon],.tutorial-hint svg{fill:currentColor;color:#fff!important;opacity:1!important}.tutorial-hint__text{flex-direction:column;gap:4px;display:flex}.tutorial-hint__heading{color:#fff;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:15px}.tutorial-hint__body{color:#ffffffb3;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:1.45}.tutorial-progress{pointer-events:none;gap:8px;display:flex;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}.tutorial-dot{background:#ffffff4d;border-radius:50%;width:8px;height:8px;transition:background .2s}.tutorial-dot--active{background:#fff}.skip-tutorial-btn{z-index:150;color:#ffffffb3;cursor:pointer;background:#0a0a1ed1;border:1px solid #fff3;border-radius:8px;padding:8px 16px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;position:fixed;bottom:28px;right:24px}.skip-tutorial-btn:hover{color:#fff;outline-offset:2px;background:#1e1e3ce6;outline:2px solid #ffffff80}.skip-tutorial-btn:focus-visible{color:#fff;outline-offset:2px;background:#1e1e3ce6;outline:2px solid #ffffff80}.archery-range-panel{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.archery-range-btn{pointer-events:auto;color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;padding:6px 14px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.archery-range-btn:hover{outline-offset:2px;background:#fff3;outline:2px solid #ffffff80}.archery-range-btn:focus-visible{outline-offset:2px;background:#fff3;outline:2px solid #ffffff80}.archery-range-btn--exit{background:#ff646433;border-color:#ff646466}.practice-bottom-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:50;background:#080818d9;border-top:1px solid #ffffff0f;justify-content:flex-end;align-items:center;height:56px;padding:0 20px;display:flex;position:fixed;bottom:0;left:0;right:0}.practice-bottom-bar.hidden{display:none!important}.practice-exit-btn{pointer-events:auto;color:#fff;cursor:pointer;white-space:nowrap;background:#ff646433;border:1px solid #ff646466;border-radius:8px;padding:6px 14px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;position:relative}.practice-exit-btn:hover{outline-offset:2px;background:#ff646459;outline:2px solid #ff646499}.practice-exit-btn:focus-visible{outline-offset:2px;background:#ff646459;outline:2px solid #ff646499}.practice-exit-btn:after{content:attr(data-tooltip);color:#fff;white-space:nowrap;pointer-events:none;opacity:0;z-index:600;background:#0a0a1ef2;border:1px solid #ff64644d;border-radius:6px;padding:6px 10px;font-size:12px;transition:opacity .15s;position:absolute;bottom:calc(100% + 8px);right:0}.practice-exit-btn:hover:after{opacity:1}.practice-exit-btn:focus-visible:after{opacity:1}.drill-panel{pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0a1ed9;border-bottom:1px solid #ffffff1f;align-items:center;gap:16px;padding:10px 20px;display:flex;position:absolute;top:0;left:0;right:0}.drill-header{flex-direction:column;flex:1;gap:2px;display:flex}.drill-title{color:#fff;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:15px;font-weight:700}.drill-body{color:#ffffffa6;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:12px}.drill-stats{color:#fffc;gap:16px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;display:flex}.drill-stats strong{color:#fff}.drill-exit-btn{color:#ff9696e6;cursor:pointer;white-space:nowrap;background:#ff646433;border:1px solid #ff646466;border-radius:8px;padding:6px 14px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.drill-exit-btn:hover{outline-offset:2px;background:#ff646459;outline:2px solid #ff969680}.drill-exit-btn:focus-visible{outline-offset:2px;background:#ff646459;outline:2px solid #ff969680}.drill-result{pointer-events:auto;background:#0a0a1ee0;flex-direction:column;justify-content:center;align-items:center;gap:16px;animation:.25s tutorial-fade-in;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.drill-result__badge{font-size:64px;line-height:1;animation:.4s cubic-bezier(.36,1.4,.64,1) both drill-badge-pop}.drill-result__text{color:#fff;text-align:center;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:22px;font-weight:700}.drill-result__close-btn{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:10px;margin-top:8px;padding:10px 28px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:15px}.drill-result__close-btn:hover{outline-offset:2px;background:#ffffff40;outline:2px solid #ffffff80}.drill-result__close-btn:focus-visible{outline-offset:2px;background:#ffffff40;outline:2px solid #ffffff80}@keyframes tutorial-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes drill-badge-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.practice-restart-flash{z-index:600;color:#fff;text-align:center;pointer-events:none;background:#0a0a1ee0;border:1px solid #ffffff26;border-radius:12px;padding:14px 28px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;font-weight:600;animation:.2s practice-flash-in;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes practice-flash-in{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.practice-toast{z-index:500;width:min(480px,90vw);animation:.3s cubic-bezier(.34,1.56,.64,1) practice-toast-slide-up;position:fixed;bottom:80px;left:50%;transform:translate(-50%)}@keyframes practice-toast-slide-up{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.practice-toast__inner{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0d0d24f2;border:1px solid #4a9eff40;border-radius:12px;align-items:center;gap:12px;padding:16px 20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.practice-toast__icon{flex-shrink:0;font-size:28px}.practice-toast__text{color:#ffffffb3;flex-direction:column;flex:1;gap:2px;font-size:13px;display:flex}.practice-toast__text strong{color:#fff;font-size:14px}.practice-toast__actions{flex-shrink:0;gap:8px;display:flex}.practice-toast__btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:8px 14px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:12px;font-weight:600}.practice-toast__btn:focus-visible{outline-offset:2px;outline:2px solid #fff}.practice-toast__btn--ghost{color:#fff;background:#ffffff14;border:1px solid #ffffff26}.practice-toast__btn--ghost:hover{background:#ffffff26}.practice-toast__btn--primary{color:#fff;background:#8b1a1a}.practice-toast__btn--primary:hover{background:#a02020}.practice-toast__countdown-wrap{background:#4a9eff26;border-radius:99px;height:3px;margin-top:8px;overflow:hidden}.practice-toast__countdown-bar{background:#4a9eff80;border-radius:99px;width:100%;height:100%}.cu-overlay{z-index:400;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000bf;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.cu-overlay[hidden]{display:none}.cu-panel{background:#1a1a2e;border:1px solid #ffffff1f;border-radius:20px;flex-direction:column;width:min(92vw,380px);max-height:90vh;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;display:flex;overflow-y:auto}.cu-content{flex-direction:column;align-items:center;gap:16px;padding:36px 28px;display:flex}.cu-title{color:#fff;text-align:center;letter-spacing:-.01em;margin:0;font-size:26px;font-weight:800}.cu-subtitle{color:#ffffff8c;text-align:center;margin:0;font-size:14px;line-height:1.5}.cu-hint{color:#fff6;text-align:center;margin:0;font-size:13px}.cu-btn{color:#fff;cursor:pointer;text-align:center;background:#ffffff14;border:1px solid #ffffff2e;border-radius:12px;width:100%;padding:13px 18px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:15px;font-weight:600;transition:background .15s,transform .1s}.cu-btn:hover{background:#ffffff29}.cu-btn:active{transform:scale(.97)}.cu-btn:focus-visible{outline-offset:2px;outline:2px solid #fff}.cu-btn:disabled{opacity:.45;cursor:not-allowed}.cu-btn--primary{background:#6bcbff40;border-color:#6bcbff8c}.cu-btn--primary:hover{background:#6bcbff61}.cu-btn--ghost{color:#fff9;background:0 0;border-color:#ffffff1f;font-size:14px}.cu-btn--ghost:hover{color:#fff;background:#ffffff0f}.cu-btn--share{background:#34d39933;border-color:#34d39973}.cu-btn--share:hover{background:#34d39952}.cu-btn--secondary{background:#6bcbff1a;border-color:#6bcbff4d}.cu-btn--secondary:hover{background:#6bcbff33}.cu-btn-group{flex-direction:column;gap:10px;width:100%;display:flex}.cu-code{letter-spacing:.18em;color:#6bcbff;text-align:center;-webkit-user-select:all;user-select:all;background:#6bcbff14;border:1px solid #6bcbff33;border-radius:12px;padding:10px 20px;font-family:monospace,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue;font-size:36px;font-weight:900}.cu-qr{border-radius:8px;display:block}.cu-share-row{gap:10px;width:100%;display:flex}.cu-share-row .cu-btn{flex:1}.cu-code-input{color:#fff;letter-spacing:.15em;text-align:center;text-transform:uppercase;background:#ffffff0f;border:1px solid #fff3;border-radius:12px;outline:none;width:100%;padding:14px 16px;font-family:monospace,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue;font-size:24px;font-weight:700;transition:border-color .15s}.cu-code-input::placeholder{color:#ffffff40;letter-spacing:.1em}.cu-code-input:focus{border-color:#6bcbff99}.cu-error{color:#ff6b6b;text-align:center;margin:0;font-size:13px}.cu-error[hidden]{display:none}.cu-spinner{border:3px solid #6bcbff33;border-top-color:#6bcbff;border-radius:50%;width:48px;height:48px;animation:.8s linear infinite cu-spin}.cu-waiting-text{color:#fff9;text-align:center;margin:0;font-size:16px}@keyframes cu-spin{to{transform:rotate(360deg)}}.cu-countdown-content{justify-content:center;min-height:200px}.cu-countdown-number{color:#fff;text-shadow:0 0 40px #6bcbff99;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:96px;font-weight:900;line-height:1;animation:.35s cubic-bezier(.36,1.4,.64,1) both cu-count-in}.cu-countdown--pop{animation:.35s cubic-bezier(.36,1.4,.64,1) both cu-count-in}.cu-countdown--go{color:#6bcbff;font-size:72px;animation:.3s cubic-bezier(.36,1.4,.64,1) both cu-count-in}@keyframes cu-count-in{0%{opacity:0;transform:scale(1.6)}to{opacity:1;transform:scale(1)}}.cu-result--win{color:#6bcbff}.cu-result--lose{color:#ff6b6b}.cu-result--tie{color:#ffd93d}.cu-scores{background:#ffffff0a;border-radius:14px;align-items:center;gap:12px;width:100%;padding:16px 12px;display:flex}.cu-score-block{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.cu-score-label{color:#ffffff73;letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.cu-score-value{color:#fff;font-family:monospace,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue;font-size:22px;font-weight:800}.cu-score-block--you .cu-score-value{color:#6bcbff}.cu-score-divider{color:#ffffff40;flex-shrink:0;font-size:13px;font-weight:700}.cu-opp-overlay{z-index:200;text-align:right;pointer-events:none;background:#0000008c;border:1px solid #6bcbff40;border-radius:10px;min-width:90px;padding:6px 12px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;position:absolute;top:60px;right:14px}.cu-opp-overlay[hidden]{display:none}.cu-opp-label{color:#ffffff73;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:600}.cu-opp-score{flex-direction:column;gap:1px;display:flex}.cu-opp-score-value{color:#6bcbff;font-family:monospace,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue;font-size:18px;font-weight:800}.cu-opp-score-level{color:#fff6;font-size:10px}.cu-name-input{color:#fff;text-align:center;box-sizing:border-box;background:#ffffff0f;border:1px solid #fff3;border-radius:12px;outline:none;width:100%;padding:14px 16px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:18px;font-weight:600;transition:border-color .15s}.cu-name-input::placeholder{color:#ffffff40}.cu-name-input:focus{border-color:#6bcbff99}.cu-name-hint{color:#ffffff73;text-align:center;margin:4px 0 16px;font-size:12px}.cu-waiting-result{gap:12px}.cu-your-summary{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;align-items:center;gap:6px;width:100%;padding:16px 20px;display:flex}.cu-your-name{color:#6bcbff;margin-bottom:4px;font-size:15px;font-weight:700}.cu-stat-row{justify-content:space-between;width:100%;display:flex}.cu-stat-label{color:#ffffff73;font-size:13px}.cu-stat-value{color:#fff;font-family:monospace,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue;font-size:13px;font-weight:700}.cu-match-stats{background:#ffffff0a;border-radius:12px;flex-direction:column;gap:6px;width:100%;padding:12px 16px;display:flex}.cu-match-stat-row{grid-template-columns:1fr auto auto auto;align-items:center;gap:8px;display:grid}.cu-match-stat-label{color:#ffffff73;font-size:12px}.cu-match-stat-you,.cu-match-stat-opp{color:#fff9;text-align:center;min-width:28px;font-family:monospace,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue;font-size:13px;font-weight:700}.cu-match-stat-you{color:#6bcbffb3}.cu-match-stat--winner{color:#6bcbff}.cu-match-stat-opp.cu-match-stat--winner{color:#ff6b6b}.cu-match-stat-sep{color:#fff3;font-size:12px}.level-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-overflow-scrolling:touch;background:#000000bf;justify-content:center;align-items:flex-start;padding:24px 0;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.level-overlay.hidden{display:none}.celebration-canvas{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.level-overlay__card{text-align:center;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border:1px solid #ffc8324d;border-radius:20px;width:90%;max-width:440px;margin:auto;padding:40px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;animation:.4s cubic-bezier(.34,1.56,.64,1) forwards card-pop-in;position:relative}@keyframes card-pop-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.level-overlay__badge{color:gold;background:#ffc83226;border:1px solid #ffc83266;border-radius:99px;align-items:center;gap:8px;margin-bottom:16px;padding:6px 16px;font-size:14px;animation:1.5s ease-in-out infinite alternate badge-glow;display:inline-flex}@keyframes badge-glow{0%{box-shadow:0 0 8px #ffc83233}to{box-shadow:0 0 20px #ffc83280}}.level-overlay__card h2{color:#fff;margin:0 0 4px;font-size:28px}.level-overlay__stats{grid-template-columns:1fr 1fr;gap:12px;margin:24px 0;display:grid}.level-overlay__stat{background:#ffffff0d;border-radius:12px;padding:12px}.level-overlay__stat--highlight{background:#ffc8321a;border:1px solid #ffc8324d}.stat-label{color:#ffffff80;font-size:11px;display:block}.stat-value{color:#fff;font-size:24px;font-weight:700;display:block}.level-overlay__new-best{color:gold;margin-bottom:12px;font-size:16px;font-weight:700}.level-overlay__new-best.hidden{display:none}.level-overlay__tier-transition{color:#fff;text-align:center;background:#ffffff14;border:1px solid #ffffff2e;border-radius:8px;margin:8px 0;padding:10px 16px;font-size:14px;font-weight:600}.level-overlay__tier-transition.hidden{display:none}.level-overlay__tier-row{justify-content:center;align-items:center;gap:8px;margin:4px 0 16px;display:flex}.level-overlay__tier-badge{letter-spacing:.08em;text-transform:uppercase;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:700}.level-overlay__tier-badge[data-tier=beginner]{color:#90ee90;background:#2d6a2d}.level-overlay__tier-badge[data-tier=apprentice]{color:#87ceeb;background:#2d4a7a}.level-overlay__tier-badge[data-tier=challenger]{color:#ffd580;background:#7a4a2d}.level-overlay__tier-badge[data-tier=expert]{color:#ff9090;background:#6a1a1a}.level-overlay__tier-label{color:#fff6;font-size:11px}.rankup-overlay{z-index:300;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.rankup-overlay.hidden{display:none}.rankup-canvas{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.rankup-card{text-align:center;-webkit-overflow-scrolling:touch;background:linear-gradient(160deg,#0f0f1e 0%,#1a1a35 100%);border:1px solid #ffffff1a;border-radius:24px;width:90%;max-width:400px;max-height:85dvh;padding:48px 40px;animation:.5s cubic-bezier(.34,1.56,.64,1) forwards rankup-pop;position:relative;overflow-y:auto}@keyframes rankup-pop{0%{opacity:0;transform:scale(.6)rotate(-3deg)}to{opacity:1;transform:scale(1)rotate(0)}}.rankup-card__old-tier{letter-spacing:.12em;color:#ffffff4d;margin-bottom:4px;font-size:13px;font-weight:700;text-decoration:line-through}.rankup-card__arrow{color:#ffffff4d;margin:4px 0;font-size:20px}.rankup-card__label{letter-spacing:.15em;color:#fff6;margin-bottom:6px;font-size:11px}.rankup-card__new-tier{letter-spacing:.05em;margin-bottom:16px;font-size:42px;font-weight:900}.rankup-card__message{color:#ffffffa6;margin-bottom:20px;font-size:15px;font-style:italic;line-height:1.5}.rankup-card__change{color:#ffffff8c;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;margin-bottom:24px;padding:10px 16px;font-family:monospace;font-size:13px}.rankup-card__score{margin-bottom:24px}.rankup-card__score-label{color:#fff6;font-size:11px;display:block}.rankup-card__score-value{color:#fff;font-size:28px;font-weight:700;display:block}@media (prefers-reduced-motion:reduce){.rankup-card{animation:none}}.level-overlay__countdown-wrap{margin:16px 0}.level-overlay__countdown-wrap.hidden{display:none}.level-overlay__countdown{background:#ffc83299;border-radius:99px;width:100%;height:3px;transition:none}.level-overlay__actions{flex-direction:column;gap:4px;display:flex}.overlay-btn--primary{color:#fff;cursor:pointer;background:#8b1a1a;border:none;border-radius:10px;width:100%;margin-bottom:8px;padding:14px 32px;font-size:16px;font-weight:700;transition:background .2s,transform .1s}.overlay-btn--primary:hover{background:#a52020;transform:scale(1.02)}.overlay-btn--ghost{color:#fff6;cursor:pointer;background:0 0;border:none;width:100%;padding:8px;font-size:13px}.overlay-btn--ghost:hover{color:#fffc}.overlay-btn{cursor:pointer;border-radius:10px;width:100%;font-weight:700;transition:background .2s,transform .1s}.overlay-btn--ghost-home{color:#ffffffa6;background:0 0;border:1px solid #ffffff40;width:100%;margin-top:8px;padding:10px 16px;font-size:14px}.overlay-btn--ghost-home:hover{color:#ffffffe6;background:#ffffff14;border-color:#ffffff80}.overlay-btn--skip{color:#fff6;background:0 0;border:none;justify-content:center;align-items:center;width:100%;min-height:44px;padding:14px 24px;font-size:15px;display:flex}.overlay-btn--skip:hover{color:#fffc}.overlay-btn.hidden{display:none}:root{--safe-area-top:env(safe-area-inset-top,0px);--safe-area-right:env(safe-area-inset-right,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px)}#main-menu{padding-top:max(24px, env(safe-area-inset-top));padding-bottom:max(16px, env(safe-area-inset-bottom));padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right));-webkit-overflow-scrolling:touch;overflow-y:auto}.menu-secondary-buttons{flex-direction:column;gap:10px;width:100%;display:flex}@media (max-height:700px),(max-width:430px){#main-menu{padding:16px 16px 12px;padding-top:max(16px, env(safe-area-inset-top));padding-bottom:max(12px, env(safe-area-inset-bottom));padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));gap:8px}.main-menu__inner{gap:10px;padding:16px 12px}.menu-progress{margin-bottom:4px}#btn-play-solo,#btn-practice-range,#btn-challenge-friend{width:100%;padding:14px 20px;font-size:15px}.main-menu__toolbar{gap:8px}.main-menu__icon-btn{width:40px;height:40px;font-size:16px}.menu-footer{gap:8px;padding:10px 16px 8px}.menu-footer__links{gap:6px;font-size:10px}.store-btn{padding:6px 10px;font-size:11px}.store-btn__name{font-size:12px}.menu-footer__version{font-size:9px}}@media (max-height:667px){#main-menu{gap:6px;padding:12px 16px}.main-menu__title{margin-bottom:2px;font-size:28px}.main-menu__tagline{margin-bottom:4px;font-size:11px}.main-menu__high-score{margin-bottom:2px;font-size:12px}.menu-progress{width:200px;margin-bottom:4px}.main-menu__btn{padding:11px 16px;font-size:14px}.main-menu__nav{gap:8px}#btn-play-solo,#btn-practice-range,#btn-challenge-friend{padding:11px 16px;font-size:14px}.menu-logo__img{width:clamp(140px,35vw,220px)}#menu-progress{margin-bottom:4px}.main-menu__icon-btn{width:38px;height:38px;font-size:15px}.menu-footer{gap:6px;margin-top:auto;padding:10px 16px 8px}.menu-footer__links{gap:6px;font-size:10px}.store-btn{display:none}.menu-footer__version{font-size:9px}}.hud-bar{padding-top:env(safe-area-inset-top)}@media (max-width:430px){.hud-bar__center{display:none}.hud-info-value{font-size:15px}.hud-counter{font-size:12px}.hud-btn{width:30px;height:30px;font-size:14px}}@media (max-height:700px){.level-overlay{padding:16px;overflow-y:auto}.level-overlay__card{max-height:calc(100dvh - 32px);padding:16px;overflow-y:auto}.level-overlay__badge{margin-bottom:8px;padding:4px 12px;font-size:12px}.level-overlay__card h2{margin-bottom:12px;font-size:22px}.level-overlay__stats{gap:8px;margin:12px 0}.level-overlay__stat{padding:8px}.stat-value{font-size:20px}.stat-label{font-size:10px}.level-overlay__tier-row{margin:4px 0 8px}.level-overlay__countdown-wrap{margin:8px 0}.overlay-btn--primary{margin-bottom:6px;padding:13px 20px;font-size:15px}}@media (max-height:500px) and (orientation:landscape){.level-overlay{align-items:center;padding:6px 12px}.level-overlay__card{-webkit-overflow-scrolling:touch;flex-direction:column;align-items:center;width:100%;max-width:100%;max-height:calc(100dvh - 12px);padding:14px 20px 16px;display:flex;overflow-y:auto}.level-overlay__tier-row{order:-2;justify-content:center;gap:6px;margin:0 0 6px}.level-overlay__tier-badge{padding:2px 10px;font-size:10px}.level-overlay__tier-label{font-size:10px}.level-overlay__badge{order:-1;align-self:center;width:-moz-fit-content;width:fit-content;margin:8px;padding:4px 14px;font-size:13px}#level-complete-title{margin-bottom:8px;font-size:clamp(16px,3.5vw,22px)}.level-overlay__stats{grid-template-columns:repeat(4,1fr);gap:8px;width:100%;margin:4px 0 10px;display:grid}.level-overlay__stat{border-radius:10px;min-width:0;padding:8px 6px}.stat-label{white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:clamp(8px,1.8vw,11px);overflow:hidden}.stat-value{font-size:clamp(16px,3.5vw,22px);font-weight:700}#new-best-badge{order:-3;margin:0 0 4px;font-size:12px}.level-overlay__tier-transition{margin:4px 0;padding:6px 12px;font-size:12px}.level-overlay__countdown-wrap{width:100%;margin:4px 0 6px}.overlay-btn--primary,.overlay-btn--ghost-home{border-radius:10px;width:100%;padding:12px 16px;font-size:14px}.overlay-btn--primary{margin-bottom:6px}.overlay-btn--ghost-home{margin-top:0}.overlay-btn--skip{margin-bottom:2px;padding:4px;font-size:11px}}@media (max-height:768px) and (orientation:landscape) and (max-width:1024px){.level-overlay__card{max-width:700px;padding:16px 24px 18px}.level-overlay__stats{grid-template-columns:repeat(4,1fr);gap:10px}.stat-value{font-size:clamp(18px,3vw,24px)}.stat-label{font-size:clamp(9px,1.8vw,12px)}}.sp-panel{-webkit-overflow-scrolling:touch;max-height:calc(100dvh - 32px)}@media (max-width:430px){.sp-panel{width:calc(100% - 32px);max-width:440px;margin:16px}.tutorial-hint{max-width:calc(100vw - 32px);padding:12px 14px;font-size:13px}.practice-toast{width:calc(100vw - 24px);bottom:70px}.practice-toast__actions{flex-direction:column;gap:6px}.practice-toast__btn{width:100%;padding:10px}.confirm-card{width:calc(100% - 32px);max-width:340px;padding:24px 20px}}@media (max-height:700px){.rankup-card{padding:28px 24px}.rankup-card__new-tier{font-size:32px}}#fs-consent-popup{z-index:9000;-webkit-backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:flex-end;padding:20px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.fs-consent-card{text-align:center;background:#0d0d24;border:1px solid #ffffff1a;border-radius:16px;width:100%;max-width:360px;padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.fs-consent-title{color:#fff;margin-bottom:8px;font-size:18px;font-weight:700}.fs-consent-body{color:#ffffffa6;margin-bottom:16px;font-size:14px}.fs-consent-actions{gap:10px;margin-bottom:12px;display:flex}.fs-consent-remember{color:#fff6;cursor:pointer;justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}.fs-exit-btn{top:calc(8px + env(safe-area-inset-top,0px));right:calc(8px + env(safe-area-inset-right,0px));z-index:9999;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);touch-action:manipulation;background:#00000080;border:1px solid #fff3;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;transition:opacity .3s;display:flex;position:fixed}#ios-pwa-banner{bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:9000;-webkit-backdrop-filter:blur(12px);color:#ffffffd9;background:#0d0d24e6;border:1px solid #ffffff1a;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;animation:.3s ease-out pwa-banner-in;display:flex;position:fixed;left:16px;right:16px}#ios-pwa-banner span{flex:1}#ios-pwa-dismiss{color:#ffffff80;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:28px;min-height:28px;padding:4px;font-size:16px;display:flex}@keyframes pwa-banner-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}#fs-toast{bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:9000;-webkit-backdrop-filter:blur(8px);color:#ffffffd9;white-space:nowrap;pointer-events:none;background:#000000b3;border-radius:8px;padding:10px 18px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;animation:4s ease-in-out forwards fs-toast-fade;position:fixed;left:50%;transform:translate(-50%)}@keyframes fs-toast-fade{0%{opacity:0}10%{opacity:1}80%{opacity:1}to{opacity:0}}.level-selector{z-index:350;background:#0a0a1e;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.ls-card{flex-direction:column;align-items:center;gap:16px;width:90%;max-width:340px;padding:32px 28px;display:flex}.ls-title{color:#fff;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:22px;font-weight:700}.ls-level-row{align-items:center;gap:16px;display:flex}.ls-arrow-btn{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;transition:all .15s;display:flex}.ls-arrow-btn:hover:not(:disabled){background:#ffffff1f;border-color:#ffffff4d}.ls-arrow-btn:disabled{opacity:.25;cursor:default}.ls-level-display{text-align:center;min-width:80px}.ls-level-num{color:#fff;font-variant-numeric:tabular-nums;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:48px;font-weight:800}.ls-tier-badge{letter-spacing:.08em;border:1px solid;border-radius:6px;padding:4px 14px;font-size:12px;font-weight:700}.ls-best{color:#fff6;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px}.cu-tier-grid{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.cu-tier-btn{color:#fff9;letter-spacing:.06em;cursor:pointer;text-align:center;background:#ffffff0a;border:2px solid #ffffff1a;border-radius:10px;min-height:44px;padding:12px 8px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;font-weight:700;transition:all .2s}.cu-tier-btn:hover{background:#ffffff14}.cu-tier-btn[aria-pressed=true]{color:var(--cu-tier-color,#fff);border-color:var(--cu-tier-color,#fff);background:color-mix(in srgb, var(--cu-tier-color,#fff) 15%, transparent)}:root{--color-bg-base:#080818;--color-bg-card:#0d0d24;--color-bg-card-hover:#111130;--color-bg-glass:#ffffff0a;--color-gold:#daa520;--color-gold-light:#f0c040;--color-blue:#4a9eff;--color-red:#8b1a1a;--color-red-hover:#a52020;--color-green:#2ecc71;--color-text-primary:#fff;--color-text-secondary:#ffffff8c;--color-text-dim:#ffffff40;--glow-gold:0 0 8px #daa520, 0 0 24px #daa52066;--glow-blue:0 0 8px #4a9eff, 0 0 24px #4a9eff66;--glow-red:0 0 8px #f44, 0 0 24px #ff44444d;--glow-subtle:0 0 12px #4a9eff26;--glass-bg:#ffffff0a;--glass-border:1px solid #ffffff14;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--tier-beginner-bg:#1a3d1a;--tier-beginner-text:#90ee90;--tier-beginner-glow:0 0 8px #90ee9066;--tier-apprentice-bg:#1a2d4d;--tier-apprentice-text:#87ceeb;--tier-apprentice-glow:0 0 8px #87ceeb66;--tier-challenger-bg:#3d2d1a;--tier-challenger-text:#ffd580;--tier-challenger-glow:0 0 8px #ffd58066;--tier-expert-bg:#3d1a1a;--tier-expert-text:#ff9090;--tier-expert-glow:0 0 8px #ff909066}.glass-card{background:var(--glass-bg);border:var(--glass-border);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg)}.neon-gold{color:var(--color-gold);text-shadow:var(--glow-gold)}.neon-blue{color:var(--color-blue);text-shadow:var(--glow-blue)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.neon-pulse{animation:none!important}}
