: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}*{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;overflow-x:hidden}.game-container{max-width:100%;margin:0 auto}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:1000px;margin:0 auto 20px;border-radius:14px;overflow:hidden;border:3px solid #4a3728;box-shadow:0 8px 32px #0009,inset 0 0 60px #0006}.dungeon-scene{position:relative;width:100%;height:400px;background:linear-gradient(180deg,#0a0a0f,#1a1520,#2a2030);overflow:hidden}.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:center 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,#3c324680 60px,#28233280 60px,#28233280 120px),linear-gradient(180deg,#3a3040,#1a1520);transform:perspective(300px) rotateX(30deg);transform-origin:center top}.torch{position:absolute;width:8px;height:20px;top:20%;background:linear-gradient(180deg,#8b4513,#654321);border-radius:2px}.torch:before{content:"";position:absolute;top:-15px;left:50%;transform:translate(-50%);width:12px;height:18px;background:radial-gradient(ellipse at bottom,#ff6600 0%,#ff4400 40%,#ff2200 70%,transparent 100%);border-radius:50% 50% 20% 20%;animation:flicker .5s ease-in-out infinite alternate}.torch:after{content:"";position:absolute;top:-60px;left:50%;transform:translate(-50%);width:120px;height:100px;background:radial-gradient(ellipse at center,rgba(255,100,0,.15) 0%,transparent 70%);pointer-events:none}.torch-left{left:12%}.torch-right{right:12%}@keyframes flicker{0%{opacity:.8;transform:translate(-50%) scale(1)}to{opacity:1;transform:translate(-50%) scale(1.1)}}.scene-fog{position:absolute;top:0;left:0;right:0;bottom: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;top:0;left:0;right:0;bottom: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:15%;right:15%;transform:translateY(-60%);display:flex;justify-content:center;align-items:flex-start;gap:40px;transition:transform .3s ease-out,gap .3s ease-out;transform-origin:center top}.arena-enemy{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:transform .2s ease;gap:4px}.arena-enemy .enemy-figure{margin-top:8px}.arena-enemy:hover:not(.dead){transform: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}.enemy-figure{width:70px;height: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: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:90px;height: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 -1px;border-radius:0;box-shadow:none;width:90px;height:120px}.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:120%;background-position:center;border-radius:0;box-shadow:none;width:90px;height:120px}.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:contain;border-radius:0;box-shadow:none;width:90px;height:120px}.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 -5px;border-radius:0;box-shadow:none;width:90px;height:120px}.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:contain;background-position:center -3px;border-radius:0;box-shadow:none;width:90px;height:120px}.enemy-figure[data-enemy-type=acolyte]:before,.enemy-figure[data-enemy-type=acolyte]:after{display:none}.enemy-figure[data-enemy-type=bone_archer]{background-image:url(/images/enemies/bone_archer.png);background-color:transparent;background-size:contain;background-position:center -18px;border-radius:0;box-shadow:none;width:180px;height:240px}.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:90%;background-position:center 0px;border-radius:0;box-shadow:none;width:180px;height:240px}.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:contain;background-position:center -10px;border-radius:0;box-shadow:none;width:180px;height:240px}.enemy-figure[data-enemy-type=shade]:before,.enemy-figure[data-enemy-type=shade]:after{display:none}.enemy-figure[data-enemy-type=drowned_cultist]{background-image:url(/images/enemies/drowned_cultist.png);background-color:transparent;background-size:contain;background-position:center -10px;border-radius:0;box-shadow:none;width:180px;height:240px}.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:contain;background-position:center -10px;border-radius:0;box-shadow:none;width:180px;height:240px}.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:80%!important;background-position:center 50px!important;border-radius:0!important;box-shadow:none!important;width:200px!important;height:300px!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:url(/images/enemies/high_cultist_mira.png) no-repeat center center;background-size:contain;border-radius:0;box-shadow:none;width:180px;height:240px}.enemy-figure[data-enemy-type=high_cultist]:before,.enemy-figure[data-enemy-type=high_cultist]:after{display:none}.enemy-figure[data-enemy-type=tomb_guardian]{background-image:url(/images/enemies/stone_guardian.png);background-color:transparent;background-size:contain;border-radius:0;box-shadow:none;width:180px;height:240px}.enemy-figure[data-enemy-type=tomb_guardian]:before,.enemy-figure[data-enemy-type=tomb_guardian]:after{display:none}.enemy-figure[data-enemy-type=slimeling]{background-image:url(/images/enemies/slimeling.png);background-color:transparent;background-size:contain;border-radius:0;box-shadow:none;width:90px;height:120px}.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:contain;border-radius:0;box-shadow:none;width:90px;height:120px}.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:contain;border-radius:0;box-shadow:none;width:90px;height:120px}.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:contain;border-radius:0;box-shadow:none;width:90px;height:120px}.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:contain;border-radius:0;box-shadow:none;width:90px;height:120px}.enemy-figure[data-enemy-type=deep_one]:before,.enemy-figure[data-enemy-type=deep_one]:after{display:none}.enemy-figure[data-enemy-type=void_caller]{background-image:url(/images/enemies/void_caller.png);background-color:transparent;background-size:contain;border-radius:0;box-shadow:none;width:180px;height:240px}.enemy-figure[data-enemy-type=void_caller]:before,.enemy-figure[data-enemy-type=void_caller]:after{display:none}.enemy-figure[data-enemy-type=void_tendril]{background-image:url(/images/enemies/void_tendril.png);background-color:transparent;background-size:contain;border-radius:0;box-shadow:none;width:90px;height:120px}.enemy-figure[data-enemy-type=void_tendril]:before,.enemy-figure[data-enemy-type=void_tendril]:after{display:none}.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:120px!important;height: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:200px!important;height:300px!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:contain;background-position:center -10px;border-radius:0;box-shadow:none;width:90px;height:120px}.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:contain;background-position:center -10px;border-radius:0;box-shadow:none;width:120px;height:160px}.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:contain;background-position:center -10px;border-radius:0;box-shadow:none;width:140px;height:190px}.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:contain;background-position:center -10px;border-radius:0;box-shadow:none;width:140px;height:190px}.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:contain;background-position:center -10px;border-radius:0;box-shadow:none;width:200px;height:280px}.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:contain;background-position:center -10px;border-radius:0;box-shadow:none;width:200px;height:280px}.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);filter:brightness(1)}20%{transform:scale(.9);filter:brightness(2) saturate(0)}40%{transform:scale(1.05);filter:brightness(1.5)}to{transform:scale(1);filter:brightness(1)}}@keyframes playerHit{0%{transform:translate(-50%);filter:brightness(1)}15%{transform:translate(-50%) translate(-10px);filter:brightness(2) saturate(0)}30%{transform:translate(-50%) translate(10px);filter:brightness(1.5)}45%{transform:translate(-50%) translate(-5px)}60%{transform:translate(-50%) translate(5px)}to{transform:translate(-50%);filter:brightness(1)}}@keyframes enemyAttack{0%{transform:scale(1) translateY(0)}40%{transform:scale(1.15) translateY(20px)}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 .4s ease-out}@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}.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}.arena-enemy-hp-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.6em;font-weight:700;color:#fff;text-shadow:1px 1px 2px black;white-space:nowrap}.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 .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}.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:linear-gradient(180deg,#2a2a1a,#1a1a0a)!important;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-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)}.player-silhouette{position:absolute;bottom:5%;left:50%;transform:translate(-50%);z-index:10}.player-hud{position:absolute;bottom:12px;left:12px;z-index:20;background:#0a0a0fd9;border:2px solid #4a3728;border-radius:8px;padding:8px 12px;min-width:120px;-webkit-backdrop-filter:blur(4px);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{color:#6495ed;font-weight:700}.hud-resolve{color:#f4d03f;font-weight:700}.hud-devotion{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}}@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:120px;height:180px;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)}.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)}.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}.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{background:linear-gradient(135deg,#2c3e50,#34495e);border:3px solid #555;border-radius:8px;padding:12px;width:160px;cursor:pointer;transition:all .2s}.card:hover:not(.unplayable){transform:translateY(-40px) scale(1.15);box-shadow:0 12px 24px #00000080;z-index:10}.card.attack{border-color:#e74c3c}.card.skill{border-color:#3498db}.card.power{border-color:#9b59b6}.card.curse{border-color:#2c2c2c;background:linear-gradient(135deg,#1a1a1a,#2c2c2c)}.card.class-cleric{background:var(--card-bg-cleric);box-shadow:inset 0 0 20px var(--card-glow-cleric)}.card.class-cleric.attack{border-color:#c9a227}.card.class-cleric.skill{border-color:var(--card-border-cleric)}.card.class-cleric.power{border-color:var(--card-accent-cleric)}.card.class-cleric .card-cost{background:var(--card-accent-cleric)}.card.class-knight{background:var(--card-bg-knight);box-shadow:inset 0 0 20px var(--card-glow-knight)}.card.class-knight.attack{border-color:#7899b5}.card.class-knight.skill{border-color:var(--card-border-knight)}.card.class-knight.power{border-color:var(--card-accent-knight)}.card.class-knight .card-cost{background:var(--card-accent-knight);color:#1a1a2e}.card.class-diabolist{background:var(--card-bg-diabolist);box-shadow:inset 0 0 20px var(--card-glow-diabolist)}.card.class-diabolist.attack{border-color:#c00}.card.class-diabolist.skill{border-color:var(--card-border-diabolist)}.card.class-diabolist.power{border-color:var(--card-accent-diabolist)}.card.class-diabolist .card-cost{background:var(--card-accent-diabolist);color:#1a1a2e}.card.class-oathsworn{background:var(--card-bg-oathsworn);box-shadow:inset 0 0 20px var(--card-glow-oathsworn)}.card.class-oathsworn.attack{border-color:#c9c9d4}.card.class-oathsworn.skill{border-color:var(--card-border-oathsworn)}.card.class-oathsworn.power{border-color:var(--card-accent-oathsworn)}.card.class-oathsworn .card-cost{background:var(--card-accent-oathsworn);color:#1a1a2e}.card.class-fey_touched{background:var(--card-bg-fey);box-shadow:inset 0 0 20px var(--card-glow-fey)}.card.class-fey_touched.attack{border-color:#6bd490}.card.class-fey_touched.skill{border-color:var(--card-border-fey)}.card.class-fey_touched.power{border-color:var(--card-accent-fey)}.card.class-fey_touched .card-cost{background:var(--card-accent-fey);color:#1a1a2e}.card.class-celestial{background:var(--card-bg-celestial);box-shadow:inset 0 0 25px var(--card-glow-celestial)}.card.class-celestial.attack{border-color:#ffc800}.card.class-celestial.skill{border-color:var(--card-border-celestial)}.card.class-celestial.power{border-color:var(--card-accent-celestial)}.card.class-celestial .card-cost{background:var(--card-border-celestial);color:#1a1a2e}.card.class-summoner{background:var(--card-bg-summoner);box-shadow:inset 0 0 20px var(--card-glow-summoner)}.card.class-summoner.attack{border-color:#7090d4}.card.class-summoner.skill{border-color:var(--card-border-summoner)}.card.class-summoner.power{border-color:var(--card-accent-summoner)}.card.class-summoner .card-cost{background:var(--card-accent-summoner);color:#1a1a2e}.card.class-bargainer{background:var(--card-bg-bargainer);box-shadow:inset 0 0 20px var(--card-glow-bargainer)}.card.class-bargainer.attack{border-color:#d4a025}.card.class-bargainer.skill{border-color:var(--card-border-bargainer)}.card.class-bargainer.power{border-color:var(--card-accent-bargainer)}.card.class-bargainer .card-cost{background:var(--card-border-bargainer);color:#1a1a2e}.card.class-neutral{background:var(--card-bg-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:center;margin-bottom:8px}.card-name{font-weight:700;font-size:1em}.card-cost{background:#f4d03f;color:#1a1a2e;border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1em}.card-type{font-size:.75em;color:#aaa;text-transform:uppercase;margin-bottom:6px;text-align:center}.card-description{font-size:.85em;line-height:1.3;color:#ddd;text-align:center}.damage-buffed{color:#2ecc71;font-weight:700;text-shadow:0 0 6px rgba(46,204,113,.6)}.damage-debuffed{color:#e74c3c;font-weight:700;text-shadow:0 0 6px rgba(231,76,60,.6)}.block-buffed{color:#3498db;font-weight:700;text-shadow:0 0 6px rgba(52,152,219,.6)}.controls{display:flex;gap:10px;margin-bottom:15px}.potion-slots{position:absolute;bottom:15px;right:15px;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);position:absolute;bottom:calc(100% + 8px);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-family:Georgia,serif;font-size:.85em;font-weight:400;color:#ddd;line-height:1.4;text-align:left;text-transform:none;white-space:normal;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease,transform .2s ease;z-index:200;box-shadow:0 4px 15px #00000080;pointer-events:none}.potion-btn: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;pointer-events:none}.potion-btn:hover:after,.potion-btn:hover:before{opacity:1;visibility:visible}.potion-btn:hover:after{transform:translate(-50%) translateY(0)}@media (hover: none){.potion-btn:active:after,.potion-btn:active:before{opacity:1;visibility:visible}}.potion-slots:empty{display:none}button{background: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}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}.game-over{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000f2;border:3px solid #f4d03f;border-radius:15px;padding:30px;text-align:center;z-index:1000;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-block;background:#6495ed4d;border:2px solid #6495ed;padding:3px 8px;border-radius:5px;font-weight:700;color:#6495ed;font-size:.9em}.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}}.screen{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;transition:opacity .3s ease,transform .3s ease}.screen.hidden{display:none;opacity:0}.screen.entering{opacity:0;transform:translateY(10px)}.screen.exiting{opacity:0;transform:translateY(-10px)}.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;top:0;left:0;right:0;bottom: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:3em;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:1.5em;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:100%}.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}.menu-btn.primary .btn-subtitle{color:#666}.menu-stats{display:flex;gap:30px;padding:15px;background:#0000004d;border-radius:8px;border:1px solid #444}.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}#class-select{overflow-y:auto}.class-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;padding:20px;max-width:1200px;margin:0 auto}.class-card{background:linear-gradient(135deg,#2c3e50,#34495e);border:3px solid #555;border-radius:12px;overflow:hidden;cursor:pointer;transition:all .2s ease}.class-card:hover:not(.locked){transform:translateY(-4px);box-shadow:0 8px 20px #0006}.class-card.unlocked:hover{border-color:#f4d03f}.class-card.selected{border-color:#f4d03f;box-shadow:0 0 20px #f4d03f66}.class-card.locked{cursor:not-allowed;opacity:.7}.class-portrait{position:relative;height:160px;background:linear-gradient(180deg,#1a1a2e,#2c3e50);display:flex;align-items:center;justify-content:center;overflow:hidden}.class-portrait-img{width:100%;height:100%;object-fit:cover;object-position:center 10%}.class-icon{font-size:3em}.locked-overlay{filter:grayscale(.8)}.lock-icon{position:absolute;top:10px;right:10px;font-size:1.2em}.class-info{padding:15px;background:#2c3e50d9}.class-info h3{font-size:1.2em;color:#f4d03f;margin-bottom:8px}.class-stats{display:flex;gap:15px;margin-bottom:10px;font-size:.9em}.class-desc{font-size:.85em;color:#aaa;margin-bottom:10px;line-height:1.4}.class-mechanic{background:#0000004d;padding:10px;border-radius:6px;font-size:.85em;border-left:3px solid #9b59b6}.class-mechanic strong{color:#9b59b6}.mechanic-header{display:flex;align-items:center;gap:6px;position:relative;margin-bottom:4px}.mechanic-help{font-size:.85em;color:#888;cursor:help;transition:color .2s ease}.mechanic-header:hover .mechanic-help{color:#f4d03f}.mechanic-tooltip{position:absolute;bottom:calc(100% + 10px);left:0;right:0;min-width:260px;background:linear-gradient(135deg,#1a1a2e,#2c3e50);border:2px solid #9b59b6;border-radius:8px;padding:12px 14px;font-size:.95em;font-weight:400;color:#ddd;line-height:1.5;opacity:0;visibility:hidden;transform:translateY(5px);transition:opacity .2s ease,visibility .2s ease,transform .2s ease;z-index:100;box-shadow:0 4px 15px #00000080;pointer-events:none}.mechanic-tooltip:after{content:"";position:absolute;bottom:-8px;left:20px;border-width:8px 8px 0;border-style:solid;border-color:#9b59b6 transparent transparent}.mechanic-header:hover .mechanic-tooltip{opacity:1;visibility:visible;transform:translateY(0)}@media (hover: none){.mechanic-header:active .mechanic-tooltip{opacity:1;visibility:visible;transform:translateY(0)}}.mechanic-desc{color:#ccc}.class-sections{padding:10px 20px 40px;max-width:1200px;margin:0 auto}.class-section{margin-bottom:30px}.section-title{font-size:1.3em;color:#f4d03f;margin-bottom:15px;padding-bottom:8px;border-bottom:2px solid #4a3728}.locked-section .section-title{color:#888}.dlc-section .section-title{color:#9b59b6}.lock-reason{font-size:.85em;color:#e67e22;font-style:italic;margin-bottom:8px;line-height:1.4}.dlc-price{display:inline-block;background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff;padding:6px 12px;border-radius:4px;font-size:.9em;font-weight:700}.start-run-btn:disabled{opacity:.5;cursor:not-allowed}.class-detail-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease;padding:20px;overflow-y:auto}.class-detail-popup{background:linear-gradient(180deg,#1a1a2e,#16213e,#0f0f23);border:3px solid #f4d03f;border-radius:16px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 0 40px #f4d03f4d,inset 0 0 60px #00000080;animation:slideUp .3s ease;position:relative}.class-detail-top-bar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:linear-gradient(180deg,#1a1a2efa,#16213ef2);border-bottom:2px solid #f4d03f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.class-detail-header{display:flex;gap:20px;padding:24px;background:linear-gradient(180deg,rgba(244,208,63,.15) 0%,transparent 100%);border-bottom:2px solid #333}.class-detail-portrait{width:140px;height:180px;border-radius:12px;overflow:hidden;border:3px solid #f4d03f;flex-shrink:0;box-shadow:0 4px 20px #00000080}.class-detail-img{width:100%;height:100%;object-fit:cover}.class-detail-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:4em;background:linear-gradient(180deg,#2a2a4a,#1a1a2e)}.class-detail-title{display:flex;flex-direction:column;justify-content:center}.class-detail-title h2{font-size:2em;color:#f4d03f;margin:0 0 4px;text-shadow:0 2px 4px rgba(0,0,0,.5)}.class-detail-epithet{font-size:1.1em;color:#aaa;font-style:italic;margin-bottom:12px}.class-detail-stats{display:flex;gap:16px;font-size:1em;color:#ccc}.class-detail-stats span{background:#0000004d;padding:6px 12px;border-radius:6px;border:1px solid #444}.class-detail-content{padding:24px}.class-detail-hook{font-size:1.15em;color:#e8c547;text-align:center;padding:16px 20px;background:#f4d03f14;border-radius:8px;margin-bottom:24px;border-left:4px solid #f4d03f}.class-detail-section{margin-bottom:24px}.class-detail-section h3{font-size:1.1em;color:#f4d03f;margin:0 0 12px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid #333;padding-bottom:8px}.class-detail-backstory{color:#ccc;line-height:1.7}.class-detail-backstory p{margin:0 0 12px}.class-detail-backstory p:last-child{margin-bottom:0}.class-detail-section>p{color:#ccc;line-height:1.7;margin:0}.class-detail-quote{margin:24px 0}.class-detail-quote blockquote{font-size:1.05em;font-style:italic;color:#aaa;padding:16px 24px;margin:0;border-left:4px solid #666;background:#0003;border-radius:0 8px 8px 0}.class-detail-mechanic{background:#00649626;padding:16px;border-radius:8px;border:1px solid #2a5a7a;text-align:center}.class-detail-mechanic h3{border-bottom-color:#2a5a7a}.mechanic-summary{font-size:1.05em;color:#8ac4d0;margin-bottom:12px!important}.mechanic-detail{color:#ccc;margin-bottom:8px}.mechanic-detail strong{color:#f4d03f}.mechanic-tooltip-text{font-size:.9em;color:#888;line-height:1.6}.class-detail-quote-inline{font-size:1em;font-style:italic;color:#aaa;padding:14px 20px;margin:16px 0 0;border-left:4px solid #666;background:#0003;border-radius:0 8px 8px 0}.class-detail-actions{display:flex;gap:16px;padding:20px 24px;background:#0000004d;border-top:2px solid #333;justify-content:space-between}.class-detail-back-btn{padding:14px 28px;font-size:1em;background:#333;border:2px solid #555;color:#ccc;border-radius:8px;cursor:pointer;transition:all .2s ease}.class-detail-back-btn:hover{background:#444;border-color:#666;color:#fff}.class-detail-start-btn{padding:14px 36px;font-size:1.1em;background:linear-gradient(180deg,#c9a227,#8b6914);border:2px solid #f4d03f;color:#fff;border-radius:8px;cursor:pointer;transition:all .2s ease;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.5);box-shadow:0 4px 12px #f4d03f4d}.class-detail-start-btn:hover{background:linear-gradient(180deg,#d4ad2c,#9a7618);transform:translateY(-2px);box-shadow:0 6px 16px #f4d03f66}@media (max-width: 600px){.class-detail-popup{max-height:95vh;border-radius:12px}.class-detail-header{flex-direction:column;align-items:center;text-align:center;padding:16px}.class-detail-portrait{width:100px;height:130px}.class-detail-title h2{font-size:1.5em}.class-detail-content{padding:16px}.class-detail-hook{font-size:1em;padding:12px 16px}.class-detail-top-bar{padding:10px 16px}.class-detail-back-btn,.class-detail-start-btn{padding:10px 16px;font-size:.9em}}#settings{overflow-y:auto}.settings-container{max-width:600px;margin:0 auto;padding:20px}.settings-section{background:#0000004d;border:2px solid #444;border-radius:12px;padding:20px;margin-bottom:20px}.settings-section h3{color:#f4d03f;margin-bottom:20px;font-size:1.1em;text-transform:uppercase;letter-spacing:.1em}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #333}.setting-row:last-child{border-bottom:none}.setting-row label{color:#ddd;font-size:.95em}.slider-container{display:flex;align-items:center;gap:15px}.slider-container input[type=range]{width:150px;height:6px;background:#333;border-radius:3px;outline:none;cursor:pointer;-webkit-appearance:none}.slider-container input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:#f4d03f;border-radius:50%;cursor:pointer}.slider-container input[type=range]::-moz-range-thumb{width:18px;height:18px;background:#f4d03f;border-radius:50%;cursor:pointer;border:none}.slider-value{color:#f4d03f;font-weight:700;min-width:50px;text-align:right}.toggle-container{display:flex;align-items:center}.toggle-btn{padding:8px 20px;background:#333;border:2px solid #555;color:#888;font-size:.9em;min-width:70px;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}.danger-btn:hover{box-shadow:0 0 10px #e74c3c80}@media (max-width: 1024px){.menu-container{max-width:450px}.class-grid{grid-template-columns:repeat(2,1fr);gap:16px;padding:16px}.class-detail-popup{max-width:90vw;max-height:90vh}.class-portrait{height:140px}.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}.class-grid{grid-template-columns:repeat(2,1fr);gap:12px;padding:12px}.class-card{border-radius:8px}.class-portrait{height:100px}.class-icon{font-size:2.8em}.class-info{padding:12px}.class-info h3{font-size:1.1em}.class-desc,.class-mechanic{font-size:.85em}.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}.class-grid{grid-template-columns:1fr}.class-portrait{height:80px}.class-icon{font-size:2.5em}.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-title{font-size:1.4em;color:#f4d03f;text-shadow:2px 2px 4px rgba(0,0,0,.8);margin:0}.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;-webkit-user-select:none;user-select:none}.map-scroll-area.dragging{cursor:grabbing}.map-scroll-area.dragging *{pointer-events:none}.map-connections{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.map-line{stroke-width:2;stroke-linecap:round}.map-line--available{stroke:#f4d03f80}.map-line--future{stroke:#96969633}.map-nodes{position:relative;z-index:2;display:flex;flex-direction:row;align-items:center;gap:80px;padding:0 20px;min-width:max-content}.map-column{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px}.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}.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--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{font-size:1.1em}.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}.map-node--boss{width:56px;height:56px}.map-legend{gap:10px;font-size:.7em;padding:8px 15px}.map-title{font-size:1.1em}.map-scroll-area{padding:15px 20px}}.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;top:0;left:0;right:0;bottom: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;top:0;left:0;right:0;bottom: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 fadeIn{0%{opacity:0}to{opacity:1}}@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}.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;padding:1rem;background:linear-gradient(180deg,#0d0d1a,#1a1a2e,#0d0d1a)}.upgrade-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:#1e1e32cc;border-radius:8px;margin-bottom:1rem}.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;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1rem}.tab-group{display:flex;flex-direction:column;align-items:center;gap:.5rem}.tab-group-label{color:#ffffff80;font-size:.85rem;text-align:center}.tab-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.tab-buttons.class-tabs{flex-wrap:wrap}.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;padding:1rem;background:#14142399;border-radius:12px;border:1px solid rgba(100,100,140,.3)}.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{justify-content:center}}.narrative-ending{max-width:600px;max-height:90vh;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:30px 30px 20px;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.6em;letter-spacing:3px;margin-bottom:20px;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:15px 0}.character-portrait{width:80px;height:80px;margin:0 auto 10px;border-radius:50%;border:3px 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:1.2em;color:#d4c4a8;font-style:italic}.ending-subtitle{font-size:.9em;color:#888;font-style:italic;margin-top:10px}.narrative-content{padding:25px 30px}.narrative-text{line-height:1.7;color:#c8c0b0}.narrative-text p{margin-bottom:1em;text-align:left}.narrative-text p:last-child{margin-bottom:0}.warden-quote{margin-top:25px;padding:20px;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}.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:20px 30px 25px;text-align:center;border-top:1px solid rgba(255,255,255,.1);background:#0003}.soul-echoes-earned{color:#9b59b6;font-size:1em;margin-bottom:15px}.ending-button{background:linear-gradient(135deg,#4a3728,#2a1a10);border:2px solid #665544;color:#d4c4a8;padding:12px 30px;font-size:1em;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-finale .ending-frame{padding-bottom:25px}.ending-finale .narrative-content{padding:30px}@media (max-width: 600px){.narrative-ending{max-width:95%;max-height:85vh}.ending-frame{padding:20px 20px 15px}.ending-title{font-size:1.3em;letter-spacing:2px}.character-portrait{width:60px;height:60px}.character-name{font-size:1.1em}.narrative-content{padding:20px}.ending-footer{padding:15px 20px 20px}.victory-choice-btn{padding:15px}}.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}}.floating-damage{position:absolute;font-family:Georgia,serif;font-weight:700;font-size:24px;color:#fff;text-shadow:0 0 4px rgba(0,0,0,.9),0 0 8px rgba(0,0,0,.7),2px 2px 2px rgba(0,0,0,.8);pointer-events:none;z-index:9999;transform:translate(-50%);opacity:0;transition:none}.floating-damage.animate{animation:floatUp .9s ease-out forwards}.floating-damage.medium{font-size:32px}.floating-damage.large{font-size:42px;color:#f44;text-shadow:0 0 6px rgba(255,0,0,.6),0 0 12px rgba(255,0,0,.4),2px 2px 3px rgba(0,0,0,.9)}.floating-damage.blocked{font-size:20px;color:#6bb8ff;text-shadow:0 0 4px rgba(100,180,255,.5),0 0 8px rgba(0,0,0,.7)}.floating-damage.heal{font-size:28px;color:#4f6;text-shadow:0 0 6px rgba(50,255,100,.5),0 0 12px rgba(0,0,0,.7)}.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(.5)}20%{opacity:1;transform:translate(-50%,-10px) scale(1.2)}40%{transform:translate(-50%,-25px) scale(1)}to{opacity:0;transform:translate(-50%,-60px) scale(.8)}}.damage-vignette{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:9998;background:radial-gradient(ellipse at center,transparent 40%,rgba(180,0,0,.3) 70%,rgba(120,0,0,.6) 100%);transition:opacity .3s ease-out}.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)}}
