:root{--bg-2: #120e24;--card: rgba(20, 14, 40, .55);--card-line: rgba(255, 255, 255, .14);--text: #f5f3ff;--sub: #cfc8ee;--accent: #ff7a45;--accent-2: #ffb02e;--good: #34d399;--bad: #f87171;--sa-top: env(safe-area-inset-top, 0px);--sa-bottom: env(safe-area-inset-bottom, 0px);--sa-left: env(safe-area-inset-left, 0px);--sa-right: env(safe-area-inset-right, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;height:100%;background:var(--bg-2);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif;overscroll-behavior:none}button{font:inherit;color:inherit}img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.app{position:relative;height:100dvh;max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:8px;padding:calc(var(--sa-top) + 10px) calc(var(--sa-right) + 12px) calc(var(--sa-bottom) + 10px) calc(var(--sa-left) + 12px);background:linear-gradient(180deg,#120e2459,#120e2426,#120e24d9 70%,#120e24f2),var(--bg-img, none) center top / cover no-repeat,var(--bg-2);overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:manipulation}.app.loading{align-items:center;justify-content:center}.loading-text{color:var(--sub)}.top{display:flex;flex-direction:column;gap:6px;padding-right:92px;min-height:52px}.stage-title{display:flex;align-items:baseline;gap:8px;font-weight:900;text-shadow:0 2px 6px rgba(0,0,0,.6)}.stage-no{font-size:13px;color:#2a1200;background:linear-gradient(135deg,var(--accent),var(--accent-2));padding:2px 9px;border-radius:999px;text-shadow:none}.stage-name{font-size:21px}.wallet{display:flex;gap:5px;flex-wrap:wrap}.chip{font-size:13px;font-weight:800;background:#0a081899;border:1px solid var(--card-line);padding:4px 9px;border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sound-btn{cursor:pointer}.arena{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:6px 0 8px;border-radius:24px;overflow:hidden;touch-action:manipulation}.arena>*{flex-shrink:0}.arena.fight{box-shadow:inset 0 0 0 2px #ff7a458c}.boss-line{font-size:13px;color:var(--sub);background:#0a08188c;padding:3px 10px;border-radius:999px}.arena>.boss-stage{flex:1 1 0}.boss-stage{position:relative;width:100%;min-height:90px;display:flex;align-items:flex-end;justify-content:center}.boss-shadow{position:absolute;bottom:2px;width:52%;height:22px;background:radial-gradient(closest-side,rgba(0,0,0,.55),transparent)}.boss-body{position:relative;height:100%;display:flex;align-items:flex-end;justify-content:center;animation:breathe 2.6s ease-in-out infinite;transform-origin:50% 100%}.boss-body.ko{animation:ko .7s ease-in forwards}.boss-img{height:100%;max-width:82vw;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(0,0,0,.45));pointer-events:none}.boss-emoji{font-size:clamp(84px,26vw,136px);line-height:1.1}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03,.97)}}@keyframes ko{0%{transform:scale(1)}30%{transform:scale(1.15,.8);filter:brightness(2.5)}to{transform:translateY(30px) rotate(-25deg) scale(.7);opacity:.25;filter:grayscale(1)}}.ko-burst{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.ko-burst:before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:repeating-conic-gradient(rgba(255,215,90,.55) 0 10deg,transparent 10deg 30deg);-webkit-mask:radial-gradient(closest-side,#000 30%,transparent);mask:radial-gradient(closest-side,#000 30%,transparent);animation:rays .9s ease-out forwards}.ko-text{position:relative;font-size:64px;font-weight:900;color:#fde047;-webkit-text-stroke:3px #7c2d12;text-shadow:0 6px 0 #7c2d12;animation:ko-pop .9s cubic-bezier(.2,1.6,.4,1) forwards}@keyframes rays{0%{transform:scale(.3) rotate(0);opacity:1}to{transform:scale(1.3) rotate(60deg);opacity:0}}@keyframes ko-pop{0%{transform:scale(.2) rotate(-12deg);opacity:0}40%{transform:scale(1.2) rotate(4deg);opacity:1}80%{transform:scale(1) rotate(0);opacity:1}to{transform:scale(1) translateY(-20px);opacity:0}}.hp,.timer{position:relative;width:84%;border-radius:999px;background:#0000008c;overflow:hidden;box-shadow:0 0 0 2px #ffffff1f}.hp{height:20px}.hp-ghost{position:absolute;inset:0 auto 0 0;background:#ffffffb3;transition:width .45s ease-out .18s}.hp-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#ef4444,#f97316);transition:width .08s ease-out}.hp-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.8)}.timer{height:22px;margin-bottom:48px}.timer-fill{height:100%;background:linear-gradient(90deg,#facc15,#fb923c)}.timer span{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;color:#1f1500}.hitfx{position:absolute;width:0;height:0;pointer-events:none;z-index:5}.smack{position:absolute;width:78px;height:78px;left:-39px;top:-39px;object-fit:contain;animation:smack .3s cubic-bezier(.3,1.4,.5,1) forwards;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}.hitfx.crit .smack{width:104px;height:104px;left:-52px;top:-52px}@keyframes smack{0%{transform:translate(46px,-70px) rotate(calc(var(--rot) - 80deg)) scale(1.3);opacity:.4}45%{transform:translate(0) rotate(var(--rot)) scale(1);opacity:1}to{transform:translate(-6px,6px) rotate(calc(var(--rot) + 8deg)) scale(.92);opacity:0}}.spark{position:absolute;width:9px;height:9px;left:-4px;top:-4px;border-radius:50%;background:radial-gradient(circle,#fff 0,#fff,#ffd54a 60%,#ff8c0000 75%);animation:spark .42s ease-out forwards}.hitfx.crit .spark{width:12px;height:12px}@keyframes spark{0%{transform:rotate(var(--a)) translate(6px) scale(1.2);opacity:1}to{transform:rotate(var(--a)) translate(var(--d)) scale(.2);opacity:0}}.sfx-word{position:absolute;left:-96px;top:-66px;white-space:nowrap;font-size:30px;font-weight:900;color:#fff;-webkit-text-stroke:2px #3b1d00;text-shadow:0 3px 0 #3b1d00;animation:word .48s cubic-bezier(.2,1.6,.4,1) forwards}.hitfx.crit .sfx-word{font-size:34px;color:#fde047;left:-150px;top:-96px}@keyframes word{0%{transform:scale(.3) rotate(-14deg);opacity:0}35%{transform:scale(1.25) rotate(-6deg);opacity:1}to{transform:scale(1) rotate(-6deg) translateY(-10px);opacity:0}}.pop{position:absolute;transform:translate(-50%,-50%);font-weight:900;font-size:22px;pointer-events:none;color:#fff;-webkit-text-stroke:1.5px #2a1200;text-shadow:0 2px 0 #2a1200;animation:pop .75s ease-out forwards;z-index:6}.pop.crit{color:#fde047;font-size:30px}@keyframes pop{0%{transform:translate(-50%,-50%) scale(.6)}20%{transform:translate(-50%,-80%) scale(1.15)}to{transform:translate(-50%,-190%) scale(1);opacity:0}}.arena-cta{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 16px;min-height:70px}.result{font-weight:900;font-size:17px;text-shadow:0 2px 6px rgba(0,0,0,.7)}.result.good{color:var(--good)}.result.bad{color:var(--bad)}.hint{font-size:12px;color:var(--sub);text-align:center;text-shadow:0 1px 4px rgba(0,0,0,.8)}.coin-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:25}.coin{position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:radial-gradient(circle at 32% 30%,#fff8c4,#f5b301 55%,#b27400);box-shadow:0 0 6px #ffc800cc;opacity:0;animation:coin .75s cubic-bezier(.45,-.4,.7,1) forwards}@keyframes coin{0%{transform:translate(0) scale(.6);opacity:1}25%{transform:translateY(-40px) scale(1.2);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(.5);opacity:.4}}.weapon{display:flex;align-items:center;gap:12px;padding:6px 14px 6px 6px;border-radius:20px;background:var(--card);border:1px solid var(--card-line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.weapon-art{position:relative;flex:none;width:92px;height:92px;display:flex;align-items:center;justify-content:center}.weapon-info{min-width:0}.weapon-name{font-size:17px;font-weight:900}.weapon-name b{color:var(--accent-2)}.weapon-line{font-size:12px;color:var(--sub);margin-top:2px}.weapon-atk{font-size:13px;margin-top:4px;font-weight:800}.slipper{transition:transform .2s}.slipper-img{object-fit:contain;filter:drop-shadow(0 6px 8px rgba(0,0,0,.5))}.slipper.glow{filter:drop-shadow(0 0 8px var(--glow)) drop-shadow(0 6px 8px rgba(0,0,0,.5))}.slipper.glow-2{filter:drop-shadow(0 0 14px var(--glow)) drop-shadow(0 6px 8px rgba(0,0,0,.5))}.slipper.glow-3{animation:aura 1.6s ease-in-out infinite}@keyframes aura{0%,to{filter:drop-shadow(0 0 10px var(--glow))}50%{filter:drop-shadow(0 0 22px var(--glow))}}.slipper.mood-charging{animation:shake .22s infinite}.slipper.mood-success{animation:yay .7s ease-out}.slipper.mood-fail{animation:shake .4s;opacity:.85}.slipper.mood-break{animation:shake .5s;filter:grayscale(1) brightness(.6)}@keyframes yay{35%{transform:scale(1.35) rotate(-10deg)}70%{transform:scale(.95) rotate(4deg)}}@keyframes shake{20%,60%{transform:translate(-4px) rotate(-5deg)}40%,80%{transform:translate(4px) rotate(5deg)}}.enh-fx{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2}.enh-fx.success:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:repeating-conic-gradient(rgba(255,220,100,.8) 0 8deg,transparent 8deg 24deg);-webkit-mask:radial-gradient(closest-side,#000 25%,transparent);mask:radial-gradient(closest-side,#000 25%,transparent);animation:rays .9s ease-out forwards}.enh-fx.fail:before{content:"";position:absolute;width:70px;height:70px;border-radius:50%;background:radial-gradient(circle,#c8c8d2bf,#78788c00);animation:smoke .9s ease-out forwards}@keyframes smoke{0%{transform:scale(.4);opacity:1}to{transform:scale(1.8) translateY(-20px);opacity:0}}.enh-word{position:absolute;top:0;font-weight:900;font-size:22px;-webkit-text-stroke:1.5px #2a1200;text-shadow:0 2px 0 #2a1200;animation:word .9s cubic-bezier(.2,1.6,.4,1) forwards;z-index:3}.enh-word.good{color:#fde047}.enh-word.bad{color:#e5e7eb}.enh-word.break{color:#f87171}.shard{position:absolute;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:12px solid #cbd5e1;animation:shard .7s ease-out forwards}@keyframes shard{0%{transform:rotate(var(--a)) translate(0) rotate(0);opacity:1}to{transform:rotate(var(--a)) translate(60px) rotate(220deg);opacity:0}}.ember{position:absolute;width:7px;height:7px;border-radius:50%;background:#ffb02e;box-shadow:0 0 8px #ff7a45;animation:ember .7s ease-in infinite}@keyframes ember{0%{transform:rotate(var(--a)) translate(54px);opacity:0}50%{opacity:1}to{transform:rotate(calc(var(--a) + 90deg)) translate(8px);opacity:0}}.enhance{display:flex;flex-direction:column;gap:6px}.odds-line{font-size:12px;color:var(--sub);text-align:center}.link{background:none;border:none;color:var(--accent-2);text-decoration:underline;padding:0 0 0 6px;font-size:12px;cursor:pointer}.luck-toggle{align-self:center;border:1px solid rgba(52,211,153,.35);background:#0a081899;color:var(--sub);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:800;cursor:pointer}.luck-toggle.on{border-color:var(--good);color:var(--good);background:#34d3991f}.btn{border:none;border-radius:16px;padding:12px 16px;font-weight:900;font-size:15px;cursor:pointer}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#2a1200;box-shadow:0 4px #b4471f}.btn.primary:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #b4471f}.btn.big{font-size:18px;padding:14px 28px}.btn.wide{width:100%}.btn.soft{background:#0a081899;border:1px solid var(--card-line);padding:9px 11px;font-size:13px}.btn.ad{background:linear-gradient(135deg,#34d399,#10b981);color:#052e22;box-shadow:0 4px #047857;font-size:13px;padding:9px 14px}.btn.ad-soft{border-color:#34d39980;color:#a7f3d0}.btn.shaking{animation:shake .7s}.actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.banner-ad{width:100%;min-height:96px}.toast{position:fixed;left:50%;top:calc(var(--sa-top) + 76px);transform:translate(-50%);max-width:88vw;padding:10px 16px;border-radius:999px;font-weight:900;font-size:14px;text-align:center;background:#1f1a35;border:1px solid var(--card-line);box-shadow:0 8px 24px #0006;animation:toast-in .2s ease-out;pointer-events:none;z-index:20}.toast.good{color:var(--good)}.toast.bad{color:var(--bad)}.toast.info{color:var(--accent-2)}@keyframes toast-in{0%{transform:translate(-50%,8px);opacity:0}}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#05030cb8;display:flex;align-items:center;justify-content:center;padding:16px;z-index:30}.modal{width:min(100%,420px);max-height:80dvh;overflow-y:auto;background:#231c3d;border:1px solid var(--card-line);border-radius:22px;padding:20px}.modal.small{text-align:center}.modal h2{margin:0 0 6px;font-size:20px}.modal-sub{margin:0 0 14px;color:var(--sub);font-size:13px;line-height:1.5}.modal-btns{display:flex;gap:8px}.modal-btns .btn{flex:1}.ending-img{width:140px;height:140px;object-fit:contain;filter:grayscale(.6) drop-shadow(0 6px 10px rgba(0,0,0,.5));transform:rotate(-18deg);margin-bottom:4px}.odds-table{display:flex;flex-direction:column;margin-bottom:14px;font-size:12px}.odds-row{display:grid;grid-template-columns:60px 44px 1fr 64px;gap:6px;padding:6px 4px;border-bottom:1px solid rgba(255,255,255,.06)}.odds-row span:last-child{text-align:right}.odds-row.head{color:var(--sub);font-weight:800}.odds-row.me{background:#ffb02e24;border-radius:8px;font-weight:900}
