:root{color-scheme:dark;font-family:Avenir Next,Hiragino Sans,Noto Sans JP,sans-serif}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#07080d;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}#application-canvas{display:block;width:100%;height:100%;touch-action:none}#start-screen{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(130% 90% at 50% 8%,rgba(255,110,40,.18),transparent 55%),linear-gradient(180deg,#06070db8,#06070de6);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:opacity .5s ease}#start-screen.hidden{opacity:0;pointer-events:none}.start-glow{position:absolute;left:50%;bottom:-30%;width:90vmin;height:90vmin;transform:translate(-50%);background:radial-gradient(circle,#ff501e59,#ff281400 62%);filter:blur(14px);animation:emberPulse 3.2s ease-in-out infinite;pointer-events:none}@keyframes emberPulse{0%,to{opacity:.55;transform:translate(-50%) scale(1)}50%{opacity:.85;transform:translate(-50%) scale(1.08)}}.start-inner{position:relative;text-align:center;padding:0 24px;animation:startRise .7s cubic-bezier(.2,.8,.2,1) both}@keyframes startRise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}.start-title{margin:0;font-weight:800;line-height:.92;letter-spacing:.02em;display:flex;flex-direction:column;align-items:center;gap:2px}.start-title span{display:block}.t-pin{font-size:clamp(50px,15vw,128px)}.t-dodge{font-size:clamp(38px,11.5vw,96px)}.t-pin{color:#f6efe6;text-shadow:0 2px 18px rgba(255,220,190,.3)}.t-dodge{background:linear-gradient(180deg,#ffd24d,#ff7a2f 48%,#e01f2d);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 22px rgba(255,90,30,.55));animation:flameFlicker 2.4s ease-in-out infinite}@keyframes flameFlicker{0%,to{filter:drop-shadow(0 4px 22px rgba(255,90,30,.55))}50%{filter:drop-shadow(0 6px 30px rgba(255,140,40,.8))}}.start-sub{margin:20px 0 34px;font-size:clamp(13px,3.4vw,17px);color:#d8c4b0}#start-btn{position:relative;min-height:60px;padding:0 46px;border:0;border-radius:999px;background:linear-gradient(135deg,#ff8a3d,#e01f2d);color:#fff;font-size:clamp(17px,4vw,21px);font-weight:700;font-family:inherit;letter-spacing:.04em;cursor:pointer;touch-action:manipulation;box-shadow:0 10px 30px #e01f2d73,0 0 0 1px #ffb48c40 inset;transition:transform .15s ease,box-shadow .25s ease;animation:btnBreathe 2.6s ease-in-out infinite}@keyframes btnBreathe{0%,to{box-shadow:0 10px 30px #e01f2d73,0 0 0 1px #ffb48c40 inset}50%{box-shadow:0 12px 40px #ff6e28b3,0 0 0 1px #ffc8a066 inset}}#start-btn:hover{transform:translateY(-2px) scale(1.03)}#start-btn:active{transform:scale(.97)}.start-hints{display:flex;gap:22px;justify-content:center;margin-top:30px;font-size:clamp(12px,3vw,14px);color:#b9a48f}.start-hints b{color:#ffd24d;font-weight:700;margin-right:4px}#hud,#lives{position:fixed;z-index:2;pointer-events:none}#hud{top:max(20px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:10px;max-width:min(360px,58vw)}.panel{background:#080a12b8;border:1px solid rgba(255,210,160,.18);border-radius:16px;padding:14px 18px;color:#f4efe8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.title{margin:0 0 4px;font-size:20px;letter-spacing:.04em}#status{margin:0;color:#d8c4b0;font-size:13px;line-height:1.5}.score-panel{display:flex;align-items:baseline;gap:12px;width:fit-content;padding:10px 16px}.score-panel span{color:#b9a48f;font-size:13px}.score-panel strong{font-size:22px;display:inline-block}#score.bonus{animation:scorepop .6s ease}@keyframes scorepop{0%{transform:scale(1.6);color:#ffd34d}to{transform:scale(1)}}#lives{top:max(20px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));display:flex;gap:8px;padding:10px 14px;background:#080a12b8;border:1px solid rgba(255,210,160,.18);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.heart{font-size:26px;line-height:1;color:#ff4d6a;text-shadow:0 0 12px rgba(255,77,106,.45);transition:color .25s,transform .25s,text-shadow .25s}.heart.lost{color:#453e4c;text-shadow:none;transform:scale(.82)}.point-popup{position:fixed;z-index:4;transform:translate(-50%,-50%);font-size:22px;font-weight:700;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6);pointer-events:none;animation:pointfloat .9s ease-out forwards}.point-popup.bonus{color:#ffd34d;font-size:28px}@keyframes pointfloat{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}15%{opacity:1;transform:translate(-50%,-60%) scale(1.15)}to{opacity:0;transform:translate(-50%,calc(-50% - 64px)) scale(1)}}#damage-flash{position:fixed;inset:0;z-index:5;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center,#ff3c3c00 45%,#ff28328c)}#damage-flash.show{animation:damageflash .45s ease-out}@keyframes damageflash{0%{opacity:1}to{opacity:0}}#gameover{position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#05060a9e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#gameover.hidden{display:none}.go-panel{text-align:center;background:#080a12e0;border:1px solid rgba(255,210,160,.24);border-radius:20px;padding:32px 44px;color:#f4efe8}.go-panel h1{margin:0 0 10px;font-size:34px;letter-spacing:.08em;color:#ff4d6a}.go-score{margin:0 0 22px;color:#d8c4b0;font-size:15px}.go-score strong{font-size:26px;color:#f4efe8;margin-left:6px}#restart,#restart-clear{min-height:48px;padding:0 28px;border:0;border-radius:14px;background:#c44536;color:#fff7ee;font-size:16px;font-weight:600;font-family:inherit;cursor:pointer;touch-action:manipulation}#restart:active,#restart-clear:active{transform:scale(.97)}#gameclear{position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#05060a8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#gameclear.hidden{display:none}.clear-panel{border-color:#ffe67873;box-shadow:0 0 46px #ffd7504d;animation:clear-pop .5s cubic-bezier(.2,1.6,.4,1)}.clear-panel h1{font-size:42px;background:linear-gradient(90deg,#ffd34d,#ff6ad5,#4dd2ff,#7dff6a,#ffd34d);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:clear-rainbow 2.4s linear infinite}.clear-sub{margin:0 0 14px;color:#ffe9b0;font-size:14px}#restart-clear{background:#b8860b}@keyframes clear-rainbow{to{background-position:300% 0}}@keyframes clear-pop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}#confetti-canvas{position:fixed;inset:0;z-index:12;pointer-events:none}#phase-banner{position:fixed;top:26%;left:0;right:0;z-index:6;text-align:center;pointer-events:none}#phase-banner.hidden{display:none}.phase-num{margin:0;font-size:clamp(13px,2.6vw,17px);letter-spacing:.5em;text-indent:.5em;color:#ffd24d}.phase-name{margin:6px 0 0;font-size:clamp(34px,9vw,68px);font-weight:800;letter-spacing:.12em;color:#fff}#phase-banner.show{animation:phase-banner 2.2s ease forwards}@keyframes phase-banner{0%{opacity:0;transform:scale(1.35)}14%{opacity:1;transform:scale(1)}78%{opacity:1}to{opacity:0}}.hud-top{display:flex;align-items:center;gap:10px}#mute-btn{pointer-events:auto;flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:14px;border:1px solid rgba(255,210,160,.24);background:#080a12b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f4efe8;cursor:pointer;touch-action:manipulation}#mute-btn:active{transform:scale(.92)}#mute-btn svg{display:block}@media(max-width:600px){#hud header.panel{display:none}.score-panel{padding:8px 14px}.heart{font-size:22px}}
