:root{color:#fff;font-synthesis:none;text-rendering:optimizelegibility;background:#08090c;font-family:Pretendard,Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}@supports (height:100dvh){html,body,#app{height:100dvh}}body{background:#08090c}button,input{font:inherit}#app{position:relative}#game-canvas{cursor:none;touch-action:none;outline:none;width:100%;height:100%;display:block}#sound-toggle{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));z-index:130;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;background:#000000ad;border:1px solid #ffffff47;border-radius:999px;padding:10px 14px;transition:background .12s,border-color .12s;position:fixed;box-shadow:0 4px 18px #0000003d}#sound-toggle:hover{background:#231e0cd1;border-color:#ffdf68bf}#sound-toggle[aria-pressed=false]{color:#ffffffb8}#crosshair{z-index:10;pointer-events:none;opacity:1;width:28px;height:28px;transition:opacity .12s,filter .12s,transform .12s;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#crosshair:before,#crosshair:after{content:"";background:#fffffff2;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 4px #000000e6}#crosshair:before{width:28px;height:2px}#crosshair:after{width:2px;height:28px}#crosshair.crosshair--cooldown{opacity:.22;transform:translate(-50%,-50%)scale(.9)}#crosshair.crosshair--reloading{opacity:.12;filter:grayscale()}#crosshair.crosshair--empty{opacity:.18;filter:grayscale()}#hud{top:max(16px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left));z-index:20;box-sizing:border-box;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:none;background:#0000009e;border:1px solid #ffffff2e;border-radius:10px;width:min(320px,100vw - 32px);padding:14px 16px;line-height:1.65;position:fixed}#hud strong{color:#ffdf68}#status-message{color:#fff;overflow-wrap:anywhere;white-space:normal;min-height:24px;margin-top:8px}#help{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));z-index:20;color:#ffffffd9;pointer-events:none;background:#0000009e;border-radius:8px;padding:10px 14px;position:fixed}.mobile-controls{z-index:70;padding:16px max(18px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:flex-end;display:none;position:fixed;inset:auto 0 0}.touch-input .mobile-controls{display:flex}.mobile-controls[hidden]{display:none}.mobile-controls__utility{align-items:flex-end;gap:12px;display:flex}.mobile-control-button{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;background:#0a0f12bd;border:1px solid #ffffff5c;border-radius:50%;place-items:center;width:68px;height:68px;padding:7px;display:grid;box-shadow:0 6px 20px #00000057,inset 0 0 0 2px #ffffff0f}.mobile-control-button span{font-size:20px;font-weight:850;line-height:1}.mobile-control-button small{font-size:10px;font-weight:750;line-height:1}.mobile-control-button--fire{background:#842317c7;border-color:#ff7e5abf;width:82px;height:82px}.mobile-control-button--grenade{border-color:#ffc45cad}.mobile-control-button--reload{border-color:#81cdffa8;width:60px;height:60px}.mobile-control-button:active{filter:brightness(1.22);transform:scale(.94)}@media (hover:hover) and (pointer:fine){.mobile-controls{display:none}}#reload-warning{z-index:60;pointer-events:none;position:fixed;bottom:12%;left:50%;transform:translate(-50%)}#reload-warning[hidden]{display:none}.reload-warning__panel{background:#190604e0;border:1px solid #ff6450bf;border-radius:12px;align-items:center;gap:14px;padding:13px 18px;animation:.9s ease-in-out infinite reload-warning-pulse;display:flex;box-shadow:0 0 0 1px #00000059,0 8px 30px #00000061}.reload-warning__text{gap:2px;display:grid}.reload-warning__text strong{color:#ff795f;font-size:17px}.reload-warning__text span{color:#ffffffe6;font-size:14px}.reload-warning__mouse{border:2px solid #ffffffeb;border-radius:15px 15px 13px 13px;flex:none;width:30px;height:42px;display:inline-block;position:relative;overflow:hidden}.reload-warning__mouse:before{content:"";background:#ffffffb8;width:2px;height:16px;position:absolute;top:0;left:50%;transform:translate(-50%)}.reload-warning__right-button{background:#ff5c44d1;border-bottom:2px solid #ffffffb8;width:50%;height:17px;position:absolute;top:0;right:0}@keyframes reload-warning-pulse{0%,to{opacity:.92;transform:scale(1)}50%{opacity:1;transform:scale(1.035)}}#game-over{z-index:100;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:#000000c7;place-items:center;display:grid;position:fixed;inset:0}#game-over[hidden]{display:none}.game-over-panel{text-align:center;background:#0f1014fa;border:1px solid #ffffff38;border-radius:14px;width:min(94vw,560px);max-height:calc(100vh - 32px);padding:28px;overflow-y:auto}.game-over-panel h1{color:#ff4b4b;margin:0 0 8px;font-size:40px}.game-over-panel>p{color:#ffffffd1;margin:0 0 20px}.final-score{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:20px;display:grid}.final-score div{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:9px;gap:6px;padding:12px 8px;display:grid}.final-score span{color:#ffffffad;font-size:13px}.final-score strong{color:#ffdf68}.score-registration{text-align:left;gap:8px;margin-bottom:22px;display:grid}.score-registration[hidden]{display:none}.score-registration label{color:#ffffffd1;font-size:14px}.score-registration__controls{gap:8px;display:flex}#player-name{color:#fff;background:#00000073;border:1px solid #fff3;border-radius:8px;outline:none;width:100%;min-width:0;padding:10px 12px}#player-name:focus{border-color:#ffdf68}#submit-score-button,#restart-button{cursor:pointer;border:0;border-radius:8px;font-weight:700}#submit-score-button{color:#161616;background:#c98a18;flex:none;padding:10px 15px}#submit-score-button:disabled{cursor:default;opacity:.55}#score-feedback{color:#9ee493;min-height:20px;font-size:13px}.leaderboard{text-align:left;margin-bottom:22px}.leaderboard h2{margin:0 0 10px;font-size:18px}.leaderboard-split{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.leaderboard-group{min-width:0}.leaderboard-group h3{color:#ffdf68;text-align:center;margin:0 0 8px;font-size:14px}.scoreboard-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.scoreboard-list li{background:#ffffff0d;border-radius:7px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:3px 6px;padding:7px 8px;font-size:12px;display:grid}.scoreboard-position{color:#ffdf68;text-align:center;grid-row:1/span 2;font-weight:700}.scoreboard-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scoreboard-score{text-align:right;font-weight:700}.scoreboard-rank{color:#fff9;grid-column:2/4}.scoreboard-list .scoreboard-empty{color:#ffffff94;text-align:center;padding:14px;display:block}#restart-button{color:#111;background:#fff;padding:12px 24px}#restart-button:hover{background:#ddd}@media (width<=520px){.game-over-panel{padding:20px}.final-score{grid-template-columns:1fr}.score-registration__controls{flex-direction:column}#submit-score-button{width:100%}.leaderboard-split{grid-template-columns:1fr}}#reload-progress-overlay{z-index:55;pointer-events:none;width:146px;height:146px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#reload-progress-overlay[hidden]{display:none}.reload-reticle-shell{filter:drop-shadow(0 5px 12px #0000008c);width:100%;height:100%;position:relative}.reload-progress-gauge{width:100%;height:100%;display:block;overflow:visible;transform:rotate(-90deg)}.reload-progress-track,.reload-progress-value{fill:none;stroke-width:5px}.reload-progress-track{stroke:#ffffff29}.reload-progress-value{stroke:#ffdf68;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100px;transition:stroke-dashoffset 40ms linear}.reload-progress-copy{text-align:center;place-content:center;justify-items:center;gap:2px;display:grid;position:absolute;inset:0}.reload-progress-copy strong{color:#fff;letter-spacing:.14em;font-size:12px}.reload-progress-stage{color:#ffdf68;font-size:13px;font-weight:700}.reload-progress-time{color:#fff;font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.reload-progress-percent{color:#ffffff94;font-size:10px}#reload-progress-overlay[data-stage=remove] .reload-reticle-shell{animation:.48s ease-in-out infinite alternate reload-stage-remove}#reload-progress-overlay[data-stage=insert] .reload-reticle-shell{animation:.62s cubic-bezier(.2,.8,.25,1) reload-stage-insert}#reload-progress-overlay[data-stage=charge] .reload-reticle-shell{animation:.26s ease-in-out infinite alternate reload-stage-charge}#reload-progress-overlay[data-stage=charge] .reload-progress-value{stroke:#fff}@keyframes reload-stage-remove{0%{opacity:1;transform:translateY(-2px)scale(1)}to{opacity:.76;transform:translateY(8px)scale(.96)}}@keyframes reload-stage-insert{0%{transform:translateY(12px)scale(.94)}58%{transform:translateY(-4px)scale(1.04)}to{transform:translateY(0)scale(1)}}@keyframes reload-stage-charge{0%{transform:translate(-4px)scale(1)}to{transform:translate(5px)scale(1.035)}}#ammo-rack{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;background:#05070ab8;border:1px solid #ffffff24;border-radius:11px;width:min(420px,100vw - 36px);padding:10px 14px 11px;transition:border-color .14s,transform .14s,background .14s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}#ammo-rack[hidden]{display:none}.ammo-rack__header{color:#ffffff94;letter-spacing:.13em;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:10px;display:flex}.ammo-rack__header strong{color:#fff;font-variant-numeric:tabular-nums;letter-spacing:0;font-size:12px}.ammo-rack__slots{grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;display:grid}.ammo-rack__bullet{opacity:.42;transform-origin:bottom;background:#ffffff09;border:1px solid #ffffff29;border-radius:8px 8px 5px 5px;height:24px;transition:opacity .15s,transform .17s cubic-bezier(.2,.8,.25,1),background .15s,border-color .15s;display:block;position:relative;overflow:hidden;transform:translateY(5px)scaleY(.75)}.ammo-rack__bullet:before{content:"";background:#ffffff14;border-radius:6px 6px 3px 3px;position:absolute;inset:4px 5px 3px}.ammo-rack__bullet--filled{opacity:1;background:#ffdf681f;border-color:#ffdf68b8;transform:translateY(0)scaleY(1)}.ammo-rack__bullet--filled:before{background:linear-gradient(0deg,#bc7f2e 0 58%,#ffdf68 58% 100%)}.ammo-rack__bullet--loading{animation:.22s ease-out ammo-slot-load}.ammo-rack__stage{color:#ffffffad;text-align:center;min-height:17px;margin-top:7px;font-size:11px}#ammo-rack[data-stage=remove]{transform:translate(-50%)translateY(7px)scale(.985)}#ammo-rack[data-stage=insert]{border-color:#ffdf6861}#ammo-rack[data-stage=charge]{background:#0c0e12d6;border-color:#ffffff8a}#ammo-rack.ammo-rack--empty{border-color:#ff5c4485}#ammo-rack.ammo-rack--complete{animation:.5s ease-out ammo-rack-complete}@keyframes ammo-slot-load{0%{opacity:0;transform:translateY(14px)scaleY(.5)}65%{opacity:1;transform:translateY(-3px)scaleY(1.08)}to{transform:translateY(0)scaleY(1)}}@keyframes ammo-rack-complete{0%{border-color:#ffffff24;transform:translate(-50%)scale(1)}38%{border-color:#fff;transform:translate(-50%)scale(1.035)}to{border-color:#ffffff24;transform:translate(-50%)scale(1)}}#reload-complete-flash{z-index:56;color:#fff;pointer-events:none;opacity:0;border:2px solid #fffffff2;border-radius:50%;width:62px;height:62px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)scale(.6)}#reload-complete-flash[hidden]{display:none}#reload-complete-flash span{letter-spacing:.18em;font-size:10px;font-weight:800;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%)}#reload-complete-flash.reload-complete-flash--active{animation:.5s ease-out forwards reload-complete-ring}@keyframes reload-complete-ring{0%{opacity:0;transform:translate(-50%,-50%)scale(.55)}28%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(1.75)}}@media (width<=620px){#ammo-rack{bottom:14px}.ammo-rack__slots{gap:4px}.ammo-rack__bullet{height:20px}#reload-progress-overlay{width:132px;height:132px}}#crosshair.crosshair--grenade-aiming{opacity:.9;filter:drop-shadow(0 0 5px #ffae2df2);transform:translate(-50%,-50%)scale(1.18)rotate(45deg)}#crosshair.crosshair--grenade-aiming:before,#crosshair.crosshair--grenade-aiming:after{background:#ffb23f}#grenade-aim-hint{z-index:58;color:#fff;pointer-events:none;text-align:center;background:#150c03d6;border:1px solid #ffb23f9e;border-radius:9px;gap:2px;min-width:210px;padding:9px 12px;animation:.85s ease-in-out infinite grenade-aim-hint-pulse;display:grid;position:fixed;transform:translate(-50%,34px)}#grenade-aim-hint[hidden]{display:none}#grenade-aim-hint strong{color:#b26b00;letter-spacing:.14em;font-size:11px}#grenade-aim-hint span{font-size:13px;font-weight:700}#grenade-aim-hint small{color:#ffffffa6;font-size:10px}@keyframes grenade-aim-hint-pulse{0%,to{border-color:#ffb23f75}50%{border-color:#ffd17feb}}#title-screen{z-index:120;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:linear-gradient(#e6f4fcbd,#c6e2efd1);place-items:center;padding:22px;display:grid;position:fixed;inset:0;overflow:hidden auto}#title-screen[hidden]{display:none}.title-screen__panel{color:#17252d;text-align:center;background:#f8fcfdf2;border:1px solid #19313d2e;border-radius:18px;width:min(94vw,760px);padding:38px;box-shadow:0 20px 55px #2549592e}.title-screen__eyebrow{color:#ffb23f;letter-spacing:.22em;margin:0 0 8px;font-size:12px;font-weight:800}.title-screen__panel h1{color:#17252d;letter-spacing:-.055em;margin:0;font-size:clamp(44px,8vw,78px);line-height:.95}.title-screen__description{color:#17252db8;max-width:530px;margin:20px auto 24px;line-height:1.65}.title-screen__guide{text-align:left;background:#d4e5ec59;border:1px solid #17252d1f;border-radius:12px;margin-bottom:16px;padding:14px}.title-screen__guide h2,.title-screen__difficulty h2{color:#263d48;letter-spacing:.04em;text-align:center;margin:0 0 10px;font-size:13px}.title-screen__controls{text-align:center;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:0;display:grid}html:not(.touch-input) .title-screen__controls--mobile,.touch-input .title-screen__controls--desktop{display:none}.touch-input .title-screen__controls--mobile{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (orientation:landscape) and (any-pointer:coarse){.touch-input .title-screen__controls--mobile{grid-template-columns:repeat(4,minmax(0,1fr))}}.title-screen__controls div{background:#ffffffa8;border:1px solid #17252d1a;border-radius:8px;align-content:center;gap:4px;min-height:65px;padding:9px 8px;display:grid}.title-screen__controls strong{color:#8a5900;font-size:12px}.title-screen__controls span{color:#17252dad;font-size:11px;line-height:1.35}.title-screen__reward{color:#8a5900e6;margin:0 0 24px;font-size:13px}#start-button{color:#fff;cursor:pointer;background:#263d48;border:0;border-radius:10px;min-width:210px;padding:14px 28px;font-weight:800;transition:transform .12s,background .12s}#start-button:hover{background:#ffdf68;transform:translateY(-2px)}#start-button:active{transform:translateY(0)}@media (width<=560px){.title-screen__panel{padding:27px 20px}.title-screen__controls{grid-template-columns:1fr}}.title-screen__difficulty{background:#ffffffa3;border:1px solid #17252d24;border-radius:12px;margin-bottom:14px;padding:12px 14px}.difficulty-selector{justify-content:center;gap:10px;display:flex}.difficulty-check{color:#29404b;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #17252d2e;border-radius:8px;align-items:center;gap:8px;min-width:108px;padding:10px 14px;font-size:14px;font-weight:750;transition:border-color .12s,background .12s,transform .12s;display:inline-flex;position:relative}.difficulty-check:hover{border-color:#b26b008c;transform:translateY(-1px)}.difficulty-check input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.difficulty-check__radio{background:#fff;border:2px solid #78909c;border-radius:50%;flex:none;width:19px;height:19px;position:relative}.difficulty-check input:checked+.difficulty-check__radio{background:#fff;border-color:#b26b00}.difficulty-check input:checked+.difficulty-check__radio:after{content:"";background:#b26b00;border-radius:50%;position:absolute;inset:3px}.difficulty-check:has(input:checked){color:#784900;background:#f1b53e2e;border-color:#b26b00}.difficulty-check input:focus-visible+.difficulty-check__radio{outline-offset:3px;outline:2px solid #263d48}#grenade-aim-hint{min-width:260px}#grenade-aim-hint small b{color:#ffdf68;font-size:12px}.grenade-aim-hint__power{background:#ffffff21;border-radius:999px;width:100%;height:5px;margin-top:4px;display:block;overflow:hidden}.grenade-aim-hint__power-value{border-radius:inherit;background:#ffb23f;width:50%;height:100%;transition:width 45ms linear;display:block}.final-score{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=680px){.difficulty-selector__grid{grid-template-columns:1fr}.difficulty-option__body{min-height:0}.title-screen__controls{grid-template-columns:1fr}.final-score{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=420px){.final-score{grid-template-columns:1fr}}@media (width<=760px){.title-screen__controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.difficulty-selector{gap:6px}.difficulty-check{flex:1 1 0;justify-content:center;min-width:0;padding:9px 7px;font-size:12px}.difficulty-check__radio{width:17px;height:17px}.title-screen__controls{grid-template-columns:1fr}}@media (orientation:portrait) and (any-pointer:coarse){#title-screen{height:100dvh;min-height:0;padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:block}.title-screen__panel{width:min(100%,620px);margin:0 auto;padding:24px 18px}.title-screen__description{margin:14px auto 16px;line-height:1.45}.title-screen__controls{grid-template-columns:repeat(2,minmax(0,1fr))}.title-screen__controls div{min-height:54px;padding:7px 6px}.title-screen__reward{margin-bottom:16px}}@media (orientation:landscape) and (any-pointer:coarse){#hud{width:min(270px,38vw);padding:8px 10px;font-size:12px;line-height:1.35}#status-message{min-height:16px;margin-top:4px}#sound-toggle{padding:7px 10px;font-size:12px}#help{display:none}.mobile-controls{padding:10px max(16px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.mobile-controls__utility{gap:9px}.mobile-control-button{width:62px;height:62px}.mobile-control-button--fire{width:74px;height:74px}.mobile-control-button--reload{width:56px;height:56px}#title-screen{height:100dvh;min-height:0;padding:max(10px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));display:block}.title-screen__panel{width:min(100%,760px);margin:0 auto;padding:18px 22px}.title-screen__panel h1{font-size:clamp(38px,9vh,58px)}.title-screen__description{margin:10px auto 12px;font-size:12px;line-height:1.4}.title-screen__difficulty{margin-bottom:9px;padding:8px 10px}.difficulty-check{padding:7px 10px}.title-screen__guide{margin-bottom:9px;padding:9px}.title-screen__controls{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.title-screen__controls div{min-height:48px;padding:6px 5px}.title-screen__reward{margin-bottom:10px;font-size:11px}#start-button{padding:10px 24px}.game-over-panel{max-height:calc(100dvh - 24px)}}.touch-input #sound-toggle{min-width:68px;padding:7px 10px;font-size:0;line-height:1.35}.touch-input #sound-toggle:after{content:"🔇 OFF";font-size:12px}.touch-input #sound-toggle[aria-pressed=true]:after{content:"🔊 ON"}.touch-input #hud{width:auto;max-width:min(180px,42vw);padding:7px 10px;font-size:12px;line-height:1.3}.touch-input #hud>*{display:none}.touch-input #hud>[data-hud-value=distance-travelled]{white-space:nowrap;display:block}.touch-input #ammo-rack,.touch-input #reload-warning,.touch-input #help{display:none!important}.touch-input #game-over{overscroll-behavior:contain;align-items:start;overflow-y:auto}.touch-input .game-over-panel{max-height:calc(100dvh - max(16px, env(safe-area-inset-top)) - max(16px, env(safe-area-inset-bottom)));-webkit-overflow-scrolling:touch;scroll-padding-bottom:35dvh}.mobile-control-button small b{color:#ffdf68;font-variant-numeric:tabular-nums;margin-top:3px;font-size:12px;line-height:1;display:block}.mobile-control-button--empty{filter:saturate(.55);border-color:#ff5c44b8}.mobile-control-button--busy{opacity:.62}.mobile-control-button[aria-disabled=true]{cursor:default}.mobile-control-button--active{background:#23668be0;border-color:#fff;box-shadow:0 0 0 3px #81cdff3d,0 6px 20px #00000057}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
