@import "https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap";:root{color:#394d38;font-synthesis:none;-webkit-font-smoothing:antialiased;--safe-top:max(12px, env(safe-area-inset-top));--safe-left:max(18px, env(safe-area-inset-left));--safe-right:max(18px, env(safe-area-inset-right));--safe-bottom:max(16px, env(safe-area-inset-bottom));--paper:#fffbedeb;--line:#ffffffa8;background:#c9d6b6;font-family:Noto Sans KR,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none}button{font:inherit;color:inherit;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible{outline-offset:3px;outline:3px solid #c36938}[hidden]{display:none!important}.game-shell{height:100dvh;position:fixed;inset:0}.stage{isolation:isolate;touch-action:none;-webkit-user-select:none;user-select:none;background:#c9d6b6;position:absolute;inset:0;overflow:hidden}#game{position:absolute;inset:0;overflow:hidden}#game canvas{display:block}@media (aspect-ratio>=5/2){#game{width:250dvh;left:50%;right:auto;transform:translate(-50%)}}@media (orientation:landscape) and (aspect-ratio<=4/3){#game{height:75vw;top:50%;bottom:auto;transform:translateY(-50%)}}.hud{z-index:2;top:var(--safe-top);left:var(--safe-left);right:var(--safe-right);pointer-events:none;font-variant-numeric:tabular-nums;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:absolute}.hud-panel{background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 3px 14px #30412b12}.player-hud{align-items:center;gap:10px;padding:10px 16px 10px 10px;display:flex}.player-mark{color:#71815c;background:#e7edd7;border-radius:50%;width:42px;height:42px;padding:7px}.player-mark svg{width:100%;height:100%}.player-name{align-items:baseline;gap:12px;font-size:13px;font-weight:800;display:flex}.player-name small{color:#748169;font-size:10px;font-weight:500}.hearts{color:#bd795b;white-space:nowrap;gap:.3em;font-size:18px;line-height:1.4;display:flex}.hearts span{display:inline-block}.hearts [data-change=lost]{animation:.6s ease-out heart-lost}.hearts [data-change=gained]{animation:.6s ease-out heart-gained}@keyframes heart-lost{0%{color:#c63c22;text-shadow:0 0 6px #ffcdb8;transform:scale(1.45)}60%{color:#c63c22}to{transform:scale(1)}}@keyframes heart-gained{0%{color:#e0913f;text-shadow:0 0 6px #ffe7a8;transform:scale(1.35)}to{transform:scale(1)}}.run-hud{text-align:center;min-width:196px;padding:8px 24px;transition:opacity .16s ease-out,visibility;position:absolute;left:50%;transform:translate(-50%)}.distance{justify-content:center;align-items:baseline;gap:5px;display:flex}.distance>span{letter-spacing:-1px;font-size:30px;font-weight:900;line-height:1.1;transition:font-size .16s,color .16s}.distance small{color:#7b876d;font-size:12px}.reward-counts{color:#7b806a;white-space:nowrap;flex-wrap:wrap;justify-content:center;gap:2px 16px;margin-top:5px;font-size:10px;display:flex}#streak{color:#597149;flex-basis:100%;font-weight:600}#streak[data-pulse=dodge]{color:#3e6a2b;animation:.15s ease-out streak-pop}#streak[data-pulse=bonus]{color:#a15322;font-weight:800;animation:.5s ease-out streak-pop}@keyframes streak-pop{0%{transform:scale(1.12)}to{transform:scale(1)}}.score-delta{text-align:left;color:#b4661f;opacity:0;min-width:2.8em;margin-left:3px;font-style:normal;font-weight:800;transition:opacity .12s;display:inline-block}.score-delta[data-shown=true]{opacity:1;animation:.7s ease-out award-rise}@keyframes award-rise{0%{transform:translateY(3px)}25%{transform:translateY(-2px)}to{transform:translateY(0)}}.reward-counts strong{color:#655338;margin-left:4px;font-weight:800}.hud-actions{pointer-events:auto;gap:8px;display:flex}.utility-button{border:1px solid var(--line);background:var(--paper);border-radius:15px;place-items:center;width:46px;height:46px;transition:background-color .12s ease-out,transform .12s ease-out,box-shadow .12s ease-out;display:grid;box-shadow:0 3px 14px #30412b12}.utility-button svg{width:22px;height:22px}.sound-button{width:auto;min-width:72px;padding:0 10px;font-size:11px;font-weight:600}.sound-button[aria-pressed=true]{color:#857e6d;background:#eae6d9ec}.utility-button:disabled{opacity:.45}.burn-status{z-index:2;top:calc(var(--safe-top) + 78px);left:var(--safe-left);pointer-events:none;gap:5px;width:200px;padding:8px 12px;font-size:10px;font-weight:600;display:grid;position:absolute}progress{appearance:none;background:#dfdfcc;border:0;border-radius:10px;width:100%;height:6px;display:block;overflow:hidden}progress::-webkit-progress-bar{background:#dfdfcc;border-radius:10px}progress::-webkit-progress-value{background:#b98347;border-radius:10px}progress::-moz-progress-bar{background:#b98347;border-radius:10px}.burn-status:is([data-phase=ignite],[data-phase=burning],[data-phase=ending]){color:#a15322;background:#fff0d2f2}.burn-status[data-phase=ignite]{box-shadow:0 0 0 2px #ffc27a,0 3px 14px #30412b12}.burn-status[data-phase=ending] progress{animation:.3s steps(2,jump-none) infinite alternate burn-ending}@keyframes burn-ending{0%{opacity:1}to{opacity:.45}}.burn-status[data-phase=guard]{color:#597149}.burn-status[data-phase=released]{color:#8a5134}.burn-status[data-phase=ready]{color:#2f6f68;background:#effaf3f2}.burn-status[data-phase=ready] progress::-webkit-progress-value{background:#4f9e8f}.burn-status[data-phase=ready] progress::-moz-progress-bar{background:#4f9e8f}.burn-status[data-phase=spent]{color:#7e8a70}.boss-hud{z-index:2;top:calc(var(--safe-top) + 98px);color:#835b43;pointer-events:none;gap:6px;width:min(350px,43vw);padding:9px 14px;font-size:11px;transition:opacity .16s ease-out,transform .16s ease-out,visibility;display:grid;position:absolute;left:50%;transform:translate(-50%)}.boss-hud[data-shown=false]{opacity:0;visibility:hidden;transition:opacity .16s ease-in,transform .16s ease-in,visibility 0s linear .16s;transform:translate(-50%,-6px)}.boss-head{align-items:baseline;gap:8px;display:flex}.boss-head label{color:#6e4a36;font-size:12px;font-weight:800}.boss-phase{background:#f1e6d2;border-radius:8px;padding:1px 7px;font-size:10px;font-weight:700;transition:background .12s,color .12s}.boss-phase[data-pulse=true]{color:#fffbee;background:#bd795b}.boss-hp{color:#6e4a36;margin-left:auto;font-size:13px;font-weight:900}.boss-bar{background:#e4dfcb;border-radius:10px;height:9px;transition:box-shadow .1s;position:relative;overflow:hidden}.boss-hud[data-impact=true] .boss-bar{box-shadow:0 0 0 2px #ffd66b}.boss-trail{background:#f1c19c;width:100%;position:absolute;inset:0 auto 0 0}.boss-bar progress{background:0 0;border-radius:0;height:100%;position:relative}.boss-bar progress::-webkit-progress-bar{background:0 0}.boss-bar progress::-webkit-progress-value{background:#bd795b;border-radius:0}.boss-bar progress::-moz-progress-bar{background:#bd795b;border-radius:0}.bark-charge{font-size:10px;transition:color .12s}.bark-charge[data-pulse=charge]{color:#a15322;font-weight:800}.bark-charge[data-pulse=fire],.bark-charge[data-pulse=hit]{color:#597149;font-weight:800}.bark-charge[data-pulse=clear]{color:#6e4a36;font-size:12px;font-weight:900}.bark-charge[data-pulse=reward]{color:#a15322;font-weight:800}.stage[data-status=paused] .boss-hud{visibility:hidden}.stage[data-boss=true] .distance>span{color:#7b876d;font-size:20px}.game-hint{z-index:2;bottom:calc(var(--safe-bottom) + 8px);color:#65543d;text-align:center;pointer-events:none;background:#fff5dfdb;border:1px solid #ffffff75;border-radius:30px;max-width:calc(100% - 280px);padding:8px 18px;font-size:12px;transition:opacity .16s ease-out,visibility;position:absolute;left:50%;transform:translate(-50%)}.stage[data-cue=true] .game-hint{opacity:.45}.stage:is([data-victory=impact],[data-victory=settle],[data-victory=clear],[data-victory=reward]) .game-hint{opacity:0}.game-hint:empty{visibility:hidden}.controls{z-index:3;pointer-events:none;position:absolute;inset:0}.control-button{bottom:var(--safe-bottom);pointer-events:auto;background:#fcf8e9ba;border:2px solid #fffaf0bd;border-radius:32px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:104px;height:104px;transition:background-color .12s ease-out,border-color .12s ease-out,transform .12s ease-out,box-shadow .12s ease-out;display:flex;position:absolute;box-shadow:0 5px #6274493b,inset 0 0 0 4px #ffffff21}#jump{left:var(--safe-left)}#slide{right:var(--safe-right)}.control-button svg{width:32px;height:32px}.control-button strong{font-size:13px}.control-button small{color:#718060;font-size:9px}.control-button kbd{opacity:.65;font-family:inherit;font-size:9px}.control-button:disabled{opacity:.38}.overlay{z-index:4;padding:max(12px, env(safe-area-inset-top)) var(--safe-right) max(12px, env(safe-area-inset-bottom)) var(--safe-left);pointer-events:none;background:#384b2d1c;grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:center;transition:opacity .16s ease-out,visibility;display:grid;position:absolute;inset:0}.start-card{text-align:center;pointer-events:auto;background:#fffbeeef;border:1px solid #fffef7;border-radius:28px;width:min(390px,100%);max-height:100%;padding:25px 32px;transition:transform .16s ease-out,box-shadow .16s ease-out;overflow-y:auto;box-shadow:0 16px 60px #35432526}.overlay[data-open=false]{opacity:0;visibility:hidden;transition:opacity .12s ease-in,visibility 0s linear .12s}.overlay[data-open=false] .start-card{pointer-events:none;transform:translateY(6px)scale(.98)}.wordmark{letter-spacing:-1.8px;justify-content:center;align-items:center;gap:7px;margin-bottom:14px;font-size:28px;font-weight:900;display:flex}.wordmark svg{color:#7a8f60;width:32px;height:32px;transform:rotate(-12deg)}.brand-dot{color:#bd795b}.card-eyebrow{color:#7e8c6c;letter-spacing:.7px;font-size:10px}h1{letter-spacing:-1.4px;margin:8px 0 10px;font-size:28px}.start-card p{color:#748066;white-space:pre-line;word-break:keep-all;margin:0 0 14px;font-size:12px;line-height:1.9}.run-records{color:#879077;border-top:1px solid #e2e3ce;flex-wrap:wrap;justify-content:center;gap:4px 20px;padding:11px 0;font-size:10px;display:flex}.run-records strong{color:#556747;margin-top:3px;font-size:13px;display:block}.result-headline{justify-items:center;gap:5px;margin:-2px 0 9px;display:grid}.result-score{color:#556747;align-items:baseline;gap:6px;display:flex}.result-score small{color:#7e8c6c;font-size:11px}.result-score strong{letter-spacing:-1px;font-variant-numeric:tabular-nums;font-size:30px;font-weight:900;line-height:1.1}.record-badges{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.record-badges:empty{display:none}.record-badge{color:#fffbee;background:#bd795b;border-radius:10px;padding:2px 9px;font-size:10px;font-style:normal;font-weight:800;animation:.4s ease-out .12s both record-pop}@keyframes record-pop{0%{opacity:0;transform:scale(.7)}60%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}.start-card[data-record=true]{box-shadow:0 0 0 3px #f1c19c,0 16px 60px #35432526}.setting-toggle{color:#6d785f;background:#f5f2e3;border:1px solid #dcdec8;border-radius:12px;min-height:32px;margin:-4px 0 12px;padding:6px 13px;font-size:11px;font-weight:600;transition:background-color .12s ease-out,border-color .12s ease-out,transform .12s ease-out;display:inline-block}.setting-toggle[aria-pressed=true]{color:#46603a;background:#e6efd6;border-color:#b3cd92}.setting-toggle:active{transition-duration:40ms;transform:translateY(1px)}.start-card .save-status{color:#7e8c6c;margin:-4px 0 10px;font-size:10px;line-height:1.5}.start-card .save-status[data-state=failed]{color:#a0462a;font-weight:700}.primary-button{color:#fffbee;background:#647e4e;border:1px solid #536a40;border-radius:13px;justify-content:space-between;align-items:center;width:100%;padding:13px 18px;font-size:14px;font-weight:700;transition:background-color .12s ease-out,transform .12s ease-out,box-shadow .12s ease-out;display:flex;box-shadow:0 3px #425934}.primary-button>span{font-size:20px}.primary-button:disabled{opacity:.6}@media (hover:hover) and (pointer:fine){.control-button:hover:not(:disabled){background:#fffcefd9}.primary-button:hover:not(:disabled){background:#6f8a57}.utility-button:hover:not(:disabled){background:#fffef8;box-shadow:0 4px 16px #30412b1f}.setting-toggle:hover{border-color:#c9cfae}}.primary-button:active:not(:disabled){transition-duration:40ms;transform:translateY(2px);box-shadow:0 1px #425934}.utility-button:active:not(:disabled){background:#eee9d9f0;transition-duration:40ms;transform:translateY(1px);box-shadow:0 1px 6px #30412b12}.control-button[data-active=true]{background:#e6efd6e8;border-color:#b3cd92}.control-button[data-held=true]:not(:disabled){background:#d5e3bdf2;transition-duration:40ms;transform:translateY(3px);box-shadow:0 2px #6274493b,inset 0 0 0 4px #ffffff21}.start-shortcut{color:#8c967e;margin-top:12px;font-size:10px;display:block}.start-card .display-tip,.orientation-note .display-tip{color:#5f7650;white-space:pre-line;margin:0 0 10px;font-size:11px;font-weight:600;line-height:1.6}.display-tip[data-advice=home-screen]{background:#eef3e2;border:1px dashed #b3cd92;border-radius:12px;padding:8px 12px}.orientation-note .display-tip{margin:0 0 16px}.display-cta{color:#46603a;background:#fffbee;border:2px solid #647e4e;border-radius:13px;width:100%;min-height:44px;margin-bottom:10px;padding:10px 16px;font-size:14px;font-weight:700;display:block}.display-cta:active{transform:translateY(1px)}.orientation-note[data-mode=start] .rotate-only{display:none}.orientation-note .portrait-start{width:min(300px,100%);min-height:52px;margin:0 0 12px;font-size:16px}.orientation-note[data-mode=start] .display-tip{color:#7a866c;font-weight:500}.stage:is([data-status=ready],[data-status=paused],[data-status=over]) :is(.game-hint,.run-hud){opacity:0;visibility:hidden;transition:opacity .12s ease-in,visibility 0s linear .12s}.stage:is([data-status=paused],[data-status=over]) .wordmark{display:none}.orientation-note{z-index:6;text-align:center;background:radial-gradient(at 50% 35%,#fffbed,#e7ecd6);flex-direction:column;justify-content:center;align-items:center;padding:28px;display:flex;position:absolute;inset:0}.orientation-note .wordmark{top:max(28px, env(safe-area-inset-top));font-size:24px;position:absolute;left:30px}.rotate-phone{color:#809466;width:96px;height:96px;margin-bottom:20px}.orientation-note h2{letter-spacing:-1.4px;margin:0 0 16px;font-size:30px;line-height:1.4}.orientation-note p{color:#7a866c;margin:0;font-size:14px;line-height:1.9}.rotate-controls{color:#5f7650;gap:32px;margin:30px 0 20px;font-size:12px;display:flex}.orientation-note>small{color:#8a947c;font-size:10px}.display-message{z-index:7;text-align:center;background:#fffbed;border-radius:12px;width:min(400px,85%);padding:12px 18px;font-size:12px;position:absolute;bottom:20%;left:50%;transform:translate(-50%)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (pointer:coarse){.control-button kbd,.start-shortcut{display:none}}@media (height<=550px) and (orientation:landscape){:root{--safe-top:max(8px, env(safe-area-inset-top));--safe-bottom:max(14px, env(safe-area-inset-bottom))}.hud{gap:8px}.hud-panel{border-radius:12px}.player-hud{gap:7px;padding:6px 10px 6px 6px}.player-mark{width:32px;height:32px;padding:5px}.player-name{gap:7px;font-size:11px}.player-name small{font-size:9px}.hearts{letter-spacing:1px;font-size:15px;line-height:1.3}.run-hud{min-width:164px;padding:5px 15px}.distance>span{font-size:23px}.reward-counts{gap:2px 12px;margin-top:3px;font-size:9px}.utility-button{border-radius:12px;width:44px;height:44px}.sound-button{width:66px;min-width:66px;padding:0 6px;font-size:10px}.hud-actions{gap:6px}.burn-status{top:calc(var(--safe-top) + 55px);gap:4px;width:166px;padding:6px 10px;font-size:9px}.boss-hud{top:calc(var(--safe-top) + 75px);gap:5px;width:min(300px,42vw);padding:6px 10px;font-size:10px}.boss-head label{font-size:11px}.boss-phase,.bark-charge{font-size:9px}.bark-charge[data-pulse=clear]{font-size:10px}.boss-hp{font-size:12px}.boss-bar{height:8px}.stage[data-boss=true] .distance>span{font-size:17px}.control-button{--thumb-size:clamp(64px, calc(108px - max(var(--safe-left), var(--safe-right))), 80px);width:var(--thumb-size);height:var(--thumb-size);border-radius:26px}.control-button svg{width:27px;height:27px}.control-button strong{font-size:12px}.game-hint{max-width:calc(100% - 240px);padding:6px 14px;font-size:10px}.start-card{border-radius:22px;width:352px;padding:15px 26px}.wordmark{margin-bottom:7px;font-size:23px}.wordmark svg{width:25px;height:25px}h1{margin:5px 0 7px;font-size:23px}.start-card p{margin-bottom:8px;font-size:11px;line-height:1.7}.run-records{padding:7px 0}.stage[data-status=over] .card-eyebrow{display:none}.result-headline{gap:3px;margin-bottom:6px}.result-score strong{font-size:24px}.start-card .save-status{margin-bottom:7px;font-size:9px}.setting-toggle{min-height:28px;margin-bottom:8px;padding:4px 11px;font-size:10px}.primary-button{min-height:44px;padding:8px 16px;font-size:12px}.start-shortcut{margin-top:8px;font-size:9px}.start-card .display-tip{margin-bottom:7px;font-size:10px}.start-card .display-cta{min-height:40px;margin-bottom:7px;padding:6px 14px;font-size:12px}.start-card .primary-button{z-index:1;position:sticky;bottom:3px;box-shadow:0 3px #425934,0 0 0 7px #fffbee}.start-card .primary-button:active:not(:disabled){box-shadow:0 1px #425934,0 0 0 7px #fffbee}}@media (width<=700px) and (orientation:landscape){.player-mark{display:none}.player-hud{padding:6px 10px}.player-name{gap:6px}.run-hud{min-width:142px;padding-inline:10px}.sound-button{width:56px;min-width:56px;font-size:9px}.hud-actions{gap:4px}.burn-status{width:136px}.boss-hud{width:250px}}@media (height<=350px) and (orientation:landscape){.start-card{padding:10px 22px}.start-card .wordmark,.start-shortcut,.start-card .display-tip[data-advice=fullscreen],.card-eyebrow{display:none}h1{margin-top:0}.start-card p{line-height:1.55}.result-score strong{font-size:21px}.control-button{border-radius:21px;width:64px;height:64px}.control-button small,.control-button kbd{display:none}}@media (orientation:portrait){.stage{visibility:hidden}}.stage[data-status=paused] *{animation-play-state:paused}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.hearts [data-change=lost]{color:#c63c22}.hearts [data-change=gained]{color:#e0913f}}
