:root{--ink-950:#040914;--ink-900:#07111f;--ink-850:#0b1726;--ink-800:#112234;--ink-700:#1c3348;--paper:#eaf7ff;--paper-dim:#95a9b8;--signal:#66f7ff;--signal-dark:#062331;--alert:#ff5f45;--violet:#8b7cff;--success:#65f3bd;--amber:#ffc45a;--line:#d8f1ff24;--panel:#07111fe0;--font:Inter, "Noto Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;--mono:"Bahnschrift", "DIN Alternate", "Arial Narrow", var(--font)}*{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--ink-950);min-width:320px}body{color:var(--paper);font-family:var(--font);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 50% -20%,#3475983d,#0000 42%),linear-gradient(#08111e,#040811 75%);margin:0}button,kbd{font:inherit}button{color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible,canvas:focus-visible{outline:3px solid var(--signal);outline-offset:3px}.app-shell{grid-template-rows:auto 1fr auto;min-height:100svh;display:grid;overflow:hidden}.site-header{z-index:10;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;width:min(1080px,100% - 36px);min-height:68px;margin:0 auto;display:grid}.wordmark{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:11px;padding:0;display:inline-flex}.wordmark strong,.wordmark small{display:block}.wordmark strong{letter-spacing:.12em;font-size:17px;font-weight:850}.wordmark small{color:#6f899c;font-family:var(--mono);letter-spacing:.3em;margin-top:2px;font-size:8px;font-weight:800}.logo-signal{background:#0d2130;border:1px solid #66f7ff6b;border-radius:11px;place-items:center;width:40px;height:40px;display:grid;position:relative;transform:rotate(45deg);box-shadow:inset 0 0 0 4px #07121e}.logo-signal i{background:var(--signal);border-radius:4px;width:3px;position:absolute;box-shadow:0 0 10px #66f7ff73}.logo-signal i:first-child{height:8px;transform:translate(-7px,5px)}.logo-signal i:nth-child(2){height:17px}.logo-signal i:nth-child(3){height:25px;transform:translate(7px,-5px)}.header-status{border:1px solid var(--line);color:#8297a7;font-family:var(--mono);letter-spacing:.08em;background:#0915228f;border-radius:99px;padding:7px 12px;font-size:9px;font-weight:700}.header-status i{background:var(--success);width:6px;height:6px;box-shadow:0 0 8px var(--success);border-radius:50%;margin-right:7px;display:inline-block}.header-actions{justify-self:end;gap:7px;display:flex}.header-actions button,.modal-close{border:1px solid var(--line);color:#a7bac7;cursor:pointer;background:#091421ad;border-radius:50%;width:38px;height:38px;font-weight:800;transition:border-color .14s,color .14s,transform .14s}.header-actions button:hover,.modal-close:hover{border-color:var(--signal);color:var(--signal);transform:translateY(-1px)}.game-stage{align-self:center;width:min(1080px,100% - 36px);margin:0 auto}.game-viewport{aspect-ratio:16/9;background:var(--ink-900);isolation:isolate;border:1px solid #abdef733;border-radius:18px;position:relative;overflow:hidden;box-shadow:0 24px 70px #00000085,inset 0 1px #ffffff14}.game-viewport:after{z-index:3;border-radius:inherit;content:"";pointer-events:none;border:1px solid #ffffff0d;position:absolute;inset:0;box-shadow:inset 0 0 80px #01060c7a}.runner-canvas{touch-action:none;width:100%;height:100%;display:block}.webgl-fallback{z-index:3;color:#d8eff4b8;text-align:center;background:radial-gradient(circle at 50% 36%,#2bb5c429,#0000 34%),#050b12;place-content:center;gap:8px;padding:32px;display:none;position:absolute;inset:0}.webgl-fallback span{color:#f4fdff;font-family:var(--font-display), sans-serif;font-size:clamp(1.2rem,3vw,2rem);font-weight:800}.runner-canvas[data-webgl-unavailable=true]+.webgl-fallback{display:grid}.route-marker{z-index:4;color:#bfd8e56b;font-family:var(--mono);letter-spacing:.16em;pointer-events:none;align-items:center;gap:8px;font-size:8px;font-weight:800;display:flex;position:absolute;bottom:15px;right:17px}.route-marker i{background:currentColor;width:28px;height:1px}.runner-hud{z-index:6;grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr) 42px;align-items:start;gap:8px;transition:opacity .16s,transform .16s;display:grid;position:absolute;top:13px;left:13px;right:13px}.runner-hud.is-hidden{opacity:0;pointer-events:none;transform:translateY(-10px)}.hud-cluster,.hud-center,.pause-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#05101cd6;border:1px solid #d8f1ff24;min-height:56px;box-shadow:inset 0 1px #ffffff0d,0 8px 24px #00000038}.hud-cluster{border-radius:12px;grid-template-rows:auto auto;grid-template-columns:auto auto;align-content:center;column-gap:12px;padding:8px 13px;display:grid}.hud-cluster small,.hud-center small{color:#7790a1;letter-spacing:.12em;font-size:8px;font-weight:800}.hud-cluster strong,.hud-center strong{color:var(--paper);font-family:var(--mono);letter-spacing:.02em;font-size:22px;line-height:1}.hud-cluster span{color:var(--signal);font-family:var(--mono);text-align:right;grid-area:1/2/3;align-self:center;font-size:12px;font-weight:800}.hud-signals{justify-self:stretch}.hud-signals strong{color:var(--signal)}.hud-signals .power-state{color:var(--power);padding-left:13px;position:relative}.power-state:before{border:1px solid var(--power);content:"";border-radius:2px;width:7px;height:7px;position:absolute;top:50%;left:0;transform:translateY(-50%)rotate(45deg)}.hud-center{border-radius:12px 12px 20px 20px;align-content:center;justify-items:center;min-width:168px;padding:7px 16px;display:grid}.hud-center strong{color:var(--amber);font-size:19px}.hud-center span{color:#7890a0;font-size:8px;font-weight:700}.pause-button{color:#9bb0be;cursor:pointer;border-radius:12px;width:42px;height:42px;min-height:42px}.pause-button:hover{color:var(--signal);border-color:#66f7ff73}.runner-overlay{z-index:5;background:linear-gradient(90deg,#030912f5,#030912c2 43%,#0309120f 76%);align-items:center;padding:clamp(28px,6vw,72px);display:flex;position:absolute;inset:0}.overlay-card{width:min(460px,48%)}.eyebrow{color:var(--signal);font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;margin:0 0 10px;font-size:9px;font-weight:800}.menu-overlay h1,.panel-overlay h2,.help-panel h2{letter-spacing:-.05em;margin:0;font-size:clamp(38px,5.8vw,72px);font-weight:900;line-height:.92}.menu-overlay h1 span{color:#e9f7ff75;font-family:var(--mono);letter-spacing:.28em;margin-top:9px;font-size:clamp(12px,1.7vw,20px);display:block}.tagline{color:#b7c8d2;margin:17px 0 20px;font-size:15px;font-weight:650}.mission-brief{flex-wrap:wrap;gap:6px;margin-bottom:17px;display:flex}.mission-brief span{color:#8ca1ae;background:#0a1c2a9e;border:1px solid #cfedfa1f;border-radius:6px;padding:6px 8px;font-size:8px;font-weight:700}.mission-brief i{color:var(--signal);font-style:normal}.primary-cta{color:#04131c;background:var(--signal);cursor:pointer;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:25px;min-width:min(330px,100%);min-height:52px;padding:0 18px;font-size:14px;font-weight:850;transition:transform .1s,filter .14s;display:inline-flex;box-shadow:0 8px 28px #40dde72e}.primary-cta:hover{filter:brightness(1.06);transform:translateY(-2px)}.primary-cta:active{transform:scale(.97)}.primary-cta kbd{color:#04131c94;font-family:var(--mono);font-size:8px;font-weight:900}.record-line{gap:22px;margin-top:17px;display:flex}.record-line span{padding-left:11px;position:relative}.record-line span:before{content:"";background:#28465a;width:2px;position:absolute;top:3px;bottom:3px;left:0}.record-line small{color:#607989;letter-spacing:.12em;font-size:7px;font-weight:800;display:block}.record-line strong{color:#cfe3ed;font-family:var(--mono);margin-top:2px;font-size:12px;display:block}.countdown-overlay,.panel-overlay{text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#030912bd;justify-content:center}.countdown-overlay .overlay-card{width:auto}.countdown-overlay p{color:var(--signal);letter-spacing:.16em;margin:0;font-size:11px;font-weight:800}.countdown-overlay strong{color:#fff;font-family:var(--mono);margin:4px 0;font-size:clamp(80px,15vw,160px);line-height:.9;display:block}.countdown-overlay span{color:#9eb2be;font-size:12px}.panel-overlay .overlay-card{background:#06121ff0;border:1px solid #d2f0ff29;border-radius:16px;width:min(560px,100%);padding:30px;box-shadow:0 25px 70px #0006,inset 0 1px #ffffff0f}.panel-overlay h2,.help-panel h2{font-size:clamp(30px,5vw,46px)}.pause-stats,.result-grid{grid-template-columns:repeat(3,1fr);gap:7px;margin:22px 0;display:grid}.pause-stats span,.result-grid span{border:1px solid var(--line);background:#091827;border-radius:9px;padding:12px 8px}.pause-stats small,.result-grid small,.result-score small{color:#718899;font-size:8px;font-weight:800;display:block}.pause-stats strong,.result-grid b{color:var(--paper);font-family:var(--mono);margin-top:3px;font-size:17px;display:block}.panel-overlay .primary-cta{justify-content:center}.secondary-actions{flex-wrap:wrap;justify-content:center;gap:4px;margin-top:13px;display:flex}.secondary-actions button,.text-action{color:#7890a1;cursor:pointer;background:0 0;border:0;padding:8px 11px;font-size:9px;font-weight:750}.secondary-actions button:hover,.text-action:hover{color:var(--signal)}.result-overlay p:not(.eyebrow){color:#9db1bd;margin:14px 0;font-size:12px}.result-overlay p strong{color:var(--signal)}.result-score{margin:18px 0 8px}.result-score strong{color:var(--paper);font-family:var(--mono);font-size:42px;display:block}.result-overlay .text-action{margin:8px auto 0;display:block}.control-deck{justify-content:center;align-items:center;gap:5px;min-height:55px;display:flex}.control-deck span{background:#09131f6b;border:1px solid #d3eefb14;border-radius:7px;align-items:center;gap:8px;padding:6px 9px;display:inline-flex}.control-deck kbd{color:#a7c2cf;font-family:var(--mono);font-size:9px;font-weight:800}.control-deck small{color:#536c7c;font-size:8px;font-weight:700}.touch-controls{display:none}.is-hidden{pointer-events:none}footer{color:#354c5c;width:min(1080px,100% - 36px);font-family:var(--mono);letter-spacing:.12em;justify-content:center;align-items:center;gap:10px;margin:0 auto;padding:2px 0 14px;font-size:7px;font-weight:800;display:flex}footer i{background:#345b6e;border-radius:50%;width:3px;height:3px}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#02070ee0;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.help-panel{background:#071522;border:1px solid #cbedfa2b;border-radius:17px;width:min(560px,100%);max-height:calc(100svh - 40px);padding:clamp(25px,5vw,42px);position:relative;overflow:auto;box-shadow:0 30px 90px #0000008c}.help-panel>p:not(.eyebrow){color:#93a8b5;font-size:12px;line-height:1.7}.modal-close{font-size:20px;position:absolute;top:13px;right:13px}.help-panel ol{gap:6px;margin:18px 0 22px;padding:0;list-style:none;display:grid}.help-panel li{border:1px solid var(--line);background:#091a29;border-radius:9px;grid-template-columns:45px 1fr;align-items:center;gap:11px;min-height:54px;padding:8px 10px;display:grid}.help-panel li>i{width:35px;height:35px;color:var(--signal);font-family:var(--mono);background:#082535;border:1px solid #66f7ff47;border-radius:8px;place-items:center;font-style:normal;font-weight:900;display:grid}.help-panel li span{color:#8198a7;font-size:11px}.help-panel li strong{color:#d7e8f0;font-size:12px;display:block}.help-panel .primary-cta{justify-content:center}@media (height<=760px) and (width>=721px){.site-header{min-height:55px}.game-stage{width:min(1000px,100% - 30px)}.control-deck{min-height:43px}footer{display:none}.menu-overlay{padding-block:35px}.mission-brief{margin-bottom:12px}}@media (width<=720px){.app-shell{overflow:visible}.site-header{grid-template-columns:1fr auto;width:calc(100% - 20px);min-height:58px}.header-status{display:none}.wordmark strong{font-size:15px}.logo-signal{width:34px;height:34px}.header-actions button{width:35px;height:35px}.game-stage{width:100%}.game-viewport{aspect-ratio:9/15;border-inline:0;border-radius:0;width:min(100%,540px);margin:0 auto}.runner-overlay{padding:26px 20px calc(24px + env(safe-area-inset-bottom));background:linear-gradient(#0309120a 22%,#030912ed 64%,#030912 100%);align-items:end}.overlay-card{width:100%}.menu-overlay h1{font-size:clamp(42px,13vw,62px)}.menu-overlay h1 span{font-size:13px}.tagline{margin:12px 0}.mission-brief{margin-bottom:12px}.primary-cta{width:100%;min-height:54px}.record-line{margin-top:12px}.runner-hud{grid-template-columns:1fr 1fr 40px;gap:5px;top:8px;left:7px;right:7px}.hud-center{min-width:130px;min-height:42px;position:absolute;top:60px;left:50%;transform:translate(-50%)}.hud-score,.hud-signals{min-width:0;min-height:50px;padding:7px 9px}.hud-cluster strong{font-size:17px}.hud-cluster span{font-size:9px}.pause-button{width:40px;height:40px;min-height:40px}.control-deck{display:none}.touch-controls{z-index:12;right:9px;bottom:calc(8px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,1fr);gap:6px;transition:opacity .15s,transform .15s;display:grid;position:fixed;left:9px}.touch-controls.is-hidden{opacity:0;transform:translateY(20px)}.touch-controls button{min-width:0;min-height:52px;color:var(--paper);font-family:var(--mono);background:#071421db;border:1px solid #bfe3f42e;border-radius:11px;font-size:20px;font-weight:800;box-shadow:0 7px 24px #00000047,inset 0 1px #ffffff0f}.touch-controls button small{color:#718899;margin-top:-2px;font-size:7px;font-weight:700;display:block}.touch-controls button:active:not(:disabled){border-color:var(--signal);color:var(--signal);transform:scale(.96)}.touch-controls button:disabled{opacity:.35}.panel-overlay{z-index:20;align-items:center;padding:14px;position:fixed}.panel-overlay .overlay-card{padding:22px 15px}.result-score strong{font-size:36px}footer{display:none}}@media (width<=390px){.mission-brief span:nth-child(3){display:none}.record-line{gap:13px}.menu-overlay h1{font-size:42px}.hud-cluster{grid-template-columns:1fr}.hud-cluster span{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@keyframes pennant-float{50%{transform:translateY(-9px)rotate(3deg)}}@keyframes balloon-arrive{0%{opacity:0;transform:translate(-50%,18%)scale(.2)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes target-cue{50%{opacity:.65;transform:translate(-50%,-50%)scale(1.18)}}@keyframes recoil{0%,to{transform:translate3d(var(--weapon-x,0px),var(--weapon-y,0px),0) rotate(var(--weapon-rotate,0deg))}35%{transform:translate3d(calc(var(--weapon-x,0px) + 2.2%),calc(var(--weapon-y,0px) + 3.5%),0) rotate(calc(var(--weapon-rotate,0deg) + 1.2deg))}}@keyframes muzzle{0%,to{opacity:0;transform:scale(.4)}35%{opacity:1;transform:scale(1.35)}}@keyframes impact-ring{0%{opacity:1;transform:translate(-50%,-50%)scale(.25)}to{opacity:0;transform:translate(-50%,-50%)scale(1.75)}}@keyframes particle-one{to{opacity:0;transform:translate(-44px,-38px)rotate(55deg)}}@keyframes particle-two{to{opacity:0;transform:translate(48px,-31px)rotate(-48deg)}}@keyframes toast-in{0%{opacity:0;transform:translate(36px)rotate(2deg)}to{opacity:1;transform:none}}@keyframes dial-pulse{50%{box-shadow:0 0 0 10px #e94f371f,0 18px 48px #173a5e2e}}.range-page{--sky:#76c7f0;--cream:#fff3d1;--paper:#fff8e7;--navy:#173a5e;--navy-deep:#0d2740;--red:#e94f37;--gold:#d9a441;--wood:#8b5e3c;--teal:#2e7d6b;min-width:320px;min-height:100dvh;color:var(--navy-deep);font-variant-numeric:tabular-nums;background:#7ccaf0;font-family:Inter,Noto Sans SC,Microsoft YaHei UI,sans-serif;overflow:clip}.range-page *,.range-page :before,.range-page :after{box-sizing:border-box}.range-page button{font:inherit}.range-page button:focus-visible{outline-offset:4px;box-shadow:0 0 0 7px var(--navy);outline:4px solid #fff}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.range-stage{-webkit-user-select:none;user-select:none;touch-action:none;isolation:isolate;cursor:default;width:100vw;height:100dvh;position:relative;overflow:clip}.range-stage.phase-playing{cursor:none}.scene-panorama{z-index:-4;background:#9ddcf5 url(/balloon-range/sky-carnival.png) 50%/cover no-repeat;position:absolute;inset:-8%;transform:scale(1.04)}.scene-atmosphere{z-index:-3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.scene-atmosphere:before{content:"";mix-blend-mode:soft-light;background:linear-gradient(#fff8dc14,#0000 50%,#18314433);position:absolute;inset:0}.scene-atmosphere i{filter:blur(20px);background:#ffffff3d;border-radius:50%;position:absolute}.scene-atmosphere i:first-child{width:28vw;height:4vw;top:27%;left:18%}.scene-atmosphere i:nth-child(2){width:20vw;height:3vw;animation-delay:-3s;top:42%;right:12%}.scene-atmosphere i:nth-child(3),.scene-atmosphere i:nth-child(4){display:none}.scene-vignette{z-index:-2;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 150px #0d274047,inset 0 -90px 120px #15202d40}.range-hud{z-index:20;top:max(18px, env(safe-area-inset-top));pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:start;display:grid;position:absolute;left:22px;right:22px}.score-ticket{width:210px;min-height:100px;color:var(--navy);clip-path:polygon(0 7%,5% 0,100% 0,100% 100%,5% 100%,0 93%,3% 86%,0 79%,3% 72%,0 65%,3% 58%,0 51%,3% 44%,0 37%,3% 30%,0 23%,3% 16%);background:linear-gradient(112deg,#fff8e7,#f3e3b9);border:1px solid #6a46245c;border-radius:5px 14px;align-content:center;padding:18px 18px 12px 30px;display:grid;position:relative;transform:rotate(-1deg);box-shadow:0 14px 36px #14273738,inset 0 0 0 4px #ffffff6b}.score-ticket:after{content:"";border:1px dashed #173a5e40;border-radius:3px 9px;position:absolute;inset:8px}.score-ticket>*{z-index:1;position:relative}.score-ticket small{letter-spacing:.18em;font-size:11px;font-weight:800}.score-ticket strong{letter-spacing:-.04em;font-family:Georgia,serif;font-size:38px;line-height:1}.score-ticket em{color:#79623c;letter-spacing:.16em;margin-top:7px;font-size:9px;font-style:normal;font-weight:900}.ticket-mark{writing-mode:vertical-rl;color:#e94f37ad;letter-spacing:.16em;font:800 8px/1 monospace;position:absolute;top:15px;right:12px}.timepiece{width:112px;height:112px;color:var(--navy-deep);background:radial-gradient(circle at 38% 28%,#fff,#f7e6bc 62%,#d7b161 63%,#aa7628 100%);border:8px solid #e4bf69;border-radius:50%;align-content:center;place-items:center;display:grid;position:relative;box-shadow:0 16px 42px #173a5e3b,inset 0 0 0 2px #fff6d6,inset 0 0 0 5px #9a6a25}.timepiece:before{content:"";background:linear-gradient(#e5c476,#a87124);border-radius:8px 8px 2px 2px;width:28px;height:15px;position:absolute;top:-19px}.timepiece>i{border:1px dashed #173a5e47;border-radius:50%;position:absolute;inset:7px}.timepiece small{letter-spacing:.16em;font-size:8px;font-weight:900}.timepiece strong{font-family:Georgia,serif;font-size:39px;line-height:.92}.timepiece span{letter-spacing:.2em;font-size:8px;font-weight:900}.timepiece.urgent{color:var(--red);animation:.7s ease-in-out infinite dial-pulse}.combo-medal{filter:drop-shadow(0 14px 22px #173a5e38);justify-self:end;align-items:center;gap:10px;display:flex}.combo-medal>i{color:#fff7d3;background:radial-gradient(circle at 34% 26%, #4f9c88, var(--teal) 55%, #174e47);border:5px double #f8df9c;border-radius:50%;place-items:center;width:74px;height:74px;font:32px/1 Georgia,serif;display:grid;box-shadow:inset 0 0 0 3px #bd8534,0 0 0 3px #86581f}.combo-medal>span{background:#fff5d9;border:1px solid #b98940;border-radius:0 6px 6px 0;min-width:110px;margin-left:-22px;padding:11px 16px 11px 25px;display:grid}.combo-medal small{letter-spacing:.14em;font-size:9px;font-weight:900}.combo-medal strong{font:900 26px/1 Georgia,serif}.combo-medal em{color:var(--red);font-size:10px;font-style:normal;font-weight:900}.range-actions{z-index:26;left:22px;bottom:max(24px, env(safe-area-inset-bottom));gap:8px;display:flex;position:absolute}.range-actions button{color:#fff8e7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#0d2740c7;border:1px solid #fff8e7b3;border-radius:99px;justify-content:center;align-items:center;gap:7px;min-width:74px;min-height:48px;padding:7px 12px;font-size:12px;font-weight:800;display:flex;box-shadow:0 8px 24px #0d274038}.range-actions button:disabled{opacity:.42;cursor:default}.range-actions button span{border:1px solid #ffffff47;border-radius:50%;place-items:center;width:23px;height:23px;display:grid}.depth-scale{z-index:6;color:#ffffffb3;letter-spacing:.12em;pointer-events:none;place-items:center;height:180px;font:800 7px/1 monospace;display:grid;position:absolute;top:35%;right:26px}.depth-scale:before{content:"";background:linear-gradient(#0000,#fff,#0000);width:1px;position:absolute;top:19px;bottom:19px}.depth-scale i{background:#173a5e80;border:1px solid #fff;border-radius:50%;width:7px;height:7px}.balloon-field{z-index:8;pointer-events:none;perspective:900px;position:absolute;inset:0}.balloon-target{pointer-events:none;transform-origin:50% 80%;filter:drop-shadow(0 calc(8px + var(--depth) * .2px) calc(8px + var(--depth) * .35px) #19303f47);background:0 0;border:0;margin:0;padding:0;animation:.16s cubic-bezier(.15,.9,.25,1.25) both balloon-arrive;position:absolute;overflow:visible;transform:translate(-50%,-50%)}.phase-playing .balloon-target{pointer-events:auto;cursor:crosshair}.balloon-target:focus-visible{z-index:2;border-radius:50%;outline-color:#fff5b5}.balloon-skin{transform-origin:50% 100%;border-radius:51% 49% 47% 53%/42% 43% 57% 58%;position:absolute;inset:0 0 20%}.balloon-skin:before{content:"";background:linear-gradient(135deg,#ffffffd1,#ffffff05);border-radius:50%;width:22%;height:32%;position:absolute;top:13%;left:20%;transform:rotate(18deg)}.balloon-skin:after{border-radius:inherit;content:"";border:1px solid #ffffff57;position:absolute;inset:5%}.balloon-skin>i{background:#441e1c38;border-radius:50%;width:34%;height:8%;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}.balloon-skin>b{color:#fff6c8;text-shadow:0 2px #a46d17,0 4px 12px #4d2c0752;place-items:center;font:800 clamp(16px,2.1vw,32px)/1 Georgia,serif;display:grid;position:absolute;inset:0}.balloon-ruby .balloon-skin{background:radial-gradient(circle at 34% 24%,#ffb598 0 6%,#f15d43 28%,#c93027 72%,#7d1c20 100%);box-shadow:inset -9px -12px 18px #520c123d,inset 8px 5px 15px #ffd2ac40}.balloon-comet .balloon-skin{background:radial-gradient(circle at 34% 24%,#aeece3 0 6%,#37aa9a 30%,#19746c 72%,#0c4849 100%);border-radius:48% 52% 42% 58%/30% 32% 68% 70%;inset-inline:13%}.balloon-gold .balloon-skin{clip-path:polygon(50% 0,61% 9%,76% 6%,82% 20%,96% 27%,91% 43%,100% 56%,87% 68%,86% 85%,68% 87%,58% 100%,43% 91%,27% 98%,19% 82%,4% 75%,11% 58%,0 45%,13% 32%,14% 16%,32% 13%);background:radial-gradient(circle at 32% 23%,#fff0aa 0 5%,#f7c94a 30%,#d99b20 66%,#885811 100%);border-radius:38%}.balloon-knot{clip-path:polygon(50% 0,100% 100%,50% 73%,0 100%);background:currentColor;width:17%;height:12%;position:absolute;bottom:16%;left:50%;transform:translate(-50%)}.balloon-ruby .balloon-knot{color:#97231e}.balloon-comet .balloon-knot{color:#145e5a}.balloon-gold .balloon-knot{color:#aa7219}.balloon-string{background:linear-gradient(#fffc,#4e3f2c47);width:1px;height:43%;position:absolute;top:83%;left:50%;transform:rotate(4deg)}.target-direction{color:#fff2b5;text-shadow:0 3px 8px #0d2740a6;font-size:22px;animation:.8s ease-in-out infinite target-cue;position:absolute;transform:translate(-50%,-50%)}.crosshair{z-index:30;pointer-events:none;filter:drop-shadow(0 2px #0d2740)drop-shadow(0 0 6px #ffffffeb);width:68px;height:68px;position:absolute;transform:translate(-50%,-50%)}.crosshair:before,.crosshair:after{z-index:2;content:"";background:#ffd55c;border-radius:99px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #0d2740}.crosshair:before{width:22px;height:3px}.crosshair:after{width:3px;height:22px}.crosshair i{clip-path:polygon(0 0,38% 0,38% 10%,10% 10%,10% 38%,0 38%,0 0,100% 0,100% 38%,90% 38%,90% 10%,62% 10%,62% 0,100% 100%,62% 100%,62% 90%,90% 90%,90% 62%,100% 62%,100% 100%,0 100%,0 62%,10% 62%,10% 90%,38% 90%,38% 100%);border:3px solid #fff8e7;border-radius:50%;position:absolute;inset:3px;box-shadow:0 0 0 3px #0d2740,inset 0 0 0 1px #0d2740}.crosshair i:nth-child(2){clip-path:none;border:2px solid #e94f37;inset:18px;box-shadow:0 0 0 2px #fff8e7,0 0 0 4px #0d2740}.crosshair span{z-index:3;background:#e94f37;border:2px solid #fff8e7;border-radius:50%;width:9px;height:9px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #0d2740}.impact-effect{z-index:35;pointer-events:none;width:72px;height:72px;position:absolute;transform:translate(-50%,-50%)}.impact-effect:before{content:"";border:3px solid #fff;border-radius:50%;animation:.38s ease-out both impact-ring;position:absolute;inset:5px}.impact-effect span{color:#fff;text-shadow:0 3px 8px #0d2740b3;white-space:nowrap;font:900 18px/1 Georgia,serif;position:absolute;top:-18px;left:50%;transform:translate(-50%)}.impact-effect i{background:var(--red);border-radius:6px 1px;width:12px;height:7px;position:absolute;top:50%;left:50%}.impact-effect i:first-child,.impact-effect i:nth-child(3){animation:.42s ease-out both particle-one}.impact-effect i:nth-child(2),.impact-effect i:nth-child(4){animation:.42s ease-out both particle-two}.impact-gold i{background:var(--gold)}.impact-comet i{background:var(--teal)}.impact-effect.miss i{display:none}.impact-effect.miss span{letter-spacing:.16em;opacity:.75;font-size:10px;top:28px}.first-person-weapon{z-index:24;pointer-events:none;width:min(64vw,1000px);transform:translate3d(var(--weapon-x,0px),var(--weapon-y,0px),0) rotate(var(--weapon-rotate,0deg));transform-origin:62% 100%;filter:drop-shadow(-24px 28px 30px #0a1b2761);transition:opacity .3s,transform 70ms cubic-bezier(.2,.8,.2,1);position:absolute;bottom:-12%;right:-7%}.first-person-weapon.weapon-ready{animation:.18s ease-out recoil}.first-person-weapon img{width:100%;height:auto;display:block}.muzzle-flash{z-index:2;opacity:0;background:radial-gradient(circle,#fff 0 10%,#ffe39d 14%,#ff9626bf 35%,#0000 68%);border-radius:50%;width:46px;height:46px;animation:.16s ease-out muzzle;position:absolute;top:17.5%;left:50.8%}.range-status{z-index:25;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.04em;pointer-events:none;background:#0d2740a8;border:1px solid #ffffff59;border-radius:99px;justify-content:center;align-items:center;gap:9px;min-width:250px;min-height:42px;padding:9px 14px;font-size:12px;font-weight:800;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%);box-shadow:0 8px 26px #0d274038}.range-status>i{background:#8fe3c6;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #8fe3c626}.range-status span{color:#ffd985;border-left:1px solid #ffffff3d;padding-left:10px;font:800 9px/1 monospace}.achievement-toast{z-index:45;background:linear-gradient(110deg,#fff7df,#ecd395);border:1px solid #b58235;border-radius:8px 22px;align-items:center;width:310px;min-height:92px;padding:13px 18px 13px 80px;animation:.32s cubic-bezier(.2,.8,.2,1) both toast-in;display:grid;position:absolute;top:150px;right:26px;box-shadow:0 22px 56px #0d27404d}.achievement-toast>span{display:grid}.achievement-toast small{color:var(--red);letter-spacing:.2em;font-size:9px;font-weight:900}.achievement-toast strong{font:900 20px/1.2 Georgia,Noto Sans SC,serif}.achievement-toast em{color:#80683f;margin-top:5px;font-size:10px;font-style:normal}.enamel-pin{color:#fff6d4;background:radial-gradient(circle at 34% 28%,#ef7057,var(--red) 56%,#8f261f);border:6px double #ffe3a2;border-radius:50%;place-items:center;width:82px;height:82px;display:grid;position:absolute;left:-16px;box-shadow:0 0 0 4px #a66f26,0 12px 22px #5833134d}.enamel-pin i{font:32px/1 Georgia,serif}.range-overlay{z-index:60;position:absolute;inset:0}.intro-overlay{background:linear-gradient(90deg,#0d2740db 0%,#0d2740a8 35%,#0d27400d 72%);align-items:center;padding:max(32px,5vw);display:flex}.intro-panel{color:#fff8e7;text-shadow:0 2px 16px #0d274033;width:min(520px,46vw)}.intro-kicker{letter-spacing:.2em;align-items:center;gap:12px;margin-bottom:20px;font:800 9px/1 monospace;display:flex}.intro-kicker i{background:linear-gradient(90deg,#f3c25e,#0000);flex:1;max-width:140px;height:1px}.eyebrow{color:#f6cc72;letter-spacing:.22em;text-transform:uppercase;margin:0 0 8px;font-size:10px;font-weight:900}.intro-panel h1{color:#fff8e7;letter-spacing:-.08em;text-shadow:0 8px 32px #0d27404d;margin:0;font:900 clamp(58px,7.4vw,112px)/.9 Georgia,Noto Serif SC,serif}.intro-panel h1 small{color:#f2ce77;letter-spacing:.36em;margin:16px 0 0 5px;font:800 11px/1 monospace;display:block}.intro-lead{margin:26px 0 22px 5px;font-size:clamp(15px,1.5vw,20px);font-weight:600;line-height:1.75}.target-legend{gap:8px;margin:0 0 22px 5px;display:flex}.target-legend>span{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #ffffff42;border-radius:99px;align-items:center;gap:7px;min-height:44px;padding:7px 10px;font-size:10px;font-weight:800;display:flex}.target-legend b{color:#ffd77d}.mini-balloon{border-radius:50% 50% 45% 45%;width:18px;height:23px;display:inline-block;box-shadow:inset 4px 3px 5px #ffffff59}.mini-balloon.ruby{background:var(--red)}.mini-balloon.comet{background:var(--teal);border-radius:50% 50% 38% 38%}.mini-balloon.gold{background:var(--gold);clip-path:polygon(50% 0,62% 15%,82% 12%,85% 33%,100% 47%,87% 64%,89% 86%,65% 84%,50% 100%,36% 84%,12% 87%,14% 64%,0 48%,16% 33%,18% 13%,39% 15%)}.enter-range{min-width:270px;min-height:64px;color:var(--navy-deep);cursor:pointer;background:linear-gradient(135deg,#fff3c9,#f3c560);border:1px solid #fff2bb;border-radius:5px 18px;grid-template-columns:1fr auto auto;align-items:center;gap:18px;padding:12px 18px 12px 24px;transition:transform .2s,box-shadow .2s;display:inline-grid;box-shadow:0 13px 30px #0d274047,inset 0 0 0 3px #ffffff61}.enter-range:hover{transform:translateY(-3px);box-shadow:0 18px 38px #0d274057}.enter-range>span{letter-spacing:.06em;font-size:18px;font-weight:900}.enter-range>em{letter-spacing:.1em;opacity:.58;font:800 8px/1 monospace}.enter-range>i{font-size:22px;font-style:normal}.enter-range.compact{justify-content:center;min-width:190px;min-height:52px;padding:10px 22px;font-weight:900;display:inline-flex}.intro-meta{gap:30px;margin:22px 0 0 5px;display:flex}.intro-meta span{display:grid}.intro-meta small{opacity:.66;letter-spacing:.13em;font-size:9px}.intro-meta b{font:800 20px/1.2 Georgia,serif}.control-copy{color:#fff8e7b3;max-width:460px;margin:22px 0 0 5px;font-size:10px;line-height:1.6}.intro-seal{color:#fff8e7;text-align:center;border:2px solid #fff8e7b3;border-radius:50%;align-content:center;place-items:center;width:104px;height:104px;display:grid;position:absolute;bottom:8%;right:5%;transform:rotate(8deg);box-shadow:inset 0 0 0 5px #173a5e66}.intro-seal span,.intro-seal small{letter-spacing:.14em;font:800 8px/1.4 monospace}.intro-seal strong{font:900 25px/1 Georgia,serif}.countdown-overlay{background:radial-gradient(circle,#0000 0 14%,#0d27402e 70%);place-items:center;display:grid}.countdown-dial{width:240px;height:240px;color:var(--navy);background:radial-gradient(circle,#fff9e9,#efdca7);border:12px double #f7db91;border-radius:50%;align-content:center;place-items:center;display:grid;box-shadow:0 28px 80px #0d274052,inset 0 0 0 5px #9a6b29}.countdown-dial small{letter-spacing:.18em;font-size:10px;font-weight:900}.countdown-dial strong{font:900 108px/.9 Georgia,serif}.countdown-dial span{font-size:10px;font-weight:800}.pause-overlay,.result-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0d274075;place-items:center;padding:20px;display:grid}.pause-ticket{width:min(430px,92vw);color:var(--navy);text-align:center;background:linear-gradient(135deg,#fff9e9,#edd8a2);border:1px solid #c9a65f;border-radius:9px 25px;padding:40px;box-shadow:0 30px 90px #0d274061,inset 0 0 0 7px #ffffff61}.pause-ticket h2{margin:0;font:900 42px/1 Georgia,Noto Sans SC,serif}.pause-ticket p:not(.eyebrow){margin:14px 0 24px}.paper-button,.paper-link{min-height:48px;color:var(--navy);cursor:pointer;background:#ffffff5c;border:1px solid #173a5e4d;border-radius:99px;margin:8px 5px 0;padding:9px 17px;font-size:12px;font-weight:900}.paper-link{text-underline-offset:4px;background:0 0;border-color:#0000;text-decoration:underline}.result-board{width:min(840px,94vw);max-height:calc(100dvh - 34px);color:var(--navy-deep);scrollbar-width:thin;background:linear-gradient(128deg,#fff9e8,#f0ddb0);border:1px solid #c69a4f;border-radius:9px 28px;padding:28px 34px 24px;overflow:auto;box-shadow:0 35px 100px #0d27406b,inset 0 0 0 7px #fff6}.result-heading{align-items:center;gap:20px;display:flex}.result-heading h2{margin:0;font:900 36px/1 Georgia,Noto Sans SC,serif}.result-heading>div>span{color:#7f6845;letter-spacing:.12em;font-size:10px}.result-grade{color:#fff4d3;background:radial-gradient(circle at 35% 28%,#ef715c,var(--red) 58%,#942a22);border:7px double #ffe6a3;border-radius:50%;flex:none;align-content:center;place-items:center;width:86px;height:86px;display:grid;box-shadow:0 0 0 3px #9d6c28}.result-grade small{letter-spacing:.14em;font:800 8px/1 monospace}.result-grade strong{font:900 45px/.9 Georgia,serif}.percentile-result{background:#ffffff40;border-block:1px solid #173a5e2e;justify-content:center;align-items:baseline;gap:12px;margin:22px 0 16px;padding:17px 22px;display:flex}.percentile-result small{font-weight:800}.percentile-result strong{color:var(--red);font:900 62px/.8 Georgia,serif}.percentile-result strong i{font-size:22px;font-style:normal}.percentile-result span{color:#755e3b;font-weight:800}.result-stats{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.result-stats>span{background:#ffffff47;border:1px solid #173a5e26;border-radius:5px 13px;align-content:center;min-height:78px;padding:13px;display:grid}.result-stats small{color:#7b684c;letter-spacing:.13em;font-size:9px;font-weight:900}.result-stats strong{font:900 26px/1.2 Georgia,serif}.result-stats strong i{margin-left:3px;font:800 9px/1 monospace}.achievement-shelf{margin-top:18px}.achievement-shelf>p{letter-spacing:.15em;align-items:center;gap:12px;margin:0 0 11px;font-size:10px;font-weight:900;display:flex}.achievement-shelf>p i{background:#173a5e33;flex:1;height:1px}.achievement-shelf>div{flex-wrap:wrap;gap:8px;display:flex}.achievement-shelf>div>span{background:#fff3d1;border:1px solid #a66f2659;border-radius:99px;align-items:center;gap:7px;min-width:106px;padding:8px 10px;display:flex}.achievement-shelf>div i{color:#fff;background:var(--teal);border:2px solid #efca77;border-radius:50%;place-items:center;width:28px;height:28px;font:800 16px/1 Georgia,serif;display:grid}.achievement-shelf>div b{font-size:10px}.achievement-shelf>em{color:#806c4e;font-size:11px;font-style:normal}.benchmark-note{color:#776647;margin:15px 0 12px;font-size:9px;line-height:1.5}.result-actions{justify-content:center;align-items:center;gap:8px;display:flex}@media (width<=760px){.scene-panorama{background-position:50%;inset:-4% -35%}.range-hud{top:max(9px,env(safe-area-inset-top));grid-template-columns:1fr auto 1fr;left:8px;right:8px}.score-ticket{width:126px;min-height:68px;padding:13px 10px 8px 20px}.score-ticket strong{font-size:25px}.score-ticket small{font-size:7px}.score-ticket em{margin-top:3px;font-size:6px}.ticket-mark{display:none}.timepiece{border-width:5px;width:76px;height:76px}.timepiece:before{width:20px;height:10px;top:-13px}.timepiece strong{font-size:29px}.timepiece small,.timepiece span{font-size:6px}.combo-medal{gap:0}.combo-medal>i{border-width:4px;width:52px;height:52px;font-size:22px}.combo-medal>span{min-width:72px;margin-left:-10px;padding:8px 8px 8px 15px}.combo-medal small{font-size:6px}.combo-medal strong{font-size:20px}.combo-medal em{font-size:7px}.depth-scale{display:none}.first-person-weapon{width:96vw;bottom:-4%;right:-25%}.range-actions{left:8px;bottom:max(10px,env(safe-area-inset-bottom));flex-direction:column}.range-actions button{width:52px;min-width:52px;min-height:48px;padding:6px;font-size:0}.range-actions button span{font-size:13px}.range-status{bottom:max(13px,env(safe-area-inset-bottom));min-width:190px;padding-inline:10px;font-size:9px}.achievement-toast{width:270px;min-height:78px;padding-left:66px;top:98px;right:8px}.enamel-pin{width:68px;height:68px;left:-10px}.achievement-toast strong{font-size:17px}.intro-overlay{padding:18px 16px max(28px,env(safe-area-inset-bottom));background:linear-gradient(#0d27400f 22%,#0d2740b3 55%,#0d2740ed 100%);align-items:flex-end}.intro-panel{width:100%}.intro-kicker{margin-bottom:10px}.intro-panel h1{font-size:clamp(48px,15vw,68px)}.intro-panel h1 small{margin-top:10px;font-size:8px}.intro-lead{margin:14px 0 13px 3px;font-size:14px;line-height:1.55}.target-legend{gap:4px;margin-bottom:13px}.target-legend>span{min-height:36px;padding:5px 7px;font-size:8px}.mini-balloon{width:14px;height:18px}.enter-range{min-width:240px;min-height:56px}.intro-meta{margin-top:12px}.intro-meta b{font-size:16px}.control-copy{margin-top:10px;font-size:8px}.intro-seal{display:none}.countdown-dial{width:180px;height:180px}.countdown-dial strong{font-size:82px}.result-board{width:96vw;padding:18px 14px 16px}.result-heading{gap:13px}.result-heading h2{font-size:27px}.result-grade{width:68px;height:68px}.result-grade strong{font-size:34px}.percentile-result{gap:7px;margin:12px 0;padding:12px 8px}.percentile-result small,.percentile-result span{font-size:10px}.percentile-result strong{font-size:48px}.result-stats{grid-template-columns:1fr 1fr}.result-stats>span{min-height:61px;padding:9px}.result-stats strong{font-size:22px}.achievement-shelf{margin-top:12px}.achievement-shelf>div{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.achievement-shelf>div>span{flex:none}.benchmark-note{margin-block:10px}}@media (height<=650px) and (orientation:landscape){.range-hud{top:8px}.score-ticket{min-height:70px}.timepiece{width:78px;height:78px}.combo-medal>i{width:56px;height:56px}.intro-overlay{align-items:center;padding:8px 24px}.intro-panel{width:min(520px,62vw)}.intro-kicker{margin-bottom:6px}.intro-panel h1{font-size:52px}.intro-panel h1 small{margin-top:7px}.intro-lead{margin-block:8px;line-height:1.4}.target-legend{margin-bottom:8px}.intro-meta{margin-top:8px}.control-copy{display:none}.first-person-weapon{width:54vw;bottom:-22%}.range-actions{bottom:max(8px,env(safe-area-inset-bottom))}.range-status{bottom:max(9px,env(safe-area-inset-bottom))}.pause-overlay,.result-overlay{padding:8px}.pause-ticket{max-height:calc(100dvh - 16px);padding:18px;overflow:auto}.result-board{max-height:calc(100dvh - 16px)}}@media (prefers-reduced-motion:reduce){.range-page *,.range-page :before,.range-page :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.range-page.reduce-motion *,.range-page.reduce-motion :before,.range-page.reduce-motion :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}
