body::after{content:"";position:fixed;inset:-20%;pointer-events:none;z-index:50;opacity:.22;background-image:radial-gradient(circle,#f1b55c 0 1px,transparent 1.6px);background-size:73px 81px;animation:ashfall 18s linear infinite}
.fx-layer{position:fixed;inset:0;pointer-events:none;z-index:200;overflow:hidden}.fx-flash{position:absolute;left:50%;top:50%;width:30px;height:30px;border-radius:50%;background:#e57632;box-shadow:0 0 100px 60px #e5763255;animation:flashOut 1.2s ease-out forwards}.fx-flash b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;font:700 20px Cinzel;color:#fff3da;text-shadow:0 3px 15px #000;letter-spacing:.1em}.fx-flash.gold{background:#f2bd58;box-shadow:0 0 120px 70px #e6a83f55}.fx-flash.heal{background:#65c795;box-shadow:0 0 120px 70px #46b67b55}.fx-flash.shadow,.fx-flash.boss{background:#8e56bd;box-shadow:0 0 120px 70px #522e8055}.fx-flash.arcane,.fx-flash.chance{background:#5bb9c5}.fx-flash.frost{background:#a9d8e8}.particle{position:absolute;left:50%;top:50%;width:6px;height:6px;background:#ffcf6e;border-radius:50%;animation:particleOut .9s var(--delay) cubic-bezier(.2,.7,.1,1) forwards}.particle.heal{background:#9ff0bc}.particle.shadow,.particle.boss{background:#c69bea}.particle.arcane,.particle.chance{background:#87e5e9}
.reveal-layer{position:fixed;inset:0;z-index:150;background:#050505e8;backdrop-filter:blur(10px);display:grid;place-items:center;padding:30px}.reveal-wrap{text-align:center;max-width:1100px}.reveal-wrap h2{font:600 30px Cinzel}.pull-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:30px 0}.pull-card{width:170px;height:255px;border:2px solid #b2854d;background:linear-gradient(145deg,#48301e,#100e0d 65%);padding:12px;display:flex;flex-direction:column;text-align:left;box-shadow:0 20px 60px #000,0 0 25px #d58c3444;animation:cardReveal .65s calc(var(--i)*.12s) cubic-bezier(.18,.8,.2,1) both}.pull-card img{height:130px;width:100%;object-fit:cover;margin-bottom:10px}.pull-card span,.pull-card small{font-size:9px;color:#c59e67}.pull-card b{font:600 14px Cinzel;margin:auto 0 6px}
.cosmetic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.cosmetic-group{display:flex;flex-direction:column;gap:8px}.cosmetic-choice{display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:10px;width:100%;border:1px solid #37312a;background:#100f0e;color:#b6aa9b;padding:10px;text-align:left;cursor:pointer}.cosmetic-choice:hover,.cosmetic-choice.equipped{border-color:#b48849;color:#f3d79c;background:#231a11}.cosmetic-choice i{font-style:normal;font-size:21px;color:#d6a653}.cosmetic-choice small{font-size:8px;text-transform:uppercase;letter-spacing:.12em}.logic-status{border-left:2px solid #729e8c;background:#111c18;padding:12px;display:flex;flex-direction:column;gap:5px}.logic-status b{font:600 12px Cinzel;color:#96cfb4}.logic-status span{font-size:11px;color:#c0b8ac}.logic-status small{font-size:9px;color:#70857b}.danger{border:1px solid #7d3c35;background:#2a1210;color:#e7a69b;padding:11px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}
.board-pawn{transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .3s}.board.rolling{animation:boardPulse .5s ease-in-out infinite alternate}.die.tumbling{animation:diceTumble .32s linear infinite}.health i{transition:width .6s cubic-bezier(.2,.8,.2,1)}
body[data-dice="dice-ember"] .die{background:linear-gradient(145deg,#ffbd62,#7d2b1a);color:#fff0cf}body[data-dice="dice-void"] .die{background:linear-gradient(145deg,#c3a7ff,#242039);color:#151020}body[data-dice="dice-grove"] .die{background:linear-gradient(145deg,#b7da8e,#244838);color:#eff9dd}
body[data-boards="board-catacomb"] .board{filter:hue-rotate(28deg);border-color:#8b826e}body[data-boards="board-wilds"] .board{filter:hue-rotate(82deg);border-color:#6f8e55}body[data-boards="board-obsidian"] .board{box-shadow:inset 0 0 65px #532158,0 15px 60px #000}
body[data-cardbacks="cardback-sun"] .mini-card{background:radial-gradient(circle,#d59339,#211308 55%)}body[data-cardbacks="cardback-eye"] .mini-card{background:radial-gradient(ellipse,#65549c,#161322 60%)}body[data-cardbacks="cardback-crown"] .mini-card{background:linear-gradient(145deg,#5e4d37,#0e0d0c 65%)}
body[data-pawn="pawn-knight"] .board-pawn{border-radius:3px}body[data-pawn="pawn-mage"] .board-pawn{clip-path:polygon(50% 0,100% 100%,0 100%);border-radius:0}body[data-pawn="pawn-warden"] .board-pawn{border-radius:0;outline:2px solid #d0a055}
body[data-backdrop="backdrop-moon"] .hero{filter:hue-rotate(205deg) saturate(.75)}body[data-backdrop="backdrop-forge"] .hero{filter:saturate(1.35) brightness(1.08)}body[data-backdrop="backdrop-ruins"] .hero{background-position:60% center}
@keyframes ashfall{to{transform:translate3d(8%,20%,0)}}@keyframes flashOut{0%{transform:scale(.2);opacity:0}20%{opacity:1}100%{transform:scale(6);opacity:0}}@keyframes particleOut{to{transform:translate(var(--x),var(--y)) scale(0);opacity:0}}@keyframes cardReveal{from{transform:translateY(100px) rotateY(90deg);opacity:0}to{transform:none;opacity:1}}@keyframes diceTumble{25%{transform:rotate(8deg) translateY(-4px)}75%{transform:rotate(-8deg) translateY(3px)}}@keyframes boardPulse{to{box-shadow:inset 0 0 70px #6d351d,0 15px 80px #d3662b33}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.board-pawn,.health i{transition:none}}
