:root{--card-bg-cleric: linear-gradient(135deg, #3d3520 0%, #4a4025 50%, #3d3520 100%);--card-border-cleric: #d4a437;--card-glow-cleric: rgba(212, 164, 55, .4);--card-accent-cleric: #f4d03f;--card-bg-knight: linear-gradient(135deg, #2a3540 0%, #354555 50%, #2a3540 100%);--card-border-knight: #6b8bad;--card-glow-knight: rgba(107, 139, 173, .4);--card-accent-knight: #b5a642;--card-bg-diabolist: linear-gradient(135deg, #2a1515 0%, #3d2020 50%, #2a1515 100%);--card-border-diabolist: #8b0000;--card-glow-diabolist: rgba(139, 0, 0, .4);--card-accent-diabolist: #ff6b35;--card-bg-oathsworn: linear-gradient(135deg, #35353f 0%, #454555 50%, #35353f 100%);--card-border-oathsworn: #d4c9a8;--card-glow-oathsworn: rgba(212, 201, 168, .4);--card-accent-oathsworn: #a8c9f0;--card-bg-fey: linear-gradient(135deg, #1a2a20 0%, #253530 50%, #1a2a20 100%);--card-border-fey: #3da87a;--card-glow-fey: rgba(61, 168, 122, .4);--card-accent-fey: #c49bd4;--card-bg-celestial: linear-gradient(135deg, #3d3a28 0%, #4d4830 50%, #3d3a28 100%);--card-border-celestial: #ffd700;--card-glow-celestial: rgba(255, 215, 0, .5);--card-accent-celestial: #fffacd;--card-bg-summoner: linear-gradient(135deg, #202535 0%, #2a3045 50%, #202535 100%);--card-border-summoner: #5c7bd4;--card-glow-summoner: rgba(92, 123, 212, .4);--card-accent-summoner: #88d4a0;--card-bg-bargainer: linear-gradient(135deg, #2a2018 0%, #3a2a20 50%, #2a2018 100%);--card-border-bargainer: #c9a227;--card-glow-bargainer: rgba(201, 162, 39, .4);--card-accent-bargainer: #8b0000;--card-bg-neutral: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);--card-border-neutral: #555;--card-glow-neutral: rgba(85, 85, 85, .3);--card-accent-neutral: #888;--viewport-scale: clamp(.5, min(100vw, 100vh) / 1000, 1.2);--arena-height: clamp(280px, 50vh, 500px);--arena-max-width: clamp(320px, 95vw, 1000px);--card-width: clamp(75px, 10vw, 100px);--card-height: clamp(98px, 13vw, 130px);--card-padding: clamp(4px, .5vw, 6px);--card-font-size: clamp(.585em, calc(.63em + .18vw) , .81em);--hand-width: clamp(200px, 35vw, 310px);--hand-gap: clamp(3px, .5vw, 5px);--hud-padding: clamp(6px, 1vw, 12px);--hud-min-width: clamp(90px, 12vw, 120px);--hud-font-size: clamp(.7em, calc(.8em + .1vw) , 1em);--enemy-scale: clamp(.6, min(100vw, 100vh) / 1000, 1);--enemy-figure-width: clamp(60px, 9vw, 90px);--enemy-figure-height: clamp(100px, 15vw, 150px);--enemy-gap: clamp(20px, 4vw, 40px);--elite-figure-width: clamp(120px, 18vw, 180px);--elite-figure-height: clamp(160px, 24vw, 240px);--boss-figure-width: clamp(160px, 25vw, 250px);--boss-figure-height: clamp(220px, 35vw, 350px)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:Georgia,serif;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#e0e0e0;min-height:100vh;padding:10px;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom));padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));overflow-x:hidden;-webkit-user-select:none;user-select:none;overscroll-behavior:none}#screen-container{position:fixed;inset:0;z-index:100}.game-container{max-width:100%;margin:0 auto;min-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom))}h1{text-align:center;color:#f4d03f;text-shadow:2px 2px 4px rgba(0,0,0,.5);margin-bottom:15px;font-size:1.8em}.arena-container{width:100%;max-width:var(--arena-max-width);margin:0 auto clamp(10px,2vw,20px) auto;border-radius:clamp(8px,1.4vw,14px);overflow:visible;border:clamp(2px,.3vw,3px) solid #4a3728;box-shadow:0 8px 32px #0009,inset 0 0 60px #0006}.dungeon-scene{position:relative;width:100%;height:var(--arena-height);background:linear-gradient(180deg,#0a0a0f,#1a1520,#2a2030);overflow:visible}.dungeon-scene[data-act="1"][data-boss=false]{background:url(../images/backgrounds/act1_arena.png) center bottom / cover no-repeat;background-size:100%;background-position:bottom}.dungeon-scene[data-act="1"][data-boss=true]{background:url(../images/backgrounds/act1_boss_arena.png) center center / cover no-repeat;background-size:100%;background-position:center bottom}.dungeon-scene[data-act="2"][data-boss=false]{background:url(../images/backgrounds/act2_arena.png) center center / cover no-repeat;background-size:100%;background-position:center bottom}.dungeon-scene[data-act="2"][data-boss=true]{background:url(../images/backgrounds/act2_boss_arena.png) center center / cover no-repeat;background-size:100%;background-position:center bottom}.dungeon-scene[data-act="3"][data-boss=false]{background:url(../images/backgrounds/act3_arena.png) center center / cover no-repeat;background-size:100%;background-position:center bottom}.dungeon-scene[data-act="3"][data-boss=true]{background:url(../images/backgrounds/act3_boss_arena.png) center center / cover no-repeat;background-size:100%;background-position:center bottom}.dungeon-scene[data-act] .scene-back-wall,.dungeon-scene[data-act] .scene-side-wall,.dungeon-scene[data-act] .scene-floor{display:none}.scene-layer{position:absolute;pointer-events:none}.scene-back-wall{top:0;left:10%;right:10%;height:55%;background:repeating-linear-gradient(90deg,transparent 0px,transparent 48px,rgba(0,0,0,.3) 48px,rgba(0,0,0,.3) 50px),repeating-linear-gradient(0deg,transparent 0px,transparent 28px,rgba(0,0,0,.3) 28px,rgba(0,0,0,.3) 30px),linear-gradient(180deg,#2a2535,#3a3545,#2a2535);border-bottom:4px solid #1a1520}.scene-side-wall{top:0;height:100%;width:15%;background:linear-gradient(180deg,#1a1520,#252030,#1a1520)}.scene-side-wall.left{left:0;background:linear-gradient(to right,#0a0a0f 0%,transparent 100%),linear-gradient(180deg,#1a1520,#252030,#1a1520);clip-path:polygon(0 0,100% 15%,100% 85%,0 100%)}.scene-side-wall.right{right:0;background:linear-gradient(to left,#0a0a0f 0%,transparent 100%),linear-gradient(180deg,#1a1520,#252030,#1a1520);clip-path:polygon(0 15%,100% 0,100% 100%,0 85%)}.scene-floor{bottom:0;left:0;right:0;height:50%;background:repeating-linear-gradient(90deg,#3c324680 0px 60px,#28233280 60px 120px),linear-gradient(180deg,#3a3040,#1a1520);transform:perspective(300px) rotateX(30deg);transform-origin:center top}.scene-fog{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,rgba(40,30,50,.6) 0%,transparent 60%),radial-gradient(ellipse at 50% 0%,rgba(10,10,15,.8) 0%,transparent 50%);pointer-events:none}.low-hp-vignette{position:absolute;inset:0;pointer-events:none;z-index:15;opacity:0;transition:opacity .5s ease;box-shadow:inset 0 0 80px 30px #c8000080}.low-hp-vignette.active{opacity:1;animation:lowHpPulse 1.2s ease-in-out infinite}@keyframes lowHpPulse{0%,to{box-shadow:inset 0 0 80px 30px #c8000066}50%{box-shadow:inset 0 0 100px 40px #c8000099}}.enemy-slots{position:absolute;top:50%;left:clamp(10%,12vw,15%);right:clamp(10%,12vw,15%);transform:translateY(-60%);display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:var(--enemy-gap);transition:transform .3s ease-out,gap .3s ease-out;transform-origin:center top;overflow:visible}.arena-enemy{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:transform .2s ease;gap:clamp(2px,.4vw,4px);overflow:visible;transform:scale(var(--enemy-scale));transform-origin:center top}.arena-enemy .enemy-figure{margin-top:8px}.arena-enemy:hover:not(.dead){transform:scale(calc(var(--enemy-scale) * 1.05))}.arena-enemy.selected:not(.dead){filter:drop-shadow(0 0 12px rgba(244,208,63,.8))}.arena-enemy.dead{opacity:.3;filter:grayscale(1)}.arena-enemy.intangible{opacity:.6;filter:drop-shadow(0 0 8px rgba(138,43,226,.6));animation:intangible-pulse 2s ease-in-out infinite}.arena-enemy.intangible .enemy-figure{filter:blur(1px)}@keyframes intangible-pulse{0%,to{opacity:.6}50%{opacity:.4}}.intangible-indicator{position:absolute;top:-5px;left:50%;transform:translate(-50%);background:#8a2be2cc;color:#fff;padding:2px 8px;border-radius:4px;font-size:.7em;white-space:nowrap;z-index:10}.arena-enemy.boss-shielded{opacity:.5;filter:grayscale(.5) brightness(.7)}.arena-enemy.boss-shielded:after{content:"Protected";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000b3;color:#888;padding:4px 12px;border-radius:4px;font-size:.8em;white-space:nowrap;z-index:15}.summoned-minions-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:20px;margin-top:30px;padding-top:15px;border-top:2px dashed rgba(255,100,100,.4);width:100%;flex-basis:100%}.summoned-label{width:100%;text-align:center;color:#ff6b6b;font-size:.85em;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:5px;text-shadow:0 0 10px rgba(255,100,100,.5)}.arena-enemy.summoned-minion{transform:scale(.85)}.arena-enemy.summoned-minion .enemy-figure{filter:drop-shadow(0 0 8px rgba(255,100,100,.5)) drop-shadow(0 3px 4px rgba(0,0,0,.4));box-shadow:none;background-color:transparent}.enemy-figure{width:clamp(50px,7vw,70px);height:clamp(70px,9.5vw,95px);background:linear-gradient(180deg,#1a1a1a,#2a2a2a);border-radius:30% 30% 40% 40%;position:relative;box-shadow:0 4px 8px #0009,inset 0 -10px 20px #0006;background-size:contain;background-position:center bottom;background-repeat:no-repeat;order:3;margin-top:clamp(15px,2.5vw,25px)}.enemy-figure:before{content:"";position:absolute;top:-5px;left:50%;transform:translate(-50%);width:35px;height:35px;background:linear-gradient(180deg,#1a1a1a,#2a2a2a);border-radius:50%;box-shadow:0 2px 4px #00000080}.enemy-figure:after{content:"";position:absolute;top:3px;left:50%;transform:translate(-50%);width:24px;height:8px;background:radial-gradient(ellipse at 25% 50%,#ff3333 0%,#ff3333 30%,transparent 31%),radial-gradient(ellipse at 75% 50%,#ff3333 0%,#ff3333 30%,transparent 31%);filter:blur(1px);animation:eyeGlow 2s ease-in-out infinite}.enemy-figure.has-image{background-color:transparent;background-size:contain;background-position:center bottom;background-repeat:no-repeat;border-radius:0;box-shadow:none;width:var(--enemy-figure-width);height:clamp(80px,12vw,120px)}.enemy-figure.has-image:before,.enemy-figure.has-image:after{display:none}.enemy-figure[data-enemy-type=cultist]{background-image:url(../images/enemies/cultist.png);background-color:transparent;background-size:105%;background-position:center top;border-radius:0;box-shadow:none;width:var(--enemy-figure-width);height:clamp(120px,18vw,200px);position:relative;top:clamp(20px,3.5vw,35px)}.enemy-figure[data-enemy-type=cultist]:before,.enemy-figure[data-enemy-type=cultist]:after{display:none}.enemy-figure[data-enemy-type=skeleton]{background-image:url(../images/enemies/skeleton.png);background-color:transparent;background-size:150%;background-position:center top;border-radius:0;box-shadow:none;width:var(--enemy-figure-width);height:clamp(120px,18vw,180px);position:relative;top:clamp(20px,3vw,30px)}.enemy-figure[data-enemy-type=skeleton]:before,.enemy-figure[data-enemy-type=skeleton]:after{display:none}.enemy-figure[data-enemy-type=zombie]{background-image:url(../images/enemies/zombie.png);background-color:transparent;background-size:130%;background-position:center top;border-radius:0;box-shadow:none;width:var(--enemy-figure-width);height:clamp(120px,18vw,180px);position:relative;top:clamp(20px,3vw,30px)}.enemy-figure[data-enemy-type=zombie]:before,.enemy-figure[data-enemy-type=zombie]:after{display:none}.enemy-figure[data-enemy-type=haunted_armor]{background-image:url(../images/enemies/haunted_armor.png);background-color:transparent;background-size:150%;background-position:center top;border-radius:0;box-shadow:none;width:var(--enemy-figure-width);height:clamp(80px,12vw,120px);position:relative;top:clamp(12px,2vw,20px)}.enemy-figure[data-enemy-type=haunted_armor]:before,.enemy-figure[data-enemy-type=haunted_armor]:after{display:none}.enemy-figure[data-enemy-type=acolyte]{background-image:url(../images/enemies/acolyte.png);background-color:transparent;background-size:165%;background-position:center top;border-radius:0;box-shadow:none;width:90px;height:160px;position:relative;top:45px}.enemy-figure[data-enemy-type=acolyte]:before,.enemy-figure[data-enemy-type=acolyte]:after{display:none}.enemy-figure[data-enemy-type=summoned_acolyte]{background-image:url(../images/enemies/cultist.png);background-color:transparent;background-size:100%;background-position:center 20%;background-repeat:no-repeat;border-radius:0;box-shadow:none;width:var(--enemy-figure-width);height:clamp(80px,12vw,120px);position:relative;top:clamp(15px,2.5vw,25px)}.enemy-figure[data-enemy-type=summoned_acolyte]:before,.enemy-figure[data-enemy-type=summoned_acolyte]:after{display:none}.enemy-figure[data-enemy-type=bone_archer]{background-image:url(../images/enemies/bone_archer.png);background-color:transparent;background-size:150%;background-position:center top;border-radius:0;box-shadow:none;width:90px;height:160px;position:relative;top:45px}.enemy-figure[data-enemy-type=bone_archer]:before,.enemy-figure[data-enemy-type=bone_archer]:after{display:none}.enemy-figure[data-enemy-type=ghoul]{background-image:url(../images/enemies/ghoul.png);background-color:transparent;background-size:150%;background-position:center top;border-radius:0;box-shadow:none;width:90px;height:160px;position:relative;top:45px}.enemy-figure[data-enemy-type=ghoul]:before,.enemy-figure[data-enemy-type=ghoul]:after{display:none}.enemy-figure[data-enemy-type=shade]{background-image:url(../images/enemies/shade.png);background-color:transparent;background-size:150%;background-position:center top;border-radius:0;box-shadow:none;width:90px;height:180px;position:relative;top:20px}.enemy-figure[data-enemy-type=shade]:before,.enemy-figure[data-enemy-type=shade]:after{display:none}.enemy-figure[data-enemy-type=training_dummy]{background-image:url(../images/enemies/training_dummy.png);background-color:transparent;background-size:190%;background-position:center top;border-radius:0;box-shadow:none;width:90px;height:180px;position:relative;top:35px}.enemy-figure[data-enemy-type=training_dummy]:before,.enemy-figure[data-enemy-type=training_dummy]:after{display:none}.enemy-figure[data-enemy-type=drowned_cultist]{background-image:url(../images/enemies/drowned_cultist.png);background-color:transparent;background-size:190%;background-position:center top;border-radius:0;box-shadow:none;width:90px;height:160px;position:relative;top:15px}.enemy-figure[data-enemy-type=drowned_cultist]:before,.enemy-figure[data-enemy-type=drowned_cultist]:after{display:none}.enemy-figure[data-enemy-type=slime]{background-image:url(../images/enemies/slime.png);background-color:transparent;background-size:150%;background-position:center top;border-radius:0;box-shadow:none;width:90px;height:160px;position:relative;top:45px}.enemy-figure[data-enemy-type=slime]:before,.enemy-figure[data-enemy-type=slime]:after{display:none}.enemy-figure[data-enemy-type=drowned_king],.enemy-figure.boss-figure[data-enemy-type=drowned_king]{background:url(../images/enemies/drowned_king.png) no-repeat center -10px!important;background-size:110%!important;background-position:center!important;border-radius:0!important;box-shadow:none!important;width:var(--boss-figure-width)!important;height:var(--boss-figure-height)!important}.enemy-figure[data-enemy-type=drowned_king]:before,.enemy-figure[data-enemy-type=drowned_king]:after{display:none!important}.enemy-figure[data-enemy-type=high_cultist]{background-image:url(../images/enemies/high_cultist_mira.png)!important;background-color:transparent!important;background-size:110%!important;background-position:center top!important;background-repeat:no-repeat!important;border-radius:0!important;box-shadow:none!important;width:var(--elite-figure-width)!important;height:var(--elite-figure-height)!important}.enemy-figure[data-enemy-type=high_cultist]:before,.enemy-figure[data-enemy-type=high_cultist]:after{display:none!important}.enemy-figure[data-enemy-type=tomb_guardian]{background-image:url(../images/enemies/stone_guardian.png)!important;background-color:transparent!important;background-size:120%!important;background-position:center top!important;background-repeat:no-repeat!important;border-radius:0!important;box-shadow:none!important;width:var(--elite-figure-width)!important;height:var(--elite-figure-height)!important}.enemy-figure[data-enemy-type=tomb_guardian]:before,.enemy-figure[data-enemy-type=tomb_guardian]:after{display:none!important}.enemy-figure[data-enemy-type=slimeling]{background-image:url(../images/enemies/slimeling.png);background-color:transparent;background-size:100%;background-position:center top;border-radius:0;box-shadow:none;width:90px;height:160px;position:relative;top:65px}.enemy-figure[data-enemy-type=slimeling]:before,.enemy-figure[data-enemy-type=slimeling]:after{display:none}.enemy-figure[data-enemy-type=dark_mage]{background-image:url(../images/enemies/dark_mage.png);background-color:transparent;background-size:170%;background-position:center top;border-radius:0;box-shadow:none;width:90px;height:180px;position:relative;top:20px}.enemy-figure[data-enemy-type=dark_mage]:before,.enemy-figure[data-enemy-type=dark_mage]:after{display:none}.enemy-figure[data-enemy-type=gargoyle]{background-image:url(../images/enemies/gargoyle.png);background-color:transparent;background-size:105%;background-position:center top;border-radius:0;box-shadow:none;width:160px;height:180px;position:relative;top:35px}.enemy-figure[data-enemy-type=gargoyle]:before,.enemy-figure[data-enemy-type=gargoyle]:after{display:none}.enemy-figure[data-enemy-type=aberration]{background-image:url(../images/enemies/aberration.png);background-color:transparent;background-size:170%;background-position:center top;border-radius:0;box-shadow:none;width:120px;height:200px;position:relative;top:0}.enemy-figure[data-enemy-type=aberration]:before,.enemy-figure[data-enemy-type=aberration]:after{display:none}.enemy-figure[data-enemy-type=deep_one]{background-image:url(../images/enemies/deep_one.png);background-color:transparent;background-size:150%;background-position:center top;border-radius:0;box-shadow:none;width:90px;height:160px;position:relative;top:45px}.enemy-figure[data-enemy-type=deep_one]:before,.enemy-figure[data-enemy-type=deep_one]:after{display:none}.enemy-figure[data-enemy-type=corrupted_spirit]{background-image:url(../images/enemies/shade.png);background-color:transparent;background-size:150%;background-position:center top;border-radius:0;box-shadow:none;width:90px;height:180px;position:relative;top:20px}.enemy-figure[data-enemy-type=corrupted_spirit]:before,.enemy-figure[data-enemy-type=corrupted_spirit]:after{display:none}.enemy-figure[data-enemy-type=void_caller],.enemy-figure.elite-figure[data-enemy-type=void_caller]{background:url(../images/enemies/void_caller.png) no-repeat center top!important;background-color:transparent!important;background-size:150%!important;border-radius:0!important;box-shadow:none!important;width:115px!important;height:180px!important;position:relative;top:0}.enemy-figure[data-enemy-type=void_caller]:before,.enemy-figure[data-enemy-type=void_caller]:after{display:none!important}.enemy-figure[data-enemy-type=void_tendril]{background-image:url(../images/enemies/void_tendril.png);background-color:transparent;background-size:150%;background-position:center top;border-radius:0;box-shadow:none;width:90px;height:160px;position:relative;top:45px}.enemy-figure[data-enemy-type=void_tendril]:before,.enemy-figure[data-enemy-type=void_tendril]:after{display:none}.enemy-figure[data-enemy-type=stone_sentinel],.enemy-figure.elite-figure[data-enemy-type=stone_sentinel]{background:url(../images/enemies/stone_guardian.png) no-repeat center top!important;background-color:transparent!important;background-size:150%!important;border-radius:0!important;box-shadow:none!important;width:100px!important;height:180px!important;position:relative;top:25px}.enemy-figure[data-enemy-type=stone_sentinel]:before,.enemy-figure[data-enemy-type=stone_sentinel]:after{display:none!important}.enemy-figure[data-enemy-type=bonelord],.enemy-figure.boss-figure[data-enemy-type=bonelord]{background:url(../images/enemies/the_bonelord.png) no-repeat center -5px!important;background-size:150%!important;border-radius:0!important;box-shadow:none!important;width:clamp(80px,12vw,120px)!important;height:clamp(130px,20vw,200px)!important}.enemy-figure[data-enemy-type=bonelord]:before,.enemy-figure[data-enemy-type=bonelord]:after{display:none!important}.enemy-figure[data-enemy-type=hollow_god],.enemy-figure.boss-figure[data-enemy-type=hollow_god]{background:url(../images/enemies/hollow_god.png) no-repeat center center!important;background-size:contain!important;border-radius:0!important;box-shadow:none!important;width:clamp(130px,20vw,200px)!important;height:clamp(160px,25vw,250px)!important}.enemy-figure[data-enemy-type=hollow_god]:before,.enemy-figure[data-enemy-type=hollow_god]:after{display:none!important}.enemy-figure[data-enemy-type=imp]{background-image:url(../images/enemies/imp.png);background-color:transparent;background-size:132%;background-position:center top;border-radius:0;box-shadow:none;width:120px;height:150px;position:relative;top:10px}.enemy-figure[data-enemy-type=imp]:before,.enemy-figure[data-enemy-type=imp]:after{display:none}.enemy-figure[data-enemy-type=void_spawn]{background-image:url(../images/enemies/void_spawn.png);background-color:transparent;background-size:150%;background-position:center top;border-radius:0;box-shadow:none;width:90px;height:160px;position:relative;top:45px}.enemy-figure[data-enemy-type=void_spawn]:before,.enemy-figure[data-enemy-type=void_spawn]:after{display:none}.enemy-figure[data-enemy-type=sanctum_guardian]{background-image:url(../images/enemies/sanctum_guardian.png);background-color:transparent;background-size:150%;background-position:center top;border-radius:0;box-shadow:none;width:90px;height:160px;position:relative;top:45px}.enemy-figure[data-enemy-type=sanctum_guardian]:before,.enemy-figure[data-enemy-type=sanctum_guardian]:after{display:none}.enemy-figure[data-enemy-type=infernal_hound]{background-image:url(../images/enemies/inferno_hound.png);background-color:transparent;background-size:132%;background-position:center top;border-radius:0;box-shadow:none;width:120px;height:150px;position:relative;top:35px}.enemy-figure[data-enemy-type=infernal_hound]:before,.enemy-figure[data-enemy-type=infernal_hound]:after{display:none}.enemy-figure[data-enemy-type=greater_demon]{background-image:url(../images/enemies/arch_demon.png);background-color:transparent;background-size:150%;background-position:center top;border-radius:0;box-shadow:none;width:90px;height:160px;position:relative;top:45px}.enemy-figure[data-enemy-type=greater_demon]:before,.enemy-figure[data-enemy-type=greater_demon]:after{display:none}.enemy-figure[data-enemy-type=sanctum_warden]{background-image:url(../images/enemies/sanctum_warden.png);background-color:transparent;background-size:150%;background-position:center top;border-radius:0;box-shadow:none;width:90px;height:160px;position:relative;top:45px}.enemy-figure[data-enemy-type=sanctum_warden]:before,.enemy-figure[data-enemy-type=sanctum_warden]:after{display:none}@keyframes eyeGlow{0%,to{opacity:.8}50%{opacity:1}}@keyframes playerAttack{0%{transform:translate(-50%) translateY(0)}30%{transform:translate(-50%) translateY(-30px) scale(1.1)}60%{transform:translate(-50%) translateY(-10px)}to{transform:translate(-50%) translateY(0)}}@keyframes enemyHit{0%{transform:scale(1) translate(0);filter:brightness(1)}15%{transform:scale(.95) translate(4px);filter:brightness(1.8) sepia(.5) saturate(2)}35%{transform:scale(1.02) translate(-3px);filter:brightness(1.4)}60%{transform:scale(.99) translate(1px);filter:brightness(1.1)}to{transform:scale(1) translate(0);filter:brightness(1)}}@keyframes playerHit{0%{transform:translate(-50%) scale(1);filter:brightness(1)}10%{transform:translate(-50%) translate(-15px) scale(.95);filter:brightness(2.5) saturate(0) sepia(.5)}25%{transform:translate(-50%) translate(12px) scale(1.05);filter:brightness(1.8) saturate(.5)}40%{transform:translate(-50%) translate(-8px);filter:brightness(1.4)}55%{transform:translate(-50%) translate(5px);filter:brightness(1.2)}70%{transform:translate(-50%) translate(-3px)}to{transform:translate(-50%) scale(1);filter:brightness(1)}}@keyframes enemyAttack{0%{transform:scale(1) translateY(0)}50%{transform:scale(1.075) translateY(10px)}to{transform:scale(1) translateY(0)}}.player-silhouette.attacking{animation:playerAttack .4s ease-out}.arena-enemy.hit{animation:enemyHit .4s ease-out}.player-silhouette.hit{animation:playerHit .5s ease-out}.arena-enemy.attacking{animation:enemyAttack .8s ease-out}.arena-enemy.blocking{animation:enemyBlock .8s ease-out}@keyframes enemyBlock{0%{transform:scale(1)}30%{transform:scale(1.05)}60%{transform:scale(.975)}to{transform:scale(1)}}.arena-enemy.attacking .enemy-figure{background-repeat:no-repeat!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=arch_demon],.arena-enemy.attacking .enemy-figure[data-enemy-type=greater_demon]{background-image:url(../images/enemies/arch_demon_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=acolyte]{background-image:url(../images/enemies/acolyte_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=corrupted_spirit]{background-image:url(../images/enemies/corrupted_spirit_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=corrupted_angel]{background-image:url(../images/enemies/corrupted_angel_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=cultist]{background-image:url(../images/enemies/cultist_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=dark_mage]{background-image:url(../images/enemies/dark_mage_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=deep_one]{background-image:url(../images/enemies/deep_one_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=drowned],.arena-enemy.attacking .enemy-figure[data-enemy-type=drowned_cultist]{background-image:url(../images/enemies/drowned_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=drowned_king]{background-image:url(../images/enemies/drowned_king_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=gargoyle]{background-image:url(../images/enemies/gargoyle_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=ghoul]{background-image:url(../images/enemies/ghoul_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=haunted_armor]{background-image:url(../images/enemies/haunted_armor_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=high_cultist],.arena-enemy.attacking .enemy-figure[data-enemy-type=high_cultist_mira]{background-image:url(../images/enemies/high_cultist_mira_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=hollow_god]{background-image:url(../images/enemies/hollow_god_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=imp]{background-image:url(../images/enemies/imp_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=sanctum_guardian]{background-image:url(../images/enemies/sanctum_guardian_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=sanctum_warden]{background-image:url(../images/enemies/sanctum_warden_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=shade]{background-image:url(../images/enemies/shade_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=skeleton]{background-image:url(../images/enemies/skeleton_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=slime]{background-image:url(../images/enemies/slime_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=slimeling]{background-image:url(../images/enemies/slimeling_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=stone_guardian],.arena-enemy.attacking .enemy-figure[data-enemy-type=stone_sentinel],.arena-enemy.attacking .enemy-figure[data-enemy-type=tomb_guardian]{background-image:url(../images/enemies/stone_guardian_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=bonelord],.arena-enemy.attacking .enemy-figure[data-enemy-type=the_bonelord]{background-image:url(../images/enemies/the_bonelord_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=training_dummy]{background-image:url(../images/enemies/training_dummy_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=void_caller]{background-image:url(../images/enemies/void_caller_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=void_spawn]{background-image:url(../images/enemies/void_spawn_attack.png)!important}.arena-enemy.attacking .enemy-figure[data-enemy-type=zombie]{background-image:url(../images/enemies/zombie_attack.png)!important}.arena-enemy.blocking .enemy-figure[data-enemy-type=arch_demon],.arena-enemy.blocking .enemy-figure[data-enemy-type=greater_demon]{background-image:url(../images/enemies/arch_demon_block.png)!important}.arena-enemy.blocking .enemy-figure[data-enemy-type=bone_archer]{background-image:url(../images/enemies/bone_archer_block.png)!important}@keyframes slashAnimation{0%{opacity:0;transform:translate(-50%,-50%) rotate(-45deg) scale(.3)}20%{opacity:1;transform:translate(-50%,-50%) rotate(-45deg) scale(1)}to{opacity:0;transform:translate(-50%,-50%) rotate(-45deg) scale(1.2)}}.slash-effect{position:absolute;top:50%;left:50%;width:80px;height:80px;pointer-events:none;z-index:100;opacity:0}.slash-effect.active{animation:slashAnimation .35s ease-out forwards}.slash-effect:before,.slash-effect:after{content:"";position:absolute;top:50%;left:50%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.9) 40%,rgba(255,220,100,1) 50%,rgba(255,255,255,.9) 60%,transparent 100%);border-radius:2px;box-shadow:0 0 10px #ffdc64cc,0 0 20px #ffb43280}.slash-effect:before{width:70px;height:4px;transform:translate(-50%,-50%) rotate(0)}.slash-effect:after{width:70px;height:4px;transform:translate(-50%,-50%) rotate(90deg)}.slash-effect.diagonal:before{width:90px;height:5px;transform:translate(-50%,-50%) rotate(45deg)}.slash-effect.diagonal:after{display:none}.vfx-effect{position:fixed;pointer-events:none;z-index:1000;background-size:contain;background-position:center;background-repeat:no-repeat;opacity:0;transform:translate(-50%,-50%)}.vfx-slash{width:100px;height:100px;background-image:url(../images/vfx/slash.png);animation:vfxSlash .4s ease-out forwards}.vfx-slash-triple{width:120px;height:120px;background-image:url(../images/vfx/slash_triple.png);animation:vfxSlash .45s ease-out forwards}.vfx-slash-x{width:140px;height:140px;background-image:url(../images/vfx/slash_x.png);animation:vfxSlashCrit .5s ease-out forwards}.vfx-impact-burst{width:120px;height:120px;background-image:url(../images/vfx/impact_burst.png);animation:vfxImpact .45s ease-out forwards}.vfx-impact-sparks{width:100px;height:100px;background-image:url(../images/vfx/impact_sparks.png);animation:vfxSparks .5s ease-out forwards}.vfx-impact-cracks{width:120px;height:120px;background-image:url(../images/vfx/impact_cracks.png);animation:vfxCracks .6s ease-out forwards}.vfx-magic-circle{width:140px;height:140px;background-image:url(../images/vfx/magic_circle.png);animation:vfxMagicCircle .7s ease-out forwards}.vfx-energy-burst{width:120px;height:120px;background-image:url(../images/vfx/energy_burst.png);animation:vfxEnergyBurst .55s ease-out forwards}.vfx-dark-tendrils{width:140px;height:140px;background-image:url(../images/vfx/dark_tendrils.png);animation:vfxDarkTendrils .6s ease-out forwards}.vfx-shield-crack{width:110px;height:110px;background-image:url(../images/vfx/shield_crack.png);animation:vfxShieldCrack .5s ease-out forwards}.vfx-bleeding{width:100px;height:100px;background-image:url(../images/vfx/bleeding_drip.png);animation:vfxStatus .6s ease-out forwards}.vfx-impaired{width:100px;height:100px;background-image:url(../images/vfx/impaired_weakness.png);animation:vfxStatus .6s ease-out forwards}.vfx-bound{width:120px;height:120px;background-image:url(../images/vfx/bound_chain.png);animation:vfxStatus .6s ease-out forwards}.vfx-corrupt{width:120px;height:120px;background-image:url(../images/vfx/corrupt_darkness.png);animation:vfxStatusDark .65s ease-out forwards}.vfx-cursed{width:100px;height:100px;background-image:url(../images/vfx/cursed_skull.png);animation:vfxStatusDark .6s ease-out forwards}.vfx-soaked{width:120px;height:120px;background-image:url(../images/vfx/soaked_water.png);background-size:contain;background-repeat:no-repeat;background-position:center;animation:vfxStatus .6s ease-out forwards}.vfx-might{width:120px;height:120px;background-image:url(../images/vfx/might_glow.png);animation:vfxBuff .6s ease-out forwards}.vfx-resilience{width:120px;height:120px;background-image:url(../images/vfx/resilience_armor.png);animation:vfxBuff .6s ease-out forwards}.vfx-evade{width:140px;height:140px;background-image:url(../images/vfx/evade_blur.png);animation:vfxEvade .5s ease-out forwards}.vfx-shield-bubble{width:140px;height:140px;background-image:url(../images/vfx/shield_bubble.png);animation:vfxBuff .6s ease-out forwards}.vfx-thorns{width:120px;height:120px;background-image:url(../images/vfx/thorns_spikes.png);animation:vfxStatus .6s ease-out forwards}@keyframes vfxSlash{0%{opacity:0;transform:translate(-50%,-50%) scale(.6) rotate(calc(var(--vfx-rotation, 0deg) - 10deg))}25%{opacity:.9;transform:translate(-50%,-50%) scale(.9) rotate(var(--vfx-rotation, 0deg))}to{opacity:0;transform:translate(-50%,-50%) scale(.85) rotate(calc(var(--vfx-rotation, 0deg) + 3deg)) translate(10px)}}@keyframes vfxSlashCrit{0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(var(--vfx-rotation, 0deg));filter:brightness(1.5)}20%{opacity:.95;transform:translate(-50%,-50%) scale(1) rotate(var(--vfx-rotation, 0deg));filter:brightness(1.3)}to{opacity:0;transform:translate(-50%,-50%) scale(.95) rotate(var(--vfx-rotation, 0deg));filter:brightness(1)}}@keyframes vfxImpact{0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(var(--vfx-rotation, 0deg))}30%{opacity:.85;transform:translate(-50%,-50%) scale(.9) rotate(var(--vfx-rotation, 0deg))}to{opacity:0;transform:translate(-50%,-50%) scale(1.1) rotate(var(--vfx-rotation, 0deg))}}@keyframes vfxSparks{0%{opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(var(--vfx-rotation, 0deg));filter:brightness(1.5)}25%{opacity:.9;transform:translate(-50%,-50%) scale(.85) rotate(var(--vfx-rotation, 0deg));filter:brightness(1.2)}to{opacity:0;transform:translate(-50%,-50%) scale(1) rotate(var(--vfx-rotation, 0deg));filter:brightness(.9)}}@keyframes vfxCracks{0%{opacity:0;transform:translate(-50%,-50%) scale(.8) rotate(var(--vfx-rotation, 0deg))}30%{opacity:1;transform:translate(-50%,-50%) scale(1.05) rotate(var(--vfx-rotation, 0deg))}to{opacity:0;transform:translate(-50%,-50%) scale(1.1) rotate(var(--vfx-rotation, 0deg))}}@keyframes vfxMagicCircle{0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(var(--vfx-rotation, 0deg))}30%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(calc(var(--vfx-rotation, 0deg) + 60deg))}to{opacity:0;transform:translate(-50%,-50%) scale(1.2) rotate(calc(var(--vfx-rotation, 0deg) + 120deg))}}@keyframes vfxEnergyBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(var(--vfx-rotation, 0deg));filter:brightness(2) saturate(1.5)}25%{opacity:1;transform:translate(-50%,-50%) scale(1.1) rotate(var(--vfx-rotation, 0deg));filter:brightness(1.3) saturate(1.2)}to{opacity:0;transform:translate(-50%,-50%) scale(1.4) rotate(var(--vfx-rotation, 0deg));filter:brightness(1) saturate(1)}}@keyframes vfxDarkTendrils{0%{opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(var(--vfx-rotation, 0deg));filter:brightness(.5)}30%{opacity:.9;transform:translate(-50%,-50%) scale(1) rotate(var(--vfx-rotation, 0deg));filter:brightness(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.2) rotate(var(--vfx-rotation, 0deg));filter:brightness(.7)}}@keyframes vfxShieldCrack{0%{opacity:0;transform:translate(-50%,-50%) scale(.7) rotate(var(--vfx-rotation, 0deg));filter:brightness(1.5)}25%{opacity:1;transform:translate(-50%,-50%) scale(1.1) rotate(var(--vfx-rotation, 0deg));filter:brightness(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1) rotate(var(--vfx-rotation, 0deg)) translateY(10px);filter:brightness(.8)}}@keyframes vfxStatus{0%{opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(var(--vfx-rotation, 0deg))}30%{opacity:.9;transform:translate(-50%,-50%) scale(1) rotate(var(--vfx-rotation, 0deg))}to{opacity:0;transform:translate(-50%,-50%) scale(.9) rotate(var(--vfx-rotation, 0deg)) translateY(-5px)}}@keyframes vfxStatusDark{0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(var(--vfx-rotation, 0deg));filter:brightness(.8)}25%{opacity:.95;transform:translate(-50%,-50%) scale(1.05) rotate(var(--vfx-rotation, 0deg));filter:brightness(1.2)}to{opacity:0;transform:translate(-50%,-50%) scale(.95) rotate(var(--vfx-rotation, 0deg));filter:brightness(.6)}}@keyframes vfxBuff{0%{opacity:0;transform:translate(-50%,-50%) scale(.6) rotate(var(--vfx-rotation, 0deg));filter:brightness(1.3)}35%{opacity:.9;transform:translate(-50%,-50%) scale(1.1) rotate(var(--vfx-rotation, 0deg));filter:brightness(1.2)}to{opacity:0;transform:translate(-50%,-50%) scale(1) rotate(var(--vfx-rotation, 0deg)) translateY(-8px);filter:brightness(1)}}@keyframes vfxEvade{0%{opacity:0;transform:translate(-50%,-50%) scale(.8) rotate(var(--vfx-rotation, 0deg)) translate(-20px)}30%{opacity:.85;transform:translate(-50%,-50%) scale(1) rotate(var(--vfx-rotation, 0deg)) translate(0)}to{opacity:0;transform:translate(-50%,-50%) scale(.9) rotate(var(--vfx-rotation, 0deg)) translate(15px)}}.consumed-card-effect{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100;pointer-events:none;opacity:0}.consumed-card-effect.active{animation:cardConsumed .8s ease-out forwards}.consumed-card-name{display:block;background:linear-gradient(135deg,#1a0a2e,#0d0d0d);border:2px solid #8b00ff;padding:10px 20px;border-radius:8px;color:#bf7fff;font-weight:700;font-size:1.1em;text-shadow:0 0 10px #8b00ff;box-shadow:0 0 20px #8b00ff80}@keyframes cardConsumed{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-100%) scale(.8) rotate(10deg)}to{opacity:0;transform:translate(-50%,-200%) scale(0) rotate(45deg);filter:blur(10px)}}.purge-effect{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100;pointer-events:none;opacity:0}.purge-effect.active{animation:buffsPurged 1s ease-out forwards}.purge-text{display:block;background:linear-gradient(135deg,#2a0a0a,#1a0a0a);border:2px solid #ff4444;padding:10px 20px;border-radius:8px;color:#f66;font-weight:700;font-size:1.3em;text-shadow:0 0 10px #ff0000;box-shadow:0 0 20px #ff000080}@keyframes buffsPurged{0%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}60%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-80%) scale(.5)}}.demon-synergy-effect{position:absolute;top:20%;left:50%;transform:translate(-50%);z-index:100;pointer-events:none;opacity:0}.demon-synergy-effect.active{animation:demonSynergy 1.2s ease-out forwards}.synergy-text{display:block;background:linear-gradient(135deg,#2a1a0a,#1a0a00);border:2px solid #ff6600;padding:12px 24px;border-radius:8px;color:#f93;font-weight:700;font-size:1.4em;text-shadow:0 0 10px #ff6600;box-shadow:0 0 25px #f609;white-space:nowrap}@keyframes demonSynergy{0%{opacity:0;transform:translate(-50%) scale(.5)}20%{opacity:1;transform:translate(-50%) scale(1.1)}40%{transform:translate(-50%) scale(1)}80%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) scale(.8) translateY(-20px)}}.arena-enemy.demon-synergy-active{animation:demonGlow .4s ease-in-out infinite alternate}@keyframes demonGlow{0%{filter:drop-shadow(0 0 10px rgba(255,102,0,.6))}to{filter:drop-shadow(0 0 20px rgba(255,102,0,.9))}}.arena-enemy-name{font-size:.9em;color:#ff6b6b;text-shadow:1px 1px 2px black;text-align:center;white-space:nowrap;font-weight:700;order:1}.arena-enemy-hp{width:100px;height:14px;background:#1a1a1a;border-radius:6px;overflow:hidden;border:2px solid #333;position:relative;order:2;z-index:5}.arena-enemy-hp-fill{height:100%;background:linear-gradient(90deg,#e74c3c,#c0392b);transition:width .3s ease;position:relative;z-index:2}.arena-enemy-hp-chunk{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#ffeb3b,#ffc107);z-index:3;animation:damageChunkFade .5s ease-out forwards;animation-delay:.15s;box-shadow:0 0 8px #ffc10799}@keyframes damageChunkFade{0%{opacity:1}60%{opacity:.9}to{opacity:0}}.arena-enemy-hp-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.65em;font-weight:700;color:#fff;text-shadow:1px 1px 2px black,0 0 4px black;white-space:nowrap;z-index:10}.arena-enemy-block{position:absolute;top:20px;right:-15px;background:#6495edcc;border:2px solid #6495ed;padding:2px 6px;border-radius:4px;font-size:.7em;font-weight:700;color:#fff;z-index:5}.arena-enemy-intent-wrapper{position:relative;order:0;margin-bottom:8px}.arena-enemy-intent{background:#000000d9;padding:5px 10px;border-radius:4px;font-size:.8em;white-space:nowrap;border:1px solid #555;cursor:help;transition:all .2s ease;animation:intentPulse 1.5s ease-in-out infinite}@keyframes intentPulse{0%,to{transform:scale(1);box-shadow:0 0 5px #ff64644d}50%{transform:scale(1.05);box-shadow:0 0 12px #ff646499}}.arena-enemy-intent:hover{border-color:#f4d03f;background:#000000f2;animation:none}.intent-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(5px);min-width:180px;max-width:220px;background:linear-gradient(135deg,#1a1a2e,#2c3e50);border:2px solid #f4d03f;border-radius:8px;padding:10px 12px;font-size:.85em;font-weight:400;color:#ddd;line-height:1.4;text-align:left;white-space:normal;z-index:100;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease,transform .2s ease;pointer-events:none;box-shadow:0 4px 15px #00000080;margin-bottom:8px}.intent-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#f4d03f}.arena-enemy-intent-wrapper:hover .intent-tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}@media (hover: none){.arena-enemy-intent-wrapper:active .intent-tooltip,.arena-enemy-intent-wrapper:focus-within .intent-tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.arena-enemy-intent{-webkit-tap-highlight-color:transparent}}.arena-enemy-intent.charging{background:linear-gradient(135deg,#4a1a4a,#2a0a2a);border:2px solid #9b59b6;animation:chargePulse 1s ease-in-out infinite}@keyframes chargePulse{0%,to{box-shadow:0 0 5px #9b59b680;transform:scale(1)}50%{box-shadow:0 0 20px #9b59b6e6,0 0 40px #9b59b666;transform:scale(1.05)}}.arena-enemy.boss .arena-enemy-intent-wrapper{position:absolute;top:30px;left:50%;transform:translate(-50%) scale(.8);z-index:10}.arena-enemy.boss .intent-tooltip{bottom:auto;top:100%;margin-bottom:0;margin-top:8px;transform:translate(-50%) translateY(-5px)}.arena-enemy.boss .arena-enemy-intent-wrapper:hover .intent-tooltip{transform:translate(-50%) translateY(0)}.arena-enemy.boss .intent-tooltip:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:#f4d03f}.arena-enemy.boss{transform:scale(1.3);z-index:5}.arena-enemy.boss:hover:not(.dead){transform:scale(1.35)}.arena-enemy.boss.selected:not(.dead){filter:drop-shadow(0 0 20px rgba(155,89,182,.9))}.boss-figure{width:90px!important;height:120px!important;margin-top:-25px!important;background:linear-gradient(180deg,#2a1a2a,#1a0a1a)!important;box-shadow:0 6px 12px #000c,inset 0 -15px 30px #00000080,0 0 30px #9b59b64d!important}.boss-figure:before{width:45px!important;height:45px!important;top:-10px!important}.boss-figure:after{width:32px!important;height:10px!important;top:0!important;background:radial-gradient(ellipse at 25% 50%,#9b59b6 0%,#9b59b6 30%,transparent 31%),radial-gradient(ellipse at 75% 50%,#9b59b6 0%,#9b59b6 30%,transparent 31%)!important;filter:blur(2px)!important;animation:bossEyeGlow 1.5s ease-in-out infinite!important}@keyframes bossEyeGlow{0%,to{opacity:.7;filter:blur(2px)}50%{opacity:1;filter:blur(1px) drop-shadow(0 0 8px #9b59b6)}}.boss-hp{width:140px!important;height:16px!important;border:2px solid #9b59b6!important}.boss-hp .arena-enemy-hp-fill{background:linear-gradient(90deg,#9b59b6,#8e44ad)!important}.boss-phase{position:absolute;top:-25px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#9b59b6,#8e44ad);padding:3px 10px;border-radius:10px;font-size:.7em;font-weight:700;color:#fff;text-shadow:1px 1px 2px black;white-space:nowrap;border:1px solid #c39bd3;z-index:10;animation:phasePulse 2s ease-in-out infinite}@keyframes phasePulse{0%,to{box-shadow:0 0 5px #9b59b680}50%{box-shadow:0 0 15px #9b59b6cc}}.arena-enemy.boss .arena-enemy-name{color:#c39bd3;font-size:1em}.boss-hp-bar{position:absolute;top:10px;left:50%;transform:translate(-50%);width:70%;max-width:600px;display:flex;flex-direction:column;align-items:stretch;gap:4px;z-index:50;pointer-events:none}.boss-bar-bottom-row{display:flex;align-items:center;justify-content:space-between;padding:0 4px}.boss-bar-left{display:flex;align-items:center;gap:8px}.boss-bar-name{font-family:Cinzel Decorative,Cinzel,serif;font-size:.95em;font-weight:700;color:#c39bd3;text-shadow:0 0 8px rgba(155,89,182,.6),1px 1px 2px black;letter-spacing:.5px}.boss-bar-phase{background:linear-gradient(135deg,#9b59b6,#8e44ad);padding:2px 8px;border-radius:8px;font-size:.65em;font-weight:700;color:#fff;text-shadow:1px 1px 1px black;border:1px solid #c39bd3}.boss-bar-right{display:flex;align-items:center;gap:8px;pointer-events:auto}.boss-bar-block{background:#3498dbe6;padding:2px 6px;border-radius:4px;font-size:.75em;font-weight:700;color:#fff;text-shadow:1px 1px 1px black}.boss-bar-intent{padding:2px 8px;border-radius:4px;font-size:.75em;font-weight:700;color:#fff;text-shadow:1px 1px 1px black;cursor:help}.boss-bar-intent.intent-attack{background:#e74c3ce6}.boss-bar-intent.intent-defend{background:#3498dbe6}.boss-bar-intent.intent-buff{background:#27ae60e6}.boss-bar-intent.intent-debuff{background:#8e44ade6}.boss-bar-intent.intent-charging{background:#f39c12e6;animation:chargingPulse 1s ease-in-out infinite}@keyframes chargingPulse{0%,to{box-shadow:0 0 4px #f39c1280}50%{box-shadow:0 0 10px #f39c12e6}}.boss-bar-intent.intent-command{background:#e67e22e6}.boss-bar-intent.intent-summon{background:#1abc9ce6}.boss-bar-intent.intent-heal{background:#2ecc71e6}.boss-bar-statuses{display:flex;gap:3px}.boss-bar-statuses .status-effect{font-size:.7em;padding:1px 4px}.boss-bar-hp-container{position:relative;width:100%;height:14px;background:#140a19cc;border:1px solid #9b59b6;border-radius:7px;overflow:hidden;box-shadow:inset 0 1px 3px #00000080,0 0 8px #9b59b64d}.boss-bar-hp-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#8e44ad,#9b59b6,#c39bd3);border-radius:6px;transition:width .3s ease;z-index:2}.boss-bar-hp-chunk{position:absolute;top:0;height:100%;background:linear-gradient(90deg,#ffeb3b,#ffc107);border-radius:6px;z-index:3;animation:damageChunkFade .5s ease-out forwards;animation-delay:.15s;box-shadow:0 0 8px #ffc10799}.boss-bar-hp-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-weight:700;font-size:.7em;text-shadow:1px 1px 2px black;white-space:nowrap}.boss-phase-marker{position:absolute;top:0;width:2px;height:100%;background:#fff6;z-index:4;pointer-events:none}.boss-phase-marker:before{content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(255,255,255,.6)}.boss-phase-marker:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(255,255,255,.6)}.boss-bar-hp-container .boss-phase-marker{transition:opacity .3s ease}.arena-enemy.boss .arena-enemy-hp,.arena-enemy.boss .arena-enemy-block,.arena-enemy.boss .arena-enemy-name,.arena-enemy.boss .enemy-statuses{display:none}.arena-enemy.elite{transform:scale(1.15);z-index:4}.arena-enemy.elite:hover:not(.dead){transform:scale(1.2)}.arena-enemy.elite.selected:not(.dead){filter:drop-shadow(0 0 15px rgba(218,165,32,.9))}.elite-figure{width:80px!important;height:105px!important;background-color:#1a1a0a!important;background-image:linear-gradient(180deg,#2a2a1a,#1a1a0a);box-shadow:0 5px 10px #000000b3,inset 0 -12px 25px #00000080,0 0 20px #daa52066!important}.elite-figure:before{width:40px!important;height:40px!important;top:-8px!important;background:linear-gradient(180deg,#2a2a1a,#1a1a0a)!important}.elite-figure:after{width:28px!important;height:9px!important;top:1px!important;background:radial-gradient(ellipse at 25% 50%,#daa520 0%,#daa520 30%,transparent 31%),radial-gradient(ellipse at 75% 50%,#daa520 0%,#daa520 30%,transparent 31%)!important;filter:blur(1.5px)!important;animation:eliteEyeGlow 1.8s ease-in-out infinite!important}@keyframes eliteEyeGlow{0%,to{opacity:.7;filter:blur(1.5px)}50%{opacity:1;filter:blur(1px) drop-shadow(0 0 6px #daa520)}}.elite-figure[data-enemy-type=void_caller],.elite-figure[data-enemy-type=stone_sentinel],.elite-figure[data-enemy-type=high_cultist],.elite-figure[data-enemy-type=tomb_guardian],.elite-figure[data-enemy-type=greater_demon],.elite-figure[data-enemy-type=sanctum_warden]{background-color:transparent!important;box-shadow:none!important;border-radius:0!important}.elite-figure[data-enemy-type=void_caller]:before,.elite-figure[data-enemy-type=void_caller]:after,.elite-figure[data-enemy-type=stone_sentinel]:before,.elite-figure[data-enemy-type=stone_sentinel]:after,.elite-figure[data-enemy-type=high_cultist]:before,.elite-figure[data-enemy-type=high_cultist]:after,.elite-figure[data-enemy-type=tomb_guardian]:before,.elite-figure[data-enemy-type=tomb_guardian]:after,.elite-figure[data-enemy-type=greater_demon]:before,.elite-figure[data-enemy-type=greater_demon]:after,.elite-figure[data-enemy-type=sanctum_warden]:before,.elite-figure[data-enemy-type=sanctum_warden]:after{display:none!important}.elite-hp{width:120px!important;height:14px!important;border:2px solid #daa520!important;box-shadow:0 0 8px #daa52066}.elite-hp .arena-enemy-hp-fill{background:linear-gradient(90deg,#daa520,#b8860b)!important}.elite-phase{position:absolute;top:-25px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#daa520,#b8860b);padding:3px 10px;border-radius:10px;font-size:.7em;font-weight:700;color:#1a1a0a;text-shadow:0 1px 1px rgba(255,255,255,.3);white-space:nowrap;border:1px solid #f4d03f;z-index:10;animation:elitePhasePulse 2s ease-in-out infinite}@keyframes elitePhasePulse{0%,to{box-shadow:0 0 5px #daa52080}50%{box-shadow:0 0 15px #daa520cc}}.elite-passive{position:absolute;top:-45px;left:50%;transform:translate(-50%);background:#000000d9;border:1px solid #daa520;padding:4px 12px;border-radius:6px;font-size:.65em;color:#f4d03f;text-shadow:0 0 4px rgba(218,165,32,.5);white-space:nowrap;z-index:11;box-shadow:0 0 10px #daa5204d}.arena-enemy.elite .arena-enemy-name{color:#f4d03f;font-size:.95em;text-shadow:0 0 5px rgba(218,165,32,.5)}.minion-slots{position:absolute;top:68%;left:50%;transform:translate(-50%);display:flex;justify-content:center;align-items:flex-end;gap:16px;z-index:8;transition:opacity .3s ease}.minion-slots:empty{display:none}.arena-minion{position:relative;display:flex;flex-direction:column;align-items:center;cursor:default;transition:transform .2s ease,opacity .3s ease;gap:3px;transform:scale(1);transform-origin:center bottom}.arena-minion:hover:not(.dead){transform:scale(1.05)}.arena-minion.dead{opacity:0;transform:scale(.5);pointer-events:none}.arena-minion.dying{animation:minionDeath .5s ease-out forwards}@keyframes minionDeath{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.1);filter:brightness(2) saturate(0)}to{opacity:0;transform:scale(.6) translateY(20px)}}.arena-minion-name{font-size:.8em;color:#6bb3ff;text-shadow:1px 1px 2px black;text-align:center;white-space:nowrap;font-weight:700;order:1}.arena-minion-hp{width:70px;height:10px;background:#1a1a1a;border-radius:5px;overflow:hidden;border:2px solid #4a90d9;position:relative;order:2;z-index:5}.arena-minion-hp-fill{height:100%;background:linear-gradient(90deg,#4a90d9,#2d6cb5);transition:width .3s ease;position:relative;z-index:2}.arena-minion-hp-chunk{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#ffeb3b,#ffc107);z-index:3;animation:damageChunkFade .5s ease-out forwards;animation-delay:.15s;box-shadow:0 0 6px #ffc10780}.arena-minion-hp-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.55em;font-weight:700;color:#fff;text-shadow:1px 1px 2px black,0 0 4px black;white-space:nowrap;z-index:10}.arena-minion-block{position:absolute;top:15px;right:-10px;background:#6495edcc;border:1px solid #6495ed;padding:1px 4px;border-radius:3px;font-size:.6em;font-weight:700;color:#fff;z-index:5}.arena-minion-attack{position:absolute;top:15px;left:-10px;background:#dc5050cc;border:1px solid #dc5050;padding:1px 4px;border-radius:3px;font-size:.6em;font-weight:700;color:#fff;z-index:5}.arena-minion-figure{width:80px;height:80px;background-size:contain;background-repeat:no-repeat;background-position:center bottom;order:3;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));transition:filter .2s ease}.arena-minion:hover:not(.dead) .arena-minion-figure{filter:drop-shadow(0 0 8px rgba(107,179,255,.6))}.arena-minion.hit{animation:minionHit .4s ease-out}@keyframes minionHit{0%{transform:scale(1);filter:brightness(1)}15%{transform:scale(.95) translate(-5px);filter:brightness(2) saturate(.5)}30%{transform:scale(1.05) translate(4px);filter:brightness(1.5)}50%{transform:scale(.97) translate(-2px)}to{transform:scale(1);filter:brightness(1)}}.arena-minion.attacking{animation:minionAttack .4s ease-out}@keyframes minionAttack{0%{transform:scale(1) translateY(0)}40%{transform:scale(1.15) translateY(-15px)}to{transform:scale(1) translateY(0)}}.arena-minion.summoning{animation:minionSummon .5s ease-out}@keyframes minionSummon{0%{opacity:0;transform:scale(.5) translateY(30px);filter:brightness(2) blur(4px)}50%{opacity:.8;transform:scale(1.1);filter:brightness(1.5) blur(1px)}to{opacity:1;transform:scale(1);filter:brightness(1) blur(0)}}.arena-minion .minion-statuses{display:flex;gap:2px;margin-top:2px;order:4}.champion-panel{position:absolute;top:68%;left:50%;transform:translate(-50%);display:flex;flex-direction:row;align-items:flex-end;gap:12px;background:linear-gradient(135deg,#1a1a2ef2,#2a2a46f2);border:2px solid #6495ed;border-radius:10px;padding:10px 16px;z-index:8;box-shadow:0 4px 16px #0009,0 0 20px #6495ed4d}.champion-panel.guardian-form-active{border-color:gold;box-shadow:0 4px 16px #0009,0 0 30px #ffd70080;animation:guardianPulse 2s ease-in-out infinite}@keyframes guardianPulse{0%,to{box-shadow:0 4px 16px #0009,0 0 20px #ffd7004d}50%{box-shadow:0 4px 16px #0009,0 0 40px #ffd70099}}.champion-portrait{display:flex;justify-content:center}.champion-figure{width:50px;height:60px;background:linear-gradient(180deg,#6495ed4d,#6495ed1a);border:2px solid rgba(100,149,237,.5);border-radius:8px;display:flex;justify-content:center;align-items:center}.champion-figure:before{content:"🛡️";font-size:24px}.champion-stats{display:flex;flex-direction:column;gap:4px;min-width:100px}.champion-name{font-family:Cinzel,Georgia,serif;font-size:.9em;font-weight:700;color:#87ceeb;text-align:center;text-transform:uppercase;letter-spacing:1px}.champion-hp-bar{position:relative;height:16px;background:#00000080;border:1px solid #444;border-radius:4px;overflow:hidden}.champion-hp-fill{height:100%;background:linear-gradient(90deg,#228b22,#32cd32);transition:width .3s ease,background .3s ease}.champion-hp-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.7em;font-weight:700;color:#fff;text-shadow:1px 1px 2px black}.champion-block-row{display:flex;align-items:center;justify-content:center;gap:4px;background:#6495ed4d;border:1px solid rgba(100,149,237,.5);border-radius:4px;padding:3px 8px}.champion-block-row .block-icon{width:14px;height:14px}.champion-block-row span{font-size:.8em;font-weight:700;color:#fff}.vigil-meter{display:flex;flex-direction:column;gap:3px;min-width:80px;padding-left:12px;border-left:1px solid rgba(100,149,237,.3)}.vigil-label{font-size:.75em;color:#6495ed;text-transform:uppercase;letter-spacing:1px;text-align:center}.vigil-bar{height:10px;background:#00000080;border:1px solid #444;border-radius:3px;overflow:hidden}.vigil-fill{height:100%;background:linear-gradient(90deg,#4169e1,#6495ed);transition:width .3s ease,background .3s ease}.vigil-text{font-size:.7em;color:#87ceeb;text-align:center}.player-silhouette{position:absolute;bottom:10%;left:clamp(140px,28%,300px);transform:translate(-50%);z-index:10}.player-block-indicator{position:absolute!important;bottom:-5px!important;left:50%!important;transform:translate(-50%)!important;background:#6495ede6!important;border:2px solid #6495ed!important;padding:3px 8px!important;border-radius:5px!important;font-size:.8em!important;font-weight:700!important;color:#fff!important;z-index:100!important;display:flex!important;align-items:center!important;gap:3px!important;box-shadow:0 2px 8px #0009!important;transition:background .2s ease,box-shadow .2s ease!important;opacity:1!important;visibility:visible!important}.player-block-indicator.no-block{background:#3c5078b3!important;border-color:#4a5a7a!important;box-shadow:0 1px 4px #0006!important}.player-block-indicator.has-block{background:#6495edf2!important;box-shadow:0 2px 8px #0009,0 0 6px #6495ed66!important}.player-block-indicator .block-icon{font-size:.9em!important}.player-block-indicator .block-value{font-size:1em!important;text-shadow:1px 1px 2px rgba(0,0,0,.6)!important}.player-hud{position:absolute;bottom:clamp(8px,1.2vw,12px);left:clamp(8px,1.2vw,12px);z-index:20;background:#0a0a0fd9;border:clamp(1px,.2vw,2px) solid #4a3728;border-radius:clamp(6px,.8vw,8px);padding:var(--hud-padding);min-width:var(--hud-min-width);font-size:var(--hud-font-size);backdrop-filter:blur(4px);box-shadow:0 4px 12px #00000080}.hud-class-row{display:flex;align-items:center;gap:6px;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid rgba(74,55,40,.6)}.hud-class-icon{font-size:1.1em}.hud-class-name{font-size:.85em;font-weight:700;color:#6495ed;text-shadow:1px 1px 2px rgba(0,0,0,.8)}.hud-stat-row{display:flex;justify-content:space-between;gap:12px;font-size:.8em;line-height:1.6}.hud-hp{color:#e74c3c;font-weight:700}.hud-block{display:none}.hud-resolve{color:#f4d03f;font-weight:700}.hud-devotion{color:gold;font-weight:700}.hud-gold-row{margin-top:4px;padding-top:4px;border-top:1px solid rgba(255,215,0,.2)}.hud-gold{color:gold;font-weight:700}.player-hud.low-hp{animation:hudLowHpPulse 1.5s ease-in-out infinite}@keyframes hudLowHpPulse{0%,to{border-color:#4a3728}50%{border-color:#e74c3c;box-shadow:0 0 10px #e74c3c66}}.hud-stat{position:relative;cursor:help;padding:2px 4px;border-radius:4px;transition:background .2s ease}.hud-stat:hover{background:#ffffff1a}.hud-stat:after{content:attr(data-tooltip);position:absolute;bottom:50%;left:calc(100% + 12px);transform:translateY(50%) translate(5px);min-width:180px;max-width:220px;background:linear-gradient(135deg,#1a1a2e,#2c3e50);border:2px solid #f4d03f;border-radius:8px;padding:10px 12px;font-size:.85em;font-weight:400;color:#ddd;line-height:1.4;text-align:left;white-space:normal;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease,transform .2s ease;z-index:100;box-shadow:0 4px 15px #00000080;pointer-events:none}.hud-stat:before{content:"";position:absolute;top:50%;left:calc(100% + 6px);transform:translateY(-50%);border-width:6px 6px 6px 0;border-style:solid;border-color:transparent #f4d03f transparent transparent;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:101}.hud-stat:hover:after{opacity:1;visibility:visible;transform:translateY(50%) translate(0)}.hud-stat:hover:before{opacity:1;visibility:visible}@media (hover: none){.hud-stat:active:after,.hud-stat:active:before{opacity:1;visibility:visible}}.status-effects-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.1)}.status-effect{position:relative;display:flex;align-items:center;gap:2px;padding:3px 6px;border-radius:4px;font-size:.85em;cursor:help;transition:transform .15s ease,background .15s ease}.status-effect.debuff{background:#e74c3c4d;border:1px solid rgba(231,76,60,.6)}.status-effect.buff{background:#2ecc714d;border:1px solid rgba(46,204,113,.6)}.status-effect:hover{transform:scale(1.1)}.status-effect.debuff:hover{background:#e74c3c80}.status-effect.buff:hover{background:#2ecc7180}.status-icon{font-size:1em}.status-stacks{font-size:.75em;font-weight:700;color:#fff;min-width:12px;text-align:center}.status-effect:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:180px;max-width:240px;background:linear-gradient(135deg,#1a1a2e,#2c3e50);border:2px solid #f4d03f;border-radius:8px;padding:8px 10px;font-size:.85em;font-weight:400;color:#ddd;line-height:1.4;text-align:left;white-space:normal;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:200;box-shadow:0 4px 15px #00000080;pointer-events:none}.status-effect:before{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);border-width:6px 6px 0;border-style:solid;border-color:#f4d03f transparent transparent;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:201}.status-effect:hover:after,.status-effect:hover:before{opacity:1;visibility:visible}.enemy-statuses{position:absolute;bottom:85px;left:50%;transform:translate(-50%);justify-content:center;border-top:none;margin-top:0;padding-top:0}.enemy-statuses .status-effect{font-size:.75em;padding:2px 4px}.player-statuses .status-effect:after{bottom:50%;left:calc(100% + 12px);transform:translateY(50%)}.player-statuses .status-effect:before{bottom:auto;top:50%;left:calc(100% + 6px);transform:translateY(-50%);border-width:6px 6px 6px 0;border-color:transparent #f4d03f transparent transparent}.vow-display{display:flex;margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.1)}.vow-badge{position:relative;display:flex;align-items:center;gap:6px;padding:4px 10px;background:linear-gradient(135deg,#9b59b666,#8e44ad66);border:1px solid rgba(155,89,182,.7);border-radius:4px;font-size:.8em;color:#fff;cursor:help;transition:transform .15s ease,background .15s ease}.vow-badge:hover{transform:scale(1.05);background:linear-gradient(135deg,#9b59b699,#8e44ad99)}.vow-icon{font-size:1.1em}.vow-name{font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.3)}.vow-charges{background:#0006;padding:2px 6px;border-radius:10px;font-size:.85em;font-weight:700;color:#f4d03f}.vow-badge:after{content:attr(data-tooltip);position:absolute;bottom:50%;left:calc(100% + 12px);transform:translateY(50%);background:#2c2c2c;color:#f4d03f;padding:10px 14px;border-radius:6px;font-size:.85em;white-space:pre-line;min-width:220px;max-width:280px;line-height:1.5;box-shadow:0 4px 12px #0006;border:1px solid rgba(155,89,182,.5);z-index:200;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;pointer-events:none}.vow-badge:before{content:"";position:absolute;top:50%;left:calc(100% + 6px);transform:translateY(-50%);border-width:6px 6px 6px 0;border-style:solid;border-color:transparent #9b59b6 transparent transparent;z-index:201;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.vow-badge:hover:after,.vow-badge:hover:before{opacity:1;visibility:visible}@media (hover: none){.vow-badge:active:after,.vow-badge:active:before{opacity:1;visibility:visible}}.soul-debt-display{display:flex;margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.1)}.soul-debt-badge{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:6px 10px;border-radius:6px;background:linear-gradient(135deg,#501414cc,#320a0acc);border:1px solid rgba(139,0,0,.5);color:#ccc;cursor:help;transition:all .3s ease}.soul-debt-badge:hover{background:linear-gradient(135deg,#641e1ee6,#3c0f0fe6)}.soul-debt-badge .soul-debt-icon{font-size:1.1em}.soul-debt-badge .soul-debt-label{font-size:.75em;color:#999;text-transform:uppercase;letter-spacing:.5px}.soul-debt-badge .soul-debt-value{font-size:1.3em;font-weight:700;color:#ff6b6b}.soul-debt-badge .soul-debt-whisper{font-size:.7em;font-style:italic;color:#8b0000;max-width:140px;line-height:1.2;opacity:.9}.soul-debt-low .soul-debt-value{color:#f4d03f}.soul-debt-medium .soul-debt-value{color:#e67e22}.soul-debt-high .soul-debt-value{color:#e74c3c}.soul-debt-critical .soul-debt-value{color:red;text-shadow:0 0 8px rgba(255,0,0,.6)}.soul-debt-critical{animation:soul-debt-pulse 1.5s ease-in-out infinite;border-color:#f009}@keyframes soul-debt-pulse{0%,to{box-shadow:0 0 5px #8b00004d}50%{box-shadow:0 0 15px #ff000080}}.luck-display{display:flex;margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.1)}.luck-badge{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:6px 10px;border-radius:6px;background:linear-gradient(135deg,#2e7d3299,#1b5e2099);border:1px solid rgba(76,175,80,.4);color:#fff;cursor:help;transition:all .2s ease}.luck-badge:hover{transform:scale(1.02);background:linear-gradient(135deg,#388e3cb3,#217429b3)}.luck-badge .luck-icon{font-size:1.1em}.luck-badge .luck-label{font-size:.75em;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px}.luck-pips{display:flex;gap:2px;flex-wrap:wrap;max-width:100px}.luck-pip{font-size:.9em;transition:all .2s ease}.luck-pip.filled{color:#f4d03f;text-shadow:0 0 4px rgba(244,208,63,.6)}.luck-pip.empty{color:#fff3}.luck-badge .luck-value{font-size:.85em;font-weight:700;color:#a5d6a7}.card-hp-cost{position:absolute;top:30px;left:4px;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;padding:2px 4px;font-size:.75em;font-weight:700;color:#ff6b6b;background:linear-gradient(135deg,#8b0000e6,#640000e6);border:2px solid #8b0000;border-radius:4px;z-index:3;text-shadow:0 1px 2px rgba(0,0,0,.8);box-shadow:0 2px 4px #00000080}.vow-required-indicator{position:absolute;top:56px;left:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.9em;background:linear-gradient(135deg,#9b59b6e6,#8e44ade6);border:2px solid #9b59b6;border-radius:4px;z-index:3;box-shadow:0 2px 4px #00000080;opacity:.9}.card.vow-missing{filter:grayscale(.7) brightness(.7);border-color:#9b59b699!important}.card.vow-missing:after{content:"Vow Required";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-15deg);padding:4px 12px;font-size:.7em;font-weight:700;text-transform:uppercase;color:#9b59b6;background:#000c;border:1px solid #9b59b6;border-radius:4px;z-index:10;pointer-events:none}.card.curse-card{background:linear-gradient(180deg,#1a0a0a,#2d0d0d,#1a0505)!important;border:2px solid #5c1010!important;box-shadow:0 0 10px #8b000066,inset 0 0 20px #00000080!important}.card.curse-card .card-header{background:linear-gradient(180deg,#8b000099,#64000066)}.card.curse-card .card-name{color:#ff6b6b;text-shadow:0 0 8px rgba(139,0,0,.6)}.card.curse-card .card-type{color:#8b0000;text-transform:uppercase;font-weight:700}.card.curse-card .card-description{color:#c99}.card.curse-card:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 40%,rgba(139,0,0,.15) 100%);pointer-events:none;z-index:1}.card.curse-card.unplayable{filter:none;opacity:.85}.curse-damage-indicator{display:flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,#8b0000f2,#500000f2);border:2px solid #ff4444;border-radius:8px;box-shadow:0 0 20px #f009,0 4px 12px #00000080;transform:translate(-50%) translateY(0);opacity:0;z-index:10000;pointer-events:none}.curse-damage-indicator.animate{animation:curseDamageFloat 1.2s ease-out forwards}@keyframes curseDamageFloat{0%{opacity:0;transform:translate(-50%) translateY(0) scale(.8)}15%{opacity:1;transform:translate(-50%) translateY(-10px) scale(1.1)}30%{transform:translate(-50%) translateY(-15px) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-50px) scale(.9)}}.curse-damage-icon{font-size:1.4em;filter:drop-shadow(0 0 4px rgba(255,0,0,.8))}.curse-damage-text{font-size:1em;font-weight:700;color:#ff6b6b;text-shadow:0 2px 4px rgba(0,0,0,.8);white-space:nowrap}.player-hud.curse-pulse{animation:hudCursePulse .6s ease-out}@keyframes hudCursePulse{0%,to{box-shadow:0 0 10px #00000080}25%,75%{box-shadow:0 0 20px #f009,inset 0 0 10px #8b00004d}}.whimsy-outcomes{margin-top:8px;padding-top:6px;border-top:1px solid rgba(76,175,80,.3);font-size:.8em;line-height:1.4}.whimsy-label{display:block;font-weight:700;color:#4caf50;margin-bottom:4px}.whimsy-outcome{display:block;padding:2px 0;color:#a5d6a7}.whimsy-outcome:before{content:"• ";color:#4caf50}.whimsy-chance{font-size:.85em;color:#a5d6a7b3}@media (hover: none){.status-effect:active:after,.status-effect:active:before{opacity:1;visibility:visible}}@media (max-width: 600px){.player-hud{bottom:8px;left:8px;padding:6px 10px;min-width:100px}.hud-class-name{font-size:.75em}.hud-stat-row{font-size:.7em;gap:8px}.status-effects-row{gap:3px;margin-top:4px;padding-top:4px}.status-effect{padding:2px 4px;font-size:.75em}}.player-figure{width:50px;height:60px;background:linear-gradient(180deg,#1a1a2e,#0a0a15);border-radius:40% 40% 30% 30%;position:relative;box-shadow:0 -5px 20px #6495ed4d;background-size:contain;background-position:center bottom;background-repeat:no-repeat}.player-figure:before{content:"";position:absolute;top:-20px;left:50%;transform:translate(-50%);width:25px;height:25px;background:linear-gradient(180deg,#1a1a2e,#0a0a15);border-radius:50%}.player-figure:after{content:"";position:absolute;top:-30px;left:50%;transform:translate(-50%);width:80px;height:100px;background:radial-gradient(ellipse at center bottom,rgba(100,149,237,.2) 0%,transparent 60%);pointer-events:none}.player-silhouette[data-class] .player-figure{width:150px;height:225px;background-color:transparent;background-size:contain;background-position:center bottom;background-repeat:no-repeat;border-radius:0;box-shadow:none}.player-silhouette[data-class] .player-figure:before,.player-silhouette[data-class] .player-figure:after{display:none}.player-silhouette[data-class=cleric] .player-figure{background-image:url(../images/players/cleric.png);background-size:120%}.player-silhouette[data-class=dungeon_knight] .player-figure{background-image:url(../images/players/dungeon_knight.png)}.player-silhouette[data-class=diabolist] .player-figure{background-image:url(../images/players/diabolist.png);background-size:120%}.player-silhouette[data-class=oathsworn] .player-figure{background-image:url(../images/players/oathsworn.png);background-size:120%}.player-silhouette[data-class=fey_touched] .player-figure{background-image:url(../images/players/fey_touched.png);background-size:120%}.player-silhouette[data-class=celestial] .player-figure{background-image:url(../images/players/celestial.png);background-size:120%}.player-silhouette[data-class=summoner] .player-figure{background-image:url(../images/players/summoner.png);background-size:120%}.player-silhouette[data-class=bargainer] .player-figure{background-image:url(../images/players/bargainer.png);background-size:120%}.player-silhouette[data-class=tidecaller] .player-figure{background-image:url(../images/players/tidecaller.png);background-size:120%}.player-silhouette[data-class=shadow_stalker] .player-figure{background-image:url(../images/players/shadow_stalker.png);background-size:120%;right:25px}.player-silhouette[data-class=goblin] .player-figure{background-image:url(../images/players/goblin.png);background-size:120%}@keyframes idle-breathe{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.015) translateY(-2px)}}@keyframes idle-sway{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-2px) rotate(.3deg)}66%{transform:translateY(-1px) rotate(-.3deg)}}.player-figure{animation:idle-breathe 3.5s ease-in-out infinite}.enemy-figure{animation:idle-sway 3s ease-in-out infinite}.arena-enemy:nth-child(1) .enemy-figure{animation-delay:0s}.arena-enemy:nth-child(2) .enemy-figure{animation-delay:.6s}.arena-enemy:nth-child(3) .enemy-figure{animation-delay:1.2s}.arena-enemy:nth-child(4) .enemy-figure{animation-delay:1.8s}.player-silhouette.attacking .player-figure,.player-silhouette.hit .player-figure,.arena-enemy.attacking .enemy-figure,.arena-enemy.hit .enemy-figure{animation:none}.turn-banner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:50;padding:15px 50px;font-size:1.6em;font-weight:700;text-transform:uppercase;letter-spacing:.2em;text-shadow:2px 2px 4px rgba(0,0,0,.8);border-radius:4px;opacity:0;pointer-events:none}.turn-banner.player-turn{background:linear-gradient(135deg,#3498dbe6,#2980b9e6);color:#fff;border:2px solid #3498db;box-shadow:0 0 20px #3498db80}.turn-banner.enemy-turn{background:linear-gradient(135deg,#c0392be6,#e74c3ce6);color:#fff;border:2px solid #e74c3c;box-shadow:0 0 20px #e74c3c80}.turn-banner.active{animation:turnBannerSlide 1.2s ease-out forwards}@keyframes turnBannerSlide{0%{opacity:0;transform:translate(-50%,-50%) translate(-100px)}15%{opacity:1;transform:translate(-50%,-50%) translate(0)}75%{opacity:1;transform:translate(-50%,-50%) translate(0)}to{opacity:0;transform:translate(-50%,-50%) translate(100px)}}@media (max-width: 600px){.dungeon-scene{height:200px}.turn-banner{font-size:1.1em;padding:10px 30px}.enemy-figure{width:45px;height:60px}.enemy-figure:before{width:22px;height:22px;top:-18px}.player-figure{width:40px;height:50px}.arena-enemy-hp{width:50px}}.combat-area{display:flex;flex-direction:column;gap:10px;margin-bottom:15px}.player-area{border-radius:8px;padding:15px;background:#1976d233;border:2px solid #1976d2}h2{font-size:1.3em;margin-bottom:10px}.enemy{background:#8b00004d;border:2px solid #ff4444;border-radius:8px;padding:12px;margin-bottom:10px;cursor:pointer;transition:all .2s}.enemy.selected{border-color:#f4d03f;box-shadow:0 0 10px #f4d03f80}.enemy.dead{opacity:.3;cursor:not-allowed}.enemy-name{font-size:1.2em;font-weight:700;color:#ff6b6b;margin-bottom:8px}.hp-bar{background:#2a2a2a;border:2px solid #555;border-radius:5px;height:22px;position:relative;margin:8px 0;overflow:hidden}.hp-fill{background:linear-gradient(90deg,#e74c3c,#c0392b);height:100%;transition:width .3s ease;position:absolute;top:0;left:0;z-index:2}.hp-chunk{position:absolute;top:0;height:100%;background:linear-gradient(90deg,#ffeb3b,#ffc107);z-index:3;animation:damageChunkFade .5s ease-out forwards;animation-delay:.15s;box-shadow:0 0 8px #ffc10799}.hp-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:700;color:#fff;text-shadow:1px 1px 2px black;font-size:.9em}.intent{display:flex;align-items:center;gap:8px;padding:6px;background:#0006;border-radius:5px;margin-top:8px;font-size:.9em}.player-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:15px}.stat-box{background:#0006;padding:10px;border-radius:8px;border:2px solid #555}.stat-label{font-size:.8em;color:#aaa;margin-bottom:3px}.stat-value{font-size:1.4em;font-weight:700;color:#f4d03f}.hand-header{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;margin-bottom:10px;background:#0000004d;border-radius:8px;border:1px solid #444}.hand-header .hand-title{font-size:1.1em;color:#f4d03f;margin:0}.hand-header .piles{display:flex;gap:10px;margin:0}.hand-area{padding:10px 0;margin-bottom:15px}.hand-title{font-size:1.1em;margin-bottom:10px;color:#f4d03f;text-align:center}.cards{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.card-wrapper{position:relative;cursor:pointer;-webkit-touch-callout:none;touch-action:manipulation}.card-wrapper:hover:not(:has(.unplayable)){z-index:10}.card-wrapper:hover:not(:has(.unplayable)) .card{transform:translateY(-40px) scale(1.15);box-shadow:0 12px 24px #00000080}.card-wrapper:hover:not(:has(.unplayable)) .card-cost{transform:translateY(-40px) scale(1.15)}.card{background:url(../images/ui/card-back1.png) center/cover no-repeat;background-size:150% 110%;border:none;border-radius:8px;padding:12px;width:160px;height:180px;flex-shrink:0;cursor:pointer;transition:all .2s;position:relative;display:flex;flex-direction:column;overflow:hidden}.card:active:not(.unplayable){transform:scale(.95);opacity:.9}@media (hover: none) and (pointer: coarse){.card:hover:not(.unplayable){transform:none}.card:active:not(.unplayable){transform:scale(.95);box-shadow:0 4px 12px #0006}}.card.curse{background:url(../images/ui/card-back1.png) center/cover no-repeat;background-size:150% 110%}.card.curse:before{content:"";position:absolute;inset:0;border-radius:5px;background:#14141499;pointer-events:none}.card.class-cleric{box-shadow:0 0 12px var(--card-glow-cleric),inset 0 0 20px var(--card-glow-cleric)}.card.class-cleric:before{content:"";position:absolute;inset:0;border-radius:5px;background:linear-gradient(135deg,#3d352066,#4a40254d);pointer-events:none}.card.class-cleric .card-cost{background:var(--card-accent-cleric)}.card.class-knight{box-shadow:0 0 12px var(--card-glow-knight),inset 0 0 20px var(--card-glow-knight)}.card.class-knight:before{content:"";position:absolute;inset:0;border-radius:5px;background:linear-gradient(135deg,#2a354066,#3545554d);pointer-events:none}.card.class-knight .card-cost{background:var(--card-accent-knight);color:#1a1a2e}.card.class-diabolist{box-shadow:0 0 12px var(--card-glow-diabolist),inset 0 0 20px var(--card-glow-diabolist)}.card.class-diabolist:before{content:"";position:absolute;inset:0;border-radius:5px;background:linear-gradient(135deg,#2a151580,#3d202066);pointer-events:none}.card.class-diabolist .card-cost{background:var(--card-accent-diabolist);color:#1a1a2e}.card.class-oathsworn{box-shadow:0 0 12px var(--card-glow-oathsworn),inset 0 0 20px var(--card-glow-oathsworn)}.card.class-oathsworn:before{content:"";position:absolute;inset:0;border-radius:5px;background:linear-gradient(135deg,#35353f66,#4545554d);pointer-events:none}.card.class-oathsworn .card-cost{background:var(--card-accent-oathsworn);color:#1a1a2e}.card.class-fey_touched{box-shadow:0 0 12px var(--card-glow-fey),inset 0 0 20px var(--card-glow-fey)}.card.class-fey_touched:before{content:"";position:absolute;inset:0;border-radius:5px;background:linear-gradient(135deg,#1a2a2066,#2535304d);pointer-events:none}.card.class-fey_touched .card-cost{background:var(--card-accent-fey);color:#1a1a2e}.card.class-celestial{box-shadow:0 0 15px var(--card-glow-celestial),inset 0 0 25px var(--card-glow-celestial)}.card.class-celestial:before{content:"";position:absolute;inset:0;border-radius:5px;background:linear-gradient(135deg,#3d3a2866,#4d48304d);pointer-events:none}.card.class-celestial .card-cost{background:var(--card-border-celestial);color:#1a1a2e}.card.class-summoner{box-shadow:0 0 12px var(--card-glow-summoner),inset 0 0 20px var(--card-glow-summoner)}.card.class-summoner:before{content:"";position:absolute;inset:0;border-radius:5px;background:linear-gradient(135deg,#20253566,#2a30454d);pointer-events:none}.card.class-summoner .card-cost{background:var(--card-accent-summoner);color:#1a1a2e}.card.class-bargainer{box-shadow:0 0 12px var(--card-glow-bargainer),inset 0 0 20px var(--card-glow-bargainer)}.card.class-bargainer:before{content:"";position:absolute;inset:0;border-radius:5px;background:linear-gradient(135deg,#2a201866,#3a2a204d);pointer-events:none}.card.class-bargainer .card-cost{background:var(--card-border-bargainer);color:#1a1a2e}.card.class-neutral{box-shadow:inset 0 0 15px var(--card-glow-neutral)}.card.unplayable{opacity:.5;cursor:not-allowed}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px;position:relative}.card-name{font-weight:700;font-size:.65em;margin:2px 5%;text-align:center;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:1.15em;flex-shrink:0}.card-cost{background:linear-gradient(135deg,#f4d03f,#c9a227);color:#1a1a2e;border-radius:50%;width:14px;height:14px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.65em;position:absolute;top:-5px;right:-5px;z-index:15;box-shadow:0 1px 3px #00000080;transition:transform .2s;border:1px solid rgba(255,255,255,.3)}.card-type{font-size:.75em;color:#aaa;text-transform:uppercase;margin-bottom:6px;text-align:center}.card-art{width:100%;height:40px;margin:10px auto;background-size:100% auto;background-position:center 20%;background-repeat:no-repeat;border-radius:3px;box-shadow:inset 0 0 6px #00000080;border:1px solid rgba(255,255,255,.1)}.card.has-art{padding-top:4px}.card.has-art .card-description{font-size:.7em;line-height:1.15}.card-description{font-size:.8em;line-height:1.25;color:#ddd;text-align:center;flex:1;min-height:0;overflow-y:auto}.damage-buffed,.damage-debuffed,.block-buffed,.heal-buffed{color:gold;font-weight:700;text-shadow:0 0 6px rgba(255,215,0,.6)}.card.dragging,.card-wrapper.dragging .card{transform:scale(1.1) rotate(2deg)!important;box-shadow:0 15px 40px #0009,0 0 20px #f4d03f4d!important;z-index:1000!important;cursor:grabbing!important}.card-wrapper.dragging{z-index:1000!important}.card-wrapper.dragging .card .card-art,.card.dragging .card-art{height:calc(var(--card-width) * .38);width:90%;margin:-4px auto 2px}.arena-enemy.valid-drop-target.target-hover .enemy-figure{transform:scale(1.08)}.card.returning{transition:all .3s ease-out!important}.card-wrapper.dragging .card{pointer-events:none}.card-wrapper:not(.dragging) .card:not(.unplayable){cursor:grab}.controls{display:flex;gap:10px;margin-bottom:15px}.potion-slots{position:absolute;bottom:5px;right:5px;display:flex;gap:12px;z-index:20}.potion-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:none;border-radius:50%;cursor:pointer;position:relative;transition:all .2s ease;filter:drop-shadow(0 0 8px rgba(76,175,80,.6)) drop-shadow(0 0 15px rgba(76,175,80,.3))}.potion-btn:hover{transform:scale(1.15);filter:drop-shadow(0 0 12px rgba(129,199,132,.9)) drop-shadow(0 0 25px rgba(76,175,80,.5))}.potion-btn:active{transform:scale(.9)}.potion-btn .potion-icon{font-size:2rem}.potion-btn .potion-count{position:absolute;bottom:-2px;right:-2px;background:#141423f2;color:#7cfc00;font-size:.65rem;font-weight:700;width:18px;height:18px;line-height:18px;text-align:center;border-radius:50%;border:1px solid rgba(76,175,80,.7);box-shadow:0 0 6px #4caf5080}.potion-btn:after{content:attr(data-tooltip)!important;position:absolute!important;top:50%!important;right:calc(100% + 12px)!important;left:auto!important;bottom:auto!important;transform:translateY(-50%) translate(-5px)!important;min-width:180px!important;max-width:220px!important;background:linear-gradient(135deg,#1a1a2e,#2c3e50)!important;border:2px solid #f4d03f!important;border-radius:8px!important;padding:10px 12px!important;font-family:Georgia,serif!important;font-size:.6em!important;font-weight:400!important;color:#ddd!important;line-height:1.4!important;text-align:left!important;text-transform:none!important;white-space:normal!important;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease,transform .2s ease!important;z-index:200!important;box-shadow:0 4px 15px #00000080!important;pointer-events:none!important}.potion-btn:before{content:"";position:absolute;top:50%;right:calc(100% + 6px);transform:translateY(-50%);border-width:6px 0 6px 6px;border-style:solid;border-color:transparent transparent transparent #f4d03f;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:201;pointer-events:none}.potion-btn:hover:after,.potion-btn:hover:before{opacity:1;visibility:visible}.potion-btn:hover:after{transform:translateY(-50%) translate(0)}@media (hover: none){.potion-btn:active:after,.potion-btn:active:before{opacity:1;visibility:visible}}.potion-slots:empty{display:none}button{background-color:#e6c230;background-image:linear-gradient(135deg,#f4d03f,#e6c230);color:#1a1a2e;border:none;padding:12px 20px;font-size:1em;font-weight:700;border-radius:8px;cursor:pointer;flex:1;text-transform:uppercase;transition:transform .1s;min-height:44px;touch-action:manipulation;-webkit-touch-callout:none}button#end-turn-btn{background-color:transparent!important;background-image:url(../images/ui/end_turn_background.png)!important;background-size:100% 100%!important;background-position:center!important;background-repeat:no-repeat!important;border:none!important}button:hover{transform:scale(1.02)}button:active{transform:scale(.98)}button.icon-btn{flex:0 0 auto;padding:12px 16px;background:linear-gradient(135deg,#555,#444);color:#e0e0e0;border:2px solid #666}button.icon-btn:hover{border-color:#f4d03f;background:linear-gradient(135deg,#666,#555)}.log-area{background:#0009;border:2px solid #555;border-radius:8px;padding:15px;max-height:150px;overflow-y:auto}.log-title{font-size:1em;margin-bottom:8px;color:#f4d03f}.log-entry{padding:4px 0;border-bottom:1px solid #333;font-size:.85em}.arena-controls{position:absolute!important;bottom:-10px!important;left:50%!important;transform:translate(-50%)!important;display:flex!important;gap:clamp(6px,1vw,10px)!important;z-index:9999!important}.arena-controls #end-turn-btn{background-color:transparent!important;background-image:url(../images/ui/end_turn_background.png)!important;background-size:100% 100%!important;background-position:center!important;background-repeat:no-repeat!important;border:none!important;padding:clamp(25px,6vh,50px) clamp(25px,6vw,50px)!important;font-size:clamp(.4em,1.2vw,.7em)!important;font-weight:700!important;color:#f4e4c1!important;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 6px rgba(0,0,0,.6)!important;min-width:clamp(100px,17vw,200px)!important;max-width:clamp(140px,22vw,250px)!important;height:auto!important;min-height:clamp(80px,15vh,150px)!important;white-space:nowrap!important;text-align:center!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;transition:transform .15s ease,filter .15s ease!important}.arena-controls #end-turn-btn:hover{transform:scale(1.05)!important;filter:brightness(1.15)!important}.arena-controls #end-turn-btn:active{transform:scale(.98)!important;filter:brightness(.9)!important}#settings-gear-btn{position:absolute;top:15px;left:10px;width:44px;height:44px;padding:0;font-size:1.4em;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#000000b3;border:2px solid #555;color:#e0e0e0;cursor:pointer;z-index:25;transition:all .2s}#settings-gear-btn:hover{border-color:#f4d03f;background:#000000e6}.settings-menu{position:absolute;top:70px;left:10px;z-index:30;background:#141423fa;border:2px solid #f4d03f;border-radius:12px;padding:8px;min-width:200px;box-shadow:0 8px 32px #0009}.settings-menu-content{display:flex;flex-direction:column;gap:6px}.settings-option{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#323246cc;border:1px solid #555;border-radius:8px;color:#e0e0e0;font-size:.95em;cursor:pointer;transition:all .2s;min-height:44px;text-align:left;width:100%}.settings-option:hover{background:#464664e6;border-color:#f4d03f}.settings-option.abandon{color:#e74c3c;border-color:#e74c3c}.settings-option.abandon:hover{background:#e74c3c33}.settings-option.close{background:#28283ccc;color:#aaa}.pile-counters{position:absolute!important;bottom:clamp(8px,2vh,15px)!important;left:auto!important;right:clamp(35px,7.5vw,110px)!important;display:flex!important;gap:clamp(6px,1.5vw,12px)!important;z-index:9997!important}.pile-counter{display:flex;align-items:center;gap:clamp(2px,.5vw,4px);background:#000000b3;padding:clamp(3px,.8vh,6px) clamp(5px,1vw,10px);border-radius:clamp(4px,.6vw,6px);border:1px solid #444;font-size:clamp(.6em,1.2vw,.85em);cursor:default}.pile-counter .pile-icon{font-size:.9em;display:inline-block;position:relative}.pile-icon.deck-icon{width:14px;height:16px}.pile-icon.deck-icon:before,.pile-icon.deck-icon:after{content:"";position:absolute;width:10px;height:14px;border:1.5px solid #a89060;border-radius:2px;background:linear-gradient(135deg,#3a3020,#2a2015)}.pile-icon.deck-icon:before{top:0;left:0}.pile-icon.deck-icon:after{top:2px;left:3px;border-color:#c9a855;background:linear-gradient(135deg,#4a4030,#3a3020)}.pile-icon.discard-icon{width:18px;height:16px}.pile-icon.discard-icon:before,.pile-icon.discard-icon:after{content:"";position:absolute;width:10px;height:14px;border:1.5px solid #706050;border-radius:2px;background:linear-gradient(135deg,#2a2520,#1a1510)}.pile-icon.discard-icon:before{top:1px;left:0;transform:rotate(-15deg)}.pile-icon.discard-icon:after{top:1px;left:6px;transform:rotate(10deg);border-color:#605545}.pile-counter .pile-label{color:#aaa}.pile-counter .pile-value{color:#f4d03f;font-weight:700}.pile-counter[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:linear-gradient(135deg,#1a1a2e,#2c3e50);border:2px solid #f4d03f;border-radius:8px;padding:8px 12px;font-size:.8em;color:#ddd;white-space:nowrap;z-index:100;box-shadow:0 4px 15px #00000080}.combat-log-toggle{position:absolute;top:15px;left:60px;width:44px;height:44px;padding:0;font-size:1.3em;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#000000b3;border:2px solid #555;color:#e0e0e0;cursor:pointer;z-index:25;transition:all .2s}.combat-log-toggle:hover{border-color:#f4d03f;background:#000000e6}.combat-log-toggle.active{border-color:#f4d03f;background:#f4d03f33}.combat-log-panel{position:absolute;top:70px;left:15px;width:280px;max-height:200px;background:#000000e6;border:2px solid #555;border-radius:8px;z-index:24;overflow:hidden;display:flex;flex-direction:column}.combat-log-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#1e1e32e6;border-bottom:1px solid #444}.combat-log-header .log-title{margin:0;font-size:.9em}.combat-log-close{width:28px;height:28px;padding:0;font-size:1em;background:transparent;border:1px solid #555;border-radius:4px;color:#aaa;cursor:pointer;display:flex;align-items:center;justify-content:center}.combat-log-close:hover{border-color:#e74c3c;color:#e74c3c}.combat-log-panel #combat-log{flex:1;overflow-y:auto;padding:10px;max-height:150px}.arena-hand{position:absolute!important;bottom:clamp(60px,10vh,100px)!important;right:clamp(5px,1vw,10px)!important;left:auto!important;transform:none!important;width:var(--hand-width)!important;max-width:calc(100vw - 20px)!important;z-index:9998!important;overflow:visible!important}.arena-hand .cards{display:flex;gap:var(--hand-gap);flex-wrap:wrap;justify-content:center;align-items:flex-start;overflow:visible!important;padding:12px 4px 4px}.arena-hand .card-wrapper{flex-shrink:0;flex-grow:0;position:relative}.arena-hand .card-wrapper:hover:not(:has(.unplayable)) .card{transform:translateY(-20px) scale(1.05)}.arena-hand .card-wrapper:hover:not(:has(.unplayable)) .card-cost{transform:translateY(-20px) scale(1.05)}.arena-hand .card{width:var(--card-width);min-width:var(--card-width);height:auto;min-height:var(--card-height);padding:var(--card-padding);font-size:var(--card-font-size);overflow:hidden}.arena-hand .card .card-name{font-size:.6em;margin-bottom:2px;line-height:1.1;text-align:center}.arena-hand .card .card-type{font-size:.5em;margin-bottom:2px}.arena-hand .card-cost{width:13px;height:13px;font-size:.6em;top:-4px;right:-4px}.arena-hand .card .card-art{height:calc(var(--card-width) * .38);width:90%;margin:-4px auto 2px}.arena-hand .card .card-description{font-size:.72em;line-height:1.15;flex:1;min-height:0;overflow-y:auto}.hand-header,.hand-area,.controls,.log-area{display:none!important}.game-over{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);background:#000000f2;border:3px solid #f4d03f;border-radius:15px;padding:30px;text-align:center;z-index:10000;max-width:90%}.game-over h2{font-size:2em;margin-bottom:15px}.victory h2{color:#2ecc71}.defeat h2{color:#e74c3c}.piles{display:flex;gap:10px;margin-top:10px;font-size:.85em;flex-wrap:wrap}.pile{background:#0006;padding:6px 10px;border-radius:5px;border:1px solid #555}.status-effects{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.status{background:#0009;padding:3px 6px;border-radius:4px;font-size:.8em;border:1px solid #666}.block-display{display:inline-flex;align-items:center;gap:4px;background:#6495ed4d;border:2px solid #6495ed;padding:3px 8px;border-radius:5px;font-weight:700;color:#6495ed;font-size:.9em}.block-icon{width:16px;height:16px;vertical-align:middle;display:inline-block;filter:brightness(0) saturate(100%) invert(56%) sepia(51%) saturate(627%) hue-rotate(185deg) brightness(97%) contrast(92%)}.partial-block .block-icon{width:12px;height:12px}.arena-enemy-block .block-icon,.boss-bar-block .block-icon,.floating-damage .block-icon{width:14px;height:14px}.intent-icon{width:16px;height:16px;vertical-align:middle;display:inline-block}.arena-enemy-intent .intent-icon{width:14px;height:14px}.stat-box.health-box{position:relative}.stat-box.health-box .block-display{position:absolute;top:8px;right:8px;font-size:.85em;padding:2px 6px}@media (min-width: 768px){.game-container{max-width:800px}.card{width:180px}}@media (min-width: 1024px){.game-container{max-width:1000px}h1{font-size:2.2em}}@media (min-width: 1024px) and (min-height: 600px){.game-container,.arena-container{max-width:800px}:root{--arena-height: clamp(320px, 55vh, 450px);--arena-max-width: 800px;--card-width: clamp(70px, 6vw, 85px);--card-height: clamp(91px, 7.8vw, 110px);--card-font-size: clamp(.65em, .72em, .85em);--enemy-figure-width: clamp(60px, 6vw, 80px);--enemy-figure-height: clamp(95px, 10vw, 130px);--elite-figure-width: clamp(110px, 12vw, 160px);--elite-figure-height: clamp(150px, 17vw, 210px);--boss-figure-width: clamp(150px, 18vw, 220px);--boss-figure-height: clamp(210px, 26vw, 290px);--hud-font-size: clamp(.75em, .85em, .95em)}}@media (min-width: 1024px) and (min-height: 700px){:root{--arena-height: clamp(350px, 58vh, 480px)}}@media (min-width: 1024px) and (min-height: 800px){:root{--arena-height: clamp(380px, 60vh, 520px)}}@media (min-width: 1280px) and (min-height: 800px){.game-container,.arena-container{max-width:850px}:root{--arena-height: clamp(400px, 62vh, 550px);--arena-max-width: 850px}}.screen{position:absolute;inset:0;display:flex;flex-direction:column;transition:opacity .3s ease,transform .3s ease}.screen.hidden{display:none;opacity:0;pointer-events:none}.screen.entering{opacity:0;transform:translateY(10px)}.screen.exiting{opacity:0;transform:translateY(-10px);pointer-events:none}.screen-header{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;background:#0006;border-bottom:2px solid #4a3728}.screen-header h2{font-size:1.4em;color:#f4d03f;text-shadow:2px 2px 4px rgba(0,0,0,.5);margin:0}.header-spacer{width:80px}.back-btn{background:transparent;color:#f4d03f;border:2px solid #f4d03f;padding:8px 16px;font-size:.9em;flex:none;width:auto}.back-btn:hover{background:#f4d03f1a}#main-menu{justify-content:center;align-items:center;padding:20px;background-image:url(../images/main-menu-bg.jpg);background-size:80%;background-position:center;background-repeat:no-repeat;position:relative}#main-menu:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 20%,rgba(0,0,0,.7) 100%);pointer-events:none}.menu-container{display:flex;flex-direction:column;align-items:center;gap:30px;max-width:400px;width:100%;position:relative;z-index:1}.menu-header{text-align:center}.game-logo{margin-bottom:15px}.logo-main{font-size:4em;color:#f4d03f;text-shadow:0 0 10px rgba(244,208,63,.5),2px 2px 4px rgba(0,0,0,.8);letter-spacing:.2em;margin:0}.logo-sub{font-size:2em;color:#8b4513;text-shadow:2px 2px 4px rgba(0,0,0,.5);letter-spacing:.4em;margin:-5px 0 0}.menu-status{margin-top:10px}.soul-echoes{font-size:1.2em;color:#9b59b6;text-shadow:0 0 8px rgba(155,89,182,.5)}.menu-buttons{display:flex;flex-direction:column;gap:12px;width:80%;max-width:320px}.menu-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:16px 24px;background:linear-gradient(135deg,#2c3e50,#34495e);border:3px solid #555;color:#e0e0e0;text-transform:uppercase;text-align:center}.menu-btn:hover:not(.disabled){border-color:#f4d03f;box-shadow:0 0 15px #f4d03f4d}.menu-btn.primary{background:linear-gradient(135deg,#f4d03f,#e6c230);color:#1a1a2e;border-color:#f4d03f}.menu-btn.primary:hover{box-shadow:0 0 20px #f4d03f80}.menu-btn.disabled{opacity:.5;cursor:not-allowed}.btn-text{font-size:1.1em;font-weight:700;letter-spacing:.15em;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.btn-subtitle{font-size:.7em;color:#888;letter-spacing:.05em;text-transform:none}.btn-subtitle.soul-echoes-count{color:#9b59b6;text-shadow:0 0 6px rgba(155,89,182,.4)}.menu-btn.primary .btn-subtitle{color:#666}.menu-stats-container{display:flex;flex-direction:column;align-items:center;gap:0;background:#0000004d;border-radius:8px;border:1px solid #444;overflow:hidden}.menu-stats{display:flex;gap:30px;padding:15px}.menu-stats .stat-item{text-align:center}.menu-stats .stat-label{font-size:.75em;color:#888;text-transform:uppercase;display:block}.menu-stats .stat-value{font-size:1.4em;font-weight:700;color:#f4d03f}.menu-footer{margin-top:20px;display:flex;justify-content:center;align-items:center;gap:15px;flex-wrap:wrap}.version{font-size:.8em;color:#555}.footer-links{font-size:.8em}.footer-links a{color:#666;text-decoration:none;transition:color .2s}.footer-links a:hover{color:#9b59b6;text-decoration:underline}.footer-divider{color:#444;margin:0 5px}@media (orientation: landscape) and (max-height: 800px){body{padding:0;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}#main-menu{padding:5px 10px;overflow-y:auto;justify-content:center;height:100vh}.menu-container{flex-direction:column;align-items:center;justify-content:center;max-width:100%;gap:10px;padding:10px;height:100%}.menu-header{text-align:center}.game-logo{margin-bottom:0}.logo-main{font-size:clamp(1.2em,4vh,2em)}.logo-sub{font-size:clamp(.6em,2vh,1em);margin-top:-2px}.menu-buttons{display:grid;grid-template-columns:repeat(2,minmax(130px,180px));gap:10px;justify-content:center;width:auto}.menu-btn{padding:clamp(8px,1.5vh,14px) clamp(12px,2vw,20px);min-width:0}.btn-text{font-size:clamp(.7em,2vh,.9em)}.btn-subtitle{font-size:clamp(.5em,1.5vh,.65em)}.menu-platform-links{margin:5px 0}.platform-links{justify-content:center;padding:.5rem 0}.menu-stats-container{flex-direction:row;align-items:center;gap:0;width:auto;border-radius:6px}.auth-status{padding:.25rem .5rem;font-size:clamp(.55em,1.6vh,.7em);border-bottom:none;border-right:1px solid rgba(100,100,140,.3);width:auto;white-space:nowrap}.auth-status .sign-in-btn{padding:.15rem .4rem;font-size:clamp(.5em,1.4vh,.65em)}.menu-stats{padding:.25rem .5rem;gap:clamp(8px,2.5vw,15px)}.menu-stats .stat-value{font-size:clamp(.7em,2.2vh,.9em)}.menu-stats .stat-label{font-size:clamp(.45em,1.4vh,.55em)}.menu-footer{display:none}}@media (orientation: landscape) and (max-height: 400px){.menu-container{gap:5px}.logo-main{font-size:clamp(1em,3.5vh,1.4em)}.logo-sub{font-size:clamp(.5em,1.8vh,.7em)}.menu-btn{padding:clamp(3px,1.2vh,6px) clamp(6px,1.5vw,10px);min-width:clamp(70px,12vw,90px)}.btn-text{font-size:clamp(.55em,1.8vh,.75em)}.btn-subtitle{font-size:clamp(.45em,1.3vh,.55em)}.auth-status{padding:.2rem .4rem;font-size:clamp(.5em,1.5vh,.6em)}.auth-status .sign-in-btn{padding:.1rem .3rem;font-size:clamp(.45em,1.3vh,.55em)}.menu-stats{padding:.2rem .4rem;gap:clamp(8px,2vw,12px)}.menu-stats .stat-value{font-size:clamp(.7em,2vh,.85em)}.menu-stats .stat-label{font-size:clamp(.45em,1.3vh,.55em)}}.auth-status{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.75rem;width:100%;padding:.5rem 1rem;background:#34495e66;border-bottom:1px solid rgba(100,100,140,.3)}.auth-status.guest{color:#95a5a6;background:#34495e4d}.auth-status.guest .guest-label{opacity:.9}.auth-status .sign-in-btn{padding:.2rem .6rem;font-size:.7rem;font-family:inherit;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.auth-status .sign-in-btn:hover{background:linear-gradient(135deg,#5dade2,#3498db);transform:translateY(-1px)}.auth-status .sign-in-btn:active{transform:translateY(0)}.auth-status.logged-in{color:#2ecc71;background:#2ecc7126;border-bottom-color:#2ecc714d}.auth-status .user-name{font-weight:500}.auth-status .sync-indicator{width:1.1rem;height:1.1rem;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.65rem}.auth-status .sync-indicator.synced{background:#2ecc714d;color:#2ecc71}.auth-status .sync-indicator.pending{background:#f1c40f4d;color:#f1c40f;animation:spin 1s linear infinite}.auth-status .sync-indicator.error{background:#e74c3c4d;color:#e74c3c}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.account-status{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.8rem;width:100%;padding:.6rem 1rem;background:#34495e66;border-bottom:1px solid rgba(100,100,140,.3);cursor:default}.account-status.guest{color:#95a5a6;background:#34495e4d}.account-status.logged-in{cursor:pointer;transition:background .2s}.account-status.logged-in:hover{background:#34495e99}.account-status .sync-status{display:flex;align-items:center;gap:.25rem;color:#58d68d}.account-status .sync-status--syncing{color:#5dade2}.account-status .sync-status--pending{color:#f4d03f}.account-status .sync-status--error{color:#e74c3c}.account-status .sync-label{font-size:.75rem}.account-status .status-divider{width:3px;height:3px;border-radius:50%;background:#fff6;margin:0 .25rem}.account-status .user-name{color:#fff;font-weight:500}.sync-spinner-small{display:inline-block;width:10px;height:10px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.account-menu-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:flex-start;padding-top:80px;z-index:1000;animation:fadeIn .15s ease}.account-menu{background:linear-gradient(135deg,#2d3436,#1e272e);border:1px solid rgba(255,255,255,.15);border-radius:12px;min-width:260px;max-width:320px;box-shadow:0 8px 32px #00000080;animation:slideDown .15s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.account-menu-header{display:flex;align-items:center;gap:.75rem;padding:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.account-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#3498db,#2980b9);display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-initials{color:#fff;font-size:1.2rem;font-weight:600;text-transform:uppercase}.account-details{display:flex;flex-direction:column;gap:.15rem;overflow:hidden}.account-name{color:#fff;font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-email{color:#ffffff80;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-menu-sync-info{display:flex;justify-content:space-between;padding:.6rem 1rem;font-size:.75rem;color:#ffffff80}.sync-info-value{color:#ffffffb3}.account-menu-divider{height:1px;background:#ffffff1a;margin:0 .5rem}.account-menu-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;color:#ffffffd9;font-size:.85rem;font-family:inherit;cursor:pointer;text-align:left;transition:background .15s}.account-menu-item:hover{background:#ffffff14}.account-menu-item:first-of-type{border-radius:0}.account-menu-item:last-child{border-radius:0 0 12px 12px}.account-menu-item.logout{color:#e74c3c}.account-menu-item.logout:hover{background:#e74c3c26}.account-menu-item.syncing{opacity:.7;pointer-events:none}.menu-item-icon{font-size:1rem;width:1.2rem;text-align:center}.account-prompt-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1001;opacity:0;transition:opacity .3s ease}.account-prompt-overlay.visible{opacity:1}.account-prompt-overlay.closing{opacity:0}.account-prompt{background:linear-gradient(180deg,#2d3436,#1e272e);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:2rem;max-width:400px;width:90%;text-align:center;transform:translateY(20px);transition:transform .3s ease;box-shadow:0 8px 32px #00000080}.account-prompt-overlay.visible .account-prompt{transform:translateY(0)}.account-prompt-overlay.closing .account-prompt{transform:translateY(20px)}.prompt-header{margin-bottom:1rem}.prompt-icon{font-size:3rem;display:block;margin-bottom:.5rem;color:#3498db}.prompt-header h2{font-size:1.5rem;margin:0;color:#fff;font-weight:600}.prompt-message{color:#95a5a6;font-size:.9375rem;line-height:1.5;margin-bottom:1.5rem}.progress-preview{background:#ffffff0d;border-radius:12px;padding:1rem;margin-bottom:1rem}.progress-preview h3{font-size:.75rem;text-transform:uppercase;color:#7f8c8d;margin:0 0 .75rem;letter-spacing:.5px}.progress-stats{display:flex;justify-content:space-around}.progress-stats .stat-item{display:flex;flex-direction:column;align-items:center}.progress-stats .stat-value{font-size:1.5rem;font-weight:700;color:#9b59b6}.progress-stats .stat-label{font-size:.75rem;color:#7f8c8d}.prompt-warning{font-size:.8125rem;color:#f39c12;margin-bottom:1.5rem;padding:.75rem;background:#f39c121a;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:.5rem}.prompt-warning .warning-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:#f39c12;color:#000;border-radius:50%;font-size:.75rem;font-weight:700;flex-shrink:0}.prompt-buttons{display:flex;flex-direction:column;gap:.75rem}.prompt-buttons .btn{width:100%;padding:.875rem;font-size:1rem;border-radius:8px;border:none;cursor:pointer;transition:transform .1s ease,background .2s ease}.prompt-buttons .btn:active{transform:scale(.98)}.prompt-buttons .btn.primary{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff;font-weight:600}.prompt-buttons .btn.primary:hover{background:linear-gradient(135deg,#a569bd,#9b59b6)}.prompt-buttons .btn.secondary{background:transparent;color:#7f8c8d;border:1px solid rgba(255,255,255,.1)}.prompt-buttons .btn.secondary:hover{background:#ffffff0d;color:#95a5a6}#class-select{overflow:hidden}.carousel-container{display:flex;flex-direction:column;height:100%;background:linear-gradient(180deg,#0a0a15,#1a1a2e,#0f0f1a);pointer-events:auto}.carousel-header{display:flex;justify-content:space-between;align-items:center;padding:15px 25px;background:#0006;border-bottom:2px solid #333;flex-shrink:0}.carousel-header h2{font-size:1.4em;color:#f4d03f;text-transform:uppercase;letter-spacing:.15em;margin:0}.dev-unlock-banner{background:linear-gradient(90deg,#27ae60,#2ecc71);color:#fff;text-align:center;padding:6px;font-size:.8em;font-weight:700}.carousel-main{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;gap:20px;min-height:0}.carousel-nav{width:30px;height:60px;background:#5050644d;border:2px solid #555;border-radius:8px;color:#888;font-size:1.8em;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:10}.carousel-nav:hover{background:#64647880;border-color:#777;color:#bbb;transform:scale(1.05)}.carousel-nav:active{transform:scale(.95)}.carousel-featured{display:flex;gap:30px;align-items:center;max-width:850px;width:100%;animation:fadeSlide .3s ease;pointer-events:auto}@keyframes fadeSlide{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.featured-portrait{position:relative;width:280px;height:360px;border-radius:16px;overflow:hidden;border:4px solid #f4d03f;box-shadow:0 8px 40px #f4d03f4d,0 0 80px #f4d03f1a;flex-shrink:0;background:linear-gradient(180deg,#2a2a4a,#1a1a2e)}.featured-portrait.locked{border-color:#555;box-shadow:0 8px 40px #00000080}.featured-portrait.locked .featured-img{filter:grayscale(.8) brightness(.6)}.featured-img{width:100%;height:100%;object-fit:cover;object-position:center 15%}.featured-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:6em}.featured-lock-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center}.lock-icon-large{font-size:4em;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}.featured-info{flex:1;display:flex;flex-direction:column;gap:12px;pointer-events:auto}.featured-title-row{display:flex;align-items:center;gap:15px}.featured-name{font-size:2.4em;color:#f4d03f;margin:0;text-shadow:0 2px 8px rgba(244,208,63,.4);letter-spacing:.05em}.locked-badge{background:#e74c3c;color:#fff;padding:4px 12px;border-radius:4px;font-size:.7em;font-weight:700;letter-spacing:.1em}.featured-epithet{font-size:1.1em;color:#aaa;font-style:italic;margin:0}.featured-stats{display:flex;gap:20px;margin:8px 0}.featured-stats span{background:#0006;padding:8px 16px;border-radius:8px;border:1px solid #444;font-size:1.1em}.stat-hp{color:#e74c3c}.stat-resolve{color:#3498db}.featured-desc{font-size:1.1em;color:#ccc;line-height:1.5;margin:8px 0}.featured-mechanic{background:#9b59b626;border:1px solid #9b59b6;border-radius:10px;padding:14px 18px;margin:8px 0}.mechanic-name{color:#9b59b6;font-weight:700;font-size:1.1em;margin-bottom:4px}.mechanic-detail{color:#ccc;font-size:.95em}.carousel-start-btn{padding:12px 28px;font-size:1em;font-weight:700;background:linear-gradient(180deg,#c9a227,#8b6914);border:2px solid #f4d03f;color:#fff;border-radius:8px;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.1em;text-shadow:0 2px 4px rgba(0,0,0,.5);box-shadow:0 4px 15px #f4d03f66;margin-top:8px;align-self:flex-start;pointer-events:auto;position:relative;z-index:20}.carousel-start-btn:hover{background:linear-gradient(180deg,#d4ad2c,#9a7618);transform:translateY(-3px);box-shadow:0 10px 30px #f4d03f80}.carousel-start-btn:active{transform:translateY(0)}.carousel-purchase-btn{padding:12px 28px;font-size:1em;font-weight:700;background:linear-gradient(180deg,#5a9bd4,#2e6da4);border:2px solid #7ab8e8;color:#fff;border-radius:8px;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.1em;text-shadow:0 2px 4px rgba(0,0,0,.5);box-shadow:0 4px 15px #5a9bd466;margin-top:8px;align-self:flex-start}.carousel-purchase-btn:hover{background:linear-gradient(180deg,#6ba8de,#3578b5);transform:translateY(-3px);box-shadow:0 10px 30px #5a9bd480}.carousel-purchase-btn:active{transform:translateY(0)}.carousel-action-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.carousel-lore-btn{padding:10px 18px;font-size:.9em;font-weight:700;background:#34495ecc;border:2px solid #5d6d7e;color:#ecf0f1;border-radius:8px;cursor:pointer;transition:all .2s ease;text-shadow:0 1px 2px rgba(0,0,0,.5)}.carousel-lore-btn:hover{background:#4a5f75e6;border-color:#85929e;transform:translateY(-2px)}.carousel-lock-reason{display:flex;align-items:center;gap:10px;background:#e74c3c26;border:1px solid #e74c3c;border-radius:8px;padding:12px 18px;color:#e67e22;font-size:1em}.carousel-lock-reason .lock-icon{position:static;font-size:1.2em}.carousel-thumbnails{display:flex;justify-content:center;gap:8px;padding:15px 20px;background:#00000080;border-top:1px solid #333;flex-shrink:0;overflow-x:auto}.carousel-thumb{width:60px;height:60px;border-radius:8px;border:2px solid #444;background:#1a1a2e;cursor:pointer;transition:all .2s ease;overflow:hidden;flex-shrink:0;position:relative;padding:0;pointer-events:auto;z-index:10}.carousel-thumb img{width:100%;height:100%;object-fit:cover;object-position:center 20%}.carousel-thumb .thumb-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:1.8em}.carousel-thumb:hover{border-color:#888;transform:scale(1.1)}.carousel-thumb.active{border-color:#f4d03f;box-shadow:0 0 15px #f4d03f80;transform:scale(1.1)}.carousel-thumb.locked{opacity:.5}.carousel-thumb.locked img{filter:grayscale(1)}.thumb-lock{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;font-size:1.2em}.carousel-dots{display:flex;justify-content:center;gap:8px;padding:10px;background:#0000004d;flex-shrink:0}.carousel-dot{width:10px;height:10px;border-radius:50%;background:#444;cursor:pointer;transition:all .2s ease}.carousel-dot:hover{background:#666}.carousel-dot.active{background:#f4d03f;box-shadow:0 0 8px #f4d03f99}.lore-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:1;transition:opacity .3s ease}.lore-modal.hidden{display:none;opacity:0}.lore-modal.visible{display:flex}.lore-modal-backdrop{position:absolute;inset:0;background:#000000d9}.lore-modal-content{position:relative;background:linear-gradient(180deg,#1a1525,#0d0a12);border:2px solid #f4d03f;border-radius:16px;padding:30px;max-width:650px;max-height:80vh;overflow-y:auto;box-shadow:0 0 60px #f4d03f4d;animation:loreModalEnter .3s ease-out}@keyframes loreModalEnter{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.lore-modal-close{position:absolute;top:15px;right:15px;background:#e74c3c4d;border:1px solid #e74c3c;color:#e74c3c;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1.2em;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.lore-modal-close:hover{background:#e74c3c80;transform:scale(1.1)}.lore-header{text-align:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid rgba(244,208,63,.3)}.lore-name{font-size:2em;color:#f4d03f;margin:0 0 5px;text-shadow:0 0 20px rgba(244,208,63,.5)}.lore-title{font-size:1.1em;color:#a88b32;font-style:italic;margin:0}.lore-hook{font-size:1.1em;color:#ecf0f1;text-align:center;padding:15px;background:#f4d03f1a;border-radius:8px;margin-bottom:20px;font-style:italic}.lore-section{margin-bottom:20px}.lore-section h3{color:#f4d03f;font-size:1em;text-transform:uppercase;letter-spacing:.1em;margin:0 0 10px;padding-bottom:5px;border-bottom:1px solid rgba(244,208,63,.2)}.lore-backstory p,.lore-motivation{color:#bdc3c7;line-height:1.7;margin:0 0 12px}.lore-backstory p:last-child,.lore-motivation{margin-bottom:0}.lore-quote{font-style:italic;font-size:1.1em;color:#e8d892;text-align:center;padding:20px;margin:20px 0;border-left:3px solid #f4d03f;background:#f4d03f0d;border-radius:0 8px 8px 0}.lore-voices{background:#0000004d;padding:15px;border-radius:8px}.voice-sample{color:#95a5a6;margin-bottom:8px;font-size:.9em}.voice-sample:last-child{margin-bottom:0}.voice-sample strong{color:#7f8c8d}@media (max-width: 600px){.lore-modal-content{padding:20px;max-height:85vh}.lore-name{font-size:1.5em}.lore-hook{font-size:1em;padding:12px}.lore-quote{font-size:1em;padding:15px}}@media (max-width: 900px){.carousel-featured{flex-direction:column;text-align:center}.featured-portrait{width:200px;height:260px}.featured-name{font-size:1.8em}.featured-title-row{justify-content:center;flex-wrap:wrap}.featured-stats{justify-content:center}.carousel-start-btn{align-self:center}.carousel-lock-reason{justify-content:center}.carousel-nav{width:26px;height:50px;font-size:1.5em}.carousel-start-btn{padding:10px 22px;font-size:.9em}}@media (max-width: 600px){.carousel-header{padding:10px 15px}.carousel-header h2{font-size:1em}.carousel-main{padding:10px;gap:10px}.featured-portrait{width:150px;height:200px}.featured-name{font-size:1.4em}.featured-epithet{font-size:.9em}.featured-stats span{padding:6px 10px;font-size:.9em}.featured-desc{font-size:.9em}.featured-mechanic{padding:10px 12px}.mechanic-name{font-size:.95em}.mechanic-detail{font-size:.85em}.carousel-start-btn{padding:12px 24px;font-size:1em}.carousel-thumb{width:45px;height:45px}.carousel-nav{width:24px;height:40px;font-size:1.3em}.carousel-start-btn{padding:10px 20px;font-size:.85em}}#settings{overflow-y:auto;display:flex;flex-direction:column;align-items:stretch;background:linear-gradient(180deg,#0d0d1a,#1a1a2e,#0d0d1a);padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}#settings .screen-header{flex-shrink:0}#settings .settings-container{flex:1;overflow-y:auto}.settings-container{max-width:900px;width:100%;margin:0 auto;padding:15px 20px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.settings-section{background:#0000004d;border:2px solid #444;border-radius:10px;padding:12px 15px;margin-bottom:0}.settings-section h3{color:#f4d03f;margin-bottom:10px;font-size:.95em;text-transform:uppercase;letter-spacing:.1em}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #333}.setting-row:last-child{border-bottom:none}.setting-row label{color:#ddd;font-size:.85em}.slider-container{display:flex;align-items:center;gap:10px}.slider-container input[type=range]{width:100px;height:5px;background:#333;border-radius:3px;outline:none;cursor:pointer;-webkit-appearance:none;appearance:none}.slider-container input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#f4d03f;border-radius:50%;cursor:pointer}.slider-container input[type=range]::-moz-range-thumb{width:14px;height:14px;background:#f4d03f;border-radius:50%;cursor:pointer;border:none}.slider-value{color:#f4d03f;font-weight:700;min-width:40px;text-align:right;font-size:.85em}.mute-btn{width:32px;height:32px;padding:0;border:1px solid rgba(255,255,255,.3);border-radius:4px;background:transparent;color:#f4d03f;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;flex-shrink:0}.mute-btn:hover{border-color:#f4d03f;background:#f4d03f1a}.mute-btn.muted{background:#f003;border-color:#ff646480;color:#f66}.mute-btn.muted:hover{background:#ff00004d}.slider-container input[type=range]:disabled{opacity:.4;cursor:not-allowed}.slider-container input[type=range]:disabled::-webkit-slider-thumb{background:#666;cursor:not-allowed}.slider-container input[type=range]:disabled::-moz-range-thumb{background:#666;cursor:not-allowed}.toggle-container{display:flex;align-items:center}.toggle-btn{padding:6px 14px;background:#333;border:2px solid #555;color:#888;font-size:.8em;min-width:55px;flex:none}.toggle-btn.active{background:linear-gradient(135deg,#2ecc71,#27ae60);border-color:#2ecc71;color:#fff}.danger-btn{background:linear-gradient(135deg,#e74c3c,#c0392b);border:none;color:#fff;padding:10px 20px;font-size:.9em;flex:none}.account-email{color:#2ecc71;font-weight:500}.account-status{color:#888;font-style:italic}.danger-btn:hover{box-shadow:0 0 10px #e74c3c80}@media (max-width: 768px){.settings-container{grid-template-columns:1fr;padding:10px}}@media (max-width: 1024px){.menu-container{max-width:450px}.game-logo{margin-bottom:25px}.logo-main{font-size:2.8em}.logo-sub{font-size:1.3em}}@media (max-width: 800px){.menu-container{max-width:400px;padding:15px}.menu-buttons{gap:10px}.menu-btn{padding:14px 20px}.btn-text{font-size:1em;letter-spacing:.1em}.logo-main{font-size:2.5em;letter-spacing:.2em}.logo-sub{font-size:1.2em}.menu-stats{gap:20px;padding:12px}.menu-stats .stat-value{font-size:1.2em}}@media (max-width: 600px){.logo-main{font-size:2.2em}.logo-sub{font-size:1.1em}.menu-stats{gap:15px;padding:12px}.slider-container input[type=range]{width:100px}}.map-screen{display:flex;flex-direction:column;height:100vh;background:linear-gradient(180deg,#0a0a0f,#1a1520,#0a0a0f)}.map-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#0009;border-bottom:2px solid #4a3728}.map-header-left{display:flex;flex-direction:column;gap:5px}.map-title{font-family:Cinzel,Georgia,serif;font-size:1.4em;color:#f4d03f;text-shadow:2px 2px 4px rgba(0,0,0,.8);margin:0;letter-spacing:.05em;text-transform:uppercase}.map-player-stats{display:flex;gap:15px;font-size:.9em}.map-stat{color:#ddd;text-shadow:1px 1px 2px rgba(0,0,0,.8)}.map-hp{color:#ff6b6b}.map-gold{color:gold}.map-container{flex:1;overflow:hidden;position:relative}.map-scroll-area{position:relative;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;padding:20px 40px;display:flex;align-items:center;cursor:grab;user-select:none}.map-scroll-area.dragging{cursor:grabbing}.map-scroll-area.dragging *{pointer-events:none}.map-nodes{position:relative;display:flex;flex-direction:row;align-items:center;gap:80px;padding:0 20px;min-width:max-content;isolation:isolate}.map-connections-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.map-connections{position:absolute;top:0;left:0;pointer-events:none}.map-line{stroke-width:2;stroke-linecap:round}.map-line--available{stroke:#f4d03f99;stroke-width:3}.map-line--future{stroke:#9696964d}.map-column{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px;position:relative;z-index:1}.map-row{display:flex;justify-content:center;gap:60px}.map-node{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:default;transition:all .2s ease;position:relative;border:3px solid transparent}.map-node-icon{font-size:1.6em;display:flex;align-items:center;justify-content:center}.node-icon{width:28px;height:28px;fill:currentColor;transition:transform .2s ease;color:#fffffff2}.map-node:hover .node-icon{transform:scale(1.1);color:#fff}.map-node--visited .node-icon{opacity:.6}.map-node--locked .node-icon{opacity:.4;filter:grayscale(50%)}.map-node--current .node-icon{filter:drop-shadow(0 0 4px rgba(255,255,255,.8));color:#fff}.map-node-check{position:absolute;bottom:-4px;right:-4px;background:#2ecc71;color:#fff;width:18px;height:18px;border-radius:50%;font-size:.7em;display:flex;align-items:center;justify-content:center;font-weight:700}.map-node--combat{background:linear-gradient(135deg,#c0392b,#e74c3c)}.map-node--elite{background:linear-gradient(135deg,#d35400,#e67e22);border-color:#c0392b}.map-node--campfire{background:linear-gradient(135deg,#d68910,#f39c12)}.map-node--merchant{background:linear-gradient(135deg,#b7950b,#f1c40f)}.map-node--shrine{background:linear-gradient(135deg,#7d3c98,#9b59b6)}.map-node--boss{background:linear-gradient(135deg,#641e16,#8e0000);width:72px;height:72px;border:3px solid #922b21}.map-node--boss .map-node-icon{font-size:2em}.map-node--boss .node-icon{width:40px;height:40px}.map-node--current{box-shadow:0 0 20px #3498dbcc,0 0 40px #3498db66;animation:currentNodePulse 1.5s ease-in-out infinite;border-color:#3498db}@keyframes currentNodePulse{0%,to{transform:scale(1);box-shadow:0 0 20px #3498dbcc}50%{transform:scale(1.05);box-shadow:0 0 30px #3498db}}.map-node--available{cursor:pointer;opacity:1;border-color:#f4d03f99}.map-node--available:hover{transform:scale(1.15);box-shadow:0 0 15px #f4d03fcc;border-color:#f4d03f}.map-node--visited{opacity:.5;filter:saturate(.5)}.map-node--locked{opacity:.25;filter:grayscale(80%)}.map-legend{display:flex;justify-content:center;gap:20px;padding:12px 20px;background:#0009;border-top:2px solid #4a3728;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:6px;font-size:.8em;color:#aaa}.legend-icon{width:18px;height:18px;filter:brightness(0) invert(.7)}.map-loading{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.2em;color:#888}@media (max-width: 600px){.map-nodes{gap:50px}.map-column{gap:25px}.map-row{gap:30px}.map-node{width:44px;height:44px}.map-node-icon{font-size:1.2em}.node-icon{width:22px;height:22px}.map-node--boss{width:56px;height:56px}.map-node--boss .node-icon{width:32px;height:32px}.map-legend{gap:10px;font-size:.7em;padding:8px 15px}.map-title{font-size:1.1em}.map-scroll-area{padding:15px 20px}}@media (orientation: landscape) and (max-height: 500px){.map-screen{height:100vh;overflow:hidden}.map-header{padding:8px 15px}.map-title{font-size:1em}.map-player-stats{font-size:.8em;gap:10px}.map-container{flex:1;overflow:hidden}.map-scroll-area{padding:10px 15px;height:100%;overflow-x:scroll;-webkit-overflow-scrolling:touch}.map-nodes{gap:40px;min-height:auto;padding:10px 50px;margin:0 auto}.map-column{gap:12px}.map-node{width:36px;height:36px;border-radius:8px}.map-node-icon{font-size:1em}.node-icon{width:18px;height:18px}.map-node--boss{width:48px;height:48px}.map-node--boss .node-icon{width:26px;height:26px}.map-legend{display:none}.map-footer{padding:6px 10px}.map-footer .btn{padding:6px 12px;font-size:.8em}.carousel-container{overflow:hidden}.carousel-header{padding:5px 12px}.carousel-header h2{font-size:clamp(.7rem,2vw,.9rem)}.carousel-main{padding:5px 15px;gap:12px;flex:1;min-height:0}.carousel-featured{flex-direction:row;gap:20px;text-align:left;max-width:700px;margin:0 auto;align-items:center;justify-content:center}.featured-portrait{width:clamp(138px,35vh,200px);height:clamp(175px,44vh,250px);border-width:3px;flex-shrink:0}.featured-info{gap:5px;max-width:320px;align-items:flex-start}.featured-name{font-size:clamp(1rem,3vw,1.3rem)}.featured-title-row{gap:8px}.featured-epithet{font-size:clamp(.65rem,1.6vw,.85rem);margin:0}.featured-stats{gap:10px;margin:5px 0}.featured-stats span{padding:4px 10px;font-size:clamp(.65rem,1.6vw,.8rem)}.featured-desc{font-size:clamp(.65rem,1.5vw,.8rem);margin:5px 0;line-height:1.3}.featured-mechanic{padding:8px 12px;margin:5px 0}.mechanic-name{font-size:clamp(.65rem,1.6vw,.8rem)}.mechanic-detail{font-size:clamp(.6rem,1.4vw,.75rem)}.carousel-start-btn{padding:8px 20px;font-size:clamp(.75rem,1.8vw,.9rem);margin-top:5px;align-self:center;pointer-events:auto!important;position:relative;z-index:20}.carousel-lock-reason{padding:6px 12px;font-size:clamp(.65rem,1.5vw,.8rem)}.carousel-nav{width:24px;height:50px;font-size:1.3em}.carousel-thumbnails{padding:6px 10px;gap:4px}.carousel-thumb{width:32px;height:32px}.carousel-dots{padding:4px;gap:5px}.carousel-dot{width:6px;height:6px}.class-detail-epithet{font-size:clamp(.55rem,1.5vw,.7rem)}.class-detail-stats{font-size:clamp(.55rem,1.5vw,.7rem);gap:10px}.class-detail-content{gap:8px}.class-detail-hook{font-size:clamp(.6rem,1.6vw,.75rem);padding:6px}.class-detail-section h3{font-size:clamp(.65rem,1.7vw,.8rem);margin-bottom:4px}.mechanic-summary,.mechanic-tooltip-text,.class-detail-backstory p{font-size:clamp(.5rem,1.4vw,.65rem);line-height:1.3}.mechanic-detail{font-size:clamp(.5rem,1.4vw,.65rem)}.class-detail-quote-inline{font-size:clamp(.5rem,1.4vw,.65rem);padding:6px 10px}}@media (orientation: landscape) and (max-height: 400px){.map-header{padding:5px 10px}.map-nodes{gap:30px;padding:5px 15px}.map-column{gap:8px}.map-node{width:32px;height:32px}.node-icon{width:16px;height:16px}.map-node--boss{width:42px;height:42px}}.chomp-timer-container{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:1000;display:flex;flex-direction:column;align-items:center;gap:8px}.chomp-timer{width:200px;height:20px;background:#000c;border:2px solid #8b0000;border-radius:10px;overflow:hidden;position:relative}.chomp-timer-fill{height:100%;background:linear-gradient(90deg,#8b0000,red,#8b0000);transition:width .1s linear;animation:chomp-pulse 1s ease-in-out infinite}@keyframes chomp-pulse{0%,to{opacity:.8}50%{opacity:1}}.chomp-timer-label{color:#f44;font-size:.9em;font-weight:700;text-shadow:0 0 10px rgba(255,0,0,.5);animation:chomp-label-pulse 1s ease-in-out infinite}@keyframes chomp-label-pulse{0%,to{opacity:.7}50%{opacity:1}}.chomp-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2000;pointer-events:none;display:none}.chomp-overlay.active{display:block;animation:chomp-screen .5s ease-out forwards}@keyframes chomp-screen{0%{background:transparent}20%{background:#8b000099}to{background:transparent}}.chomp-face{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);font-size:150px;opacity:0}.chomp-overlay.active .chomp-face{animation:chomp-face-rush .5s ease-out forwards}@keyframes chomp-face-rush{0%{transform:translate(-50%,-50%) scale(0);opacity:0}30%{transform:translate(-50%,-50%) scale(2);opacity:1}50%{transform:translate(-50%,-50%) scale(2.2)}to{transform:translate(-50%,-50%) scale(0);opacity:0}}.card.corrupted{position:relative;border-color:#8b0000!important;box-shadow:0 0 15px #8b000099!important}.card.corrupted:before{content:"☠️";position:absolute;top:-8px;right:-8px;font-size:1.2em;z-index:10}.card.corrupted:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(139,0,0,.2) 0%,transparent 50%,rgba(139,0,0,.2) 100%);pointer-events:none;border-radius:inherit}.boss-dialogue{position:fixed;bottom:200px;left:50%;transform:translate(-50%);background:#000000e6;border:2px solid #8b0000;border-radius:10px;padding:15px 25px;max-width:600px;text-align:center;z-index:900;animation:dialogue-fade-in .5s ease-out}@keyframes dialogue-fade-in{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.boss-dialogue-name{color:#f44;font-size:.9em;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin-bottom:8px;text-shadow:0 0 10px rgba(255,0,0,.5)}.boss-dialogue-text{color:#f66;font-style:italic;font-size:1.1em;text-shadow:0 0 10px rgba(255,0,0,.3)}.boss-dialogue.fade-out{animation:dialogue-fade-out .5s ease-out forwards}@keyframes dialogue-fade-out{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-20px)}}.arena-enemy.hollow-god{filter:drop-shadow(0 0 20px rgba(139,0,0,.6))}.arena-enemy.hollow-god .enemy-name-label{color:#f44;text-shadow:0 0 10px rgba(255,0,0,.5)}.hollow-god-hp{width:200px!important;height:20px!important;border:3px solid #8b0000!important;background:linear-gradient(180deg,#1a0a0a,#0d0505)!important;box-shadow:0 0 15px #8b000080,inset 0 2px 4px #000c!important;position:relative}.hollow-god-hp .arena-enemy-hp-fill{background:linear-gradient(90deg,#8b0000,#c00,#8b0000,#c00,#8b0000)!important;background-size:200% 100%;animation:hollowGodHpPulse 3s ease-in-out infinite}@keyframes hollowGodHpPulse{0%,to{background-position:0% 0%}50%{background-position:100% 0%}}.phase-marker{position:absolute;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#f4d03f,#b8860b);z-index:5;box-shadow:0 0 6px #f4d03fcc}.phase-marker:after{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #f4d03f}.forget-effect{position:fixed;inset:0;pointer-events:none;z-index:1000;background:radial-gradient(circle at center,transparent 30%,rgba(0,0,0,.8) 100%);opacity:0;animation:forgetFlash 1.5s ease-out forwards}@keyframes forgetFlash{0%{opacity:0}20%{opacity:1}to{opacity:0}}.forget-card-dissolve{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);padding:20px 40px;background:linear-gradient(135deg,#1a0a1a,#0d050d);border:2px solid #8b0000;border-radius:10px;color:#f66;font-size:1.2em;font-weight:700;text-align:center;z-index:1001;animation:cardDissolve 1.5s ease-out forwards;box-shadow:0 0 30px #8b000099}.forget-card-dissolve:before{content:"💀";display:block;font-size:2em;margin-bottom:10px}@keyframes cardDissolve{0%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:blur(0)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}to{opacity:0;transform:translate(-50%,-50%) scale(.5);filter:blur(10px)}}.permanently-fractured-cards{position:fixed;top:80px;right:20px;background:#000c;border:2px solid #8b0000;border-radius:8px;padding:10px;max-width:200px;z-index:100}.permanently-fractured-title{color:#f44;font-size:.8em;font-weight:700;margin-bottom:5px;text-align:center}.permanently-fractured-list{display:flex;flex-direction:column;gap:3px;max-height:150px;overflow-y:auto}.permanently-fractured-card{color:#888;font-size:.75em;text-decoration:line-through}.narrative-event-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1000;display:flex;align-items:center;justify-content:center}.narrative-event-screen.hidden{display:none}.narrative-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000d9;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.narrative-card{background:linear-gradient(180deg,#2a1f1a,#1a1412);border:2px solid #8b6914;border-radius:12px;max-width:700px;width:90%;max-height:85vh;overflow-y:auto;padding:2rem;box-shadow:0 0 40px #8b69144d,inset 0 0 20px #00000080;animation:slideIn .4s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.narrative-header{text-align:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(139,105,20,.4)}.narrative-title{color:#d4af37;font-size:1.8rem;margin:0 0 .5rem;text-shadow:0 2px 4px rgba(0,0,0,.5)}.narrative-speaker{display:inline-block;padding:.25rem .75rem;border-radius:4px;font-size:.9rem;font-style:italic}.narrative-speaker.warden{background:#6495ed33;color:#87ceeb;border:1px solid rgba(100,149,237,.4)}.narrative-speaker.character{background:#8b691433;color:#d4af37;border:1px solid rgba(139,105,20,.4)}.narrative-speaker.unknown{background:#80008033;color:plum;border:1px solid rgba(128,0,128,.4)}.narrative-speaker.environment{background:#228b2233;color:#90ee90;border:1px solid rgba(34,139,34,.4)}.narrative-content{margin-bottom:1.5rem}.narrative-text{color:#e8dcc8;font-size:1.1rem;line-height:1.8}.narrative-text p{margin:0 0 1rem}.narrative-text em{color:#d4af37;font-style:italic}.narrative-text strong{color:#87ceeb;font-weight:700}.narrative-choices{display:flex;flex-direction:column;gap:.75rem}.narrative-choice-btn{background:linear-gradient(180deg,#3a2f28,#2a1f1a);border:1px solid #8b6914;border-radius:8px;padding:1rem 1.25rem;color:#e8dcc8;font-size:1rem;cursor:pointer;text-align:left;transition:all .2s ease;display:flex;flex-direction:column;gap:.25rem}.narrative-choice-btn:hover{background:linear-gradient(180deg,#4a3f38,#3a2f28);border-color:#d4af37;transform:translate(5px)}.narrative-choice-btn:active{transform:translate(5px) scale(.98)}.choice-text{font-weight:500;color:#d4af37}.choice-cost{font-size:.85rem;font-weight:400}.choice-cost.hp-cost{color:#ff6b6b}.choice-cost.gold-cost{color:gold}.choice-flavor{font-size:.85rem;font-style:italic;color:#a89880}.continue-btn{text-align:center;justify-content:center;background:linear-gradient(180deg,#2a4a2a,#1a3a1a);border-color:#4a8b4a}.continue-btn:hover{background:linear-gradient(180deg,#3a5a3a,#2a4a2a);border-color:#6aab6a}.narrative-outcome{padding:1rem;border-radius:8px;animation:fadeIn .3s ease-out}.narrative-outcome.positive{background:#228b221a;border:1px solid rgba(34,139,34,.3)}.narrative-outcome.negative{background:#8b22221a;border:1px solid rgba(139,34,34,.3)}.narrative-outcome.mixed{background:#8b69141a;border:1px solid rgba(139,105,20,.3)}.narrative-outcome.neutral{background:#6464641a;border:1px solid rgba(100,100,100,.3)}.outcome-text{margin-bottom:1rem}.outcome-rewards,.outcome-penalties{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.reward-item{background:#228b2233;color:#90ee90;padding:.25rem .5rem;border-radius:4px;font-size:.9rem}.penalty-item{background:#8b222233;color:#ff6b6b;padding:.25rem .5rem;border-radius:4px;font-size:.9rem}@media (orientation: landscape) and (max-height: 500px){.narrative-card{max-width:95vw;max-height:95vh;padding:.5rem .75rem;display:flex;flex-direction:column}.narrative-header{margin-bottom:.35rem;padding-bottom:.35rem}.narrative-title{font-size:clamp(.9rem,2.5vh,1.2rem);margin-bottom:.2rem}.narrative-speaker{font-size:.65rem;padding:.1rem .4rem}.narrative-content{margin-bottom:.4rem;flex:1 1 auto;overflow-y:auto}.narrative-text{font-size:clamp(.7rem,1.8vh,.85rem);line-height:1.35}.narrative-text p{margin:0 0 .4rem}.narrative-choices{gap:.25rem;flex:0 0 auto}.narrative-choice-btn{padding:.3rem .5rem;font-size:clamp(.65rem,1.6vh,.75rem);gap:.1rem;border-radius:5px}.choice-text{font-size:clamp(.65rem,1.8vh,.8rem)}.choice-cost,.choice-flavor{font-size:clamp(.55rem,1.4vh,.65rem)}.continue-btn{padding:.3rem .5rem}.narrative-outcome{padding:.4rem}.outcome-text{margin-bottom:.4rem;font-size:clamp(.65rem,1.6vh,.8rem)}.reward-item,.penalty-item{font-size:.6rem;padding:.15rem .3rem}}@media (orientation: landscape) and (min-height: 501px) and (max-height: 700px){.narrative-card{max-width:80vw;max-height:90vh;padding:1rem 1.25rem}.narrative-title{font-size:1.4rem}.narrative-text{font-size:.95rem;line-height:1.5}.narrative-choice-btn{padding:.7rem 1rem;font-size:.9rem}.narrative-choices{gap:.5rem}}@media (orientation: landscape) and (min-height: 701px) and (max-height: 1024px){.narrative-card{max-width:70vw;max-height:85vh;padding:1.5rem}.narrative-title{font-size:1.6rem}.narrative-text{font-size:1rem;line-height:1.6}.narrative-choice-btn{padding:.85rem 1.1rem;font-size:.95rem}.narrative-choices{gap:.6rem}}.story-card-overlay{position:fixed;bottom:0;left:0;width:100%;padding:1rem;z-index:900;pointer-events:auto;display:flex;justify-content:center}.story-card-overlay.hidden{display:none}.story-card-overlay.entering .story-card{animation:storyCardEnter .3s ease-out}.story-card-overlay.exiting .story-card{animation:storyCardExit .3s ease-in forwards}@keyframes storyCardEnter{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes storyCardExit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(30px)}}.story-card{background:linear-gradient(180deg,#2a1f1af2,#1a1412f2);border:1px solid rgba(139,105,20,.5);border-radius:8px;padding:1.25rem 1.5rem;max-width:650px;width:100%;box-shadow:0 -4px 20px #00000080;cursor:pointer;display:flex;gap:1rem;align-items:flex-start;position:relative}.story-card-icon{font-size:1.5rem;flex-shrink:0;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:#0000004d;border-radius:50%}.story-card-text{flex:1;color:#e8dcc8;font-size:1rem;line-height:1.6}.story-card-text p{margin:0 0 .75rem}.story-card-text p:last-child{margin-bottom:0}.story-card-text em{color:#d4af37;font-style:italic}.story-card-text strong{color:#87ceeb;font-weight:700}.story-card-dismiss{position:absolute;bottom:.5rem;right:1rem;font-size:.75rem;color:#a8988099;font-style:italic}.story-card.warden{border-color:#6495ed80;box-shadow:0 -4px 20px #6495ed33}.story-card.warden .story-card-icon{background:#6495ed33;color:#87ceeb}.story-card.character{border-color:#8b691480;box-shadow:0 -4px 20px #8b691433}.story-card.character .story-card-icon{background:#8b691433;color:#d4af37}.story-card.environment{border-color:#228b2280;box-shadow:0 -4px 20px #228b2233}.story-card.environment .story-card-icon{background:#228b2233;color:#90ee90}.story-card.lore{border-color:#80008080;box-shadow:0 -4px 20px #80008033}.story-card.lore .story-card-icon{background:#80008033;color:plum}@media (max-width: 768px){.narrative-card{padding:1.5rem;margin:1rem}.narrative-title{font-size:1.4rem}.narrative-text{font-size:1rem}.story-card{padding:1rem}.story-card-text{font-size:.95rem}.story-card-icon{width:2rem;height:2rem;font-size:1.2rem}}.upgrade-container{display:flex;flex-direction:column;height:100vh;height:100dvh;padding:1rem;padding-bottom:env(safe-area-inset-bottom,1rem);background:linear-gradient(180deg,#0d0d1a,#1a1a2e,#0d0d1a);overflow:hidden;box-sizing:border-box}.upgrade-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:#1e1e32cc;border-radius:8px;margin-bottom:1rem;position:relative;z-index:10}.upgrade-title{font-size:1.8rem;color:#f4d03f;text-shadow:0 2px 10px rgba(244,208,63,.3)}.soul-echoes-display{display:flex;align-items:center;gap:.5rem;background:#503c784d;padding:.5rem 1rem;border-radius:20px;border:1px solid rgba(147,112,219,.4)}.se-icon{font-size:1.3rem}.se-amount{font-size:1.4rem;font-weight:700;color:plum}.se-label{color:#dda0ddb3;font-size:.85rem}.upgrade-tabs{display:flex;justify-content:center;margin-bottom:1rem;position:relative;z-index:10}.tab-buttons-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.tab-btn{padding:.4rem .8rem;background:#28283c99;border:1px solid rgba(100,100,140,.4);border-radius:6px;color:#ffffffb3;cursor:pointer;font-size:.85rem;transition:all .2s ease}.tab-btn:hover{background:#3c3c50cc;border-color:#9370db99}.tab-btn.active{background:#9370db4d;border-color:#9370db;color:#fff}.upgrade-tree{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:1rem;background:#14142399;border-radius:12px;border:1px solid rgba(100,100,140,.3);min-height:0}.tree-path{max-width:800px;margin:0 auto}.path-name{text-align:center;color:#f4d03f;font-size:1.4rem;margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:2px}.tree-tiers{display:flex;flex-direction:column;gap:1.5rem}.tree-tier{display:flex;flex-direction:column;gap:.75rem}.tier-label{color:#fff6;font-size:.75rem;text-transform:uppercase;letter-spacing:1px;padding-left:.5rem;border-left:2px solid rgba(147,112,219,.4)}.tier-upgrades{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.upgrade-node{width:200px;padding:1rem;border-radius:10px;border:2px solid;transition:all .3s ease;cursor:default}.upgrade-node.available{background:#2e7d3233;border-color:#4caf5099;cursor:pointer}.upgrade-node.available:hover{background:#2e7d324d;border-color:#4caf50;transform:translateY(-2px);box-shadow:0 4px 15px #4caf504d}.upgrade-node.purchased{background:#9370db33;border-color:#9370db99}.upgrade-node.locked{background:#3232464d;border-color:#6464784d;opacity:.6}.upgrade-name{font-weight:700;color:#fff;margin-bottom:.5rem;font-size:.95rem}.upgrade-desc{color:#ffffffb3;font-size:.85rem;margin-bottom:.5rem;line-height:1.3}.upgrade-cost{font-size:.9rem;font-weight:700}.upgrade-node.available .upgrade-cost{color:#4caf50}.upgrade-node.purchased .upgrade-cost{color:#9370db}.upgrade-node.locked .upgrade-cost{color:#fff6}.upgrade-req{font-size:.75rem;color:#f44336cc;margin-top:.5rem;font-style:italic}.upgrade-footer{display:flex;justify-content:center;padding:1rem;margin-top:1rem}.respec-btn{padding:.75rem 1.5rem;background:#b71c1c4d;border:2px solid rgba(244,67,54,.5);border-radius:8px;color:#f44336;cursor:pointer;font-size:.95rem;transition:all .2s ease}.respec-btn:hover:not(.disabled){background:#b71c1c80;border-color:#f44336}.respec-btn.disabled{opacity:.4;cursor:not-allowed}.back-btn{padding:.5rem 1rem;background:#3c3c5099;border:1px solid rgba(100,100,140,.5);border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;transition:all .2s ease}.back-btn:hover{background:#505064cc;border-color:#9370db99}@media (max-width: 768px){.upgrade-header{flex-wrap:wrap;gap:.5rem}.upgrade-title{font-size:1.4rem;order:1;width:100%;text-align:center}.back-btn{order:0}.soul-echoes-display{order:2}.upgrade-node{width:100%;max-width:300px}.tab-buttons-row{justify-content:center}}@media (orientation: portrait) and (max-width: 600px){.upgrade-container{padding:clamp(.5rem,2vw,1rem);height:100dvh;height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.upgrade-header{padding:clamp(.25rem,1vw,.5rem) clamp(.5rem,2vw,1rem);margin-bottom:clamp(.5rem,1.5vw,1rem);flex-direction:column;gap:.5rem;position:relative}.upgrade-title{font-size:clamp(1rem,5vw,1.4rem);order:0;width:100%;text-align:center}.back-btn{position:absolute;top:clamp(.5rem,2vw,1rem);left:clamp(.5rem,2vw,1rem);z-index:1;padding:.35rem .7rem;font-size:.8rem}.soul-echoes-display{padding:clamp(.25rem,1vw,.5rem) clamp(.5rem,2vw,1rem)}.se-amount{font-size:clamp(1rem,4vw,1.4rem)}.se-label{font-size:clamp(.65rem,2.5vw,.85rem)}.upgrade-tabs{margin-bottom:clamp(.5rem,1.5vw,1rem)}.tab-btn{padding:clamp(.25rem,1vw,.4rem) clamp(.4rem,1.5vw,.8rem);font-size:clamp(.65rem,2.5vw,.85rem)}.upgrade-tree{padding:clamp(.5rem,2vw,1rem);flex:1;min-height:0}.path-name{font-size:clamp(1rem,4vw,1.4rem);margin-bottom:clamp(.75rem,2vw,1.5rem)}.tier-label{font-size:clamp(.6rem,2vw,.75rem)}.tree-tiers{gap:clamp(.75rem,2vw,1.5rem)}.tier-upgrades{gap:clamp(.5rem,2vw,1rem)}.upgrade-node{width:100%;max-width:none;padding:clamp(.5rem,2vw,1rem)}.upgrade-name{font-size:clamp(.8rem,3vw,.95rem)}.upgrade-desc{font-size:clamp(.7rem,2.5vw,.85rem)}.upgrade-cost{font-size:clamp(.75rem,2.8vw,.9rem)}.upgrade-footer{padding:clamp(.5rem,2vw,1rem);margin-top:clamp(.5rem,1.5vw,1rem)}.respec-btn{padding:clamp(.5rem,2vw,.75rem) clamp(.75rem,3vw,1.5rem);font-size:clamp(.75rem,3vw,.95rem)}}@media (orientation: landscape) and (max-height: 500px){.upgrade-container{padding:.35rem;padding-left:max(.35rem,env(safe-area-inset-left));padding-right:max(.35rem,env(safe-area-inset-right))}.upgrade-header{padding:.2rem .4rem;margin-bottom:.25rem}.upgrade-title{font-size:.85rem}.back-btn{padding:.2rem .4rem;font-size:.65rem}.soul-echoes-display{padding:.15rem .4rem}.se-icon,.se-amount{font-size:.85rem}.se-label{font-size:.55rem}.upgrade-tabs{margin-bottom:.25rem}.tab-buttons-row{gap:.25rem}.tab-btn{padding:.2rem .4rem;font-size:.6rem}.upgrade-tree{padding:.35rem;flex:1;min-height:0}.tree-tiers{gap:.35rem;flex-direction:row;flex-wrap:wrap;justify-content:center}.tree-tier{flex:0 1 auto;min-width:0}.tier-label{font-size:.5rem;padding:.1rem .3rem}.tier-upgrades{gap:.25rem;flex-direction:row;flex-wrap:wrap;justify-content:center}.upgrade-node{padding:.4rem .5rem;width:auto;min-width:clamp(100px,15vw,140px);max-width:clamp(120px,18vw,160px);text-align:center}.upgrade-name{font-size:clamp(.6rem,1.5vw,.75rem);text-align:center;line-height:1.2}.upgrade-desc{font-size:clamp(.5rem,1.2vw,.6rem);line-height:1.2;text-align:center;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.upgrade-cost{font-size:clamp(.55rem,1.3vw,.65rem);margin-top:.15rem;text-align:center}.upgrade-req{font-size:clamp(.5rem,1.2vw,.6rem);text-align:center}.upgrade-footer{padding:.25rem;margin-top:.25rem}.respec-btn{padding:.25rem .5rem;font-size:.6rem}.class-locked-message{padding:.5rem}.class-locked-message .lock-icon-large{font-size:1.5rem}.class-locked-message p{font-size:.6rem}}.narrative-ending{max-width:500px;max-height:95vh;overflow-y:auto;padding:0;background:linear-gradient(180deg,#0a0a0f,#1a1520,#0d0d12);border:2px solid #4a3728;box-shadow:0 0 60px #000c,0 0 30px #4a37284d}.narrative-ending.defeat{border-color:#8b0000;box-shadow:0 0 60px #000c,0 0 30px #8b00004d}.narrative-ending.victory{border-color:#c9a227;box-shadow:0 0 60px #000c,0 0 30px #c9a2274d}.narrative-ending.bad-ending{border-color:#2a1a3a;box-shadow:0 0 60px #000c,0 0 30px #2a1a3a66}.ending-frame{padding:15px 20px 12px;text-align:center;border-bottom:1px solid rgba(255,255,255,.1)}.defeat-frame{background:linear-gradient(180deg,rgba(139,0,0,.2) 0%,transparent 100%)}.victory-frame{background:linear-gradient(180deg,rgba(201,162,39,.15) 0%,transparent 100%)}.bad-ending-frame{background:linear-gradient(180deg,rgba(42,26,58,.3) 0%,transparent 100%)}.ending-title{font-size:1.3em;letter-spacing:2px;margin-bottom:10px;text-transform:uppercase}.defeat-frame .ending-title{color:#c44;text-shadow:0 0 20px rgba(204,68,68,.5)}.victory-frame .ending-title{color:#f4d03f;text-shadow:0 0 20px rgba(244,208,63,.5)}.bad-ending-frame .ending-title{color:#86a;text-shadow:0 0 20px rgba(136,102,170,.5)}.ending-character{margin:8px 0}.character-portrait{width:60px;height:60px;margin:0 auto 6px;border-radius:50%;border:2px solid #4a3728;background:linear-gradient(135deg,#2a2030,#1a1520)}.defeat-portrait{border-color:#8b0000;background:linear-gradient(135deg,#2a1a1a,#1a0a0a);overflow:hidden}.defeat-portrait-img{width:100%;height:100%;object-fit:cover;filter:grayscale(50%) brightness(.7)}.victory-portrait{border-color:#c9a227;background:linear-gradient(135deg,#2a2520,#1a1a10)}.character-name{font-size:1em;color:#d4c4a8;font-style:italic}.ending-subtitle{font-size:.8em;color:#888;font-style:italic;margin-top:6px}.narrative-content{padding:15px 20px}.narrative-text{line-height:1.5;color:#c8c0b0;font-size:.9em}.narrative-text p{margin-bottom:.7em;text-align:left}.narrative-text p:last-child{margin-bottom:0}.warden-quote{margin-top:15px;padding:12px 15px;background:#0006;border-left:3px solid #665544;border-radius:0 8px 8px 0}.warden-attribution{display:block;font-size:.85em;color:#888;margin-bottom:8px}.warden-quote p{color:#a98;font-style:italic;margin:0}.warden-speech{line-height:1.7;color:#c8c0b0;margin-bottom:25px}.warden-speech p{margin-bottom:1em;text-align:left}.victory-choices{display:flex;flex-direction:column;gap:15px}.victory-choice-btn{display:flex;flex-direction:column;gap:6px;padding:20px;background:linear-gradient(135deg,#2a2520,#1a1a15);border:2px solid #4a4030;border-radius:10px;cursor:pointer;transition:all .2s ease;text-align:left}.victory-choice-btn:hover{border-color:#c9a227;background:linear-gradient(135deg,#3a3530,#2a2a20);transform:translateY(-2px);box-shadow:0 4px 15px #c9a22733}.victory-choice-btn .choice-label{font-size:1.1em;font-weight:700;color:#f4d03f}.victory-choice-btn .choice-description{font-size:.9em;color:#987;font-style:italic}.victory-choice-btn.secret-choice{background:linear-gradient(135deg,#1a1520,#0a0a15);border-color:#6a4a8a;animation:secret-flicker 3s ease-in-out infinite;position:relative}.victory-choice-btn.secret-choice:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,transparent,rgba(138,100,180,.3),transparent);border-radius:12px;animation:secret-glow 2s ease-in-out infinite alternate;pointer-events:none}.victory-choice-btn.secret-choice:hover{border-color:#a080c0;background:linear-gradient(135deg,#2a2030,#1a1a25);box-shadow:0 4px 20px #8a64b466}.victory-choice-btn.secret-choice .choice-label{color:#c0a0e0}.victory-choice-btn.secret-choice .choice-description{color:#8a7a9a}@keyframes secret-flicker{0%,to{opacity:1}50%{opacity:.85}52%{opacity:1}54%{opacity:.9}56%{opacity:1}}@keyframes secret-glow{0%{opacity:.3}to{opacity:.6}}.true-ending-screen,.true-ending-final{background:radial-gradient(ellipse at center,#1a1525,#0a0a10);border-color:#6a4a8a}.true-ending-frame{border-color:#8a6aaa}.true-ending-title,.true-ending-final-title{color:#c0a0e0;text-shadow:0 0 20px rgba(160,100,200,.5)}.true-ending-content p{color:#d0c0e0}.true-ending-final-content .legacy-line{color:#e0d0f0;font-size:1.1em;text-align:center;margin:10px 0}.true-ending-final-content .farewell-divider{text-align:center;color:#8a6aaa;font-size:1.2em;margin:25px 0 20px;letter-spacing:8px}.true-ending-final-content .farewell-line{color:#b090d0;font-style:italic;text-align:center;margin-top:15px}.true-ending-final-content .farewell-line em{color:#c0a0e0;font-style:normal;font-weight:700}.epilogue{margin-top:25px;padding-top:20px}.epilogue-divider{text-align:center;color:#555;font-size:1.2em;margin-bottom:20px;letter-spacing:8px}.epilogue-text{line-height:1.7;color:#a8a098;font-style:italic}.epilogue-text p{margin-bottom:1em;text-align:left}.bad-ending-content{text-align:center;padding:40px 30px}.bad-ending-line{font-size:1.05em;color:#86a;margin-bottom:12px;font-style:italic}.bad-ending-line:last-child{margin-top:20px;color:#a8c}.ending-footer{padding:12px 20px 15px;text-align:center;border-top:1px solid rgba(255,255,255,.1);background:#0003}.soul-echoes-earned{color:#9b59b6;font-size:.9em;margin-bottom:10px}.ending-sync-status{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.8em;margin-bottom:10px;transition:opacity .3s ease}.ending-sync-status .sync-status-icon{font-weight:700}.ending-sync-status.sync-pending,.ending-sync-status.sync-syncing{color:#5dade2}.ending-sync-status.sync-syncing .sync-status-icon{animation:pulse 1s ease-in-out infinite}.ending-sync-status.sync-synced{color:#58d68d}.ending-sync-status.sync-error{color:#e74c3c}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.ending-button{background:linear-gradient(135deg,#4a3728,#2a1a10);border:2px solid #665544;color:#d4c4a8;padding:10px 24px;font-size:.9em;border-radius:8px;cursor:pointer;transition:all .2s ease}.ending-button:hover{background:linear-gradient(135deg,#5a4738,#3a2a20);border-color:#876;transform:translateY(-2px)}.ending-buttons{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.share-button{background:linear-gradient(135deg,#3498db,#2980b9);border-color:#5dade2;color:#fff}.share-button:hover{background:linear-gradient(135deg,#5dade2,#3498db);border-color:#85c1e9}.ending-finale .ending-frame{padding-bottom:25px}.ending-finale .narrative-content{padding:30px}@media (max-width: 600px){.narrative-ending{max-width:95%;max-height:90vh}.ending-frame{padding:12px 15px 10px}.ending-title{font-size:1.1em;letter-spacing:1px}.character-portrait{width:50px;height:50px}.character-name{font-size:.9em}.narrative-content{padding:12px 15px}.narrative-text{font-size:.85em;line-height:1.4}.warden-quote{margin-top:10px;padding:10px 12px}.ending-footer{padding:10px 15px 12px}.ending-button{padding:8px 20px;font-size:.85em}.victory-choice-btn{padding:12px}}@media (orientation: landscape) and (max-height: 500px){.narrative-ending{max-width:80%;max-height:95vh;display:flex;flex-direction:column}.ending-frame{padding:8px 15px 6px;flex-shrink:0}.ending-title{font-size:1em;margin-bottom:5px}.ending-character{margin:4px 0}.character-portrait{width:40px;height:40px;margin-bottom:4px}.character-name{font-size:.85em}.ending-subtitle{font-size:.75em;margin-top:4px}.narrative-content{padding:10px 15px;flex:1;overflow-y:auto}.narrative-text{font-size:.8em;line-height:1.35}.narrative-text p{margin-bottom:.5em}.warden-quote{margin-top:8px;padding:8px 10px}.warden-attribution{font-size:.75em;margin-bottom:4px}.warden-quote p{font-size:.85em}.ending-footer{padding:8px 15px 10px;flex-shrink:0}.soul-echoes-earned{font-size:.8em;margin-bottom:6px}.ending-button{padding:6px 16px;font-size:.8em}}.shrine-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1000;display:flex;align-items:center;justify-content:center}.shrine-screen.hidden{display:none}.shrine-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000e6;display:flex;align-items:center;justify-content:center;animation:shrineOverlayFade .4s ease-out}@keyframes shrineOverlayFade{0%{opacity:0}to{opacity:1}}.shrine-card{background:linear-gradient(180deg,#2d2420,#1a1412);border:2px solid #6a5a4a;border-radius:16px;max-width:750px;width:92%;max-height:88vh;overflow-y:auto;padding:2rem;box-shadow:0 0 60px #6a5a4a4d,0 0 120px #8b69141a,inset 0 0 30px #00000080;animation:shrineSlideIn .5s ease-out}@keyframes shrineSlideIn{0%{opacity:0;transform:translateY(-40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.shrine-header{text-align:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(139,105,20,.3);display:flex;justify-content:center;align-items:center;gap:1rem}.shrine-title{color:#d4af37;font-size:2rem;margin:0;text-shadow:0 2px 8px rgba(0,0,0,.6);font-weight:600}.shrine-act{background:#8b691433;color:#a89880;padding:.25rem .75rem;border-radius:4px;font-size:.85rem;border:1px solid rgba(139,105,20,.3)}.shrine-content{margin-bottom:1.5rem}.shrine-description{color:#e8dcc8;font-size:1.15rem;line-height:1.9;margin-bottom:1.5rem;font-style:italic}.shrine-description p{margin:0 0 .75rem}.shrine-warden-whisper{background:#6495ed1a;border-left:3px solid #6495ed;padding:1rem 1.25rem;margin-bottom:1.5rem;border-radius:0 8px 8px 0}.warden-label{color:#87ceeb;font-size:.85rem;display:block;margin-bottom:.5rem;font-style:italic}.warden-text{color:#b8d4f0;margin:0;font-style:italic;line-height:1.7}.shrine-class-text{background:#8b691426;border-left:3px solid #d4af37;padding:1rem 1.25rem;margin-bottom:1.5rem;border-radius:0 8px 8px 0}.shrine-class-text p{margin:0;color:#d4c4a8;font-style:italic}.shrine-warning{background:#dc354526;border:1px solid rgba(220,53,69,.4);padding:.75rem 1rem;margin-bottom:1.5rem;border-radius:6px;display:flex;align-items:center;gap:.75rem}.warning-icon{font-size:1.2rem}.warning-text{color:#f99;font-style:italic}.shrine-prompt{color:#f0e6d8;font-size:1.2rem;line-height:1.7;padding:1rem 1.25rem;background:#8b69141a;border-radius:8px;text-align:center}.shrine-prompt p{margin:0}.shrine-choices{display:flex;flex-direction:column;gap:.85rem}.shrine-choice-btn{background:linear-gradient(180deg,#3a2f28,#2a1f1a);border:1px solid #6a5a4a;border-radius:10px;padding:1.1rem 1.4rem;color:#e8dcc8;font-size:1rem;cursor:pointer;text-align:left;transition:all .2s ease;display:flex;flex-direction:column;gap:.3rem}.shrine-choice-btn:hover:not(.disabled){background:linear-gradient(180deg,#4a3f38,#3a2f28);border-color:#d4af37;transform:translate(6px);box-shadow:0 4px 12px #0000004d}.shrine-choice-btn:active:not(.disabled){transform:translate(6px) scale(.98)}.shrine-choice-btn.disabled{opacity:.5;cursor:not-allowed}.shrine-choice-btn .choice-text{font-weight:600;color:#d4af37;font-size:1.05rem}.shrine-choice-btn .choice-cost{font-size:.9rem;font-weight:400;margin-left:.5rem}.shrine-choice-btn .choice-cost.hp-cost{color:#ff6b6b}.shrine-choice-btn .choice-cost.gold-cost{color:gold}.shrine-choice-btn .choice-flavor{font-size:.9rem;font-style:italic;color:#a89880}.shrine-choice-btn.continue-btn{text-align:center;justify-content:center;background:linear-gradient(180deg,#2a4a2a,#1a3a1a);border-color:#4a8b4a;margin-top:.5rem}.shrine-choice-btn.continue-btn:hover{background:linear-gradient(180deg,#3a5a3a,#2a4a2a);border-color:#6aab6a}.shrine-outcome{padding:1.25rem;border-radius:10px;animation:shrineOutcomeFade .3s ease-out}@keyframes shrineOutcomeFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.shrine-outcome.positive{background:#228b221f;border:1px solid rgba(34,139,34,.35)}.shrine-outcome.negative{background:#8b22221f;border:1px solid rgba(139,34,34,.35)}.shrine-outcome.mixed{background:#8b69141f;border:1px solid rgba(139,105,20,.35)}.shrine-outcome.neutral{background:#6464641f;border:1px solid rgba(100,100,100,.35)}.outcome-text{margin-bottom:1rem;color:#e8dcc8;line-height:1.7}.outcome-text p{margin:0}.outcome-rewards,.outcome-costs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.reward-item{background:#228b2240;color:#90ee90;padding:.3rem .6rem;border-radius:5px;font-size:.9rem}.cost-item{background:#8b222240;color:#ff6b6b;padding:.3rem .6rem;border-radius:5px;font-size:.9rem}.outcome-lore{background:#6495ed1a;border-left:3px solid #6495ed;padding:1rem 1.25rem;margin:1rem 0;border-radius:0 8px 8px 0}.lore-label{color:#87ceeb;font-size:.85rem;display:block;margin-bottom:.5rem;font-style:italic}.lore-text{color:#c8d8f0;margin:0;font-size:.95rem;line-height:1.7;white-space:pre-wrap}@media (max-width: 768px){.shrine-card{padding:1.5rem;max-height:92vh}.shrine-title{font-size:1.6rem}.shrine-description{font-size:1.05rem}.shrine-prompt{font-size:1.1rem;padding:.85rem 1rem}.shrine-choice-btn{padding:1rem 1.2rem}.shrine-choice-btn .choice-text{font-size:1rem}.outcome-lore{padding:.85rem 1rem}}.shop-screen.screen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1000;display:flex;align-items:center;justify-content:center;background:transparent}.shop-screen.screen.hidden{display:none}.shop-overlay{position:absolute;inset:0;background:#0a080ff2;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center}.shop-card{position:relative;z-index:901;background:linear-gradient(135deg,#1a1525,#0d0a12);border:2px solid #4a3728;border-radius:12px;padding:1.25rem 1.5rem;max-width:850px;max-height:95vh;width:95%;overflow:hidden;box-shadow:0 0 40px #ffd7001a,inset 0 1px #ffd7001a;display:flex;flex-direction:column}.shop-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,215,0,.3);flex-shrink:0}.shop-title{color:gold;font-size:1.4rem;margin:0;text-shadow:0 2px 8px rgba(255,215,0,.3)}.shop-gold{display:flex;align-items:center;gap:.5rem;font-size:1.2rem;color:gold;font-weight:700}.shop-gold .gold-icon{font-size:1.3rem}.icon-img{display:inline-block;vertical-align:middle;object-fit:contain}.icon-img.icon-heart{width:16px;height:16px;filter:brightness(0) saturate(100%) invert(20%) sepia(100%) saturate(5000%) hue-rotate(0deg) brightness(100%) contrast(100%)}.icon-img.icon-gold{width:16px;height:16px;filter:brightness(0) saturate(100%) invert(85%) sepia(60%) saturate(1000%) hue-rotate(5deg) brightness(105%) contrast(105%)}.icon-img.icon-deck{width:16px;height:16px;filter:brightness(0) saturate(100%) invert(70%) sepia(30%) saturate(500%) hue-rotate(15deg) brightness(95%) contrast(90%)}.icon-img.icon-lg{width:20px;height:20px}.icon-img.icon-xl{width:24px;height:24px}.icon-img.icon-confirmation{width:64px;height:64px}.icon-img.icon-deck-gradient{filter:none;mask-image:url(../images/icons/icon_deck.png);mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-image:url(../images/icons/icon_deck.png);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;background:linear-gradient(135deg,#c9a855,#8b6914,#d4af37)}.icon-img.icon-gold-gradient{filter:none;mask-image:url(../images/icons/icon_gold.png);mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-image:url(../images/icons/icon_gold.png);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;background:linear-gradient(135deg,gold,#ff8c00,#ffec8b)}.shop-content{display:flex;flex-direction:column;gap:.75rem;flex:1;min-height:0}.shop-section-title{color:#87ceeb;font-size:.9rem;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:1px}.shop-cards{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.shop-card-slot{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.6rem;background:#0000004d;border:1px solid #3a3040;border-radius:8px;width:145px;transition:all .2s ease}.shop-card-slot:hover:not(.sold):not(.unaffordable){border-color:gold;box-shadow:0 0 15px #ffd70033}.shop-card-slot.sold{opacity:.5;position:relative}.shop-card-slot.unaffordable{opacity:.6}.sold-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000000b3;color:#ff6b6b;font-size:1.4rem;font-weight:700;border-radius:8px}.shop-card-preview{width:100%;padding:.5rem;background:#1e1928cc;border:2px solid #4a4050;border-radius:6px;text-align:center}.shop-card-preview.rarity-common{border-color:gray}.shop-card-preview.rarity-uncommon{border-color:#3cb371;box-shadow:0 0 8px #3cb3714d}.shop-card-preview.rarity-rare{border-color:gold;box-shadow:0 0 12px #ffd70066}.shop-card-preview .card-name{color:#f4f4f4;font-weight:700;font-size:.85rem;margin-bottom:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-card-preview .card-cost{color:#87ceeb;font-size:.75rem;margin-bottom:.15rem}.shop-card-preview .card-type{color:#888;font-size:.65rem;text-transform:uppercase;margin-bottom:.3rem}.shop-card-preview .card-description{color:#ccc;font-size:.7rem;line-height:1.2}.shop-card-preview .card-rarity{color:#888;font-size:.6rem;text-transform:capitalize;margin-top:.3rem;font-style:italic}.shop-card-price{display:flex;align-items:center;gap:.25rem;font-size:.95rem;color:gold}.unaffordable-price{color:#ff6b6b}.shop-buy-btn{width:100%;padding:.35rem .75rem;background:linear-gradient(180deg,#4a3728,#3a2718);border:1px solid #5a4738;border-radius:4px;color:gold;font-weight:700;font-size:.85rem;cursor:pointer;transition:all .2s ease}.shop-buy-btn:hover:not(:disabled){background:linear-gradient(180deg,#5a4738,#4a3728);border-color:gold}.shop-buy-btn:disabled,.shop-buy-btn.disabled{opacity:.5;cursor:not-allowed}.shop-upgrades{border-top:1px solid rgba(255,215,0,.2);padding-top:.75rem}.shop-upgrades-row{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.shop-upgrade-slot{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.6rem;background:#0000004d;border:1px solid #4a6050;border-radius:8px;width:145px;transition:all .2s ease;position:relative}.shop-upgrade-slot:hover:not(.sold):not(.unaffordable){border-color:#3cb371;box-shadow:0 0 15px #3cb37133}.shop-upgrade-slot.sold{opacity:.5}.shop-upgrade-slot.unaffordable{opacity:.6}.shop-upgrade-preview{width:100%;padding:.5rem;background:#1e2823cc;border:2px solid #3cb371;border-radius:6px;text-align:center}.shop-upgrade-preview .upgrade-icon{font-size:1.5rem;margin-bottom:.25rem}.shop-upgrade-preview .upgrade-name{color:#3cb371;font-weight:700;font-size:.8rem;margin-bottom:.15rem}.shop-upgrade-preview .upgrade-description{color:#aaa;font-size:.65rem;line-height:1.2}.shop-footer-row{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,215,0,.2);flex-shrink:0}.shop-service-btn{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 1rem;background:linear-gradient(180deg,#2a2535,#1a1525);border:1px solid #4a4050;border-radius:6px;color:#f4f4f4;font-size:.85rem;cursor:pointer;transition:all .2s ease}.shop-service-btn:hover:not(:disabled){border-color:#e74c3c;box-shadow:0 0 10px #e74c3c33}.shop-service-btn:disabled,.shop-service-btn.disabled{opacity:.5;cursor:not-allowed}.service-name{font-weight:700}.service-price{color:gold}.shop-leave-btn{padding:.5rem 1.5rem;background:linear-gradient(180deg,#3a3040,#2a2030);border:1px solid #4a4050;border-radius:6px;color:#f4f4f4;font-size:.85rem;cursor:pointer;transition:all .2s ease}.shop-leave-btn:hover{background:linear-gradient(180deg,#4a4050,#3a3040);border-color:#5a5060}.card-removal-overlay{position:fixed;inset:0;z-index:910;background:#000000e6;display:flex;align-items:center;justify-content:center}.card-removal-overlay.hidden{display:none}.card-removal-modal{background:linear-gradient(135deg,#1a1525,#0d0a12);border:2px solid #e74c3c;border-radius:12px;padding:2rem;max-width:800px;max-height:80vh;width:95%;text-align:center}.card-removal-modal h3{color:#e74c3c;margin:0 0 1.5rem;font-size:1.4rem}.removal-deck{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;max-height:50vh;overflow-y:auto;padding:1rem}.removal-card{width:120px;padding:.5rem;background:#1e1928e6;border:2px solid #4a4050;border-radius:6px;cursor:pointer;transition:all .2s ease;position:relative;display:flex;flex-direction:column}.removal-card:hover{border-color:#e74c3c;box-shadow:0 0 10px #e74c3c66;transform:translateY(-2px)}.removal-card.rarity-uncommon{border-color:#3cb371}.removal-card.rarity-rare{border-color:gold}.removal-card .card-cost{position:absolute;top:4px;left:4px;background:#1a1525;color:#87ceeb;font-size:.7rem;font-weight:700;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid #87ceeb}.removal-card .card-name{color:#f4f4f4;font-size:.75rem;font-weight:700;margin-bottom:.2rem;margin-top:.1rem;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.removal-card .card-type{color:#888;font-size:.6rem;text-transform:uppercase;text-align:center;margin-bottom:.3rem}.removal-card .card-description{color:#ccc;font-size:.65rem;line-height:1.3;text-align:center;flex-grow:1}.removal-cancel-btn{margin-top:1.5rem;padding:.75rem 2rem;background:linear-gradient(180deg,#3a3040,#2a2030);border:1px solid #4a4050;border-radius:6px;color:#f4f4f4;cursor:pointer;transition:all .2s ease}.removal-cancel-btn:hover{background:linear-gradient(180deg,#4a4050,#3a3040);border-color:#5a5060}@media (max-width: 768px){.shop-card{padding:1.5rem}.shop-title{font-size:1.4rem}.shop-cards{gap:.75rem}.shop-card-slot{width:150px;padding:.75rem}.shop-card-preview .card-name{font-size:.85rem}.shop-card-preview .card-description{font-size:.75rem}}.floating-damage{position:absolute;font-family:Georgia,serif;font-weight:900;font-size:28px;color:#fff;text-shadow:0 0 6px rgba(0,0,0,1),0 0 12px rgba(0,0,0,.8),3px 3px 0 rgba(0,0,0,.9),-1px -1px 0 rgba(0,0,0,.9);pointer-events:none;z-index:9999;transform:translate(-50%);opacity:0;transition:none;letter-spacing:1px}.floating-damage.animate{animation:floatUp 1s ease-out forwards}.floating-damage.medium{font-size:38px;color:#fc0;text-shadow:0 0 8px rgba(255,200,0,.6),0 0 16px rgba(255,150,0,.4),3px 3px 0 rgba(0,0,0,.95),-1px -1px 0 rgba(0,0,0,.95)}.floating-damage.large{font-size:52px;color:#f33;text-shadow:0 0 10px rgba(255,50,50,.8),0 0 20px rgba(255,0,0,.5),0 0 30px rgba(255,0,0,.3),4px 4px 0 rgba(0,0,0,.95),-2px -2px 0 rgba(0,0,0,.95)}.floating-damage.blocked{font-size:26px;color:#8cf;font-weight:900;text-shadow:0 0 8px rgba(100,180,255,.8),0 0 16px rgba(50,150,255,.5),2px 2px 0 rgba(0,0,0,.9),-1px -1px 0 rgba(0,0,0,.9)}.floating-damage.blocked:before{content:"🛡"}.block-flash{position:fixed;inset:0;pointer-events:none;z-index:9996;background:radial-gradient(ellipse at center,rgba(100,180,255,.3) 0%,rgba(50,120,200,.15) 50%,transparent 80%);animation:blockFlashAnim .2s ease-out forwards}@keyframes blockFlashAnim{0%{opacity:0}30%{opacity:1}to{opacity:0}}.player-silhouette.blocking{filter:drop-shadow(0 0 15px rgba(100,180,255,.8));animation:blockPulse .3s ease-out}@keyframes blockPulse{0%{transform:translate(-50%) scale(1)}30%{transform:translate(-50%) scale(1.05);filter:brightness(1.3)}to{transform:translate(-50%) scale(1)}}.floating-damage.heal{font-size:32px;color:#5f7;font-weight:900;text-shadow:0 0 10px rgba(50,255,100,.8),0 0 20px rgba(0,255,80,.5),2px 2px 0 rgba(0,0,0,.9),-1px -1px 0 rgba(0,0,0,.9)}.floating-damage.heal:before{content:"+"}.heal-flash{position:fixed;inset:0;pointer-events:none;z-index:9996;background:radial-gradient(ellipse at center,rgba(80,255,120,.25) 0%,rgba(50,200,80,.1) 50%,transparent 80%);animation:healFlashAnim .3s ease-out forwards}@keyframes healFlashAnim{0%{opacity:0}40%{opacity:1}to{opacity:0}}.floating-damage.potion-generated{font-size:22px;color:#e066ff;text-shadow:0 0 6px rgba(224,102,255,.6),0 0 12px rgba(160,32,240,.4),2px 2px 3px rgba(0,0,0,.9)}.floating-damage .partial-block{font-size:.6em;color:#8cf;opacity:.9}.floating-damage.player-damage{color:#f66}@keyframes floatUp{0%{opacity:1;transform:translate(-50%) scale(.3)}12%{opacity:1;transform:translate(-50%,-15px) scale(1.4)}25%{transform:translate(-50%,-25px) scale(1.1)}50%{opacity:1;transform:translate(-50%,-40px) scale(1)}to{opacity:0;transform:translate(-50%,-70px) scale(.9)}}.damage-vignette{position:fixed;inset:0;pointer-events:none;z-index:9998;background:radial-gradient(ellipse at center,transparent 30%,rgba(200,0,0,.4) 60%,rgba(150,0,0,.7) 85%,rgba(100,0,0,.85) 100%);transition:opacity .3s ease-out;animation:vignettePulse .15s ease-out}@keyframes vignettePulse{0%{opacity:0}30%{opacity:1.2}to{opacity:1}}.crit-flash{position:fixed;inset:0;pointer-events:none;z-index:9999;background:radial-gradient(ellipse at center,rgba(255,255,200,.9) 0%,rgba(255,215,0,.6) 40%,rgba(255,150,0,.3) 70%,transparent 100%);animation:critFlashAnim .25s ease-out forwards}@keyframes critFlashAnim{0%{opacity:0;transform:scale(.8)}20%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:scale(1)}}.heavy-hit-flash{position:fixed;inset:0;pointer-events:none;z-index:9997;background:#fff6;animation:heavyFlashAnim .12s ease-out forwards}@keyframes heavyFlashAnim{0%{opacity:1}to{opacity:0}}.status-effect.status-effect-pop{animation:statusPop .4s cubic-bezier(.34,1.56,.64,1)}.status-effect.status-effect-pop .status-icon{animation:statusIconPop .4s ease-out}.status-effect.status-effect-pop .status-stacks{animation:stacksBounce .4s ease-out}@keyframes statusPop{0%{transform:scale(.5);opacity:.5}50%{transform:scale(1.3);filter:brightness(1.5)}to{transform:scale(1);opacity:1;filter:brightness(1)}}@keyframes statusIconPop{0%{transform:scale(.8) rotate(-10deg)}50%{transform:scale(1.2) rotate(5deg)}to{transform:scale(1) rotate(0)}}@keyframes stacksBounce{0%{transform:scale(.5)}60%{transform:scale(1.3)}to{transform:scale(1)}}.status-badge.updating{animation:statusUpdate .3s ease-out}@keyframes statusUpdate{0%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.2);filter:brightness(1.5)}to{transform:scale(1);filter:brightness(1)}}.enemy-figure.death-stagger{animation:deathStagger .1s ease-out forwards}@keyframes deathStagger{0%{transform:translate(0)}50%{transform:translate(-15px) rotate(-3deg)}to{transform:translate(-10px) rotate(-2deg)}}.enemy-figure.death-freeze{transform:translate(-10px) rotate(-2deg);filter:brightness(2) saturate(.5);animation-play-state:paused}.enemy-figure.death-dissolve{animation:deathDissolve .4s ease-in forwards}@keyframes deathDissolve{0%{opacity:1;transform:translate(-10px) rotate(-2deg) scale(1);filter:brightness(2) saturate(.5)}to{opacity:0;transform:translate(-10px) rotate(-5deg) scale(.6) translateY(20px);filter:brightness(1) saturate(0)}}.arena-enemy.enemy-dead{opacity:0;pointer-events:none}.death-particle{position:absolute;width:8px;height:8px;background:radial-gradient(circle,#9370dbe6,#9370db00 70%);border-radius:50%;pointer-events:none;z-index:100;animation:particleBurst .8s ease-out forwards}@keyframes particleBurst{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--end-x, 50px),var(--end-y, -50px)) scale(.3)}}.reduced-motion *,.reduced-motion *:before,.reduced-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.high-contrast{--bg-primary: #000;--bg-secondary: #111;--text-primary: #fff;--text-secondary: #eee;--border-color: #fff}.high-contrast .card{border-width:3px;border-color:#fff}.high-contrast .btn,.high-contrast button{border:2px solid #fff}.high-contrast .map-node{border:3px solid #fff}.high-contrast .enemy{border:2px solid #fff}.high-contrast .hp-bar-fill{background:red}.high-contrast .block-bar-fill{background:#08f}.large-text{font-size:120%}.large-text .card{font-size:1.25em}.large-text .card-name{font-size:1.3em}.large-text .card-cost{font-size:1.5em}.large-text .card-description{font-size:1.15em}.large-text .card-type,.large-text .hp-text,.large-text .block-text,.large-text .status-stacks{font-size:1.1em}.large-text .intent-damage{font-size:1.2em}.setting-select{background:#0006;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;padding:8px 12px;font-size:1em;min-width:200px;cursor:pointer}.setting-select:hover{border-color:#fff6}.setting-select:focus{outline:2px solid #3498db;outline-offset:2px}.setting-select option{background:#1a1a2e;color:#fff}*:focus-visible{outline:3px solid #3498db;outline-offset:2px}button:focus-visible,.btn:focus-visible{outline:3px solid #3498db;outline-offset:2px;box-shadow:0 0 10px #3498db80}.card:focus-visible{outline:3px solid #f4d03f;outline-offset:2px}.map-node:focus-visible{outline:3px solid #f4d03f;outline-offset:4px}.warden-dialogue-overlay{position:fixed;inset:0;background:#000000d9;z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.warden-dialogue-container{display:flex;gap:30px;max-width:800px;padding:30px;align-items:flex-start}.warden-portrait{width:150px;height:200px;flex-shrink:0;position:relative}.warden-portrait .warden-figure{width:100%;height:100%;background:linear-gradient(180deg,#6495ed4d,#6495ed1a);border:2px solid rgba(100,149,237,.5);border-radius:8px;animation:wardenFloat 3s ease-in-out infinite;position:relative}.warden-portrait .warden-figure:before{content:"👁️";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:48px;opacity:.7}.warden-portrait.speaker-enemy .warden-figure{background:linear-gradient(180deg,#8b00004d,#8b00001a);border-color:#8b000080}.warden-portrait.speaker-enemy .warden-figure:before{content:"💀"}.warden-portrait.speaker-narrator .warden-figure{background:linear-gradient(180deg,#9696964d,#9696961a);border-color:#96969680}.warden-portrait.speaker-narrator .warden-figure:before{content:"📜"}@keyframes wardenFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.warden-dialogue-content{flex:1;color:#fff}.warden-stage-direction{font-style:italic;color:#89a;margin-bottom:10px;font-size:.9em}.warden-speaker-name{font-weight:700;font-size:1.1em;margin-bottom:8px;color:#6495ed}.warden-speaker-name.speaker-enemy{color:#cd5c5c}.warden-dialogue-text{font-size:1.2em;line-height:1.6;color:#e0e0e0;min-height:100px}.warden-continue-prompt{margin-top:20px;font-size:.9em;color:#666;animation:pulse 2s ease-in-out infinite}.warden-message{position:fixed;top:100px;left:50%;transform:translate(-50%) translateY(-20px);background:linear-gradient(135deg,#1a1a2ef2,#2a2a46f2);border:1px solid rgba(100,149,237,.4);border-radius:8px;padding:20px 30px;display:flex;align-items:center;gap:15px;max-width:600px;z-index:9000;opacity:0;transition:all .3s ease;cursor:pointer;box-shadow:0 5px 30px #00000080}.warden-message.fade-out{opacity:0;transform:translate(-50%) translateY(-20px)}.warden-message-icon{font-size:32px;flex-shrink:0}.warden-message-text{font-size:1.1em;line-height:1.5;color:#e0e0e0;font-style:italic}.warden-message-label{color:#6495ed;font-size:.9em;margin-left:auto;white-space:nowrap}.tutorial-prompt{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);background:linear-gradient(135deg,#1a1a2efa,#2a2a46fa);border:2px solid rgba(244,208,63,.6);border-radius:12px;padding:25px 35px;max-width:500px;z-index:9500;opacity:0;transition:all .3s ease;cursor:pointer;box-shadow:0 10px 40px #0009}.tutorial-prompt.visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.tutorial-prompt.fade-out{opacity:0;transform:translate(-50%,-50%) scale(.9)}.tutorial-prompt-title{font-size:1.3em;font-weight:700;color:#f4d03f;margin-bottom:15px;text-align:center;border-bottom:1px solid rgba(244,208,63,.3);padding-bottom:10px}.tutorial-prompt-content{color:#e0e0e0;font-size:1.05em;line-height:1.6}.tutorial-prompt-line:empty{height:10px}.tutorial-prompt-dismiss{margin-top:20px;text-align:center;color:#666;font-size:.9em;animation:pulse 2s ease-in-out infinite}.entrance-overlay{position:fixed;inset:0;background:linear-gradient(180deg,#0a0a0f,#1a1a2e,#0a0a0f);z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity .5s ease}.entrance-overlay.visible{opacity:1}.entrance-overlay.fade-out{opacity:0}.entrance-title{font-size:3em;font-weight:700;color:#b8860b;text-shadow:0 0 20px rgba(184,134,11,.5);margin-bottom:40px;letter-spacing:8px}.entrance-doorway{width:200px;height:300px;background:radial-gradient(ellipse at center,#000 0%,#1a1a2e 70%,transparent 100%);border:2px solid rgba(100,100,100,.3);border-radius:100px 100px 0 0;margin-bottom:40px;position:relative;animation:doorwayPulse 4s ease-in-out infinite}.entrance-doorway:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;height:80%;background:radial-gradient(ellipse at center,rgba(100,149,237,.1) 0%,transparent 70%);animation:doorwayGlow 2s ease-in-out infinite alternate}@keyframes doorwayPulse{0%,to{border-color:#6464644d}50%{border-color:#6495ed80}}@keyframes doorwayGlow{0%{opacity:.3}to{opacity:.7}}.entrance-text{max-width:500px;text-align:center;color:#89a;font-size:1.1em;line-height:1.8;font-style:italic}.entrance-text p{margin-bottom:.8em}.entrance-continue{margin-top:40px;color:#555;font-size:.9em;animation:pulse 2s ease-in-out infinite}@media (orientation: landscape) and (max-height: 500px){:root{--card-width: clamp(75px, 14vh, 110px);--card-height: clamp(100px, 18vh, 145px);--hand-width: clamp(220px, 40vw, 350px);--arena-height: 100%;--enemy-scale: clamp(.5, 100vh / 600, .85);--hud-font-size: clamp(.6em, 1.5vh, .8em)}.game-container .hand-header,.game-container .log-area,.game-container>h1{display:none}.game-container{position:fixed;top:0;left:env(safe-area-inset-left);right:env(safe-area-inset-right);bottom:0;max-width:none;margin:0;padding:0;display:flex;flex-direction:column;overflow:hidden;min-height:unset;height:100vh}.arena-container{flex:1;max-width:none;width:100%;height:100%;margin:0;border-radius:0;border:none;display:flex;flex-direction:column}.dungeon-scene{flex:1;height:100%;max-height:100%;min-height:unset;background-position:center center}.hand-area{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(10,10,20,.95) 0%,rgba(10,10,20,.8) 70%,transparent 100%);padding:8px 10px;padding-bottom:calc(8px + env(safe-area-inset-bottom));margin:0;z-index:100}.cards{gap:8px;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding:0 10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.cards::-webkit-scrollbar{display:none}.card{height:auto;min-height:var(--card-height)}.card .card-name{font-size:.58em;line-height:1.1;text-align:center}.card .card-type{font-size:.65em}.card-cost{width:12px;height:12px;font-size:.55em;top:-4px;right:-4px}.card-wrapper:hover:not(:has(.unplayable)) .card{transform:translateY(-15px) scale(1.08)}.card-wrapper:hover:not(:has(.unplayable)) .card-cost{transform:translateY(-15px) scale(1.08)}.card .card-art{height:calc(var(--card-width) * .3);width:90%;margin:2px auto}.card .card-description{font-size:.7em;line-height:1.15;flex:1;min-height:0;overflow-y:auto}.card:hover:not(.unplayable){transform:translateY(-15px) scale(1.08)}.controls{position:fixed;top:50%;right:10px;right:calc(10px + env(safe-area-inset-right));transform:translateY(-50%);flex-direction:column;gap:8px;margin:0;z-index:100}.controls button{width:50px;height:50px;padding:0;font-size:.65em;border-radius:50%;display:flex;align-items:center;justify-content:center}#end-turn-btn{min-width:clamp(75px,15vw,150px)!important;max-width:clamp(100px,20vw,200px)!important;min-height:clamp(60px,12vh,120px)!important;padding:clamp(15px,4vh,35px) clamp(15px,4vw,35px)!important;font-size:clamp(.35em,1vw,.55em)!important}#abandon-btn{width:clamp(30px,8vw,45px);height:clamp(30px,8vw,45px);font-size:clamp(.45em,1.2vw,.6em)}.player-hud{left:calc(10px + env(safe-area-inset-left));right:auto;bottom:80px;top:auto;font-size:.8em;padding:8px 10px;max-width:140px}.hud-stat-row{gap:8px}.potion-slots{bottom:5px;right:5px;gap:8px}.potion-btn{width:36px;height:36px}.potion-btn .potion-icon{font-size:1.4rem}.enemy-slots{top:50vh;left:10vw;right:10vw;transform:translateY(-50%)}.arena-enemy{transform:scale(clamp(.6,100vh / 600,.85))}.player-silhouette{bottom:clamp(30px,9vh,50px);left:clamp(20vw,25vw,30vw);transform:translate(-50%) scale(clamp(.5,100vh / 600,.8))}.turn-banner{font-size:1.2em;padding:8px 20px}}@media (orientation: landscape) and (max-height: 400px){:root{--card-width: clamp(65px, 16vh, 85px);--card-height: clamp(85px, 22vh, 115px)}.card{padding:4px 5px}.card .card-name{font-size:.55em;line-height:1.1;text-align:center}.card-cost{width:11px;height:11px;font-size:.5em;top:-3px;right:-3px}.card .card-art{height:calc(var(--card-width) * .25)}.card .card-description{font-size:.58em;line-height:1.1;flex:1;min-height:0;overflow-y:auto}.player-hud{font-size:.7em;padding:6px 8px;bottom:clamp(50px,15vh,70px)}.controls button{width:44px;height:44px}#end-turn-btn{min-width:clamp(60px,12vw,125px)!important;max-width:clamp(80px,17vw,175px)!important;min-height:clamp(50px,10vh,100px)!important;padding:clamp(12px,3vh,28px) clamp(12px,3vw,28px)!important;font-size:clamp(.3em,.8vw,.5em)!important}.enemy-slots{top:50vh;transform:translateY(-50%)}.arena-enemy{transform:scale(clamp(.5,100vh / 500,.7))}.player-silhouette{bottom:clamp(22px,7vh,35px);left:clamp(18vw,23vw,28vw);transform:translate(-50%) scale(clamp(.4,100vh / 500,.65))}}@media (orientation: landscape) and (min-height: 501px) and (max-height: 700px) and (max-width: 1023px){.game-container{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;max-width:none;padding:10px}.arena-container{flex:2;min-width:60%;max-width:none;margin:0}.dungeon-scene{height:350px}.hand-area{flex:1;min-width:300px;padding:10px;margin:0}.controls{position:absolute;bottom:10px;right:10px}.log-area{display:none}}@media (orientation: landscape) and (min-height: 701px) and (max-height: 1024px) and (max-width: 1366px) and (pointer: coarse){:root{--card-width: clamp(80px, 10vh, 100px);--card-height: clamp(104px, 13vh, 130px);--enemy-scale: clamp(.7, 100vh / 800, 1);--hud-font-size: clamp(.75em, 1.2vh, .95em)}.game-container{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;max-width:none;padding:15px}.arena-container{flex:2;min-width:65%;max-width:none;margin:0}.dungeon-scene{height:clamp(400px,55vh,550px)}.hand-area{flex:1;min-width:320px;padding:15px;margin:0}.controls{position:absolute;bottom:15px;right:15px}.log-area{display:none}.cards{gap:10px}.card:hover:not(.unplayable){transform:translateY(-25px) scale(1.1)}.player-silhouette{bottom:clamp(40px,8vh,70px);left:clamp(22vw,27vw,32vw);transform:translate(-50%) scale(clamp(.6,100vh / 800,.9))}.arena-enemy{transform:scale(clamp(.7,100vh / 800,1))}}@media (orientation: portrait) and (max-width: 600px){.game-container{padding:0!important;margin:0!important;max-width:100vw!important;overflow:hidden}.arena-container{transform:scale(calc(100vw/1000px));transform-origin:top left;width:1000px!important;max-width:1000px!important;margin:0!important;border-radius:0!important}.dungeon-scene{height:500px!important}.arena-hand{position:absolute!important;bottom:100px!important;right:10px!important;left:auto!important;transform:none!important;width:310px!important}#main-menu{background-size:cover;background-position:center center}.menu-container{gap:clamp(15px,4vh,25px);padding:10px}.menu-btn{padding:clamp(10px,2.5vh,15px) clamp(20px,8vw,40px);font-size:clamp(.9em,4vw,1.1em)}.game-title{font-size:clamp(1.8em,8vw,2.5em)}.screen{padding:10px;padding-top:calc(10px + env(safe-area-inset-top))}.screen-header{padding:10px}.screen-header h2{font-size:clamp(1.2em,5vw,1.6em)}.modal-content,.popup-content{width:95vw!important;max-width:95vw!important;max-height:85vh!important;padding:15px!important}.shop-items{grid-template-columns:1fr}.reward-cards{flex-wrap:wrap;justify-content:center}.reward-card{width:clamp(80px,25vw,110px)}}@media (orientation: portrait) and (max-width: 380px){:root{--card-width: clamp(55px, 16vw, 70px);--card-height: clamp(72px, 21vw, 91px);--hand-width: clamp(260px, 95vw, 360px);--arena-height: clamp(180px, 32vh, 280px);--enemy-scale: clamp(.45, 95vw / 600, .7);--enemy-gap: clamp(10px, 3vw, 20px)}.arena-hand .card .card-description{font-size:.55em;line-height:1.1;flex:1;min-height:0;overflow-y:auto}.player-hud{max-width:40vw}.hud-class-name{font-size:.7em}.hud-gold-row{margin-top:2px}}.tutorial-overlay{position:fixed;inset:0;z-index:9999;pointer-events:none}.tutorial-backdrop{position:absolute;inset:0;background:#0000004d;pointer-events:auto}.tutorial-hint{position:absolute;background:linear-gradient(135deg,#1a1a2e,#2c3e50);border:3px solid #f4d03f;border-radius:12px;padding:20px 24px;max-width:350px;min-width:250px;box-shadow:0 8px 32px #0009,0 0 20px #f4d03f4d;pointer-events:auto;z-index:10000;animation:tutorialHintPulse 2s ease-in-out infinite}@keyframes tutorialHintPulse{0%,to{box-shadow:0 8px 32px #0009,0 0 20px #f4d03f4d}50%{box-shadow:0 8px 32px #0009,0 0 30px #f4d03f80}}.tutorial-hint-text{color:#fff;font-size:1.1em;line-height:1.5;text-align:center;margin-bottom:12px}.tutorial-hint-continue{color:#f4d03f;font-size:.85em;text-align:center;opacity:.8;animation:pulse 2s ease-in-out infinite}.tutorial-highlight{position:relative;z-index:10001!important;animation:tutorialHighlight 1.5s ease-in-out infinite}@keyframes tutorialHighlight{0%,to{box-shadow:0 0 0 4px #f4d03f99,0 0 20px #f4d03f66}50%{box-shadow:0 0 0 8px #f4d03f66,0 0 30px #f4d03f99}}.tutorial-highlight,.tutorial-highlight *{pointer-events:auto!important}:root{--anim-instant: .1s;--anim-fast: .2s;--anim-normal: .3s;--anim-slow: .5s;--anim-dramatic: .8s;--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--ease-in-out-smooth: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55)}.card.card-playing{animation:cardPlay .4s var(--ease-out-back) forwards;pointer-events:none;z-index:1000}@keyframes cardPlay{0%{transform:scale(1);opacity:1}30%{transform:scale(1.15) translateY(-20px);opacity:1}to{transform:scale(.3) translateY(-200px) translate(var(--target-x, 0px));opacity:0}}.card.attack.card-playing{box-shadow:0 0 30px #e74c3ccc,0 0 60px #e74c3c66}.card.skill.card-playing{box-shadow:0 0 30px #3498dbcc,0 0 60px #3498db66}.card.power.card-playing{box-shadow:0 0 30px #9b59b6cc,0 0 60px #9b59b666}.card:hover:not(.unplayable):not(.card-playing){animation:cardHoverGlow 1.5s ease-in-out infinite}.card.attack:hover:not(.unplayable):not(.card-playing){box-shadow:0 12px 24px #00000080,0 0 20px #e74c3c80}.card.skill:hover:not(.unplayable):not(.card-playing){box-shadow:0 12px 24px #00000080,0 0 20px #3498db80}.card.power:hover:not(.unplayable):not(.card-playing){box-shadow:0 12px 24px #00000080,0 0 20px #9b59b680}@keyframes cardHoverGlow{0%,to{filter:brightness(1)}50%{filter:brightness(1.1)}}.floating-damage.crit{font-size:58px;color:gold;text-shadow:0 0 15px rgba(255,215,0,1),0 0 30px rgba(255,215,0,.7),0 0 45px rgba(255,150,0,.5),4px 4px 0 rgba(0,0,0,.95),-2px -2px 0 rgba(0,0,0,.95);animation:critFloat 1.2s ease-out forwards}.floating-damage.crit:before{content:"CRIT! ";font-size:.55em;color:#f40;text-shadow:0 0 10px rgba(255,100,0,.9),0 0 20px rgba(255,50,0,.6)}@keyframes critFloat{0%{opacity:1;transform:translate(-50%) scale(0) rotate(-15deg)}10%{transform:translate(-50%,-10px) scale(1.6) rotate(8deg)}20%{transform:translate(-50%,-20px) scale(1.3) rotate(-5deg)}35%{transform:translate(-50%,-35px) scale(1.15) rotate(2deg)}to{opacity:0;transform:translate(-50%,-80px) scale(.9)}}.floating-damage.overkill{color:#f22;text-shadow:0 0 8px rgba(255,50,50,.8),0 0 16px rgba(255,0,0,.5)}.floating-damage.overkill:after{content:" 💀";font-size:.8em}.floating-damage.bonus{color:#4f8;text-shadow:0 0 6px rgba(68,255,136,.6),0 0 12px rgba(0,200,100,.4)}.floating-damage.bonus:before{content:"+"}.victory-celebration{position:fixed;inset:0;pointer-events:none;z-index:9997;overflow:hidden}.victory-particle{position:absolute;width:10px;height:10px;border-radius:50%;animation:victoryParticle 2s ease-out forwards}@keyframes victoryParticle{0%{opacity:1;transform:translate(var(--start-x),var(--start-y)) scale(0)}20%{transform:translate(var(--start-x),var(--start-y)) scale(1)}to{opacity:0;transform:translate(var(--end-x),var(--end-y)) scale(.5)}}.victory-flash{position:fixed;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:9996;animation:victoryFlash .5s ease-out}@keyframes victoryFlash{0%{opacity:.8}to{opacity:0}}.defeat-desaturate{position:fixed;inset:0;background:#00000080;pointer-events:none;z-index:9996;animation:defeatDesaturate 1s ease-out forwards}@keyframes defeatDesaturate{0%{opacity:0;backdrop-filter:grayscale(0)}to{opacity:1;backdrop-filter:grayscale(.7)}}.time-slow-active .arena-enemy,.time-slow-active .player-silhouette{animation-duration:3s!important;transition-duration:.8s!important}.hand-area,.arena-hand{--hand-arc-height: 15px;--hand-fan-angle: 3deg;perspective:1000px}.card.card-drawing{animation:cardDraw .35s var(--ease-out-back) forwards;opacity:0}@keyframes cardDraw{0%{opacity:0;transform:translate(-100px) translateY(-50px) rotate(-30deg) scale(.5)}60%{opacity:1;transform:translate(5px) translateY(-5px) rotate(2deg) scale(1.05)}to{opacity:1;transform:translate(0) translateY(0) rotate(0) scale(1)}}.card.card-discarding{animation:cardDiscard .3s ease-in forwards;pointer-events:none}@keyframes cardDiscard{0%{opacity:1;transform:scale(1) rotate(0)}to{opacity:0;transform:translate(100px) translateY(-30px) rotate(15deg) scale(.6)}}.card.card-exhausting{animation:cardExhaust .5s ease-in forwards;pointer-events:none}@keyframes cardExhaust{0%{opacity:1;transform:scale(1);filter:brightness(1)}30%{filter:brightness(1.5) saturate(1.5)}60%{transform:scale(1.1);filter:brightness(2) saturate(.5) hue-rotate(30deg)}to{opacity:0;transform:scale(.5) translateY(-30px);filter:brightness(3) saturate(0) blur(3px)}}.hand-area .card,.arena-hand .card{transition:transform .2s var(--ease-out-back),margin .2s ease-out}.card:hover:not(.unplayable)+.card{transform:translate(10px)}.card:has(+.card:hover:not(.unplayable)){transform:translate(-10px)}.enemy-figure{animation:enemyIdle 3s ease-in-out infinite}@keyframes enemyIdle{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.enemy-figure[data-enemy-type=cultist]{animation:idleCultist 2.5s ease-in-out infinite}@keyframes idleCultist{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-2px) rotate(1deg)}75%{transform:translateY(-2px) rotate(-1deg)}}.enemy-figure[data-enemy-type=skeleton]{animation:idleSkeleton .8s ease-in-out infinite}@keyframes idleSkeleton{0%,to{transform:translateY(0) translate(0)}25%{transform:translateY(-1px) translate(1px)}50%{transform:translateY(0) translate(-1px)}75%{transform:translateY(-1px) translate(0)}}.enemy-figure[data-enemy-type=slime],.enemy-figure[data-enemy-type=shadow_slime]{animation:idleSlime 2s ease-in-out infinite}@keyframes idleSlime{0%,to{transform:scaleX(1) scaleY(1)}50%{transform:scaleX(1.05) scaleY(.95)}}.enemy-figure[data-enemy-type*=void],.enemy-figure[data-enemy-type*=hollow]{animation:idleVoid 1.5s ease-in-out infinite}@keyframes idleVoid{0%,to{opacity:1;filter:brightness(1)}25%{opacity:.9;filter:brightness(1.1)}50%{opacity:1;filter:brightness(.9)}75%{opacity:.85;filter:brightness(1.2)}}.enemy-figure.boss-figure{animation:idleBoss 4s ease-in-out infinite}@keyframes idleBoss{0%,to{transform:translateY(0) scale(1);filter:drop-shadow(0 0 10px rgba(128,0,128,.3))}50%{transform:translateY(-5px) scale(1.02);filter:drop-shadow(0 0 20px rgba(128,0,128,.5))}}.enemy-figure.elite-figure{animation:idleElite 2s ease-in-out infinite}@keyframes idleElite{0%,to{transform:translateY(0);filter:drop-shadow(0 0 5px rgba(255,200,0,.3))}50%{transform:translateY(-3px);filter:drop-shadow(0 0 10px rgba(255,200,0,.5))}}.arena-enemy.telegraphing-attack .enemy-figure{animation:telegraphAttack .5s ease-in-out infinite}@keyframes telegraphAttack{0%,to{transform:translate(0);filter:brightness(1)}50%{transform:translate(-8px);filter:brightness(1.2) drop-shadow(0 0 10px rgba(255,0,0,.5))}}.arena-enemy.telegraphing-heavy .enemy-figure{animation:telegraphHeavy .3s ease-in-out infinite}@keyframes telegraphHeavy{0%,to{transform:translate(0) scale(1);filter:drop-shadow(0 0 15px rgba(255,0,0,.6))}50%{transform:translate(-5px) scale(1.05);filter:drop-shadow(0 0 25px rgba(255,0,0,.8))}}.arena-enemy-intent{animation:intentIdle 2s ease-in-out infinite}@keyframes intentIdle{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.arena-enemy-intent:has([class*=attack]),.arena-enemy-intent-wrapper:has(.arena-enemy-intent:contains("⚔️")) .arena-enemy-intent{animation:intentAttack .5s ease-in-out infinite}.arena-enemy.high-damage-intent .arena-enemy-intent{animation:intentHighDamage .3s ease-in-out infinite;color:#f44;text-shadow:0 0 10px rgba(255,0,0,.6)}@keyframes intentHighDamage{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.1) rotate(2deg)}75%{transform:scale(1.1) rotate(-2deg)}}.arena-enemy-intent.charging{animation:intentCharging .8s ease-in-out infinite;color:#9b59b6}@keyframes intentCharging{0%{transform:scale(1);filter:brightness(1);text-shadow:0 0 5px rgba(155,89,182,.5)}50%{transform:scale(1.15);filter:brightness(1.3);text-shadow:0 0 15px rgba(155,89,182,.8)}to{transform:scale(1);filter:brightness(1);text-shadow:0 0 5px rgba(155,89,182,.5)}}.arena-enemy.entering{animation:enemyEnter .5s var(--ease-out-back) forwards}@keyframes enemyEnter{0%{opacity:0;transform:translateY(-40px) scale(.7)}to{opacity:1;transform:translateY(0) scale(1)}}.arena-enemy.boss.entering{animation:bossEnter 1.2s var(--ease-out-back) forwards}@keyframes bossEnter{0%{opacity:0;transform:translateY(-100px) scale(.5);filter:brightness(2)}40%{opacity:1;transform:translateY(20px) scale(1.1);filter:brightness(1.5)}70%{transform:translateY(-10px) scale(1.02)}to{transform:translateY(0) scale(1);filter:brightness(1)}}.arena-enemy.elite:before{content:"";position:absolute;inset:-5px;border:2px solid rgba(255,200,0,.5);border-radius:8px;animation:eliteGlow 2s ease-in-out infinite;pointer-events:none}.arena-enemy.elite:has([data-enemy-type=void_caller]):before,.arena-enemy.elite:has([data-enemy-type=stone_sentinel]):before,.arena-enemy.elite:has([data-enemy-type=high_cultist]):before,.arena-enemy.elite:has([data-enemy-type=tomb_guardian]):before,.arena-enemy.elite:has([data-enemy-type=greater_demon]):before,.arena-enemy.elite:has([data-enemy-type=sanctum_warden]):before{display:none}@keyframes eliteGlow{0%,to{box-shadow:0 0 10px #ffc8004d;border-color:#ffc80080}50%{box-shadow:0 0 20px #ffc80080;border-color:#ffc800cc}}.map-screen[data-act="1"]{background:linear-gradient(135deg,#1a1025,#2d1f3d,#3d2a4a,#2d1f3d,#1a1025),radial-gradient(ellipse at 20% 50%,rgba(255,140,50,.35) 0%,transparent 45%),radial-gradient(ellipse at 80% 50%,rgba(180,100,200,.35) 0%,transparent 45%);background-size:200% 200%,100% 100%,100% 100%;animation:mapGradientShift 15s ease-in-out infinite}.map-screen[data-act="1"] .map-line{stroke:#8b7355}.map-screen[data-act="2"]{background:linear-gradient(135deg,#0a1520,#0d2535,#154555,#0d2535,#0a1520),radial-gradient(ellipse at 30% 40%,rgba(50,200,220,.4) 0%,transparent 45%),radial-gradient(ellipse at 70% 60%,rgba(100,220,180,.35) 0%,transparent 45%);background-size:200% 200%,100% 100%,100% 100%;animation:mapGradientShift 15s ease-in-out infinite}.map-screen[data-act="2"] .map-line{stroke:#3d9ba8}.map-screen[data-act="2"] .map-node{filter:drop-shadow(0 0 5px rgba(100,200,220,.3))}.map-screen[data-act="3"]{background:linear-gradient(135deg,#0a0510,#15102a,#2a1550,#15102a,#0a0510),radial-gradient(ellipse at 25% 30%,rgba(139,92,246,.45) 0%,transparent 45%),radial-gradient(ellipse at 75% 70%,rgba(236,72,153,.4) 0%,transparent 45%);background-size:200% 200%,100% 100%,100% 100%;animation:mapGradientShift 12s ease-in-out infinite}.map-screen[data-act="3"] .map-line{stroke:#8b5cf6}.map-screen[data-act="3"] .map-node{animation:voidPulse 3s ease-in-out infinite}@keyframes mapGradientShift{0%,to{background-position:0% 50%,0% 0%,0% 0%}50%{background-position:100% 50%,0% 0%,0% 0%}}@keyframes voidPulse{0%,to{filter:drop-shadow(0 0 5px rgba(139,92,246,.3))}50%{filter:drop-shadow(0 0 10px rgba(139,92,246,.6))}}.map-line--visited{stroke:#f4d03f!important;stroke-width:4px;filter:drop-shadow(0 0 6px rgba(244,208,63,.5));animation:trailPulse 2s ease-in-out infinite}@keyframes trailPulse{0%,to{filter:drop-shadow(0 0 6px rgba(244,208,63,.4))}50%{filter:drop-shadow(0 0 10px rgba(244,208,63,.7))}}.map-node--current:after{content:"👤";position:absolute;bottom:-20px;left:50%;transform:translate(-50%);font-size:1.2em;animation:playerMarker 1.5s ease-in-out infinite}@keyframes playerMarker{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-5px)}}.map-node--boss{transform:scale(1.3);animation:bossNodePulse 3s ease-in-out infinite}@keyframes bossNodePulse{0%,to{filter:drop-shadow(0 0 10px rgba(200,0,0,.4))}50%{filter:drop-shadow(0 0 20px rgba(200,0,0,.7))}}.map-node-preview{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-10px);background:linear-gradient(135deg,#1a1a2e,#2c3e50);border:2px solid #555;border-radius:8px;padding:10px 14px;min-width:150px;opacity:0;pointer-events:none;z-index:100;transition:opacity .2s ease,transform .2s ease}.map-node:hover .map-node-preview{opacity:1;transform:translate(-50%) translateY(-15px)}.map-node-preview-title{font-weight:700;color:#f4d03f;margin-bottom:4px}.map-node-preview-desc{font-size:.85em;color:#ccc}.glossary-term{border-bottom:1px dotted #888;cursor:help;position:relative}.glossary-term:hover{color:#f4d03f;border-bottom-color:#f4d03f}.glossary-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#1a1a2e,#2c3e50);border:2px solid #f4d03f;border-radius:8px;padding:12px 16px;min-width:200px;max-width:300px;z-index:10000;pointer-events:none;opacity:0;transition:opacity .2s ease;margin-bottom:8px}.glossary-term:hover .glossary-tooltip{opacity:1}.glossary-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-top-color:#f4d03f}.glossary-tooltip-title{font-weight:700;color:#f4d03f;margin-bottom:6px}.glossary-tooltip-text{font-size:.9em;color:#ddd;line-height:1.4}.card.hint-glow{animation:hintGlow 1.5s ease-in-out infinite}@keyframes hintGlow{0%,to{box-shadow:0 0 10px #f4d03f4d}50%{box-shadow:0 0 25px #f4d03f99,0 0 40px #f4d03f4d}}.stuck-hint-toast{position:fixed;bottom:20%;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#2c3e50,#1a1a2e);border:2px solid #f4d03f;border-radius:8px;padding:12px 20px;color:#fff;font-size:.95em;z-index:9000;animation:toastSlideUp .3s ease-out;box-shadow:0 4px 20px #00000080}@keyframes toastSlideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.stuck-hint-toast.hiding{animation:toastSlideDown .3s ease-in forwards}@keyframes toastSlideDown{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(20px)}}.help-btn{position:absolute;width:28px;height:28px;border-radius:50%;background:#f4d03f33;border:2px solid #f4d03f;color:#f4d03f;font-weight:700;font-size:1em;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.help-btn:hover{background:#f4d03f66;transform:scale(1.1)}.tutorial-prompt{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,#1a1a2e,#2c3e50);border:3px solid #f4d03f;border-radius:16px;padding:30px 40px;text-align:center;z-index:10000;box-shadow:0 8px 40px #000000b3;animation:promptFadeIn .4s ease-out}@keyframes promptFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.tutorial-prompt h3{color:#f4d03f;font-size:1.4em;margin-bottom:15px}.tutorial-prompt p{color:#ccc;margin-bottom:25px;line-height:1.5}.tutorial-prompt-buttons{display:flex;gap:15px;justify-content:center}.tutorial-prompt-btn{padding:12px 24px;border-radius:8px;font-weight:700;cursor:pointer;transition:all .2s ease}.tutorial-prompt-btn.primary{background:#f4d03f;color:#1a1a2e;border:none}.tutorial-prompt-btn.primary:hover{background:#f5d85f;transform:scale(1.05)}.tutorial-prompt-btn.secondary{background:transparent;color:#aaa;border:2px solid #555}.tutorial-prompt-btn.secondary:hover{border-color:#888;color:#ccc}.card.dragging{z-index:1000!important;box-shadow:0 10px 40px #00000080;pointer-events:none;cursor:grabbing}.card.hand-fanned{transform:rotate(var(--card-rotation, 0deg)) translateY(var(--card-y-offset, 0px));transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.card.hand-fanned:hover{transform:translateY(-40px) scale(1.15) rotate(0);z-index:100}.arena-enemy.valid-target.drop-hover{transform:scale(1.05)}.card-preview-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center}.card-preview-overlay{position:absolute;inset:0;background:#000c}.card-preview-content{position:relative;transform:scale(2);z-index:1}.card-preview-modal.fade-out{opacity:0;transition:opacity .2s ease}.card-drawing,.card-discarding{pointer-events:none}.card-exhausting{animation:card-exhaust .5s ease-out forwards}@keyframes card-exhaust{0%{transform:scale(1);filter:brightness(1)}30%{transform:scale(1.1);filter:brightness(1.5) sepia(1) hue-rotate(-30deg)}to{transform:scale(0);opacity:0;filter:brightness(2) blur(10px)}}.exhaust-particles{position:absolute;inset:0;pointer-events:none}.exhaust-particles .particle{position:absolute;width:8px;height:8px;background:#ff6b35;border-radius:50%;animation:exhaust-particle .5s ease-out forwards;animation-delay:calc(var(--particle-index, 0) * .03s)}@keyframes exhaust-particle{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(calc((var(--particle-index) - 4) * 20px),-50px) scale(0);opacity:0}}.enemy-figure.idle-cultist{animation:idle-cultist 3s ease-in-out infinite}@keyframes idle-cultist{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(1deg)}}.enemy-figure.idle-slime{animation:idle-slime 2s ease-in-out infinite}@keyframes idle-slime{0%,to{transform:scaleY(1) scaleX(1)}50%{transform:scaleY(.95) scaleX(1.05)}}.enemy-figure.idle-skeleton{animation:idle-skeleton 2.5s ease-in-out infinite}@keyframes idle-skeleton{0%,to{transform:translateY(0)}25%{transform:translateY(-2px) rotate(-1deg)}75%{transform:translateY(-1px) rotate(1deg)}}.enemy-figure.idle-void{animation:idle-void 4s ease-in-out infinite}@keyframes idle-void{0%,to{opacity:.9;filter:brightness(1)}50%{opacity:1;filter:brightness(1.2)}}.enemy-figure.idle-aquatic{animation:idle-aquatic 3s ease-in-out infinite}@keyframes idle-aquatic{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.enemy-figure.idle-demon{animation:idle-demon 2s ease-in-out infinite}@keyframes idle-demon{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.02);filter:brightness(1.1) drop-shadow(0 0 5px #ff4444)}}.enemy-figure.idle-boss{animation:idle-boss 4s ease-in-out infinite}@keyframes idle-boss{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.02) translateY(-3px)}}.enemy-figure.idle-default{animation:idle-default 3s ease-in-out infinite}@keyframes idle-default{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.enemy-figure.telegraph-attack{animation:telegraph-attack .5s ease-out}@keyframes telegraph-attack{0%{transform:translate(0)}30%{transform:translate(-10px)}to{transform:translate(5px)}}.enemy-figure.telegraph-multi{animation:telegraph-multi .5s ease-out}@keyframes telegraph-multi{0%,20%,40%,60%,80%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-3px)}}.enemy-figure.telegraph-charging{animation:telegraph-charging .8s ease-in-out infinite;filter:brightness(1.3)}@keyframes telegraph-charging{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.enemy-figure.telegraph-defend{animation:telegraph-defend .5s ease-out}@keyframes telegraph-defend{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}.enemy-figure.telegraph-buff{animation:telegraph-buff .5s ease-out;filter:drop-shadow(0 0 10px #a855f7)}@keyframes telegraph-buff{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.arena-enemy.entering{animation:enemy-enter .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes enemy-enter{0%{opacity:0;transform:translateY(-30px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.arena-enemy.elite-entering{animation:elite-enter .6s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes elite-enter{0%{opacity:0;transform:translateY(-50px) scale(.7);filter:brightness(2)}60%{opacity:1;transform:translateY(10px) scale(1.05)}to{opacity:1;transform:translateY(0) scale(1);filter:brightness(1)}}.arena-enemy.boss-entering{animation:boss-enter 1.2s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes boss-enter{0%{opacity:0;transform:translateY(-100px) scale(.5);filter:brightness(2)}50%{opacity:1;transform:translateY(20px) scale(1.1);filter:brightness(1.5)}70%{transform:translateY(-10px) scale(1.05)}to{transform:translateY(0) scale(1);filter:brightness(1)}}.enemy-figure.status-buff{animation:status-buff .4s ease-out}@keyframes status-buff{0%{filter:brightness(1)}50%{filter:brightness(1.5) drop-shadow(0 0 10px #4ade80)}to{filter:brightness(1)}}.enemy-figure.status-debuff{animation:status-debuff .4s ease-out}@keyframes status-debuff{0%,to{transform:translate(0);filter:brightness(1)}25%,75%{transform:translate(-3px)}50%{transform:translate(3px);filter:brightness(.8)}}.enemy-figure.status-block{animation:status-block .4s ease-out}@keyframes status-block{0%{transform:scale(1)}50%{transform:scale(1.05);filter:drop-shadow(0 0 10px #3b82f6)}to{transform:scale(1)}}.enemy-figure.status-heal{animation:status-heal .4s ease-out}@keyframes status-heal{0%{filter:brightness(1)}50%{filter:brightness(1.3) drop-shadow(0 0 10px #22c55e)}to{filter:brightness(1)}}.enemy-figure.status-block-break{animation:status-block-break .3s ease-out}@keyframes status-block-break{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}.arena-enemy.dying .enemy-figure.death-standard{animation:death-standard .6s ease-out forwards}@keyframes death-standard{0%{transform:scale(1);opacity:1}30%{transform:scale(1.1) rotate(5deg)}to{transform:scale(0) rotate(-15deg);opacity:0}}.arena-enemy.dying .enemy-figure.death-boss{animation:death-boss 1.5s ease-out forwards}@keyframes death-boss{0%{transform:scale(1);opacity:1;filter:brightness(1)}20%{transform:scale(1.2);filter:brightness(2)}40%{transform:scale(.9) rotate(5deg)}60%{transform:scale(1.1) rotate(-5deg);filter:brightness(1.5)}to{transform:scale(0) rotate(10deg);opacity:0;filter:brightness(3)}}.enemy-figure.ally-died-reaction{animation:ally-died-reaction .4s ease-out}@keyframes ally-died-reaction{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(3px)}}.arena-enemy.phase-transitioning .enemy-figure.phase-transition{animation:phase-transition 1.5s ease-in-out}@keyframes phase-transition{0%{transform:scale(1);filter:brightness(1)}30%{transform:scale(1.2);filter:brightness(2) saturate(1.5)}50%{transform:scale(.9);filter:brightness(.5)}70%{transform:scale(1.15);filter:brightness(1.8)}to{transform:scale(1);filter:brightness(1)}}.screen-shake{animation:screen-shake .5s ease-in-out}@keyframes screen-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(calc(var(--shake-intensity, 5px) * -1))}20%,40%,60%,80%{transform:translate(var(--shake-intensity, 5px))}}.screen-flash{position:fixed;inset:0;pointer-events:none;z-index:9999;transition:opacity .3s ease}.phase-announcement{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.8);z-index:1500;text-align:center;opacity:0;transition:all .3s ease}.phase-announcement.active{opacity:1;transform:translate(-50%,-50%) scale(1)}.phase-announcement.fade-out{opacity:0;transform:translate(-50%,-50%) scale(1.2)}.phase-boss-name{font-size:2.5em;color:#f4d03f;text-shadow:0 0 20px rgba(244,208,63,.5);margin-bottom:10px}.phase-number{font-size:1.5em;color:#ef4444;text-transform:uppercase;letter-spacing:.2em}.particles-buff,.particles-heal{position:absolute;inset:0;pointer-events:none;overflow:visible}.particles-buff .particle,.particles-heal .particle{position:absolute;width:6px;height:6px;border-radius:50%;bottom:0;left:calc(50% + (var(--particle-index, 0) - 4) * 10px);animation:particle-rise .6s ease-out forwards}.particles-buff .particle{background:#a855f7;box-shadow:0 0 6px #a855f7}.particles-heal .particle{background:#22c55e;box-shadow:0 0 6px #22c55e}@keyframes particle-rise{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-40px) scale(0);opacity:0}}.shatter-effect{position:absolute;inset:0;pointer-events:none}.shatter-effect .shard{position:absolute;width:10px;height:10px;background:#3b82f6;top:50%;left:50%;animation:shard-fly .4s ease-out forwards;animation-delay:calc(var(--shard-index, 0) * .02s)}@keyframes shard-fly{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(calc((var(--shard-index) - 3) * 30px),calc((var(--shard-index) - 3) * 20px)) scale(0);opacity:0}}.arena-enemy-intent.intent-attack{animation:intent-attack-pulse .5s ease-in-out infinite}@keyframes intent-attack-pulse{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(2px) rotate(2deg)}75%{transform:translate(-2px) rotate(-2deg)}}.arena-enemy-intent.intent-attack.high-damage{animation:intent-high-damage .3s ease-in-out infinite;filter:drop-shadow(0 0 10px #ef4444);color:#ef4444}@keyframes intent-high-damage{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.15) rotate(3deg)}}.arena-enemy-intent.intent-defend{animation:intent-defend 2s ease-in-out infinite}@keyframes intent-defend{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.arena-enemy-intent.intent-buff{animation:intent-buff 1.5s ease-in-out infinite}@keyframes intent-buff{0%,to{filter:brightness(1);transform:scale(1)}50%{filter:brightness(1.3) drop-shadow(0 0 5px #a855f7);transform:scale(1.1)}}.arena-enemy-intent.intent-debuff{animation:intent-debuff 2s ease-in-out infinite}@keyframes intent-debuff{0%{opacity:.7}50%{opacity:1}to{opacity:.7}}.arena-enemy-intent.intent-charging{animation:intent-charging-pulse .8s ease-in-out infinite;color:#a855f7}@keyframes intent-charging-pulse{0%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.2);filter:brightness(1.3)}to{transform:scale(1);filter:brightness(1)}}:root{--ui-scale: 1;--base-font-size: 16px;--anim-speed: 1;--color-attack: #e74c3c;--color-skill: #3498db;--color-power: #9b59b6;--color-damage: #ff6b6b;--color-heal: #2ecc71;--color-block: #6495ed;--color-buff: #f39c12;--color-debuff: #8e44ad;--focus-ring: 0 0 0 3px #f4d03f;--focus-ring-color: #f4d03f}.game-container,#game-container{font-size:calc(var(--base-font-size) * var(--ui-scale))}.card,.arena-enemy,.map-node{transition-duration:calc(.2s * var(--anim-speed))}body.high-contrast{--color-attack: #ff0000;--color-skill: #0066ff;--color-power: #cc00ff;--color-damage: #ff0000;--color-heal: #00ff00;--color-block: #00aaff;--focus-ring: 0 0 0 4px #ffffff;--focus-ring-color: #ffffff}body.high-contrast .card{border-width:3px!important}body.high-contrast .arena-enemy{border:2px solid #ffffff}body.high-contrast .btn,body.high-contrast button{border:2px solid #ffffff!important}body.high-contrast .arena-hand .card:hover{box-shadow:0 0 20px #fff}body.colorblind-deuteranopia{--color-attack: #d55e00;--color-skill: #0072b2;--color-power: #cc79a7;--color-damage: #d55e00;--color-heal: #009e73;--color-block: #56b4e9;--color-buff: #e69f00;--color-debuff: #0072b2}body.colorblind-deuteranopia .card.attack{box-shadow:inset 0 0 0 3px #d55e00}body.colorblind-deuteranopia .card.attack:hover:not(.unplayable),body.colorblind-deuteranopia .card.attack.card-playing{box-shadow:0 0 20px #d55e00b3,inset 0 0 0 3px #d55e00}body.colorblind-deuteranopia .card.skill,body.colorblind-deuteranopia .card.defend{box-shadow:inset 0 0 0 3px #0072b2}body.colorblind-deuteranopia .card.skill:hover:not(.unplayable),body.colorblind-deuteranopia .card.skill.card-playing,body.colorblind-deuteranopia .card.defend:hover:not(.unplayable),body.colorblind-deuteranopia .card.defend.card-playing{box-shadow:0 0 20px #0072b2b3,inset 0 0 0 3px #0072b2}body.colorblind-deuteranopia .hp-bar-fill{background:linear-gradient(90deg,#d55e00,#e69f00)!important}body.colorblind-deuteranopia .floating-damage{color:#d55e00!important}body.colorblind-protanopia{--color-attack: #e69f00;--color-skill: #56b4e9;--color-power: #cc79a7;--color-damage: #e69f00;--color-heal: #009e73;--color-block: #0072b2;--color-buff: #f0e442;--color-debuff: #cc79a7}body.colorblind-protanopia .card.attack{box-shadow:inset 0 0 0 3px #e69f00}body.colorblind-protanopia .card.attack:hover:not(.unplayable),body.colorblind-protanopia .card.attack.card-playing{box-shadow:0 0 20px #e69f00b3,inset 0 0 0 3px #e69f00}body.colorblind-protanopia .card.skill,body.colorblind-protanopia .card.defend{box-shadow:inset 0 0 0 3px #56b4e9}body.colorblind-protanopia .card.skill:hover:not(.unplayable),body.colorblind-protanopia .card.skill.card-playing,body.colorblind-protanopia .card.defend:hover:not(.unplayable),body.colorblind-protanopia .card.defend.card-playing{box-shadow:0 0 20px #56b4e9b3,inset 0 0 0 3px #56b4e9}body.colorblind-protanopia .hp-bar-fill{background:linear-gradient(90deg,#e69f00,#f0e442)!important}body.colorblind-protanopia .floating-damage{color:#e69f00!important}body.colorblind-tritanopia{--color-attack: #d55e00;--color-skill: #cc79a7;--color-power: #009e73;--color-damage: #d55e00;--color-heal: #009e73;--color-block: #cc79a7;--color-buff: #d55e00;--color-debuff: #0072b2}body.colorblind-tritanopia .card.attack{box-shadow:inset 0 0 0 3px #d55e00}body.colorblind-tritanopia .card.attack:hover:not(.unplayable),body.colorblind-tritanopia .card.attack.card-playing{box-shadow:0 0 20px #d55e00b3,inset 0 0 0 3px #d55e00}body.colorblind-tritanopia .card.skill,body.colorblind-tritanopia .card.defend{box-shadow:inset 0 0 0 3px #cc79a7}body.colorblind-tritanopia .card.skill:hover:not(.unplayable),body.colorblind-tritanopia .card.skill.card-playing,body.colorblind-tritanopia .card.defend:hover:not(.unplayable),body.colorblind-tritanopia .card.defend.card-playing{box-shadow:0 0 20px #cc79a7b3,inset 0 0 0 3px #cc79a7}body.colorblind-tritanopia .hp-bar-fill{background:linear-gradient(90deg,#d55e00,#cc79a7)!important}body.colorblind-tritanopia .floating-damage{color:#d55e00!important}body.colorblind-deuteranopia .card:before,body.colorblind-protanopia .card:before,body.colorblind-tritanopia .card:before{position:absolute;top:6px;left:6px;font-size:1em;opacity:.9;z-index:5;text-shadow:0 1px 2px rgba(0,0,0,.8)}body.colorblind-deuteranopia .card.attack:before,body.colorblind-protanopia .card.attack:before,body.colorblind-tritanopia .card.attack:before{content:"⚔️"}body.colorblind-deuteranopia .card.skill:before,body.colorblind-deuteranopia .card.defend:before,body.colorblind-protanopia .card.skill:before,body.colorblind-protanopia .card.defend:before,body.colorblind-tritanopia .card.skill:before,body.colorblind-tritanopia .card.defend:before{content:"🛡️"}body.colorblind-deuteranopia .card.power:before,body.colorblind-deuteranopia .card.upgrade:before,body.colorblind-protanopia .card.power:before,body.colorblind-protanopia .card.upgrade:before,body.colorblind-tritanopia .card.power:before,body.colorblind-tritanopia .card.upgrade:before{content:"⬆️"}body.colorblind-deuteranopia .card.curse:before,body.colorblind-protanopia .card.curse:before,body.colorblind-tritanopia .card.curse:before{content:"💀"}body.colorblind-deuteranopia .intent-attack,body.colorblind-protanopia .intent-attack,body.colorblind-tritanopia .intent-attack{filter:hue-rotate(30deg) saturate(1.5)}body.colorblind-deuteranopia .intent-defend,body.colorblind-protanopia .intent-defend,body.colorblind-tritanopia .intent-defend{filter:hue-rotate(-30deg) saturate(1.2)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body.reduced-motion *,body.reduced-motion *:before,body.reduced-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}body.reduced-motion .screen-shake,body.reduced-motion .card-drawing,body.reduced-motion .card-discarding,body.reduced-motion .card-exhausting{animation:none!important}body.large-text{--base-font-size: 20px}body.large-text .card-name{font-size:1.3em}body.large-text .card-description{font-size:1.15em}body.large-text .card-cost{font-size:1.5em}body.large-text .card-type{font-size:1.1em}body.large-text .arena-enemy-name{font-size:1em}body.large-text .btn,body.large-text button{font-size:1.1em;padding:12px 24px}*:focus{outline:none}*:focus-visible{outline:none;box-shadow:var(--focus-ring);position:relative;z-index:100}.card:focus-visible{box-shadow:var(--focus-ring),0 0 20px var(--focus-ring-color);transform:translateY(-10px) scale(1.05)}.arena-enemy:focus-visible{box-shadow:var(--focus-ring)}.btn:focus-visible,button:focus-visible{box-shadow:var(--focus-ring)}.map-node:focus-visible{box-shadow:var(--focus-ring);transform:scale(1.1)}.card,.arena-enemy,.map-node--available{cursor:pointer}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}[role=status],[role=alert],[aria-live],body.screen-reader-mode .card{position:relative}body.screen-reader-mode .card:after{content:attr(aria-label);position:absolute;bottom:-30px;left:0;right:0;background:#000000e6;color:#fff;font-size:.8em;padding:4px;opacity:0;pointer-events:none;transition:opacity .2s}body.screen-reader-mode .card:focus:after,body.screen-reader-mode .card:hover:after{opacity:1}.keyboard-hint{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#000000d9;color:#f4d03f;padding:10px 20px;border-radius:8px;font-size:.9em;z-index:9999;pointer-events:none}.keyboard-hint kbd{background:#333;border:1px solid #555;border-radius:3px;padding:2px 6px;margin:0 4px;font-family:monospace}.glossary-panel{background:#141428f2;border:1px solid #444;border-radius:8px;padding:20px;max-height:70vh;overflow-y:auto}.glossary-panel h3{color:#f4d03f;margin-bottom:15px;font-size:1.3em}.glossary-panel h4{color:#88d4a0;margin:15px 0 10px;font-size:1.1em;border-bottom:1px solid #333;padding-bottom:5px}.glossary-panel dl{margin:0}.glossary-panel dt{color:#f4d03f;font-weight:700;margin-top:10px}.glossary-panel dd{color:#ccc;margin-left:15px;margin-bottom:5px}.glossary-term{position:relative;color:#88d4a0;text-decoration:underline dotted;cursor:help}.glossary-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#141428f2;border:1px solid #444;border-radius:6px;padding:8px 12px;min-width:200px;max-width:300px;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:1000;pointer-events:none}.glossary-term:hover .glossary-tooltip,.glossary-term:focus .glossary-tooltip{opacity:1;visibility:visible}.glossary-tooltip-title{display:block;color:#f4d03f;font-weight:700;margin-bottom:4px}.glossary-tooltip-text{display:block;color:#ccc;font-size:.9em;line-height:1.4}.stuck-hint-toast{position:fixed;top:80px;left:50%;transform:translate(-50%);background:#14143cf2;border:2px solid #f4d03f;border-radius:8px;padding:12px 24px;color:#fff;font-size:1em;z-index:9999;animation:toast-slide-in .3s ease-out;max-width:90%;text-align:center}.stuck-hint-toast.hiding{animation:toast-slide-out .3s ease-in forwards}@keyframes toast-slide-in{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toast-slide-out{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-20px)}}.hint-glow{animation:hint-pulse 1s ease-in-out infinite;box-shadow:0 0 20px #f4d03f,0 0 40px #f4d03f!important}@keyframes hint-pulse{0%,to{box-shadow:0 0 20px #f4d03f,0 0 40px #f4d03f80}50%{box-shadow:0 0 30px #f4d03f,0 0 60px #f4d03fcc}}.map-zoom-controls{position:absolute;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:100}.zoom-btn{width:44px;height:44px;border-radius:50%;background:#141428e6;border:2px solid #555;color:#f4d03f;font-size:1.5em;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;-webkit-tap-highlight-color:transparent}.zoom-btn:hover,.zoom-btn:focus{background:#282850f2;border-color:#f4d03f;transform:scale(1.1)}.zoom-btn:active{transform:scale(.95)}.node-info-popup{position:absolute;transform:translate(-50%) translateY(-100%);z-index:200;pointer-events:none;animation:popup-appear .2s ease-out}@keyframes popup-appear{0%{opacity:0;transform:translate(-50%) translateY(-90%)}to{opacity:1;transform:translate(-50%) translateY(-100%)}}.node-info-popup-content{background:#141428f2;border:2px solid #f4d03f;border-radius:8px;padding:12px 16px;display:flex;gap:12px;align-items:flex-start;min-width:180px;max-width:250px}.node-info-icon{font-size:1.8em}.node-info-details{flex:1}.node-info-title{color:#f4d03f;font-weight:700;font-size:1.1em;margin-bottom:4px}.node-info-desc{color:#ccc;font-size:.9em;line-height:1.3;margin-bottom:6px}.node-info-status{color:#88d4a0;font-size:.85em;font-style:italic}.node-info-popup:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-top-color:#f4d03f}.map-screen{--boss-tension: 0}.map-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 50%,rgba(139,0,0,calc(var(--boss-tension) * .3)) 100%);transition:background .5s ease-out;z-index:50}.map-screen.boss-approaching .map-vignette{background:radial-gradient(ellipse at center,transparent 40%,rgba(139,0,0,.25) 100%)}.map-screen.boss-imminent .map-vignette{background:radial-gradient(ellipse at center,transparent 30%,rgba(139,0,0,.4) 100%);animation:vignette-pulse 2s ease-in-out infinite}@keyframes vignette-pulse{0%,to{opacity:1}50%{opacity:.7}}.map-screen.boss-approaching .map-node--boss,.map-screen.boss-imminent .map-node--boss{animation:boss-node-pulse 1.5s ease-in-out infinite}@keyframes boss-node-pulse{0%,to{filter:drop-shadow(0 0 10px rgba(255,215,0,.5));transform:scale(1)}50%{filter:drop-shadow(0 0 20px rgba(255,215,0,.8));transform:scale(1.05)}}.boss-confirmation-dialog{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center}.boss-confirmation-overlay{position:absolute;inset:0;background:#000000b3;animation:fade-in .3s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.boss-confirmation-content{position:relative;background:linear-gradient(135deg,#1a1a2e,#16213e);border:3px solid #ffd700;border-radius:12px;padding:30px 40px;text-align:center;max-width:90%;width:350px;animation:dialog-appear .3s ease-out;box-shadow:0 0 40px #ffd7004d}@keyframes dialog-appear{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.boss-confirmation-icon{font-size:3em;margin-bottom:15px;animation:icon-float 2s ease-in-out infinite}@keyframes icon-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.boss-confirmation-content h3{color:gold;font-size:1.5em;margin-bottom:15px}.boss-confirmation-content p{color:#ccc;margin-bottom:25px;line-height:1.5}.boss-confirmation-buttons{display:flex;gap:15px;justify-content:center}.boss-confirm-btn,.boss-cancel-btn{padding:12px 24px;border-radius:6px;font-size:1em;font-weight:700;cursor:pointer;transition:all .2s}.boss-confirm-btn{background:linear-gradient(135deg,#8b0000,#a00000);border:2px solid #ff6b6b;color:#fff}.boss-confirm-btn:hover{background:linear-gradient(135deg,#a00000,#c00000);transform:scale(1.05);box-shadow:0 0 20px #f006}.boss-cancel-btn{background:#3c3c50cc;border:2px solid #666;color:#ccc}.boss-cancel-btn:hover{background:#505064e6;border-color:#888}.map-parallax-container{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.parallax-layer{position:absolute;inset:-20%;background-size:cover;background-position:center}.parallax-layer--far{transform:translate(calc(var(--scroll-x, 0) * -.2));opacity:.3}.parallax-layer--mid{transform:translate(calc(var(--scroll-x, 0) * -.5));opacity:.5}.parallax-layer--near{transform:translate(calc(var(--scroll-x, 0) * -.8));opacity:.7}.tutorial-choice-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center}.tutorial-choice-overlay{position:absolute;inset:0;background:#000000d9}.tutorial-choice-content{position:relative;background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid #f4d03f;border-radius:12px;padding:40px;text-align:center;max-width:90%;width:500px;animation:dialog-appear .4s ease-out}.tutorial-choice-content h2{color:#f4d03f;font-size:1.8em;margin-bottom:15px}.tutorial-choice-content p{color:#ccc;font-size:1.1em;margin-bottom:30px}.tutorial-choice-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.tutorial-choice-btn{display:flex;flex-direction:column;align-items:center;padding:20px 30px;border-radius:10px;cursor:pointer;transition:all .2s;min-width:180px}.tutorial-choice-btn.guide-me{background:linear-gradient(135deg,#2a5d3c,#3d8055);border:2px solid #88d4a0}.tutorial-choice-btn.guide-me:hover{transform:scale(1.05);box-shadow:0 0 20px #88d4a066}.tutorial-choice-btn.know-deckbuilders{background:linear-gradient(135deg,#3d3520,#5a4a30);border:2px solid #d4a437}.tutorial-choice-btn.know-deckbuilders:hover{transform:scale(1.05);box-shadow:0 0 20px #d4a43766}.tutorial-choice-btn .btn-icon{font-size:2em;margin-bottom:8px}.tutorial-choice-btn .btn-text{color:#fff;font-size:1.1em;font-weight:700;margin-bottom:4px}.tutorial-choice-btn .btn-desc{color:#aaa;font-size:.85em}.tutorial-overlay{position:fixed;inset:0;z-index:9000;pointer-events:none;opacity:0;transition:opacity .3s}.tutorial-overlay.active{pointer-events:auto;opacity:1;background:#000000b3}.tutorial-overlay.has-spotlight{background:transparent}.tutorial-overlay.has-spotlight:before{content:"";position:absolute;inset:0;background:#000000b3;z-index:-1}.spotlight-hole{position:absolute;border-radius:8px;box-shadow:0 0 0 9999px #000000b3;pointer-events:none;animation:spotlight-appear .4s ease-out}.spotlight-hole--circle{border-radius:50%}@keyframes spotlight-appear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.spotlight-hole:after{content:"";position:absolute;inset:-3px;border:3px solid #f4d03f;border-radius:inherit;animation:spotlight-glow 2s ease-in-out infinite}@keyframes spotlight-glow{0%,to{box-shadow:0 0 10px #f4d03f,0 0 20px #f4d03f80}50%{box-shadow:0 0 20px #f4d03f,0 0 40px #f4d03fb3}}.tutorial-bubble{position:fixed;z-index:9500;max-width:350px;animation:bubble-appear .3s ease-out}@keyframes bubble-appear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tutorial-bubble-content{background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid #f4d03f;border-radius:10px;padding:20px;box-shadow:0 4px 20px #00000080}.tutorial-message{color:#fff;font-size:1.05em;line-height:1.5;margin-bottom:15px}.tutorial-buttons{display:flex;gap:10px;justify-content:flex-end}.tutorial-btn{padding:10px 20px;border-radius:6px;font-size:.95em;font-weight:700;cursor:pointer;transition:all .2s}.tutorial-btn--primary{background:linear-gradient(135deg,#2a5d3c,#3d8055);border:2px solid #88d4a0;color:#fff}.tutorial-btn--primary:hover{transform:scale(1.05);box-shadow:0 0 15px #88d4a066}.tutorial-btn--skip{background:transparent;border:1px solid #666;color:#888}.tutorial-btn--skip:hover{border-color:#888;color:#aaa}.tutorial-bubble--top:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:10px solid transparent;border-top-color:#f4d03f}.tutorial-bubble--bottom:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:10px solid transparent;border-bottom-color:#f4d03f}.tutorial-bubble--left:after{content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%);border:10px solid transparent;border-left-color:#f4d03f}.tutorial-bubble--right:after{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:10px solid transparent;border-right-color:#f4d03f}.has-warden-tooltip{cursor:help}.warden-tooltip{position:fixed;z-index:10000;background:linear-gradient(135deg,#1a1a2e,#2d2d44);border:2px solid #6b5b95;border-radius:8px;padding:12px 16px;max-width:300px;box-shadow:0 5px 25px #0009,0 0 30px #6b5b954d;opacity:0;transform:translate(-50%,-100%) translateY(-5px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.warden-tooltip.visible{opacity:1;transform:translate(-50%,-100%)}.warden-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-top-color:#6b5b95}.warden-tooltip-text{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:14px;line-height:1.5;color:#c9b8db}.warden-tooltip-attribution{font-size:11px;color:#8a7aa8;text-align:right;margin-top:8px;font-style:italic}.tutorial-prompt{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;background:linear-gradient(180deg,#1e1e2e,#252535);border:3px solid #f4d03f;border-radius:12px;padding:24px 32px;min-width:400px;max-width:500px;box-shadow:0 10px 50px #000c,0 0 50px #f4d03f33;opacity:0;transition:opacity .3s ease}.tutorial-prompt.visible{opacity:1}.tutorial-prompt.fade-out{opacity:0}.tutorial-prompt-title{font-family:Cinzel,Georgia,serif;font-size:22px;font-weight:700;color:#f4d03f;text-align:center;margin-bottom:16px;text-shadow:0 2px 4px rgba(0,0,0,.5);border-bottom:1px solid #f4d03f33;padding-bottom:12px}.tutorial-prompt-content{font-family:Cormorant Garamond,Georgia,serif;font-size:16px;line-height:1.8;color:#d4d4d4}.tutorial-prompt-line{margin-bottom:8px}.tutorial-prompt-line:empty{height:8px}.tutorial-prompt-dismiss{text-align:center;margin-top:20px;font-size:13px;color:#888;font-style:italic;animation:pulse-subtle 2s ease-in-out infinite}@keyframes pulse-subtle{0%,to{opacity:.6}50%{opacity:1}}.warden-dialogue-overlay{position:fixed;inset:0;z-index:9998;background:#000000d9;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.warden-dialogue-overlay.visible{opacity:1}.warden-dialogue-overlay.fade-out{opacity:0}.warden-dialogue-container{display:flex;align-items:flex-start;gap:30px;max-width:800px;padding:20px}.warden-portrait{flex-shrink:0;width:120px;height:160px;background:linear-gradient(180deg,#2a2a3e,#1a1a28);border:2px solid #6b5b95;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 5px 20px #00000080}.warden-portrait.speaker-warden{border-color:#6b5b95}.warden-portrait.speaker-narrator{border-color:#888}.warden-portrait.speaker-enemy{border-color:#8b0000}.warden-figure{width:80px;height:120px;background:linear-gradient(180deg,rgba(107,91,149,.3) 0%,transparent 100%);border-radius:50% 50% 0 0;position:relative}.warden-figure:before{content:"";position:absolute;top:10px;left:50%;transform:translate(-50%);width:30px;height:30px;background:radial-gradient(circle,#9b8ec2,#6b5b95);border-radius:50%;opacity:.8;animation:warden-glow 3s ease-in-out infinite}@keyframes warden-glow{0%,to{box-shadow:0 0 15px #9b8ec280;opacity:.8}50%{box-shadow:0 0 25px #9b8ec2cc;opacity:1}}.warden-dialogue-content{flex:1;min-height:150px}.warden-stage-direction{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:14px;color:#8a8a8a;margin-bottom:12px}.warden-speaker-name{font-family:Cinzel,Georgia,serif;font-size:16px;font-weight:700;margin-bottom:8px;text-transform:uppercase;letter-spacing:2px}.warden-speaker-name.speaker-warden{color:#9b8ec2}.warden-speaker-name.speaker-narrator{color:#aaa}.warden-speaker-name.speaker-enemy{color:#c45c5c}.warden-dialogue-text{font-family:Cormorant Garamond,Georgia,serif;font-size:20px;line-height:1.6;color:#e0e0e0;min-height:60px}.warden-continue-prompt{margin-top:20px;font-size:13px;color:#666;font-style:italic;animation:pulse-subtle 2s ease-in-out infinite}.warden-message{position:fixed;bottom:120px;left:50%;transform:translate(-50%) translateY(20px);z-index:9000;background:linear-gradient(180deg,#1e1e2e,#252535);border:2px solid #6b5b95;border-radius:8px;padding:16px 24px;max-width:500px;display:flex;align-items:center;gap:15px;box-shadow:0 5px 30px #0009,0 0 30px #6b5b954d;opacity:0;transition:opacity .3s ease,transform .3s ease;cursor:pointer}.warden-message.visible{opacity:1;transform:translate(-50%) translateY(0)}.warden-message.fade-out{opacity:0;transform:translate(-50%) translateY(20px)}.warden-message-icon{font-size:28px;flex-shrink:0}.warden-message-text{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:16px;line-height:1.5;color:#c9b8db}.warden-message-label{font-size:12px;color:#8a7aa8;font-style:italic;white-space:nowrap}.auth-screen{position:absolute;inset:0;display:flex;flex-direction:column;background:linear-gradient(135deg,#1a1a2e,#16213e);overflow-y:auto}.auth-header{display:flex;align-items:center;padding:1rem;border-bottom:1px solid rgba(255,255,255,.1);position:relative}.auth-header .back-btn{background:none;border:none;color:#f4d03f;cursor:pointer;font-size:1rem;font-family:inherit;display:flex;align-items:center;gap:.25rem;padding:.5rem;transition:color .2s}.auth-header .back-btn:hover{color:#fff}.auth-header .back-arrow{font-size:1.2rem}.auth-title{position:absolute;left:50%;transform:translate(-50%);font-size:1.25rem;color:#f4d03f;margin:0;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.auth-container{flex:1;display:flex;flex-direction:column;padding:1.5rem;max-width:400px;margin:0 auto;width:100%}.auth-tabs{display:flex;margin-bottom:1.5rem;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.2)}.auth-tab{flex:1;padding:.75rem;background:transparent;border:none;color:#fff9;cursor:pointer;transition:all .2s;font-family:inherit;font-size:1rem}.auth-tab:hover{color:#fff;background:#ffffff0d}.auth-tab.active{background:#f4d03f;color:#1a1a2e;font-weight:700}.oauth-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.625rem 1rem;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:#fff;color:#333;font-size:.875rem;font-family:inherit;cursor:pointer;transition:all .2s}.oauth-btn:hover:not(:disabled){background:#f5f5f5;transform:translateY(-1px)}.oauth-btn:disabled{opacity:.6;cursor:not-allowed}.oauth-btn .google-icon{flex-shrink:0}.auth-divider{display:flex;align-items:center;margin:1.5rem 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid rgba(255,255,255,.2)}.auth-divider span{padding:0 1rem;color:#ffffff80;font-size:.875rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-form .form-group{display:flex;flex-direction:column;gap:.25rem}.auth-form .form-group label{font-size:.875rem;color:#ffffffb3}.auth-form .form-group input{padding:.75rem;border:1px solid rgba(255,255,255,.2);border-radius:6px;font-size:1rem;font-family:inherit;background:#ffffff0d;color:#fff;transition:border-color .2s,background .2s}.auth-form .form-group input::placeholder{color:#fff6}.auth-form .form-group input:focus{outline:none;border-color:#f4d03f;background:#ffffff1a}.auth-form .form-group .hint{font-size:.75rem;color:#ffffff80}.auth-submit-btn{margin-top:.5rem;padding:.875rem;font-size:1rem;font-family:inherit;font-weight:700;background:linear-gradient(135deg,#f4d03f,#d4a437);color:#1a1a2e;border:none;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.auth-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f4d03f4d}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-submit-btn .spinner{width:16px;height:16px;border:2px solid rgba(26,26,46,.3);border-top-color:#1a1a2e;border-radius:50%;animation:auth-spinner .8s linear infinite}@keyframes auth-spinner{to{transform:rotate(360deg)}}.error-banner{padding:.75rem;background:#ff575726;border:1px solid rgba(255,87,87,.3);color:#ff5757;border-radius:6px;font-size:.875rem;text-align:center}.guest-option{text-align:center;margin-top:1.5rem;font-size:.875rem;color:#fff9}.guest-option .guest-link{background:none;border:none;color:#f4d03f;cursor:pointer;font-family:inherit;font-size:inherit;text-decoration:underline;transition:color .2s}.guest-option .guest-link:hover{color:#fff}.guest-option small{display:block;margin-top:.25rem;color:#fff6}.toast-container{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:10000;pointer-events:none;top:max(20px,calc(env(safe-area-inset-top) + 10px))}.toast{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1.25rem;background:#1e1e32f2;border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 8px 32px #0006;backdrop-filter:blur(8px);max-width:90vw;min-width:200px;pointer-events:auto;cursor:pointer;opacity:0;transform:translateY(-20px);transition:opacity .3s ease,transform .3s ease}.toast-visible{opacity:1;transform:translateY(0)}.toast-hiding{opacity:0;transform:translateY(-20px)}.toast-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.toast-message{font-size:.9375rem;line-height:1.4;color:#fff}.toast-success{border-color:#4caf5066}.toast-success .toast-icon{color:#4caf50}.toast-error{border-color:#f4433666}.toast-error .toast-icon{color:#f44336}.toast-warning{border-color:#ffc10766}.toast-warning .toast-icon{color:#ffc107}.toast-info{border-color:#2196f366}.toast-info .toast-icon{color:#2196f3}.dungeon-scene[data-act="1"][data-boss=false]{background-image:url(../images/backgrounds/act1_arena.png)}.dungeon-scene[data-act="1"][data-boss=true]{background-image:url(../images/backgrounds/act1_boss_arena.png)}.dungeon-scene[data-act="2"][data-boss=false]{background-image:url(../images/backgrounds/act2_arena.png)}.dungeon-scene[data-act="2"][data-boss=true]{background-image:url(../images/backgrounds/act2_boss_arena.png)}.dungeon-scene[data-act="3"][data-boss=false]{background-image:url(../images/backgrounds/act3_arena.png)}.dungeon-scene[data-act="3"][data-boss=true]{background-image:url(../images/backgrounds/act3_boss_arena.png)}.enemy-figure[data-enemy-type=cultist]{background-image:url(../images/enemies/cultist.png)}.enemy-figure[data-enemy-type=skeleton]{background-image:url(../images/enemies/skeleton.png)}.enemy-figure[data-enemy-type=zombie]{background-image:url(../images/enemies/zombie.png)}.enemy-figure[data-enemy-type=haunted_armor]{background-image:url(../images/enemies/haunted_armor.png)}.enemy-figure[data-enemy-type=acolyte]{background-image:url(../images/enemies/acolyte.png)}.enemy-figure[data-enemy-type=summoned_acolyte]{background-image:url(../images/enemies/cultist.png)}.enemy-figure[data-enemy-type=bone_archer]{background-image:url(../images/enemies/bone_archer.png)}.enemy-figure[data-enemy-type=ghoul]{background-image:url(../images/enemies/ghoul.png)}.enemy-figure[data-enemy-type=shade]{background-image:url(../images/enemies/shade.png)}.enemy-figure[data-enemy-type=training_dummy]{background-image:url(../images/enemies/training_dummy.png)}.enemy-figure[data-enemy-type=drowned_cultist]{background-image:url(../images/enemies/drowned_cultist.png)}.enemy-figure[data-enemy-type=slime]{background-image:url(../images/enemies/slime.png)}.enemy-figure[data-enemy-type=drowned_king],.enemy-figure.boss-figure[data-enemy-type=drowned_king]{background-image:url(../images/enemies/drowned_king.png)}.enemy-figure[data-enemy-type=high_cultist]{background-image:url(../images/enemies/high_cultist_mira.png)}.enemy-figure[data-enemy-type=tomb_guardian]{background-image:url(../images/enemies/stone_guardian.png)}.enemy-figure[data-enemy-type=slimeling]{background-image:url(../images/enemies/slimeling.png)}.enemy-figure[data-enemy-type=dark_mage]{background-image:url(../images/enemies/dark_mage.png)}.enemy-figure[data-enemy-type=gargoyle]{background-image:url(../images/enemies/gargoyle.png)}.enemy-figure[data-enemy-type=aberration]{background-image:url(../images/enemies/aberration.png)}.enemy-figure[data-enemy-type=deep_one]{background-image:url(../images/enemies/deep_one.png)}.enemy-figure[data-enemy-type=corrupted_spirit]{background-image:url(../images/enemies/corrupted_spirit.png)}.enemy-figure[data-enemy-type=void_caller],.enemy-figure.elite-figure[data-enemy-type=void_caller]{background:url(../images/enemies/void_caller.png) no-repeat center top!important;background-size:150%!important}.enemy-figure[data-enemy-type=void_tendril]{background-image:url(../images/enemies/void_tendril.png)}.enemy-figure[data-enemy-type=stone_sentinel],.enemy-figure.elite-figure[data-enemy-type=stone_sentinel]{background:url(../images/enemies/stone_guardian.png) no-repeat center top!important;background-size:150%!important}.enemy-figure[data-enemy-type=bonelord],.enemy-figure.boss-figure[data-enemy-type=bonelord]{background-image:url(../images/enemies/the_bonelord.png)}.enemy-figure[data-enemy-type=hollow_god],.enemy-figure.boss-figure[data-enemy-type=hollow_god]{background-image:url(../images/enemies/hollow_god.png)}.enemy-figure[data-enemy-type=imp]{background-image:url(../images/enemies/imp.png)}.enemy-figure[data-enemy-type=void_spawn]{background-image:url(../images/enemies/void_spawn.png)}.enemy-figure[data-enemy-type=sanctum_guardian]{background-image:url(../images/enemies/sanctum_guardian.png)}.enemy-figure[data-enemy-type=infernal_hound]{background-image:url(../images/enemies/inferno_hound.png)}.enemy-figure[data-enemy-type=corrupted_angel]{background-image:url(../images/enemies/corrupted_angel.png)}.enemy-figure[data-enemy-type=greater_demon]{background-image:url(../images/enemies/arch_demon.png)}.enemy-figure[data-enemy-type=sanctum_warden]{background-image:url(../images/enemies/sanctum_warden.png)}.player-silhouette[data-class=cleric] .player-figure{background-image:url(../images/players/cleric.png)}.player-silhouette[data-class=dungeon_knight] .player-figure{background-image:url(../images/players/dungeon_knight.png)}.player-silhouette[data-class=diabolist] .player-figure{background-image:url(../images/players/diabolist.png)}.player-silhouette[data-class=oathsworn] .player-figure{background-image:url(../images/players/oathsworn.png)}.player-silhouette[data-class=fey_touched] .player-figure{background-image:url(../images/players/fey_touched.png)}.player-silhouette[data-class=celestial] .player-figure{background-image:url(../images/players/celestial.png)}.player-silhouette[data-class=summoner] .player-figure{background-image:url(../images/players/summoner.png)}.player-silhouette[data-class=bargainer] .player-figure{background-image:url(../images/players/bargainer.png)}.player-silhouette[data-class=tidecaller] .player-figure{background-image:url(../images/players/tidecaller.png)}.player-silhouette[data-class=shadow_stalker] .player-figure{background-image:url(../images/players/shadow_stalker.png)}.player-silhouette[data-class=goblin] .player-figure{background-image:url(../images/players/goblin.png)}#main-menu{background-image:url(../images/main-menu-bg.jpg)}.player-figure.drinking-potion{animation:drink-potion .6s ease-out}@keyframes drink-potion{0%{transform:scale(1)}15%{transform:scale(.95) translateY(5px)}30%{transform:scale(1.02) translateY(-8px)}50%{transform:scale(1.08) translateY(-12px);filter:brightness(1.3)}70%{transform:scale(1.05) translateY(-6px);filter:brightness(1.2)}to{transform:scale(1) translateY(0);filter:brightness(1)}}.player-figure.potion-heal{filter:brightness(1.2) drop-shadow(0 0 15px #ff6b6b)}.player-figure.potion-block{filter:brightness(1.2) drop-shadow(0 0 15px #6bb5ff)}.player-figure.potion-strength{filter:brightness(1.2) drop-shadow(0 0 15px #ffb347)}.player-figure.potion-resolve{filter:brightness(1.2) drop-shadow(0 0 15px #dda0dd)}.potion-particle{position:fixed;width:8px;height:8px;border-radius:50%;pointer-events:none;z-index:1000;opacity:.9;box-shadow:0 0 6px currentColor;animation:potion-particle-rise .8s ease-out forwards}@keyframes potion-particle-rise{0%{transform:translateY(0) translate(0) scale(1);opacity:.9}to{transform:translateY(-60px) translate(var(--drift-x, 0px)) scale(.3);opacity:0}}@media (prefers-reduced-motion: reduce){.player-figure.drinking-potion{animation:none;filter:brightness(1.3)}.potion-particle{animation:none;display:none}}.reduced-motion .player-figure.drinking-potion{animation:none;filter:brightness(1.3)}.reduced-motion .potion-particle{display:none}.tab-btn.class-locked{opacity:.6;background:linear-gradient(135deg,#2a2a3a,#1a1a2a);color:#666}.tab-btn.class-locked:hover{background:linear-gradient(135deg,#3a3a4a,#2a2a3a);cursor:help}.class-locked-message{text-align:center;padding:40px 20px;color:#888}.class-locked-message .lock-icon-large{font-size:48px;display:block;margin-bottom:20px}.class-locked-message p{margin:10px 0;font-size:16px}.class-locked-message .lock-hint{color:#aaa;font-style:italic;font-size:14px}body.app-backgrounded *{animation-play-state:paused!important;transition:none!important}body.app-backgrounded .map-connections line,body.app-backgrounded svg *{transition:none!important}.card-gallery-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(180deg,#1a1412,#0d0a08);overflow:hidden;z-index:900}.gallery-container{max-width:1400px;margin:0 auto;padding:1rem;height:100%;display:flex;flex-direction:column}.gallery-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid rgba(139,105,20,.3);margin-bottom:.75rem;flex-shrink:0}.gallery-back-btn{background:transparent;border:1px solid #8b6914;border-radius:8px;padding:.5rem 1rem;color:#d4af37;cursor:pointer;transition:all .2s ease}.gallery-back-btn:hover{background:#8b691433;border-color:#d4af37}.gallery-title{color:#d4af37;font-size:1.4rem;margin:0}.gallery-info{color:#a89880;font-size:.9rem}.gallery-class-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid rgba(139,105,20,.2);flex-shrink:0}.gallery-tab{background:#2a1f1a80;border:1px solid rgba(139,105,20,.3);border-radius:4px;padding:.4rem .8rem;color:#a89880;font-size:.85rem;cursor:pointer;transition:all .2s ease}.gallery-tab:hover{background:#8b691433;color:#d4af37}.gallery-tab.active{background:#8b69144d;border-color:#d4af37;color:#d4af37}.gallery-content{flex:1;overflow-y:auto;padding-right:.5rem}.gallery-section{margin-bottom:1.5rem}.gallery-section-title{font-size:1rem;margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.gallery-section-title.rarity-starter{color:#a0a0a0}.gallery-section-title.rarity-common{color:#fff}.gallery-section-title.rarity-uncommon{color:#4fc3f7}.gallery-section-title.rarity-rare{color:gold}.gallery-cards{display:flex;flex-wrap:wrap;gap:.75rem}.gallery-card{flex-shrink:0;width:140px;cursor:default;transition:transform .2s ease}.gallery-card:hover{transform:translateY(-5px) scale(1.05);z-index:10}.gallery-card .card-fracture-badge{position:absolute;bottom:4px;right:4px;background:#8b0000cc;color:#ff6b6b;font-size:.6rem;padding:2px 4px;border-radius:3px;text-transform:uppercase}.gallery-empty{color:#a89880;text-align:center;padding:2rem}.gallery-card.rarity-common{border:1px solid rgba(255,255,255,.2)}.gallery-card.rarity-uncommon{border:1px solid rgba(79,195,247,.4);box-shadow:0 0 8px #4fc3f733}.gallery-card.rarity-rare{border:1px solid rgba(255,215,0,.5);box-shadow:0 0 12px #ffd7004d}html.electron{--arena-height: 100vh;--arena-max-width: 100vw}html.electron body{padding:0;margin:0;overflow:hidden}html.electron .game-container,html.electron .arena-container{max-width:100vw!important;width:100vw;height:100vh;margin:0;border:none}.victory-cta-section{display:flex;justify-content:center;margin:1.5rem 0}.marketing-cta{display:flex;align-items:center;gap:.5rem;animation:ctaFadeIn .5s ease-out}@keyframes ctaFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cta-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:6px;text-decoration:none;font-weight:700;font-size:1rem;transition:transform .2s,box-shadow .2s;border:none;cursor:pointer}.cta-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.cta-steam{background:linear-gradient(135deg,#1b2838,#2a475e);color:#c7d5e0}.cta-steam:hover{background:linear-gradient(135deg,#2a475e,#3d6a8f);color:#fff}.cta-discord{background:#5865f2;color:#fff}.cta-discord:hover{background:#6a75f5}.cta-icon{font-size:1.2em}.cta-dismiss{background:transparent;border:none;color:#ffffff80;cursor:pointer;padding:.25rem .5rem;font-size:1.25rem;transition:color .2s}.cta-dismiss:hover{color:#fff}.menu-platform-links{margin:1rem 0}.platform-links{display:flex;gap:1rem;justify-content:center;padding:1rem 0;border-top:1px solid rgba(255,255,255,.1)}.platform-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;border-radius:4px;text-decoration:none;color:#ffffffb3;font-size:.85rem;transition:all .2s;background:#ffffff0d}.platform-btn:hover{color:#fff;background:#ffffff1a;transform:translateY(-1px)}.platform-icon{width:20px;height:20px;object-fit:contain}.platform-label{font-weight:500}.share-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.share-modal{background:linear-gradient(180deg,#2a2a30,#1a1a20);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;width:90%;max-width:320px;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.share-modal-title{margin:0 0 1rem;font-size:1.25rem;text-align:center;color:#f0e6d3}.share-modal-content{margin-bottom:1rem}.share-modal-close{width:100%;padding:.75rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;transition:background .2s}.share-modal-close:hover{background:#ffffff26}.share-options{display:flex;flex-direction:column;gap:.75rem}.share-link{display:block;padding:.75rem 1rem;border-radius:6px;text-align:center;text-decoration:none;font-weight:500;cursor:pointer;transition:all .2s;border:none}.share-twitter{background:#1da1f2;color:#fff}.share-twitter:hover{background:#42b5ff}.share-reddit{background:#ff4500;color:#fff}.share-reddit:hover{background:#ff6a33}.share-copy{background:#333;color:#fff;border:1px solid #555}.share-copy:hover{background:#444}.about-section .version-info,.about-section .developer-info,.about-section .coming-soon-text{color:#ffffffb3;font-size:.9rem}.about-section .coming-soon-text{font-style:italic}.platform-buttons-inline{display:flex;gap:.5rem;flex-wrap:wrap}.platform-link-inline{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .75rem;background:#ffffff14;border-radius:4px;color:#fffc;text-decoration:none;font-size:.85rem;transition:all .2s}.platform-link-inline:hover{background:#ffffff26;color:#fff}.cloud-save-section .setting-row{flex-direction:column;align-items:stretch;gap:.5rem}.cloud-save-row{padding:12px 0!important}.cloud-save-controls{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%}.cloud-save-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;max-width:200px;padding:.65rem 1rem;font-size:.9rem;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:2px solid #5dade2;border-radius:8px;cursor:pointer;transition:all .2s;font-weight:500}.cloud-save-btn:hover:not(:disabled){background:linear-gradient(135deg,#5dade2,#3498db);transform:translateY(-1px)}.cloud-save-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.cloud-save-btn.success{background:linear-gradient(135deg,#27ae60,#1e8449);border-color:#58d68d}.cloud-save-btn.error{background:linear-gradient(135deg,#e74c3c,#c0392b);border-color:#ec7063}.cloud-save-spinner{width:14px;height:14px;border:2px solid white;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.last-synced-text{font-size:.75rem;color:#ffffff80;text-align:center;margin:0}.cloud-save-guest{text-align:center;padding:.5rem 0}.cloud-save-prompt{font-size:.85rem;color:#fff9;margin:0;font-style:italic}.platform-link-inline[data-platform=steam]:hover{background:#1b2838cc}.platform-link-inline[data-platform=discord]:hover{background:#5865f24d}.platform-link-inline[data-platform=twitter]:hover{background:#1da1f24d}.platform-row label{min-width:100px}.card-playing{animation-duration:calc(.3s * var(--animation-speed, 1))!important}.card-drawing{animation-duration:calc(.35s * var(--animation-speed, 1))!important}.card-discarding{animation-duration:calc(.25s * var(--animation-speed, 1))!important}.card-exhausting{animation-duration:calc(.4s * var(--animation-speed, 1))!important}.floating-damage,.floating-damage.animate{animation-duration:calc(.7s * var(--animation-speed, 1))!important}.arena-enemy.entering{animation-duration:calc(.4s * var(--animation-speed, 1))!important}.arena-enemy.entering.boss{animation-duration:calc(.9s * var(--animation-speed, 1))!important}.arena-enemy.telegraphing-attack,.arena-enemy.telegraphing-heavy{animation-duration:calc(.7s * var(--animation-speed, 1))!important}.crit-flash,.heavy-hit-flash,.block-flash,.heal-flash{animation-duration:calc(.15s * var(--animation-speed, 1))!important}.victory-flash{animation-duration:calc(.4s * var(--animation-speed, 1))!important}.victory-particle{animation-duration:calc(1s * var(--animation-speed, 1))!important}.death-particle{animation-duration:calc(.65s * var(--animation-speed, 1))!important}.potion-particle{animation-duration:calc(.58s * var(--animation-speed, 1))!important}.player-figure.drinking-potion{animation-duration:calc(.45s * var(--animation-speed, 1))!important}.rarity-common{--rarity-color: #888;--rarity-glow: rgba(136, 136, 136, .5)}.rarity-rare{--rarity-color: #4a8;--rarity-glow: rgba(68, 170, 136, .5)}.rarity-legendary{--rarity-color: #d4a438;--rarity-glow: rgba(212, 164, 56, .5)}#remnant-collection{background:linear-gradient(180deg,#1a1a2e,#0f0f1a)}.remnant-collection-container{display:flex;flex-direction:column;padding:1rem;max-width:900px;margin:0 auto;gap:1.5rem}.remnant-progress{text-align:center;font-size:1.1rem;color:#fffc}.remnant-progress .progress-value{font-weight:700;color:#d4a438}.remnant-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:120px;gap:1rem;padding:.5rem}.remnant-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem;background:#ffffff0d;border:2px solid var(--rarity-color, #666);border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;min-width:0;width:100%;height:100%;overflow:hidden}.remnant-card:hover{transform:translateY(-2px);background:#ffffff14}.remnant-card.selected{transform:scale(1.05);box-shadow:0 0 20px var(--rarity-glow, rgba(255, 255, 255, .3));background:#ffffff1a}.remnant-card.locked{opacity:.5;filter:grayscale(.5)}.remnant-card-icon{font-size:2rem;margin-bottom:.5rem;color:var(--rarity-color, #888)}.remnant-card.locked .remnant-card-icon{color:#666}.remnant-card-name{font-size:.8rem;text-align:center;color:#ffffffe6;margin-bottom:.25rem;width:100%;max-height:2.4em;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.remnant-card-rarity{font-size:.7rem;text-transform:uppercase;color:var(--rarity-color, #888)}.remnant-details{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1.5rem;height:200px;width:100%;max-width:100%;box-sizing:border-box;overflow-y:auto;overflow-x:hidden}.remnant-details-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#ffffff80;font-style:italic}.remnant-details-content{display:flex;flex-direction:column;gap:.5rem;width:100%;min-width:0;word-wrap:break-word;overflow-wrap:break-word}.remnant-details-content>*{min-width:0;max-width:100%}.remnant-details-name{font-size:1.5rem;margin:0;color:var(--rarity-color, #fff)}.remnant-details-rarity{font-size:.85rem;text-transform:uppercase;color:var(--rarity-color, #888);font-weight:700}.remnant-details-description{color:#ffffffb3;font-style:italic;margin:.5rem 0;word-wrap:break-word;overflow-wrap:break-word}.remnant-details-effect{background:#ffffff0d;padding:.75rem;border-radius:4px;word-wrap:break-word;overflow-wrap:break-word}.remnant-details-effect .effect-label{color:#fff9;margin-right:.5rem}.remnant-details-effect .effect-value{color:#4a8}.remnant-details-hint{background:#ffc8641a;padding:.75rem;border-radius:4px;border-left:3px solid #d4a438;word-wrap:break-word;overflow-wrap:break-word}.remnant-details-hint .hint-label{color:#d4a438;margin-right:.5rem}.remnant-details-hint .hint-value{color:#fffc;font-style:italic}.remnant-details-status{text-transform:uppercase;font-size:.8rem;font-weight:700;margin-top:.5rem}.remnant-details-status.collected{color:#4a8}.remnant-details-status.locked{color:#a44}.remnant-discovery-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.remnant-discovery-modal.visible{opacity:1}.remnant-discovery-modal .modal-backdrop{position:absolute;inset:0;background:#000000d9}.remnant-discovery-modal .modal-content{position:relative;background:linear-gradient(180deg,#2a2a4a,#1a1a2e);border:2px solid var(--rarity-color, #888);border-radius:12px;padding:2rem;text-align:center;max-width:400px;width:90%;box-shadow:0 0 40px var(--rarity-glow, rgba(255, 255, 255, .2));transform:scale(.9);transition:transform .3s ease}.remnant-discovery-modal.visible .modal-content{transform:scale(1)}.remnant-discovery-modal .discovery-header{font-size:.9rem;letter-spacing:.2em;color:var(--rarity-color, #888);margin-bottom:1rem;text-shadow:0 0 10px var(--rarity-glow, rgba(255, 255, 255, .3))}.remnant-discovery-modal .remnant-icon-container{position:relative;margin:1rem 0}.remnant-discovery-modal .remnant-icon-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;background:radial-gradient(circle,var(--rarity-glow, rgba(255, 255, 255, .3)) 0%,transparent 70%);animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}}.remnant-discovery-modal .remnant-icon{font-size:4rem;color:var(--rarity-color, #888);position:relative}.remnant-discovery-modal .remnant-name{font-size:1.8rem;margin:.5rem 0;color:var(--rarity-color, #fff)}.remnant-discovery-modal .remnant-rarity{font-size:.85rem;text-transform:uppercase;color:var(--rarity-color, #888);letter-spacing:.1em;margin-bottom:1rem}.remnant-discovery-modal .remnant-description{color:#ffffffb3;font-style:italic;margin:1rem 0;line-height:1.5}.remnant-discovery-modal .remnant-effect{background:#0000004d;padding:.75rem 1rem;border-radius:4px;margin-bottom:1.5rem}.remnant-discovery-modal .effect-label{color:#fff9;margin-right:.5rem}.remnant-discovery-modal .effect-value{color:#4a8}.remnant-discovery-modal .continue-btn{background:linear-gradient(180deg,#4a4,#383);color:#fff;border:none;padding:.75rem 2rem;font-size:1rem;border-radius:6px;cursor:pointer;transition:transform .2s,box-shadow .2s}.remnant-discovery-modal .continue-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4a46}#difficulty-select{background:linear-gradient(180deg,#1a1a2e,#0f0f1a);overflow-y:auto;-webkit-overflow-scrolling:touch}.difficulty-select-container{display:flex;flex-direction:column;padding:1rem;max-width:700px;margin:0 auto;gap:1rem;min-height:0;flex:1}.difficulty-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}.difficulty-tier-card{display:flex;flex-direction:column;align-items:center;padding:.75rem .5rem;background:#ffffff0d;border:2px solid var(--tier-color, #666);border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}.difficulty-tier-card:hover:not(.locked){transform:translateY(-2px);background:#ffffff14}.difficulty-tier-card.selected{transform:scale(1.05);box-shadow:0 0 25px var(--tier-color, rgba(255, 255, 255, .3));background:#ffffff1a}.difficulty-tier-card.locked{opacity:.4;cursor:not-allowed;filter:grayscale(.6)}.difficulty-tier-card .tier-name{font-size:.9rem;font-weight:700;color:var(--tier-color, #fff);margin-bottom:.15rem}.difficulty-tier-card .tier-multiplier{font-size:1.4rem;font-weight:700;color:var(--tier-color, #fff)}.difficulty-tier-card .tier-status{font-size:.7rem;color:#a44;margin-top:.25rem}.difficulty-tier-card .tier-lock-info{font-size:.65rem;color:#ffffff80;margin-top:.25rem;text-align:center}.difficulty-details{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1rem}.multiplier-preview h3{margin:0 0 .75rem;font-size:1rem;color:#ffffffe6;text-align:center}.multiplier-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.multiplier-list li{display:flex;justify-content:space-between;padding:.35rem .5rem;background:#ffffff0d;border-radius:4px;font-size:.85rem}.multiplier-label{color:#ffffffb3}.multiplier-value{color:#4a8;font-weight:700}.difficulty-actions{display:flex;justify-content:center;padding-top:.75rem;padding-bottom:1rem}.difficulty-actions .primary-btn{background:linear-gradient(180deg,#4a4,#383);color:#fff;border:none;padding:.75rem 2rem;font-size:1rem;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s}.difficulty-actions .primary-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #4a46}.difficulty-badge{position:fixed;top:10px;right:10px;padding:6px 12px;border-radius:4px;font-size:.8rem;font-weight:700;color:#fff;background:var(--badge-color, #4a4);box-shadow:0 2px 8px #0000004d;z-index:100}.difficulty-badge.hidden{display:none}.sync-indicator{position:fixed;top:10px;left:10px;display:none;align-items:center;gap:.35rem;font-size:.75rem;padding:.35rem .6rem;border-radius:4px;background:#000000b3;backdrop-filter:blur(4px);z-index:1000;transition:opacity .3s,transform .3s;animation:syncSlideIn .3s ease-out}@keyframes syncSlideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.sync-indicator--idle{display:none}.sync-indicator--syncing{color:#6af}.sync-indicator--synced{color:#6c6}.sync-indicator--offline{color:#fa4}.sync-indicator--error{color:#f66}.sync-indicator--pending{color:#fa4}.sync-icon--pending{animation:pendingPulse 1.5s ease-in-out infinite}@keyframes pendingPulse{0%,to{opacity:1}50%{opacity:.5}}.sync-spinner{width:10px;height:10px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:syncSpin .8s linear infinite}@keyframes syncSpin{to{transform:rotate(360deg)}}.sync-icon{font-size:.85rem;font-weight:700}.sync-icon--error{background:#f66;color:#000;width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem}.sync-label{font-weight:500}.controller-focus{outline:3px solid var(--accent-gold, #f4d03f)!important;outline-offset:3px;animation:controller-pulse-focus 1.2s ease-in-out infinite}@keyframes controller-pulse-focus{0%,to{outline-color:var(--accent-gold, #f4d03f);box-shadow:0 0 8px #f4d03f66}50%{outline-color:#ffe066;box-shadow:0 0 16px #f4d03f99}}.controller-selected{transform:translateY(-15px) scale(1.05);z-index:100;box-shadow:0 8px 25px #f4d03f80}.controller-target{outline:4px solid #e74c3c!important;outline-offset:4px;animation:controller-target-pulse .8s ease-in-out infinite}@keyframes controller-target-pulse{0%,to{outline-color:#e74c3c;box-shadow:0 0 15px #e74c3c80}50%{outline-color:#ff6b6b;box-shadow:0 0 25px #e74c3ccc}}body.targeting-mode:after{content:"Select Target (LB/RB to cycle, A to confirm, B to cancel)";position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#000000d9;color:#f4d03f;padding:12px 24px;border-radius:8px;font-size:.9em;z-index:9999;border:2px solid #f4d03f;pointer-events:none;animation:fadeInUp .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}body.controller-mode .mouse-only{display:none!important}body:not(.controller-mode) .controller-only{display:none!important}.button-prompt{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#000000b3;border-radius:6px;font-size:.85em;border:1px solid rgba(255,255,255,.2)}.button-prompt-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-weight:700;font-size:.9em}.button-prompt-icon.xbox-a{background:#107c10;color:#fff}.button-prompt-icon.xbox-b{background:#e81123;color:#fff}.button-prompt-icon.xbox-x{background:#0078d4;color:#fff}.button-prompt-icon.xbox-y{background:#ffb900;color:#000}.button-prompt-icon.ps-x{background:#2e6db4;color:#fff}.button-prompt-icon.ps-o{background:#e74c3c;color:#fff}.button-prompt-icon.ps-square{background:#d63384;color:#fff}.button-prompt-icon.ps-triangle{background:#2ecc71;color:#fff}.button-prompt-icon.generic{background:#555;color:#fff;border:2px solid #888}.button-prompt-icon.bumper,.button-prompt-icon.trigger{background:#444;color:#fff;min-width:28px;border-radius:6px;font-size:.8em}.controller-settings{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;margin-top:20px}.controller-settings-header{display:flex;align-items:center;gap:10px;margin-bottom:15px}.controller-status{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#0000004d;border-radius:6px}.controller-status-dot{width:10px;height:10px;border-radius:50%;background:#e74c3c}.controller-status-dot.connected{background:#2ecc71;box-shadow:0 0 8px #2ecc7180}.controller-type-label{font-size:.9em;color:#aaa}.deadzone-slider-container{display:flex;align-items:center;gap:15px;margin:10px 0}.deadzone-slider{flex:1;-webkit-appearance:none;appearance:none;height:6px;background:#333;border-radius:3px;outline:none}.deadzone-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:#f4d03f;border-radius:50%;cursor:pointer}.deadzone-slider::-moz-range-thumb{width:18px;height:18px;background:#f4d03f;border-radius:50%;cursor:pointer;border:none}.deadzone-value{min-width:40px;text-align:right;font-family:monospace}
