@font-face{font-family:Digitalt;src:url(/moonshot/fonts/Digitalt.ttf)format("truetype");font-style:normal;font-weight:500;font-display:swap}:root{--turf-fair-light:#88da68;--turf-fair-dark:#70c451;--turf-rough:#57994a;--turf-rough-light:#60a653;--turf-green:#ade786;--turf-fringe:#98d873;--turf-tee:#7dcf61;--sand-light:#fbefcc;--sand-dark:#eddca6;--sand-shade:#dcc58e;--water-deep:#2e8fd6;--water-mid:#3fa9ef;--water-hi:#79cbf7;--sky-top:#2d5be0;--sky-mid:#5b8cff;--sky-low:#a8c8ff;--fog:#a8c8ff;--far-hill-1:#78b68b;--far-hill-2:#9cccb2;--far-hill-3:#c6e2dd;--accent:#2761ff;--accent-press:#1f4ed1;--gold:#ffc44d;--danger:#ff5b45;--even:#22b573;--muted:#6b7684;--ink:#181e29;--blue:#2761ff;--blue-highlight:#4b7bff;--primary-color:var(--blue);--hud-glass:#162234eb;--hud-ink:#fff;--hud-muted:#a6b0bd;--hud-blue:#4572ef;--hud-over:#ffb4bc;color:var(--ink);background:var(--sky-mid);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;touch-action:none;font-family:Pretendard,Pretendard Variable,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root,#game-root{width:100%;height:100%}html,body,#root{overscroll-behavior:none;overflow:hidden}#root.is-intro{touch-action:pan-y;background:#eff3f7;overflow:hidden auto}body{background:var(--sky-mid);min-width:320px;margin:0}body,button,canvas{font-family:inherit}button{font:inherit;-webkit-tap-highlight-color:transparent;border:0}.character-select{z-index:2;width:min(100%,350px);min-width:0;text-shadow:none;border:0;grid-row:3;margin:0;padding:0;position:relative}.character-select legend{color:#fff;text-shadow:0 1px 5px #0a1d4cb3;width:100%;margin-bottom:7px;padding:0;font-size:12px;font-weight:600;line-height:18px}.character-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.character-option{color:#293449;cursor:pointer;touch-action:pan-y;background:#fffffff5;border:2px solid #0000;border-radius:14px;gap:5px;min-width:0;padding:9px 8px;transition:border-color .12s,background .12s;display:grid;position:relative;box-shadow:0 3px 10px #0a1d4c24}.character-option.is-selected{border-color:var(--blue);background:#edf3ff}.character-option:focus-within{outline-offset:3px;outline:2px solid #fff}.character-option input{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.character-option-heading{justify-content:center;align-items:center;gap:5px;margin-bottom:2px;display:flex}.character-icon{font-size:23px;line-height:28px}.character-option-heading strong{font-size:13px;font-weight:700}.is-selected .character-option-heading strong{color:var(--blue)}.character-stat{color:#58647a;text-align:left;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:4px;font-size:10px;font-weight:500;line-height:13px;display:grid}.character-stat-track{background:#dce4f2;border-radius:999px;height:5px;overflow:hidden}.character-stat-track i{border-radius:inherit;background:#658bef;height:100%;display:block}.is-selected .character-stat-track i{background:var(--blue)}@media (width<=350px){.character-options{gap:6px}.character-option{padding-inline:6px}}html[lang=en] .character-stat{letter-spacing:-.1px;grid-template-columns:46px minmax(0,1fr);font-size:9px}@media (width<=350px){html[lang=en] .character-stat{grid-template-columns:42px minmax(0,1fr)}}.app-shell{grid-template-rows:calc(58px + env(safe-area-inset-top)) minmax(0, 1fr);background:var(--sky-mid);width:100%;max-width:430px;height:100dvh;margin:0 auto;display:grid}.app-bar{z-index:30;height:calc(58px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);color:#000;background:#fff;flex:none;place-items:center;display:grid;position:relative}.app-bar h1{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:500;line-height:58px}.app-bar-back{color:#000;cursor:pointer;background:0 0;place-items:center;width:48px;height:58px;padding:0;display:grid;position:absolute;bottom:0;left:8px}.app-bar-back svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.game-wrap,.stage{width:100%;height:100%;min-height:0}.game-wrap{padding:0;overflow:hidden}.stage{background:var(--sky-mid);-webkit-user-select:none;user-select:none;touch-action:none;border-radius:0;position:relative;overflow:hidden}#root.is-intro #game-root,#root.is-intro .game-wrap,#root.is-intro .stage.is-title{touch-action:pan-y}#root.is-intro .app-shell{min-height:calc(540px + env(safe-area-inset-top) + env(safe-area-inset-bottom))}.stage.is-impact{animation:.21s cubic-bezier(.18,.72,.24,1) impact-shake}.scene-canvas,.scene-vignette{width:100%;height:100%;position:absolute;inset:0}.scene-canvas{pointer-events:none;display:block}.scene-vignette{z-index:1;pointer-events:none;background:radial-gradient(at 50% 42%,#0000 55%,#14281e2e 100%)}.title-screen{z-index:20;padding:28px 20px calc(20px + env(safe-area-inset-bottom));color:#fff;text-align:center;touch-action:manipulation;background:linear-gradient(#0f245547 0%,#0f245500 42%,#0f24550f 65%,#0f24559e 100%);grid-template-rows:auto minmax(12px,1fr) auto auto;justify-items:center;row-gap:14px;display:grid;position:absolute;inset:0;overflow:hidden}.title-screen.is-leaving{pointer-events:none;animation:.26s ease-in both title-screen-out}.title-brand{z-index:2;text-shadow:0 2px 8px #0a1d4cb3;width:min(100%,350px);position:relative}.title-brand h2{color:#fff;letter-spacing:-.025em;word-break:keep-all;margin:0;font-size:24px;font-weight:700;line-height:30px}.title-brand p{color:#fff;letter-spacing:-.015em;word-break:keep-all;margin:8px 0 0;font-size:15px;font-weight:400;line-height:22px}.title-brand p strong{color:var(--blue-highlight);font-weight:700}.title-actions{grid-row:4;justify-items:center;gap:10px;width:100%;display:grid}.title-start{z-index:2;background:var(--blue);color:#fff;cursor:pointer;border-radius:16px;grid-row:4;width:100%;height:52px;font-size:16px;font-weight:600;transition:transform .12s,filter .12s;position:relative;box-shadow:0 8px 20px #2761ff47}.title-start:active{filter:brightness(.94)}.participation-guide{width:100%;max-width:430px;padding:36px 20px calc(44px + env(safe-area-inset-bottom));color:#121212;text-align:left;touch-action:pan-y;background:#eff3f7;margin:0 auto}.participation-guide[hidden]{display:none}.participation-guide h2{letter-spacing:-.02em;margin:0 0 18px;font-size:20px;font-weight:600;line-height:28px}.participation-card{background:#fff;border-radius:24px;padding:26px 22px}.participation-card ol,.other-guide ul{margin:0;padding:0;list-style:none}.participation-card ol{counter-reset:participation-step;gap:22px;display:grid}.participation-card li{counter-increment:participation-step;color:#121212;letter-spacing:-.015em;word-break:keep-all;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:12px;font-size:16px;font-weight:600;line-height:24px;display:grid}.participation-card li:before{content:counter(participation-step);color:#a3a3a3;font-weight:500}.other-guide{border-top:1px solid #dfe5eb;margin-top:32px;padding-top:28px}.other-guide h3{color:#121212;margin:0 0 14px;font-size:16px;font-weight:600;line-height:24px}.other-guide ul{gap:8px;display:grid}.other-guide li{color:#868686;letter-spacing:-.01em;word-break:keep-all;padding-left:12px;font-size:14px;font-weight:400;line-height:21px;position:relative}.other-guide li:before{content:"·";position:absolute;left:1px}.stage.is-title>.top-hud,.stage.is-title>.pin-direction-indicator,.stage.is-title>.hole-intro,.stage.is-title>.power-guide,.stage.is-title>.toast,.stage.is-title>.hole-modal{visibility:hidden}.hole-progress{pointer-events:none;grid-template-columns:repeat(6,5px);justify-content:center;gap:5px;display:grid}.hole-progress span{background:#6b7684;border-radius:999px;height:5px}.hole-progress span.is-complete{background:#ffffffd1}.hole-progress span.is-current{background:var(--hud-blue)}.top-hud{top:14px;left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));z-index:6;pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:start;gap:8px;display:grid;position:absolute}.hud-left-column,.hud-right-column{align-items:center;min-width:0;display:flex}.hud-left-column{justify-self:start}.hud-right-column{flex-direction:column;justify-self:end;align-items:flex-end;gap:6px}.hud-center-column{flex-direction:column;align-items:center;gap:4px;display:flex}.hud-stage-label{color:#fff;letter-spacing:.2px;text-align:center;text-shadow:-1px -1px #333d48,1px -1px #333d48,-1px 1px #333d48,1px 1px #333d48,0 2px 6px #010931b3;white-space:nowrap;font-family:Digitalt,Impact,sans-serif;font-size:22px;font-style:normal;font-weight:500;line-height:20px}.score-pill{background:var(--primary-color);color:#fff;white-space:nowrap;border:3px solid #fff;border-radius:100px;justify-content:center;align-items:center;gap:3px;width:max-content;height:31px;padding:0 19px;font-family:Digitalt,Impact,sans-serif;font-size:22px;font-style:normal;font-weight:500;line-height:normal;display:inline-flex;box-shadow:0 4px #00000026}.score-pill>strong{font:inherit;align-items:baseline;animation:.14s ease-out stroke-pop;display:inline-flex}.score-target,.score-sep{font:inherit}.score-sep{opacity:.9;margin:0 2px}.score-unit{letter-spacing:-.2px;opacity:.92;margin:0 1px;font-family:Pretendard,-apple-system,Apple SD Gothic Neo,Noto Sans KR,system-ui,sans-serif;font-size:12px;font-weight:700;line-height:1}.ball-balance{color:inherit;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:7px;display:inline-flex}.ball-balance>strong{font-size:16px;font-weight:700;line-height:20px}.golf-ball-icon{background:radial-gradient(circle at 34% 32%,#c9ced5 0 1px,#0000 1.4px),radial-gradient(circle at 67% 39%,#c9ced5 0 1px,#0000 1.4px),radial-gradient(circle at 48% 69%,#c9ced5 0 1px,#0000 1.4px),#fff;border-radius:50%;flex:0 0 18px;width:18px;height:18px;box-shadow:inset -2px -2px 3px #5d6c7e38,0 1px 3px #01093140}.ball-balance.is-consumed{animation:.26s cubic-bezier(.2,1.35,.4,1) ball-chip-pop}.hud-ball-balance{color:#333d48;background:#fff;border:2px solid #dde2e8;border-radius:16px;padding:4px 9px;font-family:Digitalt,Impact,sans-serif}.hud-ball-balance>strong{font-family:inherit;font-size:16px;font-weight:500;line-height:normal}.ball-times{opacity:.85;margin-right:2px;font-weight:600}.hud-ball-balance .ball-times{display:none}.pin-direction-indicator{background:var(--hud-glass);color:var(--hud-ink);box-shadow:0 3px 12px #01093138}.stroke-hud{justify-content:center;align-items:center;display:flex}.stroke-hud>strong{color:inherit;font:inherit;font-variant-numeric:tabular-nums;align-items:baseline;gap:2px;animation:.14s ease-out stroke-pop;display:flex}.stroke-hud>strong span{font:inherit}.wallet-slot{color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 1px 4px #010931cc;justify-content:center;align-items:center;gap:3px;max-width:90px;font-size:11px;font-weight:600;line-height:16px;display:flex}.wallet-slot svg{fill:none;width:12px;height:12px;stroke:var(--hud-blue)}.wind-chip{color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums;text-shadow:-1px -1px #333d48,1px -1px #333d48,-1px 1px #333d48,1px 1px #333d48,0 2px 6px #010931b3;pointer-events:none;background:0 0;border:0;justify-content:flex-end;align-items:center;gap:4px;padding:0;font-family:Digitalt,Impact,sans-serif;font-size:18px;font-weight:500;line-height:normal;display:inline-flex}.wind-chip.is-calm{opacity:.48}.wind-chip small{color:inherit;font:inherit;margin-left:1px}.wind-chip svg{filter:drop-shadow(0 1px 2px #010931cc);fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.pin-direction-indicator{z-index:6;pointer-events:none;border:1px solid #ffffff2e;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;transform:translate(-50%,-50%)}.pin-direction-indicator svg{width:21px;height:21px;transform:rotate(var(--pin-direction-angle));fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.hole-intro{z-index:4;color:#fff;text-align:center;-webkit-backdrop-filter:blur(6px);pointer-events:none;background:#0009;border-radius:20px;width:min(330px,100% - 42px);padding:24px 20px;animation:1.25s both intro-credit;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.hole-intro span{color:#e4e4e4;font-size:13px;font-weight:500;line-height:20px;display:block}.hole-intro strong{color:#fff;margin-top:6px;font-size:22px;font-weight:700;line-height:32px;display:block}.hole-intro p{color:#e4e4e4;margin:6px 0 0;font-size:15px;line-height:22px}.power-guide{z-index:5;color:var(--hud-blue);pointer-events:none;position:absolute}.power-copy{text-align:center;width:max-content;max-width:116px;color:var(--hud-ink);background:var(--hud-glass);font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 9px;font-size:12px;line-height:16px;position:absolute;top:-70px;left:-30px;transform:translate(-50%,-50%);box-shadow:0 2px 8px #01093159}.power-copy>strong{font-weight:700}.power-guide.is-overdrive .power-copy{color:#ffb469}.power-guide.is-timing-failed .power-copy{color:#ff9aa9}.power-guide.is-cancel .power-copy{color:var(--hud-muted)}.distance-chip{width:max-content;max-width:116px;color:var(--hud-ink);margin-bottom:6px;font-size:11px;line-height:14px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.shot-style-chip{border-radius:4px;width:max-content;margin:2px auto 0;padding:0 5px;font-weight:600;display:block}.shot-style-chip.is-high{color:#cfe6ff;background:#318cff61}.shot-style-chip.is-low{color:#ffe3c2;background:#ff9d4261}.power-arc{width:120px;height:120px;position:absolute;top:-60px;left:-60px}.power-arc svg{fill:none;stroke-width:8px;width:100%;height:100%;overflow:visible}.power-track{stroke:#a6b0bd40}.power-fill{stroke:currentColor;stroke-opacity:.85;stroke-linecap:round}.zone-mark{stroke:#fff;stroke-width:2px}.power-arc text{fill:#fff;text-anchor:middle;font-size:8px}.nice-zone{stroke:#ffd36c8c}.perfect-zone{stroke:#fff3ad}.power-copy .nice-badge{color:#ffe9b0;background:#6d5a2c}.power-copy .perfect-badge{color:#fff3ad;background:#946b2b}.power-copy .nice-badge,.power-copy .perfect-badge{border-radius:4px;padding:0 4px}.power-guide.is-overdrive{color:#ff9d42}.power-guide.is-timing-failed{color:#ff8193;animation:.3s ease-out timing-failed-shake}.power-guide.is-cancel{color:var(--hud-muted)}@keyframes timing-failed-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.perfect-shot{z-index:8;pointer-events:none;place-items:center;animation:.85s ease-out both perfect-shot;display:grid;position:absolute;inset:0}.perfect-shot strong{background:var(--hud-glass);color:#fff3ad;border-radius:12px;padding:8px 16px;font-size:24px;font-weight:700}@keyframes perfect-shot{0%{opacity:1;background:#fff4c37a}18%,65%{opacity:1;background:0 0}to{opacity:0;background:0 0}}@media (prefers-reduced-motion:reduce){.perfect-shot{animation-name:perfect-shot-reduced}}@keyframes perfect-shot-reduced{0%,80%{opacity:1}to{opacity:0}}.celebrate{z-index:9;pointer-events:none;position:absolute;inset:0;overflow:hidden}.celebrate-burst{position:absolute;inset:0}.celebrate-burst i{opacity:0;border-radius:2px;width:7px;height:10px;animation:.9s ease-out both confetti;position:absolute;top:54%;left:50%}.celebrate-burst i:nth-child(3n+1){background:var(--accent)}.celebrate-burst i:nth-child(3n+2){background:var(--gold)}.celebrate-burst i:nth-child(3n+3){background:var(--even)}.toast{left:50%;bottom:calc(26px + env(safe-area-inset-bottom));z-index:8;color:#fff;text-align:center;pointer-events:none;background:#191f28;border-radius:100px;width:max-content;max-width:calc(100% - 40px);padding:12px 16px;font-size:14px;font-weight:600;line-height:24px;animation:.18s ease-out both toast-in;position:absolute;transform:translate(-50%);box-shadow:0 12px 16px #0000001f}.toast.is-lip-out{bottom:30%}.toast.is-overdrive-hint{margin-top:-124px;animation:none;bottom:auto;transform:translate(-50%,-100%)}.toast.is-shot-result{z-index:10;top:132px;bottom:auto}.modal-dim{z-index:8;-webkit-backdrop-filter:blur(6px);pointer-events:none;background:#0009;max-width:430px;margin-inline:auto;animation:.18s ease-out both dim-in;position:absolute;inset:0}.modal-dim--result{background:#000000bf}.hole-modal{z-index:9999;pointer-events:none;justify-content:center;align-items:center;padding-block:16px;display:flex;position:absolute;inset:0}.hole-sheet{z-index:9;color:#121212;pointer-events:auto;touch-action:pan-y;background:#fff;border-radius:20px;width:calc(100% - 64px);max-width:366px;max-height:100%;padding:32px 20px 20px;position:relative;overflow-y:auto}.sheet-score{text-align:center;flex-direction:column;align-items:center;margin-bottom:20px;display:flex}.sheet-kicker{color:#6b7684;font-size:14px;font-weight:500;line-height:20px;display:block}.sheet-score strong{color:#121212;margin-top:4px;font-size:24px;font-weight:600;line-height:32px;display:block}.hole-sheet.tone-ace .sheet-score strong,.hole-sheet.tone-under .sheet-score strong,.hole-sheet.is-hero-celebration .sheet-score strong{color:var(--hud-blue)}.hole-golf-term{color:#6b7684;margin-top:8px;font-size:14px;font-weight:500;line-height:20px;display:block}.hole-golf-term.is-ace{color:var(--hud-blue)}.round-sheet{z-index:9;padding:24px 20px calc(24px + env(safe-area-inset-bottom));color:#fff;text-align:center;touch-action:pan-y;isolation:isolate;grid-template-rows:[moon]auto[kicker]auto[stage]auto[title]auto[unlock]auto[score]auto[comparison]auto[success]auto[holes]auto[card-end alert]auto[actions]auto;grid-template-columns:repeat(2,minmax(0,1fr));align-content:safe center;column-gap:12px;animation:.18s ease-out both dim-in;display:grid;position:absolute;inset:0;overflow-y:auto}.round-sheet>*{grid-column:1/-1;min-width:0}.round-sheet:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(16px);background:#ffffff1f;border-radius:20px;grid-area:score/1/card-end/-1;margin-inline:10px}.round-sheet .chuseok-moon{grid-row:moon}.round-kicker{color:#bfc6cf;grid-row:kicker;font-size:13px;line-height:20px}.round-description{grid-row:stage;margin:6px 0 0;font-size:15px;line-height:22px}.round-unlock{grid-row:unlock;margin:-18px 0 24px}.round-sheet h2{grid-row:title;margin:6px 0 24px;font-size:24px;font-weight:600;line-height:32px}.round-strokes,.round-best{font-variant-numeric:tabular-nums;grid-row:score;margin:24px 0 6px;font-size:17px;font-weight:700;line-height:24px}.round-sheet .round-strokes{text-align:left;grid-column:1;padding-left:34px}.round-strokes span{margin-left:4px}.round-sheet .round-best{color:#8b95a1;text-align:right;grid-column:2;padding-right:34px}.round-comparison{color:#bfc6cf;font-variant-numeric:tabular-nums;grid-row:comparison;margin:0 34px 8px;font-size:13px;line-height:20px}.round-comparison strong{color:#fff;font-weight:600}.round-success,.round-hole>b{color:#fff;background:#fff3;border-radius:20px;padding:3px 7px;font-size:12px;font-weight:600;line-height:18px}.round-success{grid-row:success;justify-self:center;margin:0 24px}.round-holes{flex-wrap:wrap;grid-row:holes;gap:8px;margin:16px 34px 24px;display:flex}.round-hole{text-align:left;background:#ffffff0f;border-radius:12px;flex:1 0 calc(33.3333% - 5.33333px);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0;padding:8px 6px;display:grid}.round-hole>span{color:#bfc6cf;font-size:12px}.round-hole>strong{font-variant-numeric:tabular-nums;text-align:right;font-size:17px;font-weight:700;line-height:22px}.round-hole>small{color:#bfc6cf;text-align:right;font-size:10px}.round-hole>b{grid-column:1/-1;justify-self:start}.round-hole.is-highlight{background:#ffffff1f}.round-sheet--event .round-hole{text-align:center;flex-direction:column;display:flex}.round-sheet--event .round-hole>strong,.round-sheet--event .round-hole>small{text-align:center}.round-sheet>[role=alert]{grid-row:alert;font-size:15px}.round-sheet>button{border-radius:16px;grid-row:actions;height:56px;margin-top:24px;font-size:16px;font-weight:600}.round-sheet>.stage-secondary{color:#121212;background:#fff;grid-column:1}.round-sheet>.primary{grid-column:2}.round-sheet--event>.primary{grid-column:1/-1}.hole-sheet .primary,.round-sheet .primary{background:var(--hud-blue);box-shadow:none}.hole-sheet .stage-secondary{color:#121212;background:#efefef;border-radius:16px;height:52px;min-height:52px;margin:0 0 10px;font-size:16px;font-weight:600}.hole-sheet .stage-secondary:disabled{opacity:.5;cursor:default}.round-sheet>button:focus-visible{outline-offset:3px;outline:3px solid #8cafff}.sheet-total{text-align:left;font-variant-numeric:tabular-nums;background:#f3f6f9;border-radius:20px;flex-direction:column;gap:12px;margin-bottom:24px;padding:16px 14px;display:flex}.sheet-total span,.sheet-total b{font-size:14px;line-height:20px;display:block}.sheet-total span{color:#6b7684;font-size:13px;font-weight:500}.sheet-total b{color:#121212;font-weight:600}.ball-refill-modal{z-index:10000;place-items:center;padding:24px 32px;display:grid;position:absolute;inset:0}.ball-refill-modal .modal-dim{z-index:0;pointer-events:auto}.ball-refill-card{z-index:1;color:#121212;text-align:center;pointer-events:auto;background:#fff;border-radius:20px;width:100%;max-width:366px;padding:28px 20px 20px;position:relative}.ball-refill-close{color:#fff;cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex;position:absolute;top:-8px;right:0;transform:translateY(-100%)}.ball-refill-close svg{filter:drop-shadow(0 1px 3px #01093199);width:24px;height:24px}.ball-refill-close:disabled{opacity:.35;cursor:default}.modal-ball-balance{color:var(--hud-blue);margin-bottom:16px}.modal-ball-balance .golf-ball-icon{box-shadow:inset -2px -2px 3px #5d6c7e38,0 2px 8px #4572ef40}.ball-refill-card h2{margin:0;font-size:22px;font-weight:700;line-height:30px}.ball-refill-card p{color:#6b7684;margin:8px 0 24px;font-size:15px;line-height:22px}.primary{cursor:pointer;background:var(--blue);color:#fff;border-radius:16px;width:100%;height:52px;padding:0 14px;font-size:16px;font-weight:600;transition:transform .12s,background-color .12s;box-shadow:0 8px 20px #2761ff47}button:active{transform:scale(.96)}.primary:active{filter:brightness(.94)}@keyframes intro-credit{0%{opacity:0;transform:translate(-50%,calc(10px - 50%))}18%,72%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,calc(-50% - 7px))}}@keyframes title-screen-out{0%{opacity:1}to{opacity:0}}@keyframes stroke-pop{0%,to{transform:scale(1)}55%{transform:scale(1.18)}}.ball-badge{color:#fff;font-variant-numeric:tabular-nums;vertical-align:middle;background:#ffffff38;border-radius:999px;align-items:center;gap:5px;margin-right:10px;padding:2px 9px 2px 6px;font-size:14px;font-weight:700;line-height:20px;display:inline-flex}.ball-badge>.golf-ball-icon{flex-basis:14px;width:14px;height:14px}.ball-badge.is-consumed{animation:.26s cubic-bezier(.2,1.35,.4,1) ball-chip-pop}@keyframes ball-chip-pop{0%,to{transform:translateY(0)scale(1)}45%{transform:translateY(-5px)scale(1.12)}}@keyframes impact-shake{0%{transform:translate(0,0)}22%{transform:translate3d(calc(var(--shake-amp) * -.88), calc(var(--shake-amp) * .34), 0)}46%{transform:translate3d(calc(var(--shake-amp) * .55), calc(var(--shake-amp) * -.24), 0)}68%{transform:translate3d(calc(var(--shake-amp) * -.25), calc(var(--shake-amp) * .12), 0)}84%{transform:translate3d(calc(var(--shake-amp) * .1), 0, 0)}to{transform:translate(0,0)}}@keyframes badge-pop{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}@keyframes dim-in{0%{opacity:0}to{opacity:1}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes confetti{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}22%{opacity:1}to{transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1) rotate(220deg);opacity:0}}@media (width<=350px){.top-hud{gap:4px}.score-pill{padding-inline:10px;font-size:20px}.hud-ball-balance{gap:5px;padding-inline:8px}.wind-chip{gap:4px;padding-inline:8px}.hole-intro{width:calc(100% - 28px)}.round-sheet{padding-inline:12px}}@media (height<=700px){.hole-intro{top:43%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.celebrate-burst{display:none}.stage.is-impact,.power-guide.is-timing-failed{animation:none}.hole-intro{opacity:1;transform:translate(-50%,-50%)}}.hole-stars{--star-earned:#ffc700;--star-unearned:#ffffff47;white-space:nowrap;justify-content:center;gap:3px;line-height:1.2;display:inline-flex}.hole-stars>span{color:var(--star-unearned);font-size:inherit}.hole-stars>.is-earned{color:var(--star-earned)}.sheet-score .hole-stars{--star-unearned:#d9dee3;gap:8px;margin-top:16px;font-size:28px}.hole-stars.is-animated>.is-earned{animation:star-earned .32s calc(var(--card-delay,0s) + .14s + var(--star-order) * .12s) cubic-bezier(.2, 1.3, .4, 1) both}.round-hole .hole-stars{justify-content:flex-start;gap:0;font-size:9px}.round-hole-best{border-top:1px solid #eaeaea29;grid-column:1/-1;justify-content:space-between;align-items:center;gap:3px;margin-top:2px;padding-top:6px;display:flex}.round-hole-best>small{color:#8b95a1;font-size:10px}.hole-intro>.hole-variant-hint{color:#bfc6cf;margin-top:6px;font-size:13px;line-height:20px}.ticker-strong{color:#fff0bb;box-shadow:inset 0 0 0 1px #ffd36c70,0 3px 12px #01093138}.ticker-warning{color:#ffd0d7;box-shadow:inset 0 0 0 1px #f68d9d90,0 3px 12px #01093138}.ace-celebration{color:#fff0bb;text-align:center;text-shadow:0 3px 14px #010931;font-size:40px;line-height:1.3;animation:1.8s ease-out both ace-title;position:absolute;top:27%;left:0;right:0}.ace-celebration small{margin-top:6px;font-size:14px;display:block}.primary:focus-visible{outline-offset:3px;outline:3px solid #658bef}@keyframes star-earned{0%{opacity:.2;transform:scale(.4)rotate(-15deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes ace-title{0%{opacity:0;transform:scale(.7)}18%,75%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.hole-stars.is-animated>.is-earned,.ace-celebration{animation:none}}.chuseok-moon{background:radial-gradient(circle at 38% 34%,#fff7d8 0%,#ffe9a1 55%,#f4c95c 100%);border-radius:50%;width:84px;height:84px;margin:4px auto 10px;animation:.7s cubic-bezier(.2,1.2,.4,1) both chuseok-moon-in;box-shadow:0 0 28px 8px #ffe08a8c}@keyframes chuseok-moon-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.chuseok-moon{animation:none}}.stage-secondary{width:100%;min-height:44px;color:inherit;cursor:pointer;background:0 0;margin-top:4px;font-size:13px}
