:root{--theme-accent:#c9a227;--theme-tile:#2a1f18;--theme-tile-open:#1a1510;--theme-fog:rgba(8,6,10,0.72);--theme-glow:#ffb347;--hp-pulse:0}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;height:100%;overflow:hidden;background:#0d0a0f;font-family:"Noto Sans SC",sans-serif;color:#e8dcc8;user-select:none}.pixel{font-family:"Press Start 2P",cursive}.screen{position:absolute;inset:0;display:none;flex-direction:column;z-index:10}.screen.active{display:flex}.flex{display:flex!important}.grid{display:grid!important}.flex-col{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.flex-1{flex:1 1 0%!important}.items-center{align-items:center!important}.justify-center{justify-content:center!important}.justify-between{justify-content:space-between!important}.gap-1{gap:4px!important}.gap-2{gap:8px!important}.gap-3{gap:12px!important}.w-full{width:100%!important}.h-full{height:100%!important}.max-w-xs{max-width:20rem!important}.max-w-sm{max-width:24rem!important}.max-w-2xl{max-width:42rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.ml-auto{margin-left:auto!important}.mt-1{margin-top:4px!important}.mt-2{margin-top:8px!important}.mt-3{margin-top:12px!important}.mb-1{margin-bottom:4px!important}.mb-2{margin-bottom:8px!important}.mb-3{margin-bottom:12px!important}.mb-4{margin-bottom:16px!important}.my-4{margin-top:16px!important;margin-bottom:16px!important}.mx-2{margin-left:8px!important;margin-right:8px!important}.px-2{padding-left:8px!important;padding-right:8px!important}.px-3{padding-left:12px!important;padding-right:12px!important}.py-1{padding-top:4px!important;padding-bottom:4px!important}.py-2{padding-top:8px!important;padding-bottom:8px!important}.p-2{padding:8px!important}.p-3{padding:12px!important}.p-4{padding:16px!important}.pb-4{padding-bottom:16px!important}.pl-4{padding-left:16px!important}.mt-4{margin-top:16px!important}.text-center{text-align:center!important}.text-sm{font-size:14px!important}.text-xs{font-size:12px!important}.text-2xl{font-size:24px!important;line-height:1.25!important}.text-\[10px\]{font-size:10px!important}.text-\[11px\]{font-size:11px!important}.text-\[12px\]{font-size:12px!important}@media (min-width:640px){.sm\:text-3xl{font-size:30px!important;line-height:1.2!important}}.tracking-widest{letter-spacing:.1em!important}.leading-relaxed{line-height:1.625!important}.drop-shadow-lg{filter:drop-shadow(0 10px 8px rgba(0,0,0,.35))!important}.text-amber-200{color:#fde68a!important}.text-amber-300{color:#fcd34d!important}.text-amber-500\/80{color:rgba(245,158,11,.8)!important}.text-amber-100\/40{color:rgba(254,243,199,.4)!important}.text-amber-100\/50{color:rgba(254,243,199,.5)!important}.text-amber-100\/60{color:rgba(254,243,199,.6)!important}.text-amber-100\/70{color:rgba(254,243,199,.7)!important}.text-amber-100\/75{color:rgba(254,243,199,.75)!important}.text-amber-100\/80{color:rgba(254,243,199,.8)!important}.text-purple-300{color:#d8b4fe!important}.text-purple-200\/60{color:rgba(233,213,255,.6)!important}.text-cyan-200\/70{color:rgba(165,243,252,.7)!important}.text-sky-300{color:#7dd3fc!important}.text-red-400{color:#f87171!important}.text-red-300\/80{color:rgba(252,165,165,.8)!important}.hover\:text-amber-200:hover{color:#fde68a!important}.relative{position:relative!important}.absolute{position:absolute!important}.inset-0{inset:0!important}.opacity-40{opacity:.4!important}.z-10{z-index:10!important}.z-20{z-index:20!important}.overflow-auto{overflow:auto!important}.cursor-pointer{cursor:pointer!important}.block{display:block!important}.rounded{border-radius:4px!important}.rounded-lg{border-radius:8px!important}.border{border:1px solid rgba(232,220,200,.18)!important}.border-b{border-bottom:1px solid rgba(232,220,200,.18)!important}.border-amber-700\/40{border-color:rgba(180,120,40,.4)!important}.border-amber-900\/30{border-color:rgba(120,80,30,.3)!important}.bg-black\/40{background:rgba(0,0,0,.4)!important}.space-y-1>*+*{margin-top:4px!important}.space-y-2>*+*{margin-top:8px!important}.list-disc{list-style:disc!important}.min-w-\[100px\]{min-width:100px!important}.menu-panel,.modal-stack{display:flex!important;flex-direction:column!important;gap:10px!important;width:100%;align-items:stretch}.menu-panel .btn,.modal-stack .btn{width:100%;box-sizing:border-box}.menu-hero{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:20px!important;height:100%;padding:0 16px;position:relative;z-index:10}.modal-row{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:8px!important}.modal-check{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;font-size:12px;margin-top:8px}.bg-atmosphere{background:radial-gradient(ellipse at 30% 20%,rgba(80,40,20,.35),transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(40,20,60,.3),transparent 45%),linear-gradient(180deg,#120e16 0,#0d0a0f 50%,#08060a 100%)}.theme-ruins{--theme-accent:#c9a227;--theme-tile:#6b4e32;--theme-tile-open:#1a1410;--theme-fog:rgba(20,14,8,0.55);--theme-glow:#ffb347;--theme-rim:#e8c477}.theme-magma{--theme-accent:#ff5a1f;--theme-tile:#6a2818;--theme-tile-open:#140806;--theme-fog:rgba(40,8,4,0.6);--theme-glow:#ff6b2c;--theme-rim:#ffa06b}.theme-abyss{--theme-accent:#2ec4b6;--theme-tile:#1a4a5c;--theme-tile-open:#061018;--theme-fog:rgba(4,16,28,0.6);--theme-glow:#5eead4;--theme-rim:#8af2e4}.theme-clock{--theme-accent:#94a3b8;--theme-tile:#3a4558;--theme-tile-open:#10141c;--theme-fog:rgba(10,12,18,0.6);--theme-glow:#cbd5e1;--theme-rim:#e2e8f0}.glass{background:linear-gradient(165deg,rgba(48,36,54,.9),rgba(20,15,26,.94) 60%,rgba(12,9,16,.96));backdrop-filter:blur(14px) saturate(1.15);border:1px solid rgba(212,160,23,.28);box-shadow:0 10px 34px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.09),inset 0 -1px 0 rgba(0,0,0,.5),0 0 0 1px rgba(0,0,0,.3);position:relative}.glass::before{content:'';position:absolute;left:8%;right:8%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,220,150,.45),transparent);pointer-events:none}.btn{font-family:"Press Start 2P",cursive;font-size:10px;padding:12px 18px;border:2px solid var(--theme-accent);background:linear-gradient(180deg,rgba(84,58,30,.95),rgba(38,24,14,.98) 55%,#160e08);color:#f5e6c8;cursor:pointer;transition:transform .15s,box-shadow .15s,filter .15s;box-shadow:0 4px 0 #1a1008,0 8px 18px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,235,190,.28),0 0 20px rgba(201,162,39,.14);position:relative;overflow:hidden;text-shadow:0 1px 0 rgba(0,0,0,.7)}.btn::after{content:'';position:absolute;top:-60%;left:-140%;width:60%;height:220%;background:linear-gradient(90deg,transparent,rgba(255,240,200,.28),transparent);transform:rotate(18deg);transition:left .5s;pointer-events:none}.btn:hover::after{left:130%}.btn:hover{transform:translateY(-2px);filter:brightness(1.14);box-shadow:0 6px 0 #1a1008,0 12px 26px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,245,210,.34),0 0 26px rgba(255,196,90,.3)}.btn:active{transform:translateY(2px);box-shadow:0 1px 0 #1a1008,inset 0 2px 6px rgba(0,0,0,.5)}.btn-ghost{border-color:rgba(232,220,200,.3);background:linear-gradient(180deg,rgba(44,34,48,.75),rgba(18,13,22,.85));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 2px 8px rgba(0,0,0,.35);font-size:9px;padding:8px 12px}.btn-ghost:hover{border-color:rgba(255,230,180,.5)}.btn.active-mode{border-color:#5eead4;box-shadow:inset 0 0 18px rgba(94,234,212,.22),0 0 20px rgba(94,234,212,.45),0 0 0 1px rgba(94,234,212,.35);color:#7ef2de;text-shadow:0 0 8px rgba(94,234,212,.6);animation:2.2s ease-in-out infinite modeGlow}@keyframes modeGlow{0%,100%{box-shadow:inset 0 0 14px rgba(94,234,212,.16),0 0 14px rgba(94,234,212,.32),0 0 0 1px rgba(94,234,212,.3)}50%{box-shadow:inset 0 0 22px rgba(94,234,212,.28),0 0 26px rgba(94,234,212,.6),0 0 0 1px rgba(94,234,212,.45)}}.hp-bar-wrap{position:relative;height:14px;background:#1a0a0a;border:1px solid #5a2020;border-radius:2px;overflow:hidden}.hp-bar{height:100%;background:linear-gradient(90deg,#6b1010,#c93030,#ff6b6b);transition:width .35s;box-shadow:0 0 8px rgba(255,60,60,.5)}.hp-low .hp-bar{animation:1.1s ease-in-out infinite breathe}.hp-low{animation:1.1s ease-in-out infinite hpEdgePulse}@keyframes breathe{0%,100%{filter:brightness(1);box-shadow:0 0 6px rgba(255,40,40,.4)}50%{filter:brightness(1.4);box-shadow:0 0 18px rgba(255,40,40,.9)}}@keyframes hpEdgePulse{0%,100%{box-shadow:inset 0 0 0 0 rgba(180,20,20,0)}50%{box-shadow:inset 0 0 40px 4px rgba(180,20,20,.35)}}#board-viewport{flex:1 1 auto;min-height:0;overflow:hidden;position:relative;touch-action:none;overscroll-behavior:contain;cursor:grab;background:linear-gradient(180deg,rgba(0,0,0,.28),transparent 28%,rgba(0,0,0,.35) 100%),repeating-linear-gradient(0deg,rgba(40,24,12,.35) 0 1px,transparent 1px 7px),repeating-linear-gradient(90deg,rgba(30,18,10,.22) 0 1px,transparent 1px 11px),radial-gradient(ellipse at 18% 72%,rgba(90,55,28,.35),transparent 42%),radial-gradient(ellipse at 78% 28%,rgba(50,32,18,.4),transparent 45%),linear-gradient(165deg,#2a1a10 0,#1a120c 40%,#120c08 100%);animation:none}#board-viewport.dragging{cursor:grabbing}#board-world{position:absolute;transform-origin:0 0;will-change:transform}#board.board-canvas-host{display:block;padding:0;border:none;border-radius:0;box-shadow:none;background:0 0;line-height:0;width:max-content;height:max-content}#board.board-canvas-host .board-canvas{display:block;width:100%;height:auto;touch-action:none;cursor:pointer;border-radius:8px}.board-fatal{padding:24px;max-width:360px;color:#ffd7a8;font-size:13px;line-height:1.6;text-align:center;border:1px solid rgba(212,160,23,.4);border-radius:10px;background:rgba(28,18,12,.9)}.cell{width:var(--cell,56px);height:var(--cell,56px);position:relative;display:flex;align-items:center;justify-content:center;font-family:"Press Start 2P",cursive;font-size:calc(var(--cell, 56px) * .3);border-radius:6px;transition:transform .12s,filter .2s,box-shadow .2s;color:#e8dcc8}.cell.flagged::before{content:'⚑';font-size:calc(var(--cell,56px)*.5);color:#ff7a1a;text-shadow:0 0 8px rgba(255,120,40,.7),0 2px 0 #5a2000;z-index:2}.cell.maybe::before{content:'?';font-family:"Press Start 2P",cursive;font-size:calc(var(--cell,56px)*.42);color:#7ec8ff;text-shadow:0 0 8px rgba(80,160,255,.55),0 2px 0 #102848;z-index:2}.cell.open.mine{background:radial-gradient(ellipse 70% 36% at 50% 88%,rgba(140,18,28,.9) 0,rgba(90,8,14,.45) 45%,transparent 72%),0 0!important;border:none!important;border-radius:0;box-shadow:none!important;color:#f66}#exit-overlay{position:absolute;left:0;top:0;pointer-events:none;z-index:12;filter:drop-shadow(0 6px 10px rgba(0, 0, 0, .55))}#exit-overlay .exit-frame{width:100%;height:100%;box-sizing:border-box;padding:4px;border-radius:6px;background:linear-gradient(160deg,#7a7264 0,#3e382e 42%,#1a1612 100%);box-shadow:inset 2px 2px 0 rgba(255,255,255,.18),inset -3px -3px 0 rgba(0,0,0,.55),0 0 0 1px rgba(40,34,26,.9),0 4px 0 rgba(12,10,8,.65)}#exit-overlay .exit-shaft{position:relative;width:100%;height:100%;border-radius:3px;overflow:hidden;perspective:140px;perspective-origin:50% 18%;background:radial-gradient(ellipse at 72% 92%,rgba(210,170,60,.55) 0,rgba(110,80,20,.22) 28%,transparent 55%),linear-gradient(180deg,#2a2420 0,#0a0806 55%,#12100c 100%);box-shadow:inset 0 0 18px rgba(0,0,0,.92);transform-style:preserve-3d}#exit-overlay .exit-arch{position:absolute;left:10%;right:10%;top:4%;height:22%;border-radius:50% 50% 0 0/100% 100% 0 0;background:linear-gradient(180deg,rgba(90,82,70,.55),transparent);box-shadow:inset 0 -6px 10px rgba(0,0,0,.45);z-index:1;pointer-events:none}#exit-overlay .exit-wall{position:absolute;top:8%;bottom:6%;width:18%;z-index:2;pointer-events:none}#exit-overlay .exit-wall.left{left:0;background:linear-gradient(90deg,rgba(55,48,40,.95),rgba(20,16,12,.15));transform:skewY(-8deg);transform-origin:top left;box-shadow:inset -2px 0 0 rgba(255,255,255,.06)}#exit-overlay .exit-wall.right{right:0;background:linear-gradient(270deg,rgba(30,26,22,.95),rgba(12,10,8,.1));transform:skewY(10deg);transform-origin:top right}#exit-overlay .exit-step{position:absolute;height:16%;border-radius:2px 4px 3px 2px;background:linear-gradient(180deg,#9a9284 0,#6a6356 40%,#3a342c 78%,#1e1a16 100%);box-shadow:inset 0 2px 0 rgba(255,255,255,.28),inset 0 -3px 0 rgba(0,0,0,.5),3px 5px 6px rgba(0,0,0,.55);transform-origin:50% 100%;transform-style:preserve-3d}#exit-overlay .exit-step.s1{top:18%;left:16%;width:68%;transform:translateZ(18px) rotateX(58deg) scaleY(1.05);z-index:6}#exit-overlay .exit-step.s2{top:32%;left:20%;width:60%;transform:translateZ(10px) rotateX(58deg) scale(.96,1.02);opacity:.96;z-index:5}#exit-overlay .exit-step.s3{top:46%;left:24%;width:52%;transform:translateZ(2px) rotateX(58deg) scale(.9,1);opacity:.9;z-index:4}#exit-overlay .exit-step.s4{top:58%;left:28%;width:44%;transform:translateZ(-8px) rotateX(58deg) scale(.84,.98);opacity:.82;z-index:3}#exit-overlay .exit-step.s5{top:68%;left:32%;width:36%;transform:translateZ(-16px) rotateX(58deg) scale(.78,.95);opacity:.72;z-index:2}#exit-overlay .exit-rail{position:absolute;top:14%;bottom:14%;width:4px;border-radius:2px;background:linear-gradient(180deg,#b0a690,#5a5244 55%,#2a2620);box-shadow:2px 0 0 rgba(0,0,0,.45),inset 1px 0 0 rgba(255,255,255,.25);z-index:7}#exit-overlay .exit-rail.left{left:10%;transform:rotate(4deg)}#exit-overlay .exit-rail.right{right:12%;opacity:.7;transform:rotate(-3deg)}#exit-overlay .exit-lamp{position:absolute;left:50%;bottom:5%;width:34%;height:16%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,#ffe08a 0,#c8a038 35%,rgba(120,80,10,.25) 62%,transparent 78%);box-shadow:0 0 10px 4px rgba(200,150,40,.4),0 0 22px 10px rgba(140,100,20,.22);animation:2.6s ease-in-out infinite exitLampPulse;z-index:8}@keyframes exitLampPulse{0%,100%{opacity:.75;filter:brightness(.95)}50%{opacity:1;filter:brightness(1.15)}}#player-sprite{position:absolute;left:0;top:0;width:var(--cell,56px);height:var(--cell,56px);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:25;transition:none;filter:drop-shadow(0 0 7px var(--theme-glow)) drop-shadow(0 3px 5px rgba(0,0,0,.65));will-change:transform}#player-sprite .hero-body{position:relative;z-index:2;width:100%;height:100%;display:flex;align-items:center;justify-content:center;transition:transform .22s}#player-sprite .hero-body svg,#player-sprite svg{width:92%;height:92%}#player-sprite .hero-halo{position:absolute;left:50%;top:52%;width:116%;height:116%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,214,120,.34) 0,rgba(255,180,60,.16) 46%,transparent 70%);animation:2.6s ease-in-out infinite heroHalo;z-index:1}@keyframes heroHalo{0%,100%{transform:translate(-50%,-50%) scale(.92);opacity:.7}50%{transform:translate(-50%,-50%) scale(1.08);opacity:1}}#player-sprite .hero-bob{animation:2.4s ease-in-out infinite heroBob;transform-origin:50% 88%}@keyframes heroBob{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-2.5px) rotate(-1.1deg)}70%{transform:translateY(1px) rotate(.9deg)}}#player-sprite .hero-lantern{animation:3.1s ease-in-out infinite lanternSway;transform-origin:55px 45px}@keyframes lanternSway{0%,100%{transform:rotate(-9deg) scale(1)}50%{transform:rotate(9deg) scale(1.06)}}#player-sprite.walking .hero-bob{animation-duration:.62s}#player-sprite[data-idle=bob] .hero-body{animation:.88s ease-in-out heroIdleStretch}#player-sprite[data-idle=look] .hero-body{animation:.88s ease-in-out heroIdleLook}#player-sprite[data-idle=lantern] .hero-lantern{animation:.5s ease-in-out 2 lanternSway}@keyframes heroIdleStretch{0%,100%{transform:scaleY(1) translateY(0)}35%{transform:scaleY(1.06) translateY(-2px)}65%{transform:scaleY(.97) translateY(1px)}}@keyframes heroIdleLook{0%,100%{transform:rotate(0) translateX(0)}28%{transform:rotate(-2.4deg) translateX(-2px)}62%{transform:rotate(2.4deg) translateX(2px)}}#player-sprite.poisoned .hero-body{filter:hue-rotate(-26deg) saturate(1.3) brightness(1.04);animation:1.5s ease-in-out infinite poisonPulse}#player-sprite.poisoned .hero-halo{background:radial-gradient(circle,rgba(150,255,120,.4) 0,rgba(60,190,60,.2) 46%,transparent 70%)}@keyframes poisonPulse{0%,100%{opacity:1}50%{opacity:.78}}.poison-badge{position:absolute;left:96%;top:2%;transform:translateY(-50%) scale(var(--poison-inv,1));transform-origin:0 50%;display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;font-family:"Press Start 2P",monospace;font-size:9px;line-height:1.5;letter-spacing:.5px;color:#eaffd8;background:linear-gradient(180deg,rgba(60,150,40,.95),rgba(20,70,18,.95));border:1px solid rgba(160,255,130,.75);box-shadow:0 0 8px rgba(110,255,90,.5),0 2px 5px rgba(0,0,0,.55);white-space:nowrap;pointer-events:none;z-index:30}.poison-badge[hidden]{display:none!important}.poison-badge::after{content:'';position:absolute;inset:-3px;border-radius:inherit;border:1.5px solid rgba(160,255,130,.55);opacity:calc(.25 + var(--poison-pct, 1) * .6)}.poison-badge.urgent{color:#fff3d0;border-color:rgba(255,210,90,.9);background:linear-gradient(180deg,rgba(190,120,20,.95),rgba(105,45,5,.95));box-shadow:0 0 12px rgba(255,180,50,.7),0 2px 5px rgba(0,0,0,.55);animation:.9s ease-in-out infinite poisonUrgent}@keyframes poisonUrgent{0%,100%{opacity:1}50%{opacity:.55}}.zombie-sprite{width:var(--cell,56px);height:var(--cell,56px);display:flex;align-items:center;justify-content:center;font-size:calc(var(--cell, 56px) * .62);pointer-events:none;filter:drop-shadow(0 0 7px rgba(80,200,80,.5)) drop-shadow(0 3px 4px rgba(0,0,0,.6));will-change:transform;position:absolute;left:0;top:0;width:var(--cell,56px);height:var(--cell,56px);display:flex;align-items:center;justify-content:center;font-size:calc(var(--cell, 56px) * .62);pointer-events:none;z-index:22;filter:drop-shadow(0 0 6px rgba(80,200,80,.55));will-change:transform;transition:none}.zombie-sprite .mob-art{width:100%;height:100%;display:block}.zombie-sprite .mob-art svg{width:100%;height:100%}.zombie-sprite .zombie-lurch{animation:1.15s ease-in-out infinite zombieLurch;transform-origin:50% 90%}@keyframes zombieLurch{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(5deg) translateY(-2px)}}.slime-squish{animation:1.5s ease-in-out infinite slimeSquish;transform-origin:50% 92%}@keyframes slimeSquish{0%,100%{transform:scale(1,1)}40%{transform:scale(1.14,.86)}60%{transform:scale(.92,1.1)}}.mole-tremble{animation:.4s steps(2) infinite moleTremble}@keyframes moleTremble{0%{transform:translate(0,0)}50%{transform:translate(.7px,-.7px)}100%{transform:translate(-.7px,.5px)}}.mole-drill{animation:.5s linear infinite moleDrill}@keyframes moleDrill{from{transform:rotate(0) translateY(0)}50%{transform:rotate(180deg) translateY(.8px)}to{transform:rotate(360deg) translateY(0)}}.phantom-float{animation:3s ease-in-out infinite phantomFloat;transform-origin:50% 60%}@keyframes phantomFloat{0%,100%{transform:translateY(0) scale(1);opacity:.9}50%{transform:translateY(-5px) scale(1.04);opacity:1}}.zombie-sprite.crawling{animation:1.4s ease-in-out infinite zombieSway}@keyframes zombieSway{0%,100%{margin-top:0}50%{margin-top:2px}}.assistant-sprite{position:absolute;left:0;top:0;width:var(--cell,56px);height:var(--cell,56px);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:24;filter:drop-shadow(0 0 7px rgba(255, 200, 90, .55));will-change:transform;transition:none}.assistant-sprite .assistant-icon{font-size:calc(var(--cell, 56px) * .52);line-height:1}.assistant-sprite .assistant-tool{position:absolute;right:4px;top:2px;font-size:calc(var(--cell, 56px) * .28);opacity:.85;transform-origin:30% 80%}.assistant-sprite.walking .assistant-icon{animation:.35s ease-in-out infinite assistantBob}.assistant-sprite.digging .assistant-tool{animation:.45s ease-in-out infinite assistantSwing}.assistant-sprite.digging .assistant-icon{animation:.28s ease-in-out infinite assistantBob}@keyframes assistantBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes assistantSwing{0%,100%{transform:rotate(-25deg)}50%{transform:rotate(40deg) scale(1.1)}}.air-plane-layer{position:absolute;inset:0;pointer-events:none;z-index:60;overflow:hidden}.air-plane{position:absolute;left:0;top:0;width:56px;height:56px;margin-left:-28px;margin-top:-28px;display:flex;align-items:center;justify-content:center;font-size:44px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.6));opacity:0;will-change:left,top,transform,opacity;pointer-events:none}.pickup-float{position:fixed;left:0;top:0;width:46px;height:46px;margin-left:-23px;margin-top:-23px;display:flex;align-items:center;justify-content:center;font-size:28px;pointer-events:none;z-index:10000;opacity:1;transform:translateY(0) scale(1);filter:drop-shadow(0 0 10px rgba(255, 214, 130, .75)) drop-shadow(0 3px 6px rgba(0,0,0,.7))}.pickup-float .pickup-art{display:flex;width:100%;height:100%}.pickup-float .pickup-art svg{width:100%;height:100%}.pickup-float.go{animation:.88s cubic-bezier(.22,.9,.3,1) forwards pickupFloat}@keyframes pickupFloat{0%{opacity:0;transform:translateY(6px) scale(.5) rotate(-12deg)}18%{opacity:1;transform:translateY(-6px) scale(1.32) rotate(4deg)}48%{opacity:1;transform:translateY(-34px) scale(1.18) rotate(-2deg)}100%{opacity:0;transform:translateY(-74px) scale(.7) rotate(6deg)}}.pickaxe-swing-overlay{position:fixed;left:0;top:0;width:44px;height:44px;margin-left:-22px;margin-top:-22px;display:flex;align-items:center;justify-content:center;font-size:38px;pointer-events:none;z-index:9999;transform-origin:70% 85%;filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 8px rgba(255,214,130,.5));opacity:.98}.pickaxe-swing-overlay svg{width:100%;height:100%;display:block}.pickaxe-swing-overlay.strike{animation:.38s ease-in forwards pickStrikeOverlay}.blast-scar{position:absolute;pointer-events:none;z-index:6;border-radius:6px;mix-blend-mode:screen;opacity:.92}.blast-scar.scar-mine{background:radial-gradient(circle at 42% 40%,rgba(255,180,80,.55),transparent 42%),radial-gradient(circle at 60% 58%,rgba(180,40,20,.5),transparent 48%),radial-gradient(circle at 50% 50%,rgba(40,10,6,.55),transparent 70%);box-shadow:inset 0 0 10px rgba(255,120,40,.35)}.blast-scar.scar-gas{background:radial-gradient(circle at 45% 45%,rgba(120,255,140,.4),transparent 50%),radial-gradient(circle at 55% 60%,rgba(40,120,50,.45),transparent 58%)}.blast-scar.scar-trap{background:radial-gradient(circle at 50% 45%,rgba(255,90,90,.4),transparent 48%),radial-gradient(circle at 40% 60%,rgba(80,10,20,.5),transparent 60%)}.blast-scar .scar-ico{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:calc(var(--scar-size, 28px) * .42);filter:drop-shadow(0 1px 2px #000);opacity:.85}.mob-sprite{position:absolute;pointer-events:none;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 3px 5px rgba(0,0,0,.55));transition:left .18s linear,top .18s linear;z-index:8}.mob-sprite .mob-art{display:flex;width:100%;height:100%}.mob-sprite .mob-art svg{width:100%;height:100%}.loot-sprite{position:absolute;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:9;filter:drop-shadow(0 0 8px rgba(255, 214, 130, .55)) drop-shadow(0 3px 5px rgba(0,0,0,.65));animation:2.6s ease-in-out infinite lootIdleFloat}.loot-sprite .loot-art{display:flex;width:100%;height:100%}.loot-sprite .loot-art svg{width:100%;height:100%}.loot-sprite.loot-gold{filter:drop-shadow(0 0 9px rgba(255, 210, 90, .75)) drop-shadow(0 3px 5px rgba(0,0,0,.6))}.loot-sprite.loot-pop{animation:.42s cubic-bezier(.2,.9,.3,1) lootPop,2.6s ease-in-out .42s infinite lootIdleFloat}@keyframes lootPop{0%{opacity:0;transform:scale(.4) translateY(4px)}60%{opacity:1;transform:scale(1.18) translateY(-3px)}100%{opacity:1;transform:scale(1) translateY(0)}}@keyframes lootIdleFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-2.5px)}}.mob-sprite.mob-wander{animation:1.6s ease-in-out infinite mobBob}.mob-sprite.mob-guardian{filter:drop-shadow(0 0 8px rgba(180,120,255,.45)) drop-shadow(0 3px 5px rgba(0,0,0,.55))}.mob-sprite.mob-type-golem{filter:drop-shadow(0 0 6px rgba(200,170,100,.4)) drop-shadow(0 3px 5px rgba(0,0,0,.55))}@keyframes mobBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes pickStrikeOverlay{0%{transform:translate(-8px,-18px) rotate(-65deg) scale(1);opacity:1}40%{transform:translate(6px,10px) rotate(40deg) scale(1.2);opacity:1}70%{transform:translate(2px,0) rotate(8deg) scale(1.05);opacity:1}100%{transform:translate(0,-6px) rotate(-12deg) scale(.9);opacity:0}}#treasure-board{gap:5px;padding:10px;border:2px solid rgba(160,100,220,.45);border-radius:10px;background:radial-gradient(ellipse at 50% 0,rgba(150,90,220,.16),transparent 62%),repeating-radial-gradient(circle at 50% 50%,transparent 0 18px,rgba(140,80,200,.07) 18px 20px),rgba(14,8,22,.72);box-shadow:0 12px 34px rgba(0,0,0,.55),inset 0 1px 0 rgba(220,180,255,.14),0 0 26px rgba(120,70,200,.22)}#treasure-board .treasure-cell.closed{position:relative;border-radius:7px;background:radial-gradient(circle at 30% 28%,rgba(220,190,255,.28) 0 1.5px,transparent 2.5px),linear-gradient(145deg,rgba(255,255,255,.16),transparent 46%),linear-gradient(160deg,#523274 0,#2c1a4e 60%,#1c1030 100%)!important;border:1px solid rgba(190,140,255,.4)!important;box-shadow:inset 0 1px 0 rgba(240,220,255,.18),inset 0 -2px 4px rgba(0,0,0,.45),0 2px 5px rgba(0,0,0,.45)!important;transition:transform .15s,box-shadow .15s,border-color .15s}#treasure-board .treasure-cell.closed:hover{transform:translateY(-2px) scale(1.05);border-color:rgba(230,190,255,.8)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 6px 16px rgba(0,0,0,.5),0 0 18px rgba(180,110,255,.6)!important}#treasure-board .treasure-cell.open{background:0 0!important;border:none!important;box-shadow:none!important}#treasure-board .treasure-cell .tc-ico{display:flex;align-items:center;justify-content:center;width:100%;height:100%}#treasure-board .treasure-cell .tc-ico svg{width:100%;height:100%}#treasure-board .treasure-cell.treasure-gem .tc-ico{filter:drop-shadow(0 0 8px rgba(80, 255, 200, .75)) drop-shadow(0 2px 3px rgba(0,0,0,.6))}#treasure-board .treasure-cell.treasure-boom .tc-ico{filter:brightness(1.35)}.mine-num{display:inline-block;font-weight:700;font-size:calc(var(--cell,56px) * .42);line-height:1;transform:perspective(80px) rotateX(12deg);text-shadow:0 1px 0 rgba(255,255,255,.35),1px 2px 0 rgba(0,0,0,.45),2px 3px 0 rgba(0,0,0,.25),0 0 10px currentColor;filter:drop-shadow(0 2px 1px rgba(0,0,0,.35))}.cell.n1 .mine-num{color:#5cbcff}.cell.n2 .mine-num{color:#62e07a}.cell.n3 .mine-num{color:#ff7b7b}.cell.n4 .mine-num{color:#a78bfa}.cell.n5 .mine-num{color:#fb923c}.cell.n6 .mine-num{color:#2dd4bf}.cell.n7 .mine-num{color:#f1f5f9}.cell.n8 .mine-num{color:#cbd5e1}#screen-game{display:none;flex-direction:column;min-height:0}#screen-game.active{display:flex}.hist-mode-banner{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:24;pointer-events:none;padding:4px 14px;text-align:center;font-family:"Press Start 2P",monospace;font-size:clamp(7px, 1.6vw, 9px);letter-spacing:.06em;white-space:nowrap;color:#9febff;background:linear-gradient(90deg,transparent,rgba(30,90,120,.55),transparent),rgba(8,20,32,.82);border:1px solid rgba(100,200,230,.35);border-radius:4px;text-shadow:0 0 8px rgba(80,200,255,.45);animation:2.4s ease-in-out infinite histBannerPulse;max-width:min(46vw,280px);overflow:hidden;text-overflow:ellipsis}.hist-mode-banner[hidden]{display:none!important}@keyframes histBannerPulse{0%,100%{opacity:.82}50%{opacity:1}}.game-topbar{position:relative;flex-shrink:0;z-index:22;--hud-gap:clamp(3px, 0.9vh, 9px);--hud-ctl:clamp(30px, 5.4vh, 34px)}#screen-game>.game-topbar>header.game-hud{position:relative;display:flex;flex-wrap:nowrap;align-items:center;gap:var(--hud-gap);padding:5px 8px;margin:6px 8px 0;min-height:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;box-shadow:0 6px 22px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,245,210,.12),0 0 0 1px rgba(0,0,0,.35)}#screen-game>.game-topbar>header.game-hud::-webkit-scrollbar{display:none;height:0}.hud-hp{display:flex;align-items:center;gap:5px;min-width:74px;flex:0 1 130px}.hud-hp-heart{color:#f87171;font-size:clamp(12px, 2.4vh, 18px);line-height:1;flex-shrink:0}.hud-hp-col{flex:1 1 auto;min-width:0}.hud-hp-text{font-size:9px;margin-top:2px;color:rgba(245,230,200,.6);line-height:1;white-space:nowrap}.hud-hp .hp-bar-wrap{height:clamp(9px,1.8vh,14px)}.hud-level{display:flex;flex-direction:column;gap:0;font-size:9px;color:#f0c14b;white-space:nowrap;flex-shrink:0;line-height:1.2;align-items:flex-start;text-align:left}.hud-meta .hud-level{padding-left:8px;border-left:1px solid rgba(201,162,39,.22);margin-left:2px}.hud-level .hud-theme{color:rgba(245,230,200,.62);font-size:9px;letter-spacing:.06em;max-width:26vw}.hud-level #level-label{font-size:10px;color:#ffe082;text-shadow:0 0 8px rgba(255,190,80,.45),0 1px 2px #000}.hud-theme{color:rgba(245,230,200,.55);white-space:nowrap;font-size:10px;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;max-width:28vw}.hud-stat{display:inline-flex;align-items:center;gap:4px;font-size:clamp(14px, 2.6vh, 20px);font-weight:700;white-space:nowrap;color:#ffe9b8;text-shadow:0 1px 2px #000,0 0 10px rgba(255,200,90,.35);line-height:1}.hud-stat #amulet-text,.hud-stat #gold-text{font-family:"Press Start 2P",cursive;font-size:clamp(12px, 2.2vh, 16px);color:#ffe082}.hud-stat.hud-ward[hidden]{display:none!important}.hud-stat.hud-ward.ward-armed{color:#9ff7ff;text-shadow:0 0 10px rgba(120,230,255,.65),0 1px 2px #000}.hud-stat.hud-ward.ward-armed #amulet-text{color:#d9fbff}.hud-icon{display:inline-flex!important;align-items:center;justify-content:center;gap:3px;width:var(--hud-ctl);min-width:var(--hud-ctl);height:var(--hud-ctl);padding:0!important;font-size:clamp(11px, 2.2vh, 14px);line-height:1;border-radius:7px;flex-shrink:0;animation:none;position:relative}.hud-icon:hover{animation:none}.hud-icon[hidden]{display:none!important}.hud-badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;padding:0 3px;border-radius:7px;background:#c9a227;color:#1a1008;font-family:"Press Start 2P",cursive;font-size:7px;line-height:14px;text-align:center;box-shadow:0 0 6px rgba(201,162,39,.6)}.hud-badge[hidden]{display:none!important}.item-drawer{position:absolute;top:calc(100% - 2px);left:8px;right:8px;display:flex;flex-direction:row;align-items:center;gap:8px;padding:8px;border-radius:8px;z-index:21;max-height:min(56vh,240px);animation:.18s ease-out drawerDrop}.item-drawer[hidden]{display:none!important}@keyframes drawerDrop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.hist-void-overlay{position:fixed;inset:0;z-index:1200;display:none;align-items:center;justify-content:center;pointer-events:none;background:rgba(0,0,0,0)}.hist-void-overlay.show{display:flex;pointer-events:auto;animation:1.8s ease-in forwards histVoidBg}@keyframes histVoidBg{0%{background:rgba(0,0,0,0)}35%{background:rgba(0,0,0,.35)}100%{background:rgba(0,0,0,.88)}}.hist-void-hole{position:absolute;width:min(42vw,220px);height:min(42vw,220px);border-radius:50%;background:radial-gradient(circle at 50% 50%,#000 0,#000 28%,#1a0a28 42%,#4a1a60 58%,#0a0610 72%,transparent 74%);box-shadow:0 0 40px 12px rgba(80,30,120,.45),inset 0 0 30px 8px rgba(0,0,0,.9);transform:scale(.15) rotate(0);opacity:0}.hist-void-overlay.show .hist-void-hole{animation:1.8s cubic-bezier(.2,.7,.2,1) forwards histHoleSpin}@keyframes histHoleSpin{0%{transform:scale(.15) rotate(0);opacity:0}25%{opacity:1}100%{transform:scale(2.6) rotate(420deg);opacity:1}}.hist-void-ring{position:absolute;width:min(48vw,260px);height:min(48vw,260px);border-radius:50%;border:2px solid rgba(180,120,255,.55);box-shadow:0 0 18px rgba(140,80,255,.4);transform:scale(1.4);opacity:0}.hist-void-overlay.show .hist-void-ring{animation:1.8s ease-in forwards histRingIn}@keyframes histRingIn{0%{transform:scale(1.6);opacity:0}30%{opacity:.9}100%{transform:scale(.2);opacity:0}}.hist-void-text{position:relative;z-index:2;font-family:"Press Start 2P",monospace;font-size:clamp(11px, 3.2vw, 16px);color:#e8d6ff;text-shadow:0 0 12px rgba(180,120,255,.8),0 2px 0 #1a0a28;letter-spacing:.08em;opacity:0;transform:scale(1.4) translateY(12px)}.hist-void-overlay.show .hist-void-text{animation:1.8s ease-out forwards histVoidText}@keyframes histVoidText{0%{opacity:0;transform:scale(1.5) translateY(18px)}25%{opacity:1;transform:scale(1.05) translateY(0)}70%{opacity:1;transform:scale(1) translateY(0)}100%{opacity:0;transform:scale(.35) translateY(40px)}}.hud-modes{display:flex;align-items:center;gap:clamp(3px,.8vw,6px);flex:0 1 auto;min-width:0;overflow:visible;position:relative}.hud-modes .btn{display:inline-flex;align-items:center;gap:4px;padding:0 8px;height:var(--hud-ctl);font-size:9px;line-height:1;flex-shrink:0;animation:none;white-space:nowrap}.mode-ico{font-size:clamp(11px, 2.2vh, 14px);line-height:1}.mode-lbl{font-family:"Noto Sans SC",sans-serif;font-size:10px}.mode-caret{font-size:9px;opacity:.65;transition:transform .18s;margin-left:1px}.mode-switch.open .mode-caret{transform:rotate(180deg)}.mode-switch #btn-mode-current{min-width:calc(var(--hud-ctl) + 36px)}.mode-menu{position:fixed;z-index:240;display:flex;flex-direction:column;gap:4px;padding:6px;border-radius:8px;background:linear-gradient(180deg,rgba(42,30,48,.96),rgba(16,11,20,.98));border:1px solid rgba(255,210,120,.35);box-shadow:0 10px 24px rgba(0,0,0,.55),0 0 18px rgba(255,190,80,.12);min-width:118px;transform-origin:top center;opacity:0;transform:scaleY(.72) translateY(-6px);pointer-events:none;transition:opacity .16s,transform .18s cubic-bezier(.2,.9,.3,1.1)}.mode-menu.is-open{opacity:1;transform:scaleY(1) translateY(0);pointer-events:auto}.mode-menu[hidden]{display:none!important}.mode-menu .btn{width:100%;justify-content:flex-start}.hud-hazard{font-size:10px;color:rgba(255,170,100,.85);white-space:nowrap;flex-shrink:0}.hud-meta{display:flex;align-items:center;gap:clamp(3px,.7vw,6px);margin-left:auto;font-size:10px;flex-shrink:0}#item-bar{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center;gap:6px;flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:1px}#item-bar::-webkit-scrollbar{display:none;height:0}#item-bar .item-slot{flex:0 0 auto}.item-slot{width:clamp(40px,9.5vh,50px);height:clamp(44px,10.5vh,54px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:1px solid rgba(201,162,39,.28);background:linear-gradient(170deg,rgba(48,34,26,.92),rgba(18,12,16,.96));border-radius:8px;cursor:pointer;position:relative;transition:border-color .18s,transform .18s,box-shadow .18s;font-size:clamp(14px, 3vh, 18px);box-shadow:inset 0 1px 0 rgba(255,235,200,.1),inset 0 -1px 0 rgba(0,0,0,.5),0 2px 6px rgba(0,0,0,.4);overflow:hidden}.item-slot::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 34%,rgba(255,210,130,.16),transparent 62%);pointer-events:none;transition:opacity .2s}.item-slot .slot-art{display:flex;align-items:center;justify-content:center;width:74%;height:62%;position:relative;z-index:1;transition:transform .2s;filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}.item-slot .slot-art svg{width:100%;height:100%}.item-slot.selected,.item-slot:hover{border-color:var(--theme-accent);transform:translateY(-3px);box-shadow:inset 0 1px 0 rgba(255,245,210,.22),0 6px 14px rgba(0,0,0,.45),0 0 18px rgba(255,190,80,.4)}.item-slot:hover .slot-art{transform:scale(1.12) rotate(-3deg)}.item-slot.selected{border-color:#5eead4;box-shadow:inset 0 0 14px rgba(94,234,212,.25),0 0 20px rgba(94,234,212,.5)}.item-slot.is-empty{opacity:.42;filter:saturate(.4)}.item-slot.is-empty:hover{opacity:.7}.item-slot.is-cooling{pointer-events:none;cursor:wait;opacity:.72}.item-slot.is-cooling::after{content:'';position:absolute;inset:0;border-radius:inherit;background:conic-gradient(from 0deg,rgba(255,220,140,0) 0deg,rgba(255,220,140,.42) 42deg,rgba(255,240,190,.68) 62deg,rgba(255,220,140,0) 108deg);animation:1.05s linear infinite itemCoolRing;pointer-events:none;z-index:5;mix-blend-mode:screen}@keyframes itemCoolRing{to{transform:rotate(360deg)}}.item-slot .slot-cooldown{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;background:rgba(8,6,10,.35);pointer-events:none;overflow:hidden}.item-slot .slot-cooldown::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,6,12,.72),rgba(24,16,28,.5));animation:itemCooldownDrain var(--cd-ms,3000ms) linear forwards}@keyframes itemCooldownDrain{from{clip-path:inset(0 0 0 0)}to{clip-path:inset(0 0 100% 0)}}.item-slot .slot-cooldown::before{content:'';position:relative;z-index:1;width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,220,140,.25);border-top-color:#f0d060;animation:.7s linear infinite itemCooldownSpin}@keyframes itemCooldownSpin{to{transform:rotate(360deg)}}.item-slot .count{position:absolute;bottom:2px;right:4px;font-size:9px;color:#f5e6c8;font-family:"Press Start 2P",cursive;text-shadow:0 1px 2px #000,0 0 6px rgba(0,0,0,.9);z-index:2}.item-slot .label{font-size:8px;color:#b9a68c;z-index:2;line-height:1;text-shadow:0 1px 2px #000}.toast{position:fixed;left:50%;top:18%;transform:translateX(-50%) translateY(-10px);background:rgba(20,12,10,.92);border:1px solid var(--theme-accent);color:#f5e6c8;padding:10px 16px;font-size:12px;border-radius:4px;z-index:1000;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.72);display:none;align-items:center;justify-content:center;z-index:200;padding:16px}.modal-overlay.show{display:flex;animation:.25s fadeIn}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.modal{width:min(440px,96vw);max-height:88vh;overflow:auto;padding:20px;border-radius:8px;animation:.3s slideUp}.guide-layout{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:12px;width:min(720px,96vw);max-height:90vh;overflow:auto}.guide-layout .guide-main{flex:1 1 280px;width:auto;min-width:0;margin:0;animation:none}.guide-layout .guide-cloud{flex:0 1 220px;width:auto;min-width:180px;margin:0;padding:16px;border:1px solid rgba(80,180,230,.35);background:linear-gradient(160deg,rgba(20,50,70,.55),rgba(10,16,24,.75)),rgba(12,18,28,.9);animation:none;align-self:center}.guide-layout .guide-cloud[hidden]{display:none!important}@media (max-width:560px){.guide-layout{flex-direction:column;align-items:stretch}.guide-layout .guide-cloud{flex-basis:auto;width:100%}}@keyframes slideUp{from{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.shop-shell{display:flex;align-items:center;justify-content:center;height:100%;padding:16px;box-sizing:border-box}.shop-panel{width:min(920px,96vw);max-height:min(88vh,760px);display:flex;flex-direction:column;padding:16px 16px 12px;position:relative}.shop-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;flex-shrink:0}.shop-head-titles{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;min-width:0}.shop-head-titles .shop-camp{font-family:"Press Start 2P",cursive;font-size:11px;color:#f0d060;letter-spacing:.04em}.shop-head-titles .shop-title{font-size:1.05rem;color:#f5e6c8;margin:0;font-weight:700}.shop-close{padding:8px 12px!important;min-width:44px;flex-shrink:0}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;overflow:auto;flex:1 1 auto;min-height:0;padding:4px 2px 8px;-webkit-overflow-scrolling:touch}.shop-foot{flex-shrink:0;display:flex;justify-content:center;padding-top:12px;border-top:1px solid rgba(201,162,39,.2);margin-top:4px}.shop-item{display:flex;flex-direction:column;gap:8px;padding:12px 12px 10px;border:1px solid rgba(201,162,39,.25);background:rgba(40,28,18,.5);border-radius:6px;cursor:pointer;text-align:left;min-height:0}.shop-item:hover{background:rgba(60,40,20,.7)}.shop-item-main{display:flex;flex-direction:row;align-items:stretch;gap:12px}.shop-item-left{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;min-width:56px}.shop-item-right{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0;flex:1 1 auto}.shop-item .icon{font-size:28px;line-height:1}.shop-item .shop-name{font-size:13px;color:#f5e6c8;line-height:1.3;font-weight:700}.shop-item .shop-desc{font-size:11px;color:rgba(245,230,200,.5);line-height:1.35}.shop-item .shop-price{font-family:"Press Start 2P",cursive;font-size:9px;color:#f0d060;margin-top:0}.shop-item .shop-stock{font-size:10px;color:rgba(245,230,200,.55);padding-top:6px;border-top:1px solid rgba(201,162,39,.18);letter-spacing:.02em}.shop-item .shop-stock strong{color:#f0d060;font-weight:700}.shop-item.is-capped{opacity:.72}.shop-item.is-capped .shop-stock strong{color:#ff8a6a}.treasure-timer-badge{font-family:"Press Start 2P",cursive;font-size:11px;color:#f0d060;padding:6px 10px;border:1px solid rgba(201,162,39,.45);border-radius:6px;background:rgba(40,20,50,.75)}.treasure-timer-badge.urgent{color:#ff6b4a;border-color:rgba(255,100,70,.7);animation:.6s ease-in-out infinite treasureUrgent}@keyframes treasureUrgent{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}.treasure-countdown{position:absolute;top:72px;left:50%;transform:translateX(-50%);z-index:30;pointer-events:none;font-family:"Press Start 2P",cursive;font-size:clamp(28px, 8vw, 48px);color:rgba(240,208,96,.92);text-shadow:0 0 18px rgba(180,80,220,.55),0 2px 0 #000;opacity:0}.treasure-countdown.pulse{animation:.85s ease-out treasureTick}.treasure-countdown.urgent{color:#ff6b4a}@keyframes treasureTick{0%{opacity:1;transform:translateX(-50%) scale(1.25)}60%{opacity:.85;transform:translateX(-50%) scale(1)}100%{opacity:0;transform:translateX(-50%) scale(.92)}}#screen-treasure{position:relative}@keyframes sway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}#vfx-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:600;mix-blend-mode:screen}#vfx-flash{position:fixed;inset:0;pointer-events:none;z-index:590;opacity:0;background:0 0}#screen-game.hit-flash::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:45;background:radial-gradient(ellipse at 50% 50%,transparent 42%,rgba(190,20,30,.55) 100%);animation:.28s ease-out hitVignette}@keyframes hitVignette{from{opacity:1}to{opacity:0}}.weather-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:5}.weather-layer::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.85;transition:opacity .6s;background:radial-gradient(ellipse at 50% -10%,rgba(255,190,110,.14),transparent 62%)}.weather-layer.amb-magma::before{background:radial-gradient(ellipse at 50% 108%,rgba(255,110,30,.3),transparent 58%),radial-gradient(ellipse at 50% -10%,rgba(255,90,20,.12),transparent 60%);animation:6s ease-in-out infinite magmaBreathe}.weather-layer.amb-abyss::before{background:radial-gradient(ellipse at 20% 100%,rgba(40,200,190,.2),transparent 55%),radial-gradient(ellipse at 80% 0,rgba(60,150,220,.14),transparent 58%);animation:9s ease-in-out infinite abyssDrift}.weather-layer.amb-clock::before{background:repeating-linear-gradient(115deg,rgba(180,205,230,.05) 0 2px,transparent 2px 22px),radial-gradient(ellipse at 50% 0,rgba(170,200,230,.16),transparent 60%);animation:12s linear infinite clockSweep}@keyframes magmaBreathe{0%,100%{opacity:.7}50%{opacity:1}}@keyframes abyssDrift{0%,100%{opacity:.6}50%{opacity:.95}}@keyframes clockSweep{from{background-position:0 0,0 0}to{background-position:220px 0,0 0}}.mote{position:absolute;width:var(--s,3px);height:var(--s,3px);border-radius:50%;background:var(--c,rgba(220,190,140,.4));box-shadow:0 0 calc(var(--s,3px) * 3) var(--c,rgba(220,190,140,.4));opacity:0;will-change:transform,opacity;animation:moteRise var(--dur,9s) linear var(--dl,0s) infinite}@keyframes moteRise{0%{transform:translate3d(0,0,0) scale(.6);opacity:0}12%{opacity:.9}70%{opacity:.55}100%{transform:translate3d(var(--drift,20px),var(--rise,-120px),0) scale(1.15);opacity:0}}.star{color:#4a4048;font-size:26px;transition:color .3s,transform .3s;display:inline-block}.star.lit{color:gold;transform:scale(1.24);text-shadow:0 0 10px gold,0 0 22px rgba(255,190,40,.8),0 0 40px rgba(255,150,0,.5);animation:.6s cubic-bezier(.2,1.6,.4,1) starPop,2.4s ease-in-out .6s infinite starTwinkle}@keyframes starPop{0%{transform:scale(.2) rotate(-120deg);opacity:0}60%{transform:scale(1.5) rotate(12deg);opacity:1}100%{transform:scale(1.24) rotate(0);opacity:1}}@keyframes starTwinkle{0%,100%{filter:brightness(1)}50%{filter:brightness(1.35)}}#screen-game.death-fade{animation:.6s ease-out deathFade}@keyframes deathFade{0%,100%{filter:saturate(1) brightness(1)}25%{filter:saturate(.2) brightness(.7) contrast(1.2)}}.modal-overlay.show .modal{animation:.34s cubic-bezier(.2,.9,.25,1.1) modalIn}@keyframes modalIn{from{transform:translateY(18px) scale(.94);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.tile-thumb{display:inline-block;background-size:100% 100%;background-repeat:no-repeat;box-shadow:0 2px 6px rgba(0,0,0,.5)}.manual-card.preview-mob .manual-icon{background:radial-gradient(circle at 50% 40%,rgba(160,120,255,.22),rgba(0,0,0,.3))}.manual-card .manual-icon svg{width:100%;height:100%}.chat-box{height:160px;overflow-y:auto;font-size:12px;background:rgba(0,0,0,.42);padding:8px 10px;border-radius:6px;border:1px solid rgba(201,162,39,.28);color:rgba(245,238,222,.92);user-select:text;-webkit-user-select:text}.chat-msg{margin-bottom:5px;word-break:break-word;line-height:1.5;color:rgba(245,238,222,.92)}.chat-msg .who{color:#ffd166;font-weight:700;margin-right:4px}.chat-msg .chat-time{color:rgba(245,230,200,.4);font-size:10px;margin-right:5px}.lobby-shell{display:flex;flex-direction:column;gap:10px;height:100%;min-height:0;width:min(1100px,100%);margin:0 auto;padding:10px 12px 12px;overflow:auto}.lobby-head{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;flex-wrap:wrap;flex-shrink:0}.lobby-back{flex-shrink:0}.lobby-title{font-size:11px;color:#fcd34d;margin:0}.lobby-status{margin-left:auto;font-size:11px;color:rgba(245,230,200,.7);max-width:60%;text-align:right;line-height:1.4}.lobby-status.is-local{color:#fbbf24}.lobby-status.is-online{color:#6ee7b7}.lobby-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:0;flex:1 1 auto}.lobby-chat-card{grid-column:1/-1;display:flex;flex-direction:column;min-height:0}.lobby-card{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:10px;min-height:0}.lobby-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.lobby-card-head h3{font-size:10px;color:#fcd34d;margin:0;letter-spacing:.08em}.lobby-card-hint{font-size:10px;color:rgba(245,230,200,.45)}.lobby-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.lobby-row .btn{flex-shrink:0}.lobby-input{flex:1 1 120px;min-width:0;padding:9px 10px;font-size:13px;font-family:"Noto Sans SC",sans-serif;color:#fffdf6;background:rgba(255,245,220,.16);border:1px solid rgba(240,200,120,.6);border-radius:7px;outline:0;box-shadow:inset 0 2px 6px rgba(0,0,0,.55);caret-color:#ffd166;user-select:text;-webkit-user-select:text;transition:border-color .15s,background .15s,box-shadow .15s}.lobby-input::placeholder{color:rgba(255,247,226,.62)}.lobby-input:focus{border-color:#ffd166;background:rgba(255,245,220,.22);box-shadow:inset 0 2px 5px rgba(0,0,0,.45),0 0 0 2px rgba(255,209,102,.28)}#join-code{flex:0 1 132px;text-align:center;font-family:"Press Start 2P",monospace;font-size:11px;letter-spacing:.03em;text-transform:uppercase}.lobby-roominfo{font-size:12px;color:#ffe082;min-height:18px;line-height:1.45;word-break:break-word}.lobby-players{display:flex;flex-direction:column;gap:4px;font-size:12px}.lobby-player{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 8px;border-radius:6px;background:rgba(0,0,0,.28);border:1px solid rgba(180,160,120,.18)}.lobby-player .lp-name{display:flex;align-items:center;gap:6px;color:#f5e6c8}.lobby-player .lp-meta{color:rgba(245,230,200,.6);font-size:11px}.lobby-player.is-me{border-color:rgba(94,234,212,.5)}.lobby-player .lp-tag{font-size:9px;padding:1px 5px;border-radius:99px;background:rgba(94,234,212,.18);color:#7ef2de}.lobby-player .lp-tag.host{background:rgba(255,209,102,.2);color:#ffd166}.lobby-empty{font-size:11px;color:rgba(245,230,200,.45);padding:8px 2px;line-height:1.5}.lobby-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}.lobby-actions .btn{flex:1 1 110px}.lobby-actions .btn:disabled,.lobby-row .btn:disabled{opacity:.62;cursor:not-allowed;filter:grayscale(.5);color:rgba(245,230,200,.8)}.lobby-spectate{display:flex;flex-direction:column;gap:5px;overflow-y:auto;min-height:40px}.spectate-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;background:rgba(0,0,0,.26);border:1px solid rgba(160,130,220,.24);font-size:11px}.spectate-row .sr-name{color:#d8b4fe;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spectate-row .sr-meta{color:rgba(245,230,200,.6)}.spectate-row .btn{flex-shrink:0}.lobby-chat-card .chat-box{flex:1 1 auto;height:auto;min-height:96px;max-height:30vh}.lobby-chat-send{margin-top:0}.lobby-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:6px 12px;font-size:11px;color:rgba(245,230,200,.65);flex-shrink:0}.lobby-live{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.lobby-uid{margin-left:auto;font-size:10px;color:rgba(245,230,200,.35);max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:760px){.lobby-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:auto}.lobby-chat-card{grid-column:auto}.lobby-shell{padding:8px}.lobby-title{font-size:9px}}@media (max-height:520px){.lobby-shell{gap:6px;padding:6px 8px 8px}.lobby-head{padding:4px 8px}.lobby-card{padding:7px 9px;gap:5px}.lobby-card-hint{display:none}.lobby-actions .btn,.lobby-row .btn{padding:7px 10px}.lobby-input{padding:7px 9px}.lobby-chat-card .chat-box{min-height:62px;max-height:22vh}.lobby-foot{padding:2px 8px;font-size:10px}}.auth-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;max-width:min(24rem,86vw);padding:6px 14px;font-family:"Noto Sans SC",sans-serif;font-size:10px;line-height:1.5;color:rgba(254,243,199,.78);background:linear-gradient(180deg,rgba(44,34,48,.72),rgba(18,13,22,.85));border:1px solid rgba(232,220,200,.26);border-radius:999px;text-align:center;cursor:pointer;transition:color .15s,border-color .15s,background .15s,box-shadow .15s;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 2px 8px rgba(0,0,0,.35);-webkit-appearance:none;appearance:none}.auth-chip:focus-visible,.auth-chip:hover{color:#fde68a;border-color:rgba(255,230,180,.55);background:linear-gradient(180deg,rgba(62,46,26,.85),rgba(26,18,12,.9));box-shadow:0 0 16px rgba(255,196,90,.25),inset 0 1px 0 rgba(255,255,255,.1);outline:0}#screen-menu .menu-hint{color:rgba(254,243,199,.72)!important;line-height:1.7;letter-spacing:.02em;text-shadow:0 1px 2px rgba(0,0,0,.85)}#screen-menu .menu-hint span{color:inherit!important}#screen-menu .auth-chip{color:rgba(254,243,199,.88)!important;text-shadow:0 1px 2px rgba(0,0,0,.8)}#screen-menu .auth-chip:hover{color:#fde68a!important}#title-particles{pointer-events:none}#title-particles canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}50%{transform:scale(1.4);opacity:.6}::-webkit-scrollbar-thumb{background:#3d2a1f;border-radius:3px}.btn{animation:2.8s ease-in-out infinite btnIdle}@keyframes btnIdle{0%,100%{transform:translateY(0)}50%{transform:translateY(-1px)}}.btn:hover,.item-slot{animation:none}.zodiac-pick{width:56px;height:56px;padding:2px;border:2px solid transparent;border-radius:50%;background:rgba(0,0,0,.25);cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}.zodiac-pick:hover{transform:scale(1.08)}.zodiac-pick.selected{border-color:var(--theme-accent);box-shadow:0 0 14px rgba(201,162,39,.45);animation:1.6s ease-in-out infinite portalPulse}.zodiac-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;justify-items:center;margin:8px 0 14px}@media (max-width:480px){.zodiac-grid{grid-template-columns:repeat(4,1fr)}}.lang-bar{position:absolute;top:12px;right:12px;z-index:30;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.lang-bar select,.settings-row select{background:rgba(20,14,18,.9);border:1px solid rgba(201,162,39,.4);color:#f5e6c8;border-radius:6px;padding:6px 8px;font-size:12px}.avatar-preview{width:64px;height:64px;margin:0 auto 8px;animation:1.2s ease-in-out infinite avatarBounce}.hud-avatar{width:28px;height:28px;border-radius:50%;box-shadow:0 0 8px var(--theme-glow);animation:1.4s ease-in-out infinite avatarBounce}.shop-item .icon{animation:2.5s ease-in-out infinite sway}.glass{animation:.35s glassIn}@keyframes glassIn{from{opacity:.6;transform:translateY(6px)}to{opacity:1;transform:none}}.menu-mascot{width:88px;height:88px;margin:0 auto 10px;animation:1.5s ease-in-out infinite avatarBounce;filter:drop-shadow(0 0 12px rgba(255,200,80,.35))}.manual-modal{max-width:min(640px,94vw);max-height:min(82vh,720px);overflow:hidden;display:flex;flex-direction:column}.manual-catalog{overflow:auto;flex:1;padding-right:4px;text-align:left}.manual-section{margin-bottom:10px;border:1px solid rgba(201,162,39,.22);border-radius:8px;background:rgba(0,0,0,.18);overflow:hidden}.manual-group{list-style:none;font-size:12px;color:#f0c14b;margin:0;padding:10px 12px;cursor:pointer;user-select:none;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid transparent}.manual-group::-webkit-details-marker{display:none}.manual-group::after{content:'▸';font-size:11px;color:rgba(240,193,75,.7);transition:transform .18s}.manual-section[open]>.manual-group{border-bottom-color:rgba(201,162,39,.25)}.manual-section[open]>.manual-group::after{transform:rotate(90deg)}.manual-section .manual-grid{padding:10px}.manual-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.pause-modal{max-width:min(420px,94vw);max-height:min(86vh,720px);overflow:auto}.levels-modal{max-width:min(480px,94vw);max-height:min(80vh,640px);display:flex;flex-direction:column}.levels-modal-list{flex:1;max-height:min(52vh,420px);overflow:auto;justify-content:center;padding:4px 2px 8px;text-align:left}.level-chip-row{display:flex;flex-wrap:wrap;gap:6px;max-height:132px;overflow:auto}.level-chip{min-width:42px;padding:6px 8px;font-family:"Press Start 2P",cursive;font-size:8px;color:#f5e6c8;background:rgba(40,28,18,.9);border:1px solid rgba(201,162,39,.35);border-radius:4px;cursor:pointer}.level-chip:hover{filter:brightness(1.15)}.level-chip.current{border-color:#5eead4;color:#5eead4;box-shadow:0 0 10px rgba(94,234,212,.25)}.level-chip.cleared{color:#f0c14b}.levels-window-note{width:100%;font-size:10px;color:rgba(245,230,200,.45);text-align:center;padding:2px 0 4px}.manual-card{display:flex;gap:8px;align-items:flex-start;padding:8px;border-radius:8px;background:rgba(0,0,0,.28);border:1px solid rgba(180,160,120,.2)}.manual-icon{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:22px;border-radius:6px;background:rgba(255,255,255,.06)}.manual-name{font-size:12px;color:#f5e6c8}.manual-desc{font-size:10px;color:rgba(245,230,200,.55);line-height:1.35;margin-top:2px}.manual-card.preview-wall .manual-icon{background:linear-gradient(rgba(28,18,10,.55) 0 1px,transparent 1px) 0 0/100% 10px,linear-gradient(145deg,#b88958,#6a4224)}.manual-card.preview-stone .manual-icon{background:linear-gradient(160deg,#9a6a3e,#4a2e18)}.manual-card.preview-bedrock .manual-icon{background:radial-gradient(ellipse 55% 40% at 32% 28%,rgba(160,150,140,.45),transparent 55%),linear-gradient(155deg,#7a7268,#2e2a26);border-radius:7px 5px 8px 4px}.manual-card.preview-upgrade .manual-icon{position:relative;font-size:20px}.manual-card.preview-upgrade .manual-icon::after{content:'+';position:absolute;right:2px;bottom:1px;font-size:11px;font-weight:700;color:#f0c14b;text-shadow:0 1px 0 #000;line-height:1}.manual-card.preview-door .manual-icon{background:linear-gradient(145deg,#c4893a,#5a3512)}.manual-card.preview-exit .manual-icon{background:radial-gradient(circle at 50% 80%,#f5f7a0,#1a1a22 70%)}.manual-card.preview-treasure .manual-icon{background:linear-gradient(145deg,#7b4db8,#2a1048)}.manual-card.preview-coffin .manual-icon{background:linear-gradient(145deg,#5a4030,#1e140c)}.manual-card.preview-flag .manual-icon{color:#ff7a1a}.manual-card.preview-num .manual-icon{color:#62e07a;font-family:"Press Start 2P",cursive;font-size:11px}.rotate-hint{position:fixed;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(6,4,8,.86);backdrop-filter:blur(4px)}.rotate-hint[hidden]{display:none!important}.rotate-hint-card{width:min(340px,92vw);padding:20px 18px;border-radius:12px;text-align:center}.rotate-hint-icon{font-size:46px;line-height:1;margin-bottom:10px;animation:2s ease-in-out infinite rotateWiggle}@keyframes rotateWiggle{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(78deg)}}.rotate-hint-title{font-family:"Press Start 2P","Noto Sans SC",cursive;font-size:11px;color:#f0c14b;margin:0 0 8px;line-height:1.6}.rotate-hint-body{font-size:12px;color:rgba(245,230,200,.65);line-height:1.5;margin:0 0 16px}.rotate-hint-actions{display:flex;flex-direction:column;gap:8px}@media (min-width:901px) and (min-height:561px){#screen-game.items-pinned .item-drawer,#screen-game.items-pinned .item-drawer[hidden]{position:relative;top:auto;left:auto;right:auto;display:flex!important;margin:6px 8px 0;max-height:none;animation:none;flex-shrink:0;z-index:20}#screen-game.items-pinned #btn-items{display:none!important}#screen-game.items-pinned #board-viewport{flex:1 1 auto;min-height:0}}@media (max-height:560px){.hud-hp{flex-basis:96px}#screen-game>.game-topbar>header.game-hud{margin-top:4px;padding:3px 6px}.item-drawer{max-height:62vh;padding:6px}.hud-modes .btn{padding:0 6px}.mode-lbl{font-size:9px}.hud-theme{font-size:9px;max-width:22vw}}@media (max-width:720px){.hud-optional{display:none!important}.hud-theme{font-size:9px;max-width:24vw}}@media (max-width:560px){.hud-stat{font-size:12px}.hud-stat #amulet-text,.hud-stat #gold-text{font-size:10px}.hud-hp{min-width:60px;flex-basis:82px}.hud-level{font-size:8px}.hud-theme{max-width:18vw}.mode-lbl{display:none}.hud-modes .btn{padding:0 5px}.mode-switch #btn-mode-current{min-width:var(--hud-ctl);padding:0 5px}}@media (max-width:420px){.hud-avatar{display:none}.hud-hp-heart{font-size:12px}.hud-meta{gap:2px}}@media (orientation:landscape) and (max-height:480px){.hud-meta{gap:2px}.hud-icon{--hud-ctl:30px;border-radius:6px}.hud-modes .btn{height:30px}.hud-level{gap:0}.hud-hp{flex-basis:104px}}.level-intro{position:absolute;left:50%;top:26%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none;z-index:30;opacity:0;text-align:center}.level-intro.show{animation:1.5s cubic-bezier(.2,.9,.2,1) forwards levelIntro}.level-intro .li-kicker{font-family:"Noto Sans SC",sans-serif;font-size:clamp(10px, 1.6vh, 13px);letter-spacing:.42em;color:var(--theme-rim,#e8c477);text-transform:uppercase;text-shadow:0 0 12px var(--theme-glow),0 2px 4px #000}.level-intro .li-label{font-family:"Press Start 2P",monospace;font-size:clamp(20px, 4.4vh, 34px);color:#fff8d8;letter-spacing:.06em;text-shadow:0 0 10px var(--theme-glow),0 0 26px rgba(255,200,90,.7),0 3px 0 #1a1008}.level-intro .li-depth{font-size:clamp(9px, 1.4vh, 11px);color:rgba(245,230,200,.6);letter-spacing:.2em}@keyframes levelIntro{0%{opacity:0;transform:translate(-50%,-50%) scale(.72);filter:blur(6px)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.06);filter:blur(0)}30%{transform:translate(-50%,-50%) scale(1)}72%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-58%) scale(1.04)}}.splash-host{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:900}.splash-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.92);width:min(560px,86vw);padding:18px 22px 16px;border-radius:16px;overflow:hidden;text-align:center;color:#f6ead2;background:linear-gradient(165deg,rgba(46,30,18,.94),rgba(16,10,14,.96));border:1px solid rgba(240,196,90,.42);box-shadow:0 20px 54px rgba(0,0,0,.72),0 0 40px rgba(255,190,90,.14),inset 0 1px 0 rgba(255,238,200,.16);opacity:0;transition:opacity .24s,transform .34s cubic-bezier(.2,.9,.3,1);will-change:opacity,transform}.splash-card.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.splash-card.hide{opacity:0;transform:translate(-50%,-54%) scale(1.02)}.splash-card .sp-glow{position:absolute;inset:-40% -10% auto -10%;height:150%;pointer-events:none;background:radial-gradient(ellipse at 50% 0,rgba(255,214,130,.3),transparent 62%),radial-gradient(ellipse at 20% 100%,rgba(120,200,255,.14),transparent 60%)}.splash-card .sp-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.splash-card .sp-kicker{font-family:"Noto Sans SC",sans-serif;font-size:11px;letter-spacing:.34em;color:rgba(240,200,120,.85);text-transform:uppercase}.splash-card .sp-range,.splash-card .sp-seg{font-family:"Press Start 2P",monospace;font-size:8px;color:rgba(245,230,200,.5);letter-spacing:.04em}.splash-progress .sp-title{position:relative;display:flex;align-items:baseline;justify-content:center;gap:10px;margin:4px 0 10px}.splash-progress .sp-cur{font-size:clamp(24px, 5.2vh, 38px);color:#fff4d0;text-shadow:0 0 14px rgba(255,200,90,.65),0 3px 0 #1a1008}.splash-progress .sp-split{font-size:16px;color:rgba(245,230,200,.35)}.splash-progress .sp-total{font-size:clamp(13px, 2.6vh, 19px);color:rgba(245,230,200,.55)}.splash-progress .sp-bar{position:relative;height:7px;border-radius:99px;background:rgba(0,0,0,.5);box-shadow:inset 0 1px 2px rgba(0,0,0,.7);overflow:hidden}.splash-progress .sp-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#b8860b,#ffd166,#fff4c8);box-shadow:0 0 12px rgba(255,200,90,.8);width:0;transition:width .72s cubic-bezier(.2,.9,.3,1)}.splash-progress.show .sp-bar i{width:var(--sp-pct,0%)}.splash-progress .sp-foot{position:relative;display:flex;align-items:center;justify-content:space-between;margin-top:9px}.splash-progress .sp-theme{font-size:11px;color:rgba(255,226,170,.8);letter-spacing:.1em}.splash-welcome .sp-theme-name{position:relative;display:block;margin:6px 0 2px;font-size:clamp(15px, 3.2vh, 22px);color:#fff4d0;letter-spacing:.08em;text-shadow:0 0 16px rgba(255,200,90,.6),0 3px 0 #1a1008}.splash-welcome .sp-code{position:relative;font-family:"Press Start 2P",monospace;font-size:clamp(10px, 2vh, 13px);color:rgba(255,214,130,.75);letter-spacing:.22em;margin-bottom:6px}.splash-welcome .sp-line{position:relative;font-size:12px;line-height:1.6;color:rgba(246,234,210,.72);margin:4px 0 0}.splash-welcome.splash-treasure{border-color:rgba(190,150,255,.5);box-shadow:0 20px 54px rgba(0,0,0,.72),0 0 40px rgba(170,110,255,.22)}.splash-welcome.splash-treasure .sp-theme-name{text-shadow:0 0 16px rgba(190,140,255,.7),0 3px 0 #1a1008}@media (prefers-reduced-motion:reduce){.splash-card{transition:opacity .14s linear;transform:translate(-50%,-50%)}.splash-progress .sp-bar i{transition:none}}.encounter-banner{position:fixed;left:50%;top:16%;transform:translate(-50%,0);z-index:700;display:flex;align-items:center;gap:10px;padding:8px 18px 8px 12px;border-radius:999px;font-family:"Noto Sans SC",sans-serif;font-size:13px;color:#ffe9d0;background:linear-gradient(120deg,rgba(60,20,20,.94),rgba(26,10,16,.96));border:1px solid rgba(255,120,90,.55);box-shadow:0 8px 26px rgba(0,0,0,.6),0 0 24px rgba(255,90,60,.35);pointer-events:none;opacity:0;white-space:nowrap}.encounter-banner .eb-art{width:30px;height:30px;display:flex;flex-shrink:0}.encounter-banner .eb-art svg{width:100%;height:100%}.encounter-banner.show{animation:1.9s cubic-bezier(.2,.9,.2,1) forwards encounterIn}@keyframes encounterIn{0%{opacity:0;transform:translate(-50%,-14px) scale(.9)}14%{opacity:1;transform:translate(-50%,0) scale(1.03)}24%{transform:translate(-50%,0) scale(1)}80%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-10px) scale(.97)}}.item-drawer{border-color:rgba(255,210,120,.3);box-shadow:0 14px 32px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,245,210,.14),0 0 26px rgba(255,190,80,.14)}.hud-icon{background:linear-gradient(180deg,rgba(52,40,58,.82),rgba(18,13,22,.9));transition:transform .16s,box-shadow .16s,border-color .16s}.hud-icon:hover{border-color:rgba(255,226,160,.6);box-shadow:0 0 16px rgba(255,200,100,.35),inset 0 1px 0 rgba(255,255,255,.14)}.hud-icon:active{transform:scale(.94)}.hud-badge{animation:2.4s ease-in-out infinite badgePulse}@keyframes badgePulse{0%,100%{box-shadow:0 0 6px rgba(201,162,39,.6);transform:scale(1)}50%{box-shadow:0 0 14px rgba(255,200,90,.9);transform:scale(1.12)}}.hp-bar{position:relative;overflow:hidden}.hp-bar::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.45) 46%,transparent 62%);transform:translateX(-120%);animation:3.4s ease-in-out infinite hpSheen}@keyframes hpSheen{0%{transform:translateX(-120%)}100%,55%{transform:translateX(140%)}}.shop-item{position:relative;overflow:hidden;transition:background .18s,transform .18s,box-shadow .18s,border-color .18s}.shop-item::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0,rgba(255,210,120,.16),transparent 62%);opacity:0;transition:opacity .2s;pointer-events:none}.shop-item:hover{transform:translateY(-3px);border-color:rgba(255,214,130,.6);box-shadow:0 10px 24px rgba(0,0,0,.5),0 0 22px rgba(255,190,80,.28)}.shop-item:hover::after{opacity:1}.shop-item .icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;transition:transform .2s}.shop-item .icon svg{width:100%;height:100%}.shop-item:hover .icon{transform:scale(1.15) rotate(-4deg)}.shop-item .shop-price{letter-spacing:.04em}.manual-card{transition:transform .16s,border-color .16s,background .16s}.manual-card:hover{transform:translateY(-2px);border-color:rgba(255,214,130,.5);background:rgba(40,26,16,.5)}#player-sprite[data-facing=left] .hero-body{transform:scaleX(-1)}#player-sprite.walking .hero-body{animation:.34s ease-in-out infinite heroLean}@keyframes heroLean{0%,100%{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}#player-sprite.walking[data-facing=left] .hero-body{animation:.34s ease-in-out infinite heroLeanL}@keyframes heroLeanL{0%,100%{transform:scaleX(-1) rotate(-2.5deg)}50%{transform:scaleX(-1) rotate(2.5deg)}}.zombie-sprite::after{content:'';position:absolute;left:50%;top:58%;width:92%;height:62%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--mob-ink,#7ddc6a) 42%,transparent),transparent 68%);opacity:.55;animation:2.4s ease-in-out infinite mobAura;pointer-events:none;z-index:-1}@keyframes mobAura{0%,100%{transform:translate(-50%,-50%) scale(.88);opacity:.35}50%{transform:translate(-50%,-50%) scale(1.1);opacity:.72}}.hud-avatar{box-shadow:0 0 10px var(--theme-glow),0 0 0 2px rgba(240,196,90,.35)}.hud-avatar svg{border-radius:50%}#item-badge{will-change:transform}.manual-icon{background:radial-gradient(circle at 50% 35%,rgba(255,214,130,.14),rgba(0,0,0,.32))}.manual-icon svg,.shop-item .icon svg{filter:drop-shadow(0 3px 5px rgba(0,0,0,.55))}@media (prefers-reduced-motion:reduce){#player-sprite.poisoned .hero-body,#player-sprite[data-idle] .hero-body,#player-sprite[data-idle] .hero-lantern,.btn::after,.hero-bob,.hero-halo,.hero-lantern,.hp-bar::after,.hud-badge,.mobAura,.mole-drill,.mole-tremble,.mote,.phantom-float,.poison-badge.urgent,.slime-squish,.zombie-lurch{animation:none!important}.btn{animation:none}}.key-flight{position:fixed;left:0;top:0;width:30px;height:30px;margin-left:-15px;margin-top:-15px;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:720;opacity:0;filter:drop-shadow(0 0 10px rgba(255, 214, 120, .85)) drop-shadow(0 3px 5px rgba(0,0,0,.7));will-change:transform,opacity}.key-flight svg{width:100%;height:100%}.key-flight.fly{animation:keyFlight var(--kdur,460ms) cubic-bezier(.3,.05,.4,1) forwards}@keyframes keyFlight{0%{opacity:0;transform:translate(0,0) scale(.4) rotate(-30deg)}14%{opacity:1;transform:translate(6px,-10px) scale(1.1) rotate(10deg)}55%{opacity:1;transform:translate(calc(var(--kx,40px) * .55),calc(var(--ky,0px) * .55 + var(--karc,-34px))) scale(1.02) rotate(-8deg)}92%{opacity:1;transform:translate(var(--kx,40px),var(--ky,0)) scale(.92) rotate(6deg)}100%{opacity:0;transform:translate(var(--kx,40px),var(--ky,0)) scale(.4) rotate(30deg)}}.door-swing-fx{position:fixed;pointer-events:none;z-index:650;perspective:320px;perspective-origin:12% 50%}.door-swing-fx .ds-glow{position:absolute;inset:0;border-radius:8px;background:radial-gradient(circle at 50% 55%,rgba(255,244,200,.95),rgba(255,206,110,.5) 45%,transparent 78%);opacity:0}.door-swing-fx .ds-panel{position:absolute;inset:8%;border-radius:6px;transform-origin:8% 50%;background:linear-gradient(100deg,rgba(255,255,255,.22),transparent 42%),linear-gradient(160deg,#c08a44,#8b5a24 55%,#472a0d);box-shadow:inset 0 0 0 1px rgba(255,226,170,.35),0 4px 12px rgba(0,0,0,.6);opacity:0}.door-swing-fx.go .ds-panel{animation:.72s cubic-bezier(.3,.9,.3,1) forwards doorPanelSwing}.door-swing-fx.go .ds-glow{animation:.78s ease-out forwards doorGlowSpill}@keyframes doorPanelSwing{0%{opacity:1;transform:rotateY(0) scale(1)}22%{opacity:1;transform:rotateY(-12deg) scale(1.02)}70%{opacity:.55;transform:rotateY(-84deg) scale(.9)}100%{opacity:0;transform:rotateY(-104deg) scale(.78)}}@keyframes doorGlowSpill{0%{opacity:0;transform:scale(.5)}30%{opacity:1;transform:scale(1.06)}100%{opacity:0;transform:scale(1.5)}}.gold-fly{position:fixed;left:0;top:0;z-index:880;pointer-events:none;transform:translate(-50%,-50%);font-family:"Press Start 2P","Noto Sans SC",monospace;font-size:15px;font-weight:700;color:#ffe9a8;letter-spacing:.04em;text-shadow:0 0 10px rgba(255,205,100,.9),0 2px 0 #3a2408,0 0 22px rgba(255,180,60,.6);opacity:0;will-change:transform,opacity}.gold-fly.gold-fly-gem{color:#9dffd9;text-shadow:0 0 10px rgba(120,255,215,.9),0 2px 0 #0d3a2c,0 0 22px rgba(80,230,190,.55)}.gold-fly.go{animation:goldFly var(--gdur,620ms) cubic-bezier(.32,.02,.42,1) forwards}@keyframes goldFly{0%{opacity:0;transform:translate(-50%,-50%) scale(.55)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.25)}38%{opacity:1;transform:translate(calc(-50% + var(--gx,0px) * .16),calc(-50% + var(--gy,0px) * .16 - 16px)) scale(1.08)}82%{opacity:1;transform:translate(calc(-50% + var(--gx,0px) * .9),calc(-50% + var(--gy,0px) * .9)) scale(.72)}100%{opacity:0;transform:translate(calc(-50% + var(--gx,0px)),calc(-50% + var(--gy,0px))) scale(.34)}}#treasure-score.counter-pop,.counter-pop,.hud-stat #gold-text.counter-pop{animation:.6s cubic-bezier(.2,.9,.25,1.2) counterPop}@keyframes counterPop{0%,100%{transform:scale(1);filter:brightness(1)}22%{transform:scale(1.3);filter:brightness(1.9);text-shadow:0 0 14px rgba(255,220,130,.95)}52%{transform:scale(.97)}}@media (prefers-reduced-motion:reduce){.gold-fly.go{animation-duration:1ms}.counter-pop{animation:none}}.save-badge{display:inline-flex;align-items:center;gap:3px;font-size:9px;color:#8ef0c4;opacity:0;transform:translateY(2px);transition:opacity .2s,transform .2s;white-space:nowrap;pointer-events:none}.save-badge.show{opacity:1;transform:translateY(0)}.save-badge .dot{width:5px;height:5px;border-radius:50%;background:#4ade80;box-shadow:0 0 6px #4ade80}.cloud-conflict{position:fixed;left:50%;top:14%;transform:translateX(-50%);z-index:1200;width:min(430px,92vw);padding:14px 16px;border-radius:10px;background:linear-gradient(160deg,rgba(52,30,62,.97),rgba(20,12,26,.98));border:1px solid rgba(120,200,255,.5);box-shadow:0 16px 40px rgba(0,0,0,.7),0 0 26px rgba(90,180,255,.3);color:#e8f4ff}.cloud-conflict[hidden]{display:none!important}.cloud-conflict .cc-title{font-family:"Press Start 2P","Noto Sans SC",cursive;font-size:10px;color:#8fd4ff;margin:0 0 6px;line-height:1.6}.cloud-conflict .cc-detail{font-size:12px;line-height:1.5;color:rgba(232,244,255,.8);margin:0 0 12px}.cloud-conflict .cc-actions{display:flex;gap:8px;flex-wrap:wrap}.cloud-conflict .cc-actions .btn{flex:1 1 auto;min-width:120px;font-size:9px;padding:9px 10px}.busy-toast{position:fixed;left:50%;bottom:12%;transform:translateX(-50%) translateY(8px);z-index:1300;display:flex;align-items:center;gap:8px;padding:9px 18px;border-radius:999px;font-size:12px;color:#e8f4ff;background:rgba(18,22,34,.94);border:1px solid rgba(120,200,255,.45);box-shadow:0 10px 26px rgba(0,0,0,.6),0 0 20px rgba(90,180,255,.25);opacity:0;transition:opacity .18s,transform .18s;pointer-events:none}.busy-toast[hidden]{display:none!important}.busy-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.busy-toast::before{content:'';width:11px;height:11px;border-radius:50%;border:2px solid rgba(140,210,255,.3);border-top-color:#8fd4ff;animation:.7s linear infinite busySpin}@keyframes busySpin{to{transform:rotate(360deg)}}.item-cast{position:fixed;left:0;top:0;width:0;height:0;pointer-events:none;z-index:680;--ic-ms:1500ms;--ic-size:240px;--ic-a:#ffcf6b;--ic-b:#fff6d4;--ic-glow:rgba(255, 207, 107, 0.75);will-change:transform,opacity}.item-cast .ic-flare,.item-cast .ic-glyph,.item-cast .ic-rays,.item-cast .ic-ring{position:absolute;left:0;top:0;display:block;pointer-events:none;will-change:transform,opacity}.item-cast .ic-flare{width:var(--ic-size);height:var(--ic-size);margin-left:calc(var(--ic-size)/ -2);margin-top:calc(var(--ic-size)/ -2);border-radius:50%;background:radial-gradient(circle,var(--ic-b) 0,var(--ic-a) 24%,transparent 66%);filter:blur(2px);opacity:0;animation:icFlare var(--ic-ms) cubic-bezier(.18,.8,.28,1) forwards}.item-cast .ic-halo{position:absolute;left:0;top:0;width:calc(var(--ic-size) * 1.7);height:calc(var(--ic-size) * 1.7);margin-left:calc(var(--ic-size) * -.85);margin-top:calc(var(--ic-size) * -.85);border-radius:50%;background:radial-gradient(circle,var(--ic-glow) 0,transparent 62%);opacity:0;animation:icHalo var(--ic-ms) ease-out forwards;pointer-events:none}@keyframes icHalo{0%{opacity:0;transform:scale(.3)}18%{opacity:.65}100%{opacity:0;transform:scale(1.25)}}.item-cast .ic-ring{width:var(--ic-size);height:var(--ic-size);margin-left:calc(var(--ic-size)/ -2);margin-top:calc(var(--ic-size)/ -2);border-radius:50%;border:3px solid var(--ic-a);box-shadow:0 0 18px var(--ic-glow),inset 0 0 22px var(--ic-glow);opacity:0;animation:icRing var(--ic-ms) cubic-bezier(.2,.75,.25,1) forwards}.item-cast .ic-ring.r2{animation-delay:calc(var(--ic-ms) * .16);border-width:2px}.item-cast .ic-rays{width:calc(var(--ic-size) * 1.9);height:calc(var(--ic-size) * 1.9);margin-left:calc(var(--ic-size) * -.95);margin-top:calc(var(--ic-size) * -.95);border-radius:50%;background:repeating-conic-gradient(from 0deg,var(--ic-b) 0deg 1.6deg,transparent 1.6deg 12deg);-webkit-mask-image:radial-gradient(circle,rgba(0,0,0,0.05) 18%,#000 42%,transparent 74%);mask-image:radial-gradient(circle,rgba(0,0,0,0.05) 18%,#000 42%,transparent 74%);opacity:0;animation:icRays var(--ic-ms) ease-out forwards}.item-cast .ic-glyph{width:var(--ic-size);height:var(--ic-size);margin-left:calc(var(--ic-size)/ -2);margin-top:calc(var(--ic-size)/ -2);display:flex;align-items:center;justify-content:center;font-size:calc(var(--ic-size) * .3);filter:drop-shadow(0 0 14px var(--ic-glow)) drop-shadow(0 6px 12px rgba(0,0,0,.65));opacity:0;animation:icGlyph var(--ic-ms) cubic-bezier(.2,.9,.3,1) forwards}.item-cast .ic-glyph svg{width:100%;height:100%}.item-cast[data-kind=dynamite]{--ic-a:#ff7a1a;--ic-b:#ffe9a0;--ic-glow:rgba(255,120,30,0.85);--ic-ms:1500ms}.item-cast[data-kind=map]{--ic-a:#6fd3ff;--ic-b:#eef8ff;--ic-glow:rgba(110,210,255,0.8);--ic-ms:1650ms}.item-cast[data-kind=potion]{--ic-a:#ff5a7a;--ic-b:#ffd9e2;--ic-glow:rgba(255,90,122,0.8);--ic-ms:1300ms}.item-cast[data-kind=antidote]{--ic-a:#6ef08a;--ic-b:#e6ffe9;--ic-glow:rgba(110,240,138,0.8);--ic-ms:1300ms}.item-cast[data-kind=monocle]{--ic-a:#8fe6ff;--ic-b:#f2fdff;--ic-glow:rgba(143,230,255,0.85);--ic-ms:1400ms}.item-cast[data-kind=sandglass]{--ic-a:#b9c8ff;--ic-b:#f2f4ff;--ic-glow:rgba(185,200,255,0.85);--ic-ms:1550ms}.item-cast[data-kind=bow]{--ic-a:#9ef0b0;--ic-b:#f4fff6;--ic-glow:rgba(158,240,176,0.8);--ic-ms:1150ms}@keyframes icFlare{0%{opacity:0;transform:scale(.15)}16%{opacity:.95;transform:scale(.72)}40%{opacity:.55;transform:scale(1.02)}100%{opacity:0;transform:scale(1.4)}}@keyframes icRing{0%{opacity:0;transform:scale(.12)}12%{opacity:.95}100%{opacity:0;transform:scale(3.1)}}@keyframes icRays{0%{opacity:0;transform:rotate(0) scale(.35)}20%{opacity:.75}62%{opacity:.35}100%{opacity:0;transform:rotate(150deg) scale(1.15)}}@keyframes icGlyph{0%{opacity:0;transform:translateY(14px) scale(.35) rotate(-18deg)}22%{opacity:1;transform:translateY(-10px) scale(1.35) rotate(6deg)}46%{opacity:1;transform:translateY(-30px) scale(1.05) rotate(-4deg)}100%{opacity:0;transform:translateY(-78px) scale(.55) rotate(16deg)}}#screen-game.monocle-on #board-viewport::after{content:'';position:absolute;inset:-6%;pointer-events:none;border-radius:12px;background:radial-gradient(circle at 50% 50%,rgba(150,230,255,.16),transparent 62%),repeating-linear-gradient(115deg,rgba(190,240,255,.16) 0 2px,transparent 2px 16px);box-shadow:inset 0 0 40px rgba(120,210,255,.45);animation:.9s ease-out forwards monocleWash;z-index:5}@keyframes monocleWash{0%{opacity:0;transform:scale(1.06)}30%{opacity:1}100%{opacity:0;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.item-cast{display:none!important}#screen-game.monocle-on #board-viewport::after{animation:none;opacity:0}}.item-draw-fx{position:fixed;left:0;top:0;width:34px;height:34px;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:700;opacity:0;filter:drop-shadow(0 0 10px rgba(255, 224, 150, .8)) drop-shadow(0 3px 6px rgba(0,0,0,.7));will-change:transform,opacity}.item-draw-fx svg{width:100%;height:100%}.item-draw-fx.go{animation:itemDrawOut var(--draw-ms,170ms) cubic-bezier(.2,.9,.3,1) forwards}@keyframes itemDrawOut{0%{opacity:0;transform:translateY(6px) scale(.35) rotate(-14deg)}55%{opacity:1;transform:translateY(-7px) scale(1.22) rotate(5deg)}100%{opacity:0;transform:translateY(-16px) scale(1.05) rotate(0)}}.blast-range-fx{position:fixed;left:0;top:0;pointer-events:none;z-index:690;border-radius:10px;border:2px dashed rgba(255,150,60,.9);background:radial-gradient(circle at 50% 50%,rgba(255,140,40,.24),rgba(255,90,20,.08) 60%,transparent 78%);box-shadow:0 0 26px rgba(255,130,40,.5),inset 0 0 26px rgba(255,120,30,.28);opacity:0;transform:scale(.86);will-change:transform,opacity}.blast-range-fx.go{animation:.62s cubic-bezier(.2,.9,.3,1) forwards blastRangeSweep}@keyframes blastRangeSweep{0%{opacity:0;transform:scale(.86)}26%{opacity:1;transform:scale(1)}72%{opacity:.9;transform:scale(1.02)}100%{opacity:0;transform:scale(1.1)}}.survey-range-fx{position:fixed;left:0;top:0;border-radius:50%;pointer-events:none;z-index:685;border:2px solid rgba(140,220,255,.75);background:radial-gradient(circle,rgba(140,220,255,.16) 0,rgba(140,220,255,.06) 52%,transparent 72%);box-shadow:0 0 26px rgba(110,210,255,.45),inset 0 0 30px rgba(110,210,255,.25);opacity:0;transform:scale(.5);will-change:transform,opacity}.survey-range-fx.go{animation:.86s ease-out forwards surveySweep}@keyframes surveySweep{0%{opacity:0;transform:scale(.42)}22%{opacity:1;transform:scale(1)}70%{opacity:.6;transform:scale(1.03)}100%{opacity:0;transform:scale(1.08)}}.potion-drink-fx{position:fixed;left:0;top:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:705;opacity:0;filter:drop-shadow(0 0 9px rgba(255, 110, 140, .8)) drop-shadow(0 3px 6px rgba(0,0,0,.7));will-change:transform,opacity}.potion-drink-fx svg{width:100%;height:100%}.potion-drink-fx.go{animation:520ms cubic-bezier(.3,.9,.3,1) forwards potionRaise}@keyframes potionRaise{0%{opacity:0;transform:translate(8px,12px) scale(.4) rotate(-18deg)}28%{opacity:1;transform:translate(10px,0) scale(1.08) rotate(-6deg)}62%{opacity:1;transform:translate(0,var(--rise-y,-56px)) scale(1.02) rotate(0)}78%{opacity:1;transform:translate(0,calc(var(--rise-y,-56px) + 3px)) scale(1.06) rotate(24deg)}100%{opacity:0;transform:translate(0,calc(var(--rise-y,-56px) - 6px)) scale(.6) rotate(34deg)}}.heart-gain-fx{position:fixed;left:0;top:0;width:0;height:0;pointer-events:none;z-index:710;opacity:0}.heart-gain-fx .hg-core,.heart-gain-fx .hg-pop{position:absolute;left:0;top:0;transform:translate(-50%,-50%);font-size:26px;line-height:1;color:#ff6b8a;text-shadow:0 0 10px rgba(255,90,130,.95),0 2px 4px #000}.heart-gain-fx .hg-core{animation:.9s ease-out forwards heartCore}.heart-gain-fx .hg-pop{font-size:15px;color:#ffd9e2;animation:.9s ease-out forwards heartPopRing}@keyframes heartCore{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}22%{opacity:1;transform:translate(-50%,-50%) scale(1.35)}44%{transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-170%) scale(.85)}}@keyframes heartPopRing{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}30%{opacity:.9}100%{opacity:0;transform:translate(-50%,-260%) scale(1.6)}}#player-sprite.ward-hit .hero-halo{background:radial-gradient(circle,rgba(160,240,255,.75) 0,rgba(90,200,255,.3) 48%,transparent 72%);animation:.6s ease-out wardShell}@keyframes wardShell{0%{transform:translate(-50%,-50%) scale(.7);opacity:.4}30%{transform:translate(-50%,-50%) scale(1.5);opacity:1}100%{transform:translate(-50%,-50%) scale(1.05);opacity:.7}}@media (prefers-reduced-motion:reduce){.blast-range-fx,.heart-gain-fx,.item-draw-fx,.potion-drink-fx,.survey-range-fx{display:none!important}#player-sprite.ward-hit .hero-halo{animation:none!important}}