:root{--hud-fg: #fff8ea;--hud-shadow: 0 .15vh .5vh rgba(40, 20, 0, .75);--hud-panel: rgba(38, 24, 10, .42);--hud-accent: #ffd257;--hud-size: clamp(12px, 2.2vh, 30px)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#d9b98a;font-family:Pretendard,Apple SD Gothic Neo,Malgun Gothic,Noto Sans KR,system-ui,sans-serif;color:var(--hud-fg);user-select:none;-webkit-user-select:none}#app{position:fixed;inset:0}canvas.game-canvas{display:block;width:100%;height:100%;cursor:crosshair}.hud{position:absolute;inset:0;pointer-events:none;font-size:var(--hud-size);text-shadow:var(--hud-shadow)}.hud-box{position:absolute;padding:.6em .9em;border-radius:.6em;background:var(--hud-panel);backdrop-filter:blur(2px);line-height:1.25}.hud-label{font-size:.72em;letter-spacing:.08em;opacity:.85}.hud-value{font-size:1.55em;font-weight:800;font-variant-numeric:tabular-nums}.hud-top-left{top:2.2vh;left:2.2vh}.hud-top-right{top:2.2vh;right:2.2vh;text-align:right}.hud-top-right .hud-value{font-size:2.2em;color:var(--hud-accent)}.hud-last{margin-top:.2em;font-size:.85em;min-height:1.2em}.hud-bottom-left{bottom:2.2vh;left:2.2vh}.hud-bottom-right{bottom:2.2vh;right:2.2vh;width:15em}.hud-gauge-row{display:flex;justify-content:space-between;align-items:baseline}.hud-gauge{margin-top:.4em;height:.7em;border-radius:.35em;background:#ffffff38;overflow:hidden}.hud-gauge-fill{height:100%;width:0%;background:linear-gradient(90deg,#ffe08a,#ffb627 60%,#ff7a1a);border-radius:.35em}.hud-top-center{top:2.2vh;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.6em}.hud-wind-arrow{width:1.8em;height:1.8em;display:inline-block;transition:transform .25s ease-out}.hud-wind-arrow svg{width:100%;height:100%;filter:drop-shadow(0 .1vh .3vh rgba(40,20,0,.7))}.hud-wind-arrow.hidden{display:none}.hud-bottom-center{bottom:2.6vh;left:50%;transform:translate(-50%);font-size:.82em;white-space:nowrap;background:#26180a4d}.hud-crosshair{position:absolute;left:50%;top:50%;width:2.2vh;height:2.2vh;margin:-1.1vh 0 0 -1.1vh;will-change:transform}.hud-crosshair:before,.hud-crosshair:after{content:"";position:absolute;background:#ffffffeb;box-shadow:0 0 .3vh #000c}.hud-crosshair:before{left:50%;top:0;width:.18vh;height:100%;margin-left:-.09vh}.hud-crosshair:after{top:50%;left:0;height:.18vh;width:100%;margin-top:-.09vh}.hud-crosshair .dot{position:absolute;left:50%;top:50%;width:.5vh;height:.5vh;margin:-.25vh 0 0 -.25vh;border-radius:50%;background:#ff3b2f}.hud-crosshair.hidden{display:none}.hud-popup{position:absolute;left:0;top:0;transform:translate(-50%,-100%);font-size:1.7em;font-weight:900;color:var(--hud-accent);white-space:nowrap;opacity:0;will-change:transform,opacity}.hud-popup.miss{color:#ffe6d0}.hud-popup.x{color:#fff27a}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#1e120659;cursor:pointer}.overlay.hidden{display:none}.overlay-panel{min-width:22em;max-width:80vw;padding:1.6em 2.4em;border-radius:1em;background:#26180ab8;text-align:center;font-size:var(--hud-size);text-shadow:var(--hud-shadow)}.overlay-title{font-size:1.9em;font-weight:900;color:var(--hud-accent)}.overlay-line{margin-top:.7em;font-size:1em}.overlay.unsupported{cursor:default;background:#5b3e1f}.hidden{display:none!important}.hud-round{font-size:.95em;font-weight:700;letter-spacing:.04em;font-variant-numeric:tabular-nums;opacity:.95}.hud-pause-button{margin-top:.5em;pointer-events:auto;font-size:.75em;padding:.35em .9em}.hud-pause-button:disabled{opacity:.55;cursor:default}.hud-timer{margin-top:.55em}.hud-timer-row{display:flex;justify-content:space-between;align-items:baseline;min-height:1.3em}.hud-timer-warning{font-size:1.15em;font-weight:900;color:#ff4a3a;font-variant-numeric:tabular-nums}.hud-timer-bar{margin-top:.25em;height:.4em;border-radius:.2em;background:#ffffff2e;overflow:hidden}.hud-timer-fill{height:100%;width:100%;background:#fff1c6;border-radius:.2em}.hud-timer.warning .hud-timer-fill{background:#ff4a3a}.overlay[data-state=title],.overlay[data-state=pause],.overlay[data-state=confirm],.overlay[data-state=result]{background:#1e120680;cursor:default}.overlay-panel{width:min(36em,92vw);min-width:0;max-width:92vw;max-height:94vh;overflow-y:auto}.overlay-hint{margin-top:1em;font-size:.85em;opacity:.85}.game-title{font-size:2.6em;letter-spacing:.06em}.subtitle{opacity:.9}.choose{margin-top:1.2em;font-weight:700}.difficulty-row{display:flex;gap:.8em;justify-content:center;margin:.8em 0 1em;flex-wrap:wrap}.ui-button{font:inherit;color:var(--hud-fg);text-shadow:var(--hud-shadow);background:#ffd25729;border:.12em solid rgba(255,210,87,.75);border-radius:.6em;padding:.55em 1.3em;cursor:pointer;transition:background .15s ease-out,transform .1s ease-out}.ui-button:hover:not(:disabled){background:#ffd25752}.ui-button:active:not(:disabled){transform:translateY(.08em)}.ui-button.primary{background:#ffb6276b;border-color:var(--hud-accent);font-weight:800}.ui-button.secondary{background:#26180a66;border-color:#fff8ea73}.ui-button.danger{background:#d6402880;border-color:#ff8a6a;font-weight:800}.difficulty-button{display:flex;flex-direction:column;gap:.25em;min-width:9.5em;flex:1 1 9.5em;max-width:12em;padding:.8em .9em}.difficulty-name{font-size:1.35em;font-weight:900;color:var(--hud-accent)}.difficulty-info{font-size:.72em;opacity:.9}.difficulty-best{margin-top:.3em;font-size:.85em;font-weight:700;font-variant-numeric:tabular-nums}.guide-lines{margin-top:.6em;text-align:left;display:inline-block}.guide-line{margin-top:.5em}.guide-mobile{font-size:.82em;opacity:.8}.menu-buttons{display:flex;flex-direction:column;gap:.6em;align-items:center;margin-top:1.1em}.menu-buttons .ui-button{min-width:12em}.menu-buttons.row{flex-direction:row;justify-content:center;flex-wrap:wrap}.menu-buttons.row .ui-button{min-width:8em}.confirm-text{font-weight:700}.summary-cells{display:grid;grid-template-columns:repeat(10,1fr);gap:.3em;margin:1em 0 .4em}.summary-cell{padding:.45em 0;border-radius:.35em;background:#ffffff1f;font-weight:800;font-size:.9em;font-variant-numeric:tabular-nums}.summary-cell.x{background:#ffd25773;color:#fff6c8}.summary-cell.hit{background:#ffb62740}.summary-cell.miss{color:#ffd0bd}.summary-cell.empty{opacity:.4}.summary-round-score{font-size:1.15em;font-weight:800;color:var(--hud-accent)}.summary-panel .ui-button{margin-top:1em}.result-rows{margin:1em auto .4em;max-width:20em}.result-row{display:flex;justify-content:space-between;padding:.35em .2em;border-bottom:.08em solid rgba(255,248,234,.2);font-variant-numeric:tabular-nums}.result-row-score{font-weight:800}.result-total{margin-top:.6em;font-size:1.6em;font-weight:900;color:var(--hud-accent);font-variant-numeric:tabular-nums}.result-new-record{margin-top:.3em;font-size:1.2em;font-weight:900;color:#fff27a}.result-save-notice{font-size:.85em;color:#ffd0bd}.quality-row{display:flex;align-items:center;justify-content:center;gap:.5em;margin-top:1.1em;flex-wrap:wrap}.quality-label{font-size:.8em;opacity:.85;margin-right:.3em}.ui-button.quality-button{font-size:.8em;padding:.35em .95em;min-width:4.2em;background:#26180a66;border-color:#fff8ea66}.ui-button.quality-button.active{background:#ffb62780;border-color:var(--hud-accent);font-weight:800}.quality-notice{position:absolute;top:11vh;left:50%;transform:translate(-50%);padding:.5em 1.1em;border-radius:.6em;background:#26180a99;font-size:var(--hud-size);text-shadow:var(--hud-shadow);pointer-events:none;white-space:nowrap}.sound-row{margin-top:.9em}.sound-controls{display:flex;align-items:center;justify-content:center;gap:.4em .8em;flex-wrap:wrap}.volume-label{display:inline-flex;align-items:center;gap:.4em;font-size:.8em;cursor:pointer}.volume-slider{width:6.5em;margin:0;accent-color:var(--hud-accent);cursor:pointer}.ui-button.mute-toggle{display:inline-flex;align-items:center;gap:.4em;font-size:.8em;padding:.35em .85em;background:#26180a66;border-color:#fff8ea66}.ui-button.mute-toggle.muted{background:#d640286b;border-color:#ff8a6a}.mute-icon{display:inline-block;width:1.2em;height:1.2em;flex:none}.mute-icon svg{display:block;width:100%;height:100%}.audio-unavailable{font-size:.8em;color:#ffd0bd}.hud-muted{display:flex;align-items:center;justify-content:flex-end;gap:.3em;margin-top:.3em;font-size:.75em;color:#ffd0bd}@media (max-height: 520px){.overlay-panel{padding:1em 1.4em}.game-title{font-size:2em}}#app{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}canvas.game-canvas,.hud,.overlay,.rotate-overlay,.draw-button{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.overlay-panel{touch-action:pan-y}.hud-top-left{top:calc(2.2vh + env(safe-area-inset-top,0px));left:calc(2.2vh + env(safe-area-inset-left,0px))}.hud-top-right{top:calc(2.2vh + env(safe-area-inset-top,0px));right:calc(2.2vh + env(safe-area-inset-right,0px))}.hud-bottom-left{bottom:calc(2.2vh + env(safe-area-inset-bottom,0px));left:calc(2.2vh + env(safe-area-inset-left,0px))}.hud-bottom-right{bottom:calc(2.2vh + env(safe-area-inset-bottom,0px));right:calc(2.2vh + env(safe-area-inset-right,0px))}.hud-top-center{top:calc(2.2vh + env(safe-area-inset-top,0px))}.hud-bottom-center{bottom:calc(2.6vh + env(safe-area-inset-bottom,0px))}.overlay{padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}.quality-notice{top:calc(11vh + env(safe-area-inset-top,0px))}.touch-mode{--hud-size: clamp(14px, 3.4vh, 24px)}.touch-mode .hud-label{font-size:max(12px,.72em)}.touch-mode .hud-last,.touch-mode .hud-muted,.touch-mode .hud-bottom-center,.touch-mode .difficulty-info,.touch-mode .quality-label,.touch-mode .volume-label,.touch-mode .overlay-hint,.touch-mode .audio-unavailable,.touch-mode .result-save-notice,.touch-mode .summary-cell,.touch-mode .ui-button.quality-button,.touch-mode .ui-button.mute-toggle{font-size:max(12px,.8em)}.touch-mode .hud-bottom-right{right:var(--draw-reserve-right, 24px);bottom:var(--draw-reserve-bottom, 130px);width:11em}.ui-button.touch-pause-button{margin-top:.5em;pointer-events:auto;font-size:max(12px,.85em);padding:.5em 1.1em;min-height:40px}.draw-button{position:absolute;pointer-events:auto;border-radius:50%;color:var(--hud-fg);background:radial-gradient(circle at 50% 40%,#ffd2574d,#26180a99);box-shadow:0 .3vh 1.2vh #2814008c;transition:transform .08s ease-out}.draw-button.drawing{transform:scale(.95);background:radial-gradient(circle at 50% 40%,#ffb6278c,#26180aa6)}.draw-button svg{display:block;width:100%;height:100%}.draw-ring-track{fill:none;stroke:#fff8ea40;stroke-width:6}.draw-ring-fill{fill:none;stroke:var(--hud-accent);stroke-width:6;stroke-linecap:round}.draw-button.warning .draw-ring-fill{stroke:#ff4a3a}.draw-bow-limb{fill:none;stroke:var(--hud-fg);stroke-width:5;stroke-linecap:round}.draw-bow-string{fill:none;stroke:#fff8ead9;stroke-width:1.6}.draw-bow-arrow{fill:none;stroke:var(--hud-accent);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}.tap-to-start{animation:tap-pulse 1.6s ease-in-out infinite}@keyframes tap-pulse{0%,to{opacity:1}50%{opacity:.6}}.rotate-overlay{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4em;padding:2em;background:#1e1206f0;text-align:center;font-size:clamp(14px,2.6vh,24px);text-shadow:var(--hud-shadow)}.rotate-icon{width:5em;height:5em;color:var(--hud-accent);animation:rotate-hint 2.4s ease-in-out infinite}.rotate-icon svg{display:block;width:100%;height:100%}@keyframes rotate-hint{0%,20%{transform:rotate(0)}50%,70%{transform:rotate(-90deg)}to{transform:rotate(0)}}.lan-hint{margin-top:1em;font-size:.78em;opacity:.85}.guide-mobile.touch{margin-bottom:.4em;font-size:1em;font-weight:700;opacity:1}@media (prefers-reduced-motion: reduce){.rotate-icon,.tap-to-start{animation:none}}:root{--hud-fg: #f4ead8;--hud-gold: #ffd36b;--hud-line: rgba(223, 189, 133, .5);--hud-panel-bg: linear-gradient(180deg, rgba(35, 27, 22, .82), rgba(16, 13, 11, .7));--hud-num: "DIN Condensed", "Bahnschrift", "Roboto Condensed", "Arial Narrow", "Pretendard", sans-serif}.hud{text-shadow:0 .1vh .3vh rgba(0,0,0,.6)}.hud-box{padding:.5em 1em;border:1.5px solid var(--hud-line);border-radius:9px;background:var(--hud-panel-bg);backdrop-filter:none;box-shadow:0 .4vh 1.4vh #00000047}.hud-label{font-size:.85em;font-weight:600;letter-spacing:.02em;opacity:1;color:var(--hud-fg)}.hud-value,.hud-round{font-family:var(--hud-num);font-size:1.75em;font-weight:700;letter-spacing:.02em;line-height:1;opacity:1;color:var(--hud-gold);text-shadow:0 0 .8vh rgba(255,190,80,.35),0 .1vh .3vh rgba(0,0,0,.7)}.hud-top-left,.hud-top-center,.hud-bottom-left,.hud-score-row{display:flex;align-items:baseline;gap:.55em;white-space:nowrap}.hud-range-label{font-weight:800}.hud-divider{align-self:center;width:1px;height:1.1em;margin:0 .2em;background:var(--hud-line)}.hud-wind{display:inline-flex;align-self:center;align-items:center;gap:.3em;margin-left:.35em;padding-left:.65em;border-left:1px solid var(--hud-line)}.hud-wind-arrow{width:1.25em;height:1.25em}.hud-wind-text{font-family:var(--hud-num);font-size:1.15em;font-weight:700;color:var(--hud-fg)}.hud-top-right{position:absolute;display:flex;align-items:flex-start;gap:.5em;text-align:right}.hud-top-right .hud-box{position:relative}.hud-top-right .hud-value{font-size:1.9em;color:var(--hud-gold)}.hud-last{margin-top:.2em;min-height:0;font-size:.75em;color:#f4ead8d9}.hud-last:empty{display:none}.ui-button.hud-pause-button,.ui-button.touch-pause-button{display:grid;place-items:center;width:2.7em;height:2.7em;min-height:0;margin:0;padding:0;border:1.5px solid var(--hud-line);border-radius:9px;background:var(--hud-panel-bg);pointer-events:auto}.hud-pause-icon{width:62%;height:62%}.hud-bottom-right{width:auto;min-width:17em}.hud-gauge-row{display:flex;align-items:center;justify-content:flex-start;gap:.65em}.hud-gauge{flex:1;min-width:7em;height:.6em;margin:0;border:1px solid rgba(223,189,133,.6);border-radius:999px;background:#00000073}.hud-gauge-fill{border-radius:999px;background:linear-gradient(90deg,#f0b84d,#ffd36b 60%,#ffeab0);box-shadow:0 0 .8vh #ffc85a99}.hud-gauge-row .hud-value{min-width:2.4em;font-size:1.55em;text-align:right}.hud-bottom-center{display:flex;align-items:center;gap:.9em;font-size:.85em;background:var(--hud-panel-bg)}.hint-item{display:inline-flex;align-items:baseline;gap:.45em}.hint-key{font-weight:800;color:var(--hud-fg)}.hint-desc{font-weight:500;color:#f4ead8b8}.hint-sep{color:var(--hud-gold);opacity:.8}.hud-assist{position:absolute;left:50%;top:50%;width:2.6vh;height:2.6vh;margin:-1.3vh 0 0 -1.3vh;pointer-events:none;will-change:transform}.hud-assist .ring{position:absolute;inset:0;border-radius:50%;border:.28vh solid #53e6ff;box-shadow:0 0 .35vh #000c,inset 0 0 .3vh #0009}.hud-assist .center{position:absolute;left:50%;top:50%;width:.55vh;height:.55vh;margin:-.275vh 0 0 -.275vh;border-radius:50%;background:#53e6ff;box-shadow:0 0 .3vh #000000d9}.hud-assist.on-target .ring{border-color:#79ff96}.hud-assist.on-target .center{background:#79ff96}.hud-assist-line{position:absolute;left:50%;top:50%;height:0;border-top:.22vh dashed rgba(83,230,255,.75);filter:drop-shadow(0 0 .2vh rgba(0,0,0,.8));transform-origin:0 0;pointer-events:none}.hud-assist.hidden,.hud-assist-line.hidden{display:none}.hud-popup{display:flex;flex-direction:column;align-items:center;font-size:1em;line-height:1;text-align:center}.popup-title{margin-bottom:.15em;font-size:1.2em;font-weight:800;color:var(--hud-fg)}.popup-value{font-family:var(--hud-num);font-size:3.3em;font-weight:700;color:var(--hud-gold);text-shadow:0 0 1.4vh rgba(255,190,80,.55),0 .15vh .4vh rgba(0,0,0,.6)}.popup-ornament{width:9em;margin-top:.3em;opacity:.95}.hud-popup.miss .popup-value{color:#f1e2cc}.hud-popup.x .popup-value{color:#fff1a0}.viewmodel{position:absolute;top:0;height:100vh;width:calc(var(--vm-frame-w, 1.777) * 100vh);left:calc(var(--vm-anchor, 0) * (100vw - var(--vm-frame-w, 1.777) * 100vh));height:100dvh;width:calc(var(--vm-frame-w, 1.777) * 100dvh);left:calc(var(--vm-anchor, 0) * (100vw - var(--vm-frame-w, 1.777) * 100dvh));pointer-events:none;transform-origin:calc(var(--vm-anchor, 0) * 100%) 100%;will-change:transform}.viewmodel-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;user-select:none}.vm-string-back,.vm-string,.vm-string-light{fill:none;stroke-linecap:round;stroke-linejoin:round}.vm-string-back{stroke:#3a24128c;stroke-width:7}.vm-string{stroke:#9f7249;stroke-width:4.6}.vm-string-light{stroke:#d6b07ebf;stroke-width:1.4}.touch-mode .hud-bottom-right{min-width:0;width:13em}.hud-gauge-row>*{white-space:nowrap}.touch-mode .hud-gauge{min-width:3.5em}.overlay-panel{border:1.5px solid var(--hud-line);border-radius:12px;background:linear-gradient(180deg,#231b16e0,#100d0bd1);box-shadow:0 1vh 3vh #00000059}.hud-wind-gauge{position:relative;display:inline-block;width:11vh;height:6.4vh;margin:0 1.8vh;perspective:18vh;perspective-origin:50% 20%;flex:none}.wg-plane{position:absolute;left:50%;top:44%;width:8.8vh;height:8.8vh;margin:-4.4vh 0 0 -4.4vh;transform:rotateX(58deg);transform-style:preserve-3d}.wg-ring{position:absolute;inset:0;border-radius:50%;border:.3vh solid rgba(233,184,76,.95);background:radial-gradient(circle,#28180abf,#28180a66 70%,#28180a33);box-shadow:0 0 .5vh #0009,inset 0 0 .6vh #ffdc9640}.wg-arm{position:absolute;border-radius:.3vh;overflow:hidden;background:#fff0d229;box-shadow:inset 0 0 0 .12vh #00000059}.wg-forward,.wg-backward{left:calc(50% - .7vh);width:1.4vh;height:calc(50% - .7vh)}.wg-forward{top:.55vh}.wg-backward{bottom:.55vh}.wg-left,.wg-right{top:calc(50% - .7vh);height:1.4vh;width:calc(50% - .7vh)}.wg-left{left:.55vh}.wg-right{right:.55vh}.wg-fill{position:absolute;inset:0;background:#53e6ff;transition:transform .45s ease-out}.wg-forward .wg-fill{transform-origin:50% 100%;transform:scaleY(0)}.wg-backward .wg-fill{transform-origin:50% 0%;transform:scaleY(0)}.wg-left .wg-fill{transform-origin:100% 50%;transform:scaleX(0)}.wg-right .wg-fill{transform-origin:0% 50%;transform:scaleX(0)}.hud-wind-gauge[data-level=medium] .wg-fill{background:#ffc14d}.hud-wind-gauge[data-level=strong] .wg-fill{background:#ff6a4a}.wg-arrow{position:absolute;left:50%;top:4%;width:2.8vh;height:46%;margin-left:-1.4vh;transform-origin:50% 100%;transition:transform .45s ease-out}.wg-arrow svg{width:100%;height:100%;filter:drop-shadow(0 0 .25vh rgba(0,0,0,.8))}.wg-arrow.hidden{display:none}.wg-label{position:absolute;font-size:1.35vh;font-weight:700;line-height:1;color:var(--hud-gold);text-shadow:0 0 .3vh rgba(0,0,0,.9);transform:rotateX(-58deg);pointer-events:none}.wg-label-forward{left:calc(50% - .7vh);top:-1.9vh}.wg-label-backward{left:calc(50% - .7vh);bottom:-1.6vh}.wg-label-left{left:-2vh;top:calc(50% - .7vh)}.wg-label-right{right:-2vh;top:calc(50% - .7vh)}@media (orientation: portrait){:root,.touch-mode{--hud-size: clamp(12px, 3.7vw, 18px)}.hud-range-label,.hud-top-left .hud-divider{display:none}.hud-top-center{top:calc(2.2vh + env(safe-area-inset-top,0px) + 3.4em)}.hud-bottom-center{display:none}}:root{--menu-gold: #e9b84c;--menu-gold-hi: #ffe39a;--menu-gold-lo: #8a5a1c;--menu-ink: #f6e7c8;--menu-teal: #1fb2a6;--menu-serif: "Nanum Myeongjo", "Noto Serif KR", "AppleMyungjo", "Batang", serif;--menu-latin: "Cinzel", "Trajan Pro", Georgia, serif;--menu-corner: 34px}.overlay,.overlay[data-state=title],.overlay[data-state=pause],.overlay[data-state=confirm],.overlay[data-state=result]{background:radial-gradient(ellipse at center,#180c0247,#180c028c 62%,#0a0500d9)}.overlay-panel{position:relative;border:2px solid var(--menu-gold);border-radius:6px;padding:2.1em 2.6em 1.9em;color:var(--menu-ink);background:radial-gradient(ellipse at 50% 0%,rgba(255,196,110,.18),transparent 62%),repeating-linear-gradient(45deg,rgba(255,220,160,.028) 0 2px,transparent 2px 7px),linear-gradient(180deg,#3c2513f2,#1b1008f5);box-shadow:inset 0 0 0 5px #1b1008eb,inset 0 0 0 6px #e9b84c99,inset 0 2px 22px #0000008c,0 0 0 1px #000000a6,0 1.6vh 4.5vh #0009}.overlay-panel:before{content:"";position:absolute;inset:3px;pointer-events:none;--c: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cg%3E%3Cpath d='M2 22V2h20' fill='none' stroke='%23e9b84c' stroke-width='2.6'/%3E%3Cpath d='M8 16V8h8' fill='none' stroke='%23ffe39a' stroke-width='1.2'/%3E%3Crect x='3.6' y='3.6' width='6.4' height='6.4' transform='rotate(45 6.8 6.8)' fill='%231fb2a6' stroke='%23ffe39a' stroke-width='1.1'/%3E%3C/g%3E%3C/svg%3E");background:var(--c) top left / var(--menu-corner) no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cg transform='translate(34 0) scale(-1 1)'%3E%3Cpath d='M2 22V2h20' fill='none' stroke='%23e9b84c' stroke-width='2.6'/%3E%3Cpath d='M8 16V8h8' fill='none' stroke='%23ffe39a' stroke-width='1.2'/%3E%3Crect x='3.6' y='3.6' width='6.4' height='6.4' transform='rotate(45 6.8 6.8)' fill='%231fb2a6' stroke='%23ffe39a' stroke-width='1.1'/%3E%3C/g%3E%3C/svg%3E") top right / var(--menu-corner) no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cg transform='translate(0 34) scale(1 -1)'%3E%3Cpath d='M2 22V2h20' fill='none' stroke='%23e9b84c' stroke-width='2.6'/%3E%3Cpath d='M8 16V8h8' fill='none' stroke='%23ffe39a' stroke-width='1.2'/%3E%3Crect x='3.6' y='3.6' width='6.4' height='6.4' transform='rotate(45 6.8 6.8)' fill='%231fb2a6' stroke='%23ffe39a' stroke-width='1.1'/%3E%3C/g%3E%3C/svg%3E") bottom left / var(--menu-corner) no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cg transform='translate(34 34) scale(-1 -1)'%3E%3Cpath d='M2 22V2h20' fill='none' stroke='%23e9b84c' stroke-width='2.6'/%3E%3Cpath d='M8 16V8h8' fill='none' stroke='%23ffe39a' stroke-width='1.2'/%3E%3Crect x='3.6' y='3.6' width='6.4' height='6.4' transform='rotate(45 6.8 6.8)' fill='%231fb2a6' stroke='%23ffe39a' stroke-width='1.1'/%3E%3C/g%3E%3C/svg%3E") bottom right / var(--menu-corner) no-repeat}.overlay-panel:after{content:"";position:absolute;top:1px;left:50%;width:22px;height:14px;margin-left:-11px;border-radius:50%;border:2px solid var(--menu-gold);background:radial-gradient(ellipse at 35% 30%,#c6fff7,#2bc4b5 38%,#0a6058 80%);box-shadow:0 0 7px #2bc4b58c,0 2px 4px #0009;pointer-events:none}.overlay-panel .overlay-title{font-family:var(--menu-serif);font-weight:800;letter-spacing:.08em;color:var(--menu-gold-hi);text-shadow:0 2px 0 rgba(48,24,2,.95),0 0 14px rgba(255,178,60,.35)}@supports (-webkit-background-clip: text) or (background-clip: text){.overlay-panel .overlay-title{background:linear-gradient(180deg,#fff6d2,#ffd56e 46%,#c98a2b);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 2px 0 rgba(48,24,2,.95)) drop-shadow(0 0 10px rgba(255,178,60,.28))}}.overlay-panel>.overlay-title:not(.tap-to-start):after{content:"";display:block;width:min(13em,82%);height:.5em;margin:.4em auto .1em;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='320'%20height='30'%20viewBox='0%200%20320%2030'%3e%3cdefs%3e%3clinearGradient%20id='line'%3e%3cstop%20stop-color='%23ffce6a'%20stop-opacity='0'/%3e%3cstop%20offset='.45'%20stop-color='%23ffdc8a'/%3e%3cstop%20offset='.55'%20stop-color='%23ffdc8a'/%3e%3cstop%20offset='1'%20stop-color='%23ffce6a'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20d='M0%2015h146m28%200h146'%20stroke='url(%23line)'%20stroke-width='1.5'/%3e%3cpath%20d='m160%208%207%207-7%207-7-7z'%20fill='none'%20stroke='%23ffeab6'%20stroke-width='1.7'/%3e%3cpath%20d='m137%2012%203%203-3%203-3-3zm46%200%203%203-3%203-3-3z'%20fill='%23ffda80'/%3e%3c/svg%3e") center / contain no-repeat}.title-latin{font-family:var(--menu-latin);font-weight:700;font-size:.82em;letter-spacing:.45em;padding-left:.45em;color:var(--menu-gold);text-shadow:0 1px 0 rgba(0,0,0,.8)}.overlay-panel .game-title{font-size:3.1em;letter-spacing:.12em;line-height:1.15}.overlay-panel .subtitle{font-family:var(--menu-serif);font-weight:700;color:#f6e7c8d1}.overlay-panel .choose{font-family:var(--menu-serif);font-weight:800;letter-spacing:.12em;color:var(--menu-gold-hi)}.overlay .ui-button{font-family:var(--menu-serif);font-weight:700;color:var(--menu-ink);text-shadow:0 1px 2px rgba(0,0,0,.85);border:1.5px solid var(--menu-gold);border-radius:4px;background:linear-gradient(180deg,#603e1ef5,#301e0ef5);box-shadow:inset 0 1px #ffe4a059,inset 0 -2px #00000059,0 2px 6px #00000073;transition:background .15s ease-out,box-shadow .15s ease-out,transform .1s ease-out}.overlay .ui-button:hover:not(:disabled){background:linear-gradient(180deg,#805428fa,#422812fa);box-shadow:inset 0 1px #ffe4a073,inset 0 -2px #00000059,0 0 14px #ffc85a59,0 2px 6px #00000073}.overlay .ui-button.primary,.overlay .ui-button.quality-button.active{color:#2a1606;text-shadow:0 1px 0 rgba(255,244,210,.6);border-color:#fff0c0;background:linear-gradient(180deg,#ffe7a8,#eabb52 48%,#b07a26)}.overlay .ui-button.primary:hover:not(:disabled),.overlay .ui-button.quality-button.active:hover:not(:disabled){background:linear-gradient(180deg,#fff0c4,#f3c862 48%,#c08a30)}.overlay .ui-button.danger{color:#fff3e8;border-color:#ffb08a;background:linear-gradient(180deg,#b8402c,#74200f)}.overlay .difficulty-button{padding:.95em .9em .85em}.overlay .difficulty-button:before{font-size:.7em;letter-spacing:.25em;color:var(--menu-teal);text-shadow:0 0 6px rgba(43,196,181,.5)}.overlay .difficulty-button[data-testid=difficulty-easy]:before{content:"◆"}.overlay .difficulty-button[data-testid=difficulty-normal]:before{content:"◆◆"}.overlay .difficulty-button[data-testid=difficulty-hard]:before{content:"◆◆◆"}.overlay .difficulty-name{font-family:var(--menu-serif);font-weight:800;letter-spacing:.1em;color:var(--menu-gold-hi)}.overlay .difficulty-best{color:var(--menu-gold)}.overlay .guide-line:before{content:"◆";margin-right:.6em;font-size:.6em;vertical-align:.2em;color:var(--menu-gold)}.overlay .summary-cell{border:1px solid rgba(233,184,76,.45);border-radius:3px;background:linear-gradient(180deg,#5a3c20e6,#2c1c0ee6);box-shadow:inset 0 1px #ffe4a033}.overlay .summary-cell.x{color:#2a1606;text-shadow:none;background:linear-gradient(180deg,#ffe7a8,#d9a441)}.overlay .summary-round-score,.overlay .result-total{font-family:var(--menu-serif);font-weight:800;color:var(--menu-gold-hi);text-shadow:0 2px 0 rgba(48,24,2,.95),0 0 12px rgba(255,178,60,.3)}.overlay .result-row{border-bottom:1px solid rgba(233,184,76,.28)}.overlay .result-new-record{font-family:var(--menu-serif);letter-spacing:.1em}.overlay .volume-slider{accent-color:var(--menu-gold)}@media (max-width: 520px),(max-height: 460px){:root{--menu-corner: 26px}.overlay-panel{padding:1.6em 1.4em 1.4em}.overlay-panel .game-title{font-size:2.4em}}.overlay .difficulty-info,.overlay .overlay-line,.overlay .guide-line{word-break:keep-all}.overlay .ui-button.assault-card{display:grid;grid-template-columns:1fr auto;grid-template-areas:"latin latin" "name progress" "info info";align-items:baseline;gap:.15em .8em;width:100%;margin:.1em 0 1.1em;padding:.85em 1.15em .9em;text-align:left;border-color:#f0a35a;background:radial-gradient(ellipse at 88% 40%,rgba(226,104,48,.38),transparent 62%),linear-gradient(180deg,#70361af7,#36180af7)}.overlay .ui-button.assault-card:hover:not(:disabled){background:radial-gradient(ellipse at 88% 40%,rgba(240,128,60,.45),transparent 62%),linear-gradient(180deg,#884420fa,#421e0cfa)}.assault-card-latin{grid-area:latin;font-family:var(--menu-latin);font-size:.62em;letter-spacing:.35em;color:var(--menu-gold)}.assault-card-name{grid-area:name;font-size:1.5em;font-weight:800;letter-spacing:.14em;color:var(--menu-gold-hi)}.assault-card-progress{grid-area:progress;font-size:.82em;color:var(--menu-gold);font-variant-numeric:tabular-nums;white-space:nowrap}.assault-card-info{grid-area:info;font-size:.78em;opacity:.92;word-break:keep-all}.stages-chapter{font-family:var(--menu-serif);font-weight:800;letter-spacing:.14em;color:var(--menu-gold-hi)}.stage-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55em;margin:1em 0 .4em}.overlay .ui-button.stage-cell{display:flex;flex-direction:column;align-items:center;gap:.12em;min-width:0;padding:.6em .2em .5em}.stage-label{font-family:var(--menu-latin);font-weight:700;font-size:1.15em;letter-spacing:.04em;color:var(--menu-gold-hi)}.stage-stars{font-size:.85em;letter-spacing:.06em;color:#ffd257}.stage-best{min-height:1.2em;font-size:.62em;opacity:.85;font-variant-numeric:tabular-nums}.stage-lock svg{display:block;width:1.25em;height:1.25em;margin-top:.15em;color:var(--menu-gold)}.overlay .ui-button.stage-cell.open{border-color:#fff0c0;box-shadow:inset 0 1px #ffe4a059,0 0 12px #ffc85a66}.overlay .ui-button.stage-cell.locked{opacity:.5;cursor:default;filter:grayscale(.6)}@media (max-width: 520px){.stage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.overlay .stage-result-stage{margin-top:0;font-family:var(--menu-latin);letter-spacing:.22em;color:var(--menu-gold)}.stage-result-stars{display:flex;justify-content:center;gap:.3em;margin:.45em 0 .2em;font-size:2.3em;line-height:1}.stage-result-stars .star{color:#fff0c829;text-shadow:none}.stage-result-stars .star.earned{color:#ffd257;text-shadow:0 0 12px rgba(255,190,60,.6),0 2px 0 rgba(60,30,0,.9)}.stage-result-panel[data-outcome=failed] .overlay-title{filter:hue-rotate(-28deg) saturate(1.3)}.overlay .stage-result-unlocked{color:#5fe3d6;font-weight:700}.overlay[data-state=stages],.overlay[data-state=stageResult]{cursor:default}.hud-enemies{margin-left:.7em}.hud-gate{display:inline-flex;gap:.28em;margin-left:.55em;vertical-align:-.15em}.gate-pip{width:.78em;height:1.05em;border:1.5px solid rgba(255,210,87,.85);border-radius:.35em .35em .08em .08em;background:#2814068c}.gate-pip.full{background:linear-gradient(180deg,#ffe7a8,#d9a441 60%,#8a5a1c);box-shadow:0 0 6px #ffc85a8c}.hud-banner{position:absolute;top:26%;left:50%;transform:translate(-50%,-50%);font-family:var(--menu-serif);font-weight:800;font-size:2.3em;letter-spacing:.2em;color:var(--menu-gold-hi);text-shadow:0 3px 0 rgba(48,24,2,.95),0 0 18px rgba(255,178,60,.5);white-space:nowrap}.hud-gate-flash{position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse closest-side at center,transparent 62%,rgba(210,24,0,.5) 88%,rgba(150,0,0,.8) 100%);box-shadow:inset 0 0 7vh 2vh #be0a00cc}.hud-marks{position:absolute;inset:0;overflow:hidden}.hud-mark{position:absolute;left:0;top:0;text-align:center;white-space:nowrap;transform-origin:50% 100%;will-change:transform,opacity;font-family:var(--menu-serif);font-weight:800;text-shadow:-1px -1px 0 rgba(30,12,0,.95),1px -1px 0 rgba(30,12,0,.95),-1px 1px 0 rgba(30,12,0,.95),1px 1px 0 rgba(30,12,0,.95),0 2px 0 rgba(40,18,2,.95),0 0 10px rgba(0,0,0,.6)}.hud-mark .mark-title{font-size:1.25em;letter-spacing:.08em}.hud-mark .mark-value{margin-top:.05em;font-family:inherit;font-size:1.05em;font-variant-numeric:tabular-nums}.hud-mark.kill{color:#ffd257}.hud-mark.kill .mark-value{font-size:1.5em;color:#fff3c4}.hud-mark.x{color:#6ff2e3}.hud-mark.x .mark-title{font-size:1.5em}.hud-mark.x .mark-value{font-size:1.7em;color:#ffe27a}.hud-mark.hit{color:#fff8ea}.hud-mark.hit .mark-value{font-size:.85em;color:#9ff3ea}.hud-mark.miss{color:#ffa489}.hud-mark.miss .mark-value{color:#fff3ec}.hud-hitmarker{position:absolute;left:50%;top:50%;width:5.2vh;height:5.2vh;pointer-events:none;color:#fff;transform:translate(-50%,-50%);will-change:transform,opacity}.hud-hitmarker.hidden{display:none}.hud-hitmarker svg{display:block;width:100%;height:100%;overflow:visible}.hud-hitmarker .hm-shadow{fill:none;stroke:#000000b3;stroke-width:5.5;stroke-linecap:round}.hud-hitmarker .hm-line{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round}.hud-hitmarker .hm-ring{display:none;fill:none;stroke:#5fe3d6;stroke-width:2.2}.hud-hitmarker[data-kind=kill],.hud-hitmarker[data-kind=weak]{color:#ffd257}.hud-hitmarker[data-kind=weak] .hm-ring{display:block}
