:root{--bg: #0f0c0a;--panel: #1b1612;--panel-2: #241d17;--line: #3a2f25;--text: #efe4d2;--muted: #a8977f;--gold: #d9a74a;--gold-2: #f3cf7a;--mine: #4aa3ff;--enemy: #ff5a5a;--ok: #57d68d;--warn: #ffb347;--monster: #b5562f;--utility: #3f8f6b;--spell: #6a4fc0;--hand-h: 150px;--top-h: 46px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:radial-gradient(ellipse at top,#2a1f16 0%,var(--bg) 60%);color:var(--text);font:14px/1.4 Inter,system-ui,sans-serif;overflow:hidden}h1,h2,h3{font-family:Cinzel,Georgia,serif;margin:0 0 8px;color:var(--gold-2);letter-spacing:.02em}button{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:8px 12px;cursor:pointer;transition:background .15s,border-color .15s,transform .1s}button:hover:not(:disabled){border-color:var(--gold)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:linear-gradient(180deg,#c48a2f,#8f5f1c);border-color:var(--gold);color:#1a1209;font-weight:700}button.primary:hover:not(:disabled){background:linear-gradient(180deg,#e0a23d,#a56d20)}button.big{font-size:18px;padding:12px 32px}.ghost-btn{background:transparent}input,select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:6px 8px;width:100%}.hint{color:var(--muted);font-size:13px;margin:4px 0}.warn{color:var(--warn)}.row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.menu{height:100%;overflow:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px 16px}.menu h1{font-size:clamp(32px,6vw,56px);text-shadow:0 2px 20px rgba(217,167,74,.35)}.subtitle{color:var(--muted);margin:-8px 0 8px}.menu-players{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.menu-player{width:280px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}.menu-player label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.menu-art{height:180px;border-radius:8px}.menu-lineup{display:flex;flex-wrap:wrap;gap:4px}.menu-lineup span{font-size:12px;background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:2px 8px}.game{height:100%;display:grid;grid-template-rows:var(--top-h) 1fr var(--hand-h)}.topbar{display:flex;align-items:center;gap:16px;padding:0 12px;border-bottom:1px solid var(--line);background:#0f0c0acc}.phase{font-family:Cinzel,serif;font-size:16px;flex:1}.chip{font-size:12px;border-radius:999px;padding:4px 10px;border:1px solid var(--line)}.chip.enemy{border-color:var(--enemy);color:#ffc6c6}.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;min-height:0}.board-wrap{min-height:0;min-width:0;overflow:hidden;padding:6px;display:flex;align-items:center;justify-content:center;container-type:size}.side{border-left:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;gap:10px;padding:10px;min-height:0;overflow-y:auto}.panel{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:6px}.end-turn{margin-top:6px}.me-panel{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.me-name{font-family:Cinzel,serif;font-weight:800;color:var(--mine);flex:1 0 100%}.energy{display:flex;align-items:center;gap:3px}.pip{width:12px;height:12px;border-radius:50%;border:1px solid #5b7fa8;background:#10202f}.pip.on{background:radial-gradient(circle at 35% 35%,#bfe3ff,#2d8cff);border-color:#9fd1ff;box-shadow:0 0 6px #2d8cff}.energy-num{margin-left:4px;font-weight:700}.capacity{color:var(--muted);font-size:13px}.toast{background:#3a1616;border:1px solid var(--enemy);color:#ffd2d2;border-radius:8px;padding:8px 10px;cursor:pointer}.log{flex:1;min-height:80px;overflow:auto;font-size:12px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:2px}.log-turn{color:var(--gold-2);margin-top:6px;font-weight:600}.log-dmg{color:#ff9c9c}.log-heal{color:#9cf0bf}.log-dice{color:#ffe08a}.log-death{color:#ff6b6b;font-weight:600}.log-card{color:#c7b6ff}.log-info{color:var(--muted)}.board{position:relative;display:grid;width:min(100cqw,calc(100cqh * var(--ratio)));border-radius:10px;border:2px solid #5a4330;box-shadow:0 10px 40px #0009,inset 0 0 80px #00000080;-webkit-user-select:none;user-select:none;overflow:visible}.bg-coliseo{background:radial-gradient(ellipse at center,rgba(255,220,160,.18),transparent 60%),repeating-radial-gradient(circle at 50% 50%,rgba(0,0,0,.04) 0 2px,transparent 2px 9px),linear-gradient(160deg,#a8834f,#7a5a33 55%,#4c3520)}.cell{position:relative;aspect-ratio:1;border:1px solid rgba(40,25,10,.25);cursor:pointer}.cell:hover{background-color:#ffffff0f}.t-rock{background:radial-gradient(circle at 30% 30%,#8a8278,#4b4540 60%,#2b2724);box-shadow:inset 0 -4px 8px #00000080}.t-forest{background:radial-gradient(circle at 50% 60%,#3f8a3a,#24561f 70%)}.t-forest:after{content:"🌲";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:min(3vw,26px);opacity:.7}.t-lava{background:linear-gradient(120deg,#ff6a00,#c21d00,#ff9a00);background-size:300% 300%;animation:lava 3s ease-in-out infinite}@keyframes lava{50%{background-position:100% 100%}}.turns{position:absolute;right:3px;bottom:2px;font-size:10px;font-weight:700;background:#0009;border-radius:4px;padding:0 3px;z-index:1}.m-zone{box-shadow:inset 0 0 0 9999px #4aa3ff1f}.m-place{box-shadow:inset 0 0 0 2px #57d68de6,inset 0 0 0 9999px #57d68d26}.m-move{box-shadow:inset 0 0 0 9999px #57d68d4d}.m-target{box-shadow:inset 0 0 0 2px #ffb347e6,inset 0 0 0 9999px #ffb34726}.in-area{box-shadow:inset 0 0 0 9999px #fff0a066!important}.unit{position:absolute;padding:3px;transition:left .35s ease,top .35s ease,filter .2s;cursor:pointer;z-index:2}.unit>.art{position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:8px;border:2px solid var(--mine);box-shadow:0 4px 10px #0009}.unit.enemy>.art{border-color:var(--enemy)}.unit.selected>.art{border-color:var(--gold-2);box-shadow:0 0 0 2px var(--gold-2),0 0 18px #f3cf7acc}.unit.attackable>.art{animation:pulse .9s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 3px var(--enemy),0 0 20px var(--enemy)}}.unit.spent{filter:grayscale(.7) brightness(.8)}.unit.ghost{opacity:.85}.unit-name{position:absolute;left:6px;right:6px;bottom:6px;font-size:10px;font-weight:700;text-shadow:0 1px 2px #000;text-align:center}.unit .art-placeholder{font-size:15px}.unit-top{position:absolute;top:6px;left:6px;display:none;gap:3px;font-size:10px;font-weight:700}.unit.selected .unit-top{display:flex;z-index:3}@media (hover: hover){.unit:hover .unit-top{display:flex;z-index:3}}.unit-top span{background:#000000a6;border-radius:4px;padding:0 3px}.statuses{position:absolute;top:6px;right:6px;display:flex;gap:2px}.status{font-size:10px;font-weight:800;background:#4f8a2b;border-radius:4px;padding:0 3px}.zzz{position:absolute;top:22px;right:8px;font-weight:800;color:#bcd3ff;text-shadow:0 0 4px #000}.hp{position:absolute;left:6px;right:6px;bottom:6px;height:12px;background:#000000b3;border-radius:4px;overflow:hidden}.hp-fill{height:100%;background:linear-gradient(90deg,#2fbf62,#8ce99a);transition:width .4s ease}.unit.enemy .hp-fill{background:linear-gradient(90deg,#c92a2a,#ff8787)}.hp span{position:absolute;top:0;right:0;bottom:0;left:0;font-size:9px;font-weight:800;text-align:center;line-height:12px;text-shadow:0 0 2px #000}.float{position:absolute;left:50%;top:30%;transform:translate(-50%);font-size:20px;font-weight:800;text-shadow:0 2px 4px #000;animation:float 1.2s ease-out forwards;pointer-events:none;z-index:5}.float.dmg{color:#ff6b6b}.float.heal{color:#69db7c}@keyframes float{to{transform:translate(-50%,-40px);opacity:0}}.art{background-size:cover;background-position:center top}.art-placeholder{display:grid;place-items:center;font-family:Cinzel,serif;font-weight:800;font-size:22px;color:#ffffffd9}.art-placeholder.kind-monster{background:radial-gradient(circle at 50% 35%,#d37a47,#6b2c13)}.art-placeholder.kind-utility{background:radial-gradient(circle at 50% 35%,#5fc79a,#1f5440)}.art-placeholder.kind-spell{background:radial-gradient(circle at 50% 35%,#9b82f0,#33246e)}.art.mini{width:56px;height:56px;border-radius:8px;flex:none}.hand{border-top:1px solid var(--line);background:#0f0c0ad9;display:flex;gap:10px;padding:10px 12px;overflow-x:auto;align-items:stretch}.card{position:relative;flex:none;width:112px;padding:0;display:flex;flex-direction:column;text-align:left;overflow:hidden;border-radius:10px;border:2px solid var(--line);background:var(--panel)}.card.kind-monster{border-color:#6b3a20}.card.kind-utility{border-color:#2b6650}.card.kind-spell{border-color:#4a3a8a}.card:hover:not(.disabled){transform:translateY(-6px);border-color:var(--gold)}.card.selected{border-color:var(--gold-2);box-shadow:0 0 16px #f3cf7a99;transform:translateY(-8px)}.card.disabled{opacity:.5}.card>.art{height:56px;flex:none}.gem{position:absolute;top:4px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:12px;border:1px solid rgba(255,255,255,.6);box-shadow:0 1px 4px #000}.gem.energy{left:4px;background:radial-gradient(circle at 35% 35%,#9fd1ff,#1c6fd1)}.gem.capacity{right:4px;background:radial-gradient(circle at 35% 35%,#ffe08a,#b07a1b);color:#2a1b05}.card-body{padding:6px 8px;display:flex;flex-direction:column;gap:2px;min-height:0}.card-name{font-weight:700;font-size:13px;line-height:1.15}.card-kind{font-size:11px;color:var(--muted)}.card-stats{display:grid;grid-template-columns:1fr 1fr;font-size:11px;margin-top:2px}.card-desc{font-size:11px;color:#d7cbb8;line-height:1.25}.unit-info-head{display:flex;gap:10px;align-items:center}.unit-info h3{margin:0}.ability{display:block;width:100%;text-align:left;margin-top:4px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#050302e0;display:grid;place-items:center;z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.overlay-box{background:var(--panel);border:1px solid var(--gold);border-radius:14px;padding:28px 32px;text-align:center;max-width:420px;margin:16px;display:flex;flex-direction:column;gap:12px;align-items:center}.dice-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:14px;z-index:40;pointer-events:auto;background:radial-gradient(circle,rgba(0,0,0,.45),transparent 60%)}.dice{display:flex;gap:18px}.die{width:72px;height:72px;background:linear-gradient(145deg,#fffaf0,#d9cdb5);border-radius:14px;box-shadow:0 8px 20px #0009;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:10px;animation:roll .55s cubic-bezier(.2,.9,.3,1.2) both}.die span{display:grid;place-items:center}.die .pip-on:after{content:"";width:12px;height:12px;border-radius:50%;background:#2a1b10}@keyframes roll{0%{transform:rotate(-200deg) scale(.3);opacity:0}}.dice-outcome{font-family:Cinzel,serif;font-weight:800;font-size:28px;text-shadow:0 2px 8px #000}.o-fallo{color:#adb5bd}.o-critico{color:#ffd43b;font-size:36px}.unit-detail{position:relative;background:var(--panel-2);border:2px solid var(--mine);border-radius:12px;overflow:hidden;flex:none;animation:pop-in .18s ease-out}.unit-detail.enemy{border-color:var(--enemy)}@keyframes pop-in{0%{transform:translate(16px);opacity:0}}.unit-detail .close{position:absolute;top:6px;right:6px;z-index:2;width:28px;height:28px;padding:0;border-radius:50%;background:#0009;font-size:18px;line-height:1}.detail-art{height:190px}.detail-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px}.detail-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.detail-head h3{margin:0;font-size:18px}.owner-tag{font-size:11px;border-radius:999px;padding:2px 8px;border:1px solid;white-space:nowrap}.owner-tag.mine{color:#b8dcff;border-color:var(--mine)}.owner-tag.enemy{color:#ffc6c6;border-color:var(--enemy)}.hp.big{position:relative;left:auto;right:auto;bottom:auto;height:18px}.hp.big span{font-size:11px;line-height:18px}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.stat{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:4px 6px;display:flex;align-items:center;gap:4px;font-size:13px;white-space:nowrap}.stat .up{color:var(--ok);font-size:11px;font-weight:700}.stat .down{color:var(--enemy);font-size:11px;font-weight:700}.unit-detail h4{margin:4px 0 2px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.status-row{display:flex;gap:8px;align-items:flex-start;padding:4px 0}.status-row .status{flex:none;width:26px;height:26px;display:grid;place-items:center;font-size:15px;border-radius:6px}.equip-art{width:34px;height:34px;border-radius:6px;flex:none;font-size:11px}.ability{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;margin-top:4px}.ability-head{display:flex;justify-content:space-between;align-items:center;gap:6px}.tags{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.tag{font-size:10px;font-weight:700;border-radius:999px;padding:1px 6px;background:var(--bg);border:1px solid var(--line);color:var(--muted)}.tag.energy{color:#9fd1ff;border-color:#2d6ca8}.tag.blood{color:#ff8a96;border-color:#a3122a}.tag.spent{color:var(--enemy);border-color:var(--enemy)}.ability.passive{display:block;padding:6px 2px;font-size:13px}.status{background:#140e0ad9;border:1px solid rgba(255,255,255,.25)}.status.equip{background:#1e3c5ae6}.unit.asleep>.art{filter:saturate(.4) brightness(.75)}.unit.asleep:after{content:"💤";position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);font-size:22px;animation:snooze 1.6s ease-in-out infinite;pointer-events:none}@keyframes snooze{50%{transform:translate(-50%,-70%);opacity:.6}}button,.cell,.unit,.card{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.countdown{font-variant-numeric:tabular-nums;font-weight:700;border:1px solid var(--line);border-radius:999px;padding:3px 10px;white-space:nowrap}.countdown.urgent{color:#ffb3b3;border-color:var(--enemy);animation:pulse-text 1s ease-in-out infinite}@keyframes pulse-text{50%{opacity:.5}}.chip.offline{opacity:.6;border-style:dashed}.game.compact{height:100dvh;grid-template-rows:auto minmax(0,1fr) auto auto}.game.compact .topbar{height:44px;gap:8px;padding:0 6px}.game.compact .phase{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game.compact .players{min-width:0;overflow:hidden}.game.compact .chip{font-size:11px;padding:2px 8px;white-space:nowrap}.game.compact .layout{grid-template-columns:minmax(0,1fr)}.game.compact .board-wrap{padding:4px}.game.compact .board{border-width:1px;border-radius:6px}.game.compact .unit{padding:1px}.game.compact .unit>.art{top:1px;right:1px;bottom:1px;left:1px;border-width:1.5px;border-radius:5px}.game.compact .hp{left:3px;right:3px;bottom:3px;height:9px}.game.compact .hp span{font-size:7px;line-height:9px}.game.compact .statuses{top:2px;right:2px}.game.compact .status{font-size:8px;padding:0 1px}.game.compact .unit .art-placeholder{font-size:11px}.game.compact .t-forest:after{font-size:14px}.action-bar{position:relative;border-top:1px solid var(--line);background:var(--panel);padding:6px 8px;display:flex;flex-direction:column;gap:4px}.action-status{display:flex;align-items:center;gap:10px;min-width:0}.action-status .pip{width:10px;height:10px}.unit-chip{margin-left:auto;padding:4px 10px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55%}.action-hint{margin:0;font-size:12px;line-height:1.3}.action-buttons{display:flex;gap:6px;justify-content:flex-end}.action-buttons button{padding:8px 12px;min-height:40px}.action-buttons .primary{flex:1;max-width:220px}.toast.floating{position:absolute;left:8px;right:8px;bottom:calc(100% + 6px);z-index:20;box-shadow:0 6px 20px #0009}.game.compact .hand{padding:6px 8px calc(6px + env(safe-area-inset-bottom));gap:6px}.game.compact .card{width:88px}.game.compact .card>.art{height:40px}.game.compact .card-body{padding:4px 6px}.game.compact .card-name{font-size:11px}.game.compact .card-kind,.game.compact .card-stats,.game.compact .card-desc{font-size:9px}.game.compact .card-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.game.compact .gem{width:18px;height:18px;font-size:10px}.game.compact .card:hover:not(.disabled){transform:none}.game.compact .card.selected{transform:translateY(-4px)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:#0000008c;display:flex;align-items:flex-end;animation:fade-in .15s ease-out}@keyframes fade-in{0%{opacity:0}}.sheet{width:100%;max-height:82dvh;overflow-y:auto;background:var(--panel);border-top:1px solid var(--gold);border-radius:16px 16px 0 0;padding:6px 10px calc(12px + env(safe-area-inset-bottom));animation:slide-up .2s ease-out}@keyframes slide-up{0%{transform:translateY(40px);opacity:0}}.sheet-handle{width:44px;height:5px;border-radius:3px;background:var(--line);margin:4px auto 10px}.sheet .unit-detail{border-width:1px}.sheet .detail-art{height:160px}.sheet .log{max-height:60dvh}.menu-section{width:min(600px,100%);display:flex;flex-direction:column;align-items:center;gap:10px}.menu-section h2{font-size:18px;color:var(--muted);margin:0}.menu-player.small{width:240px}.online-box{width:min(360px,100%);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;align-items:stretch;gap:10px;text-align:center}.join-row{display:flex;gap:8px}.join-row input{text-transform:uppercase;letter-spacing:.2em;text-align:center;font-weight:700}.room-code{font-family:Cinzel,serif;font-size:40px;font-weight:800;letter-spacing:.15em;color:var(--gold-2)}.conn{font-size:13px;color:var(--warn)}.conn.ok{color:var(--ok)}.conn.bad{color:var(--enemy)}.spinner{width:34px;height:34px;margin:0 auto;border-radius:50%;border:3px solid var(--line);border-top-color:var(--gold);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 600px){.menu{justify-content:flex-start}.menu-player,.menu-player.small{width:100%}.menu-art{height:140px}.overlay-box{padding:20px}.die{width:56px;height:56px}}.board-wrap{position:relative}.unit.walking{transition:left .14s linear,top .14s linear;z-index:4}.unit.flash>.art{animation:rival-flash .5s ease-in-out 3}@keyframes rival-flash{50%{box-shadow:0 0 0 3px #fff3bf,0 0 22px #ffd43b}}.rival-feed{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:30;max-width:min(92%,460px);background:#0f0c0ae0;border:1px solid var(--enemy);border-radius:10px;padding:8px 12px;font-size:13px;line-height:1.35;box-shadow:0 8px 24px #0009;animation:feed-in .2s ease-out,feed-out .5s ease-in 3s forwards;pointer-events:auto}@keyframes feed-in{0%{transform:translate(-50%,-8px);opacity:0}}@keyframes feed-out{to{opacity:0}}.game.compact .rival-feed{font-size:12px;top:6px}.rating-change{font-size:18px;font-variant-numeric:tabular-nums}.rating-change.up b{color:var(--ok)}.rating-change.down b{color:var(--enemy)}.account-box{display:flex;flex-direction:column;gap:8px}.account-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.account-name{font-family:Cinzel,serif;font-weight:800;font-size:18px;color:var(--gold-2)}.account-rating{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}.tabs{display:flex;gap:4px}.tabs button{flex:1;padding:6px}.tabs button.active{border-color:var(--gold);color:var(--gold-2)}.form-error{color:#ffb3b3;font-size:13px}.form-notice{color:var(--ok);font-size:13px}.divider{text-align:center;color:var(--muted);font-size:12px;margin:4px 0}.offline-banner{position:fixed;top:52px;left:50%;transform:translate(-50%);z-index:60;max-width:calc(100% - 24px);display:flex;align-items:center;gap:10px;background:#3a1616;border:1px solid var(--enemy);color:#ffd2d2;border-radius:10px;padding:10px 14px;font-weight:600;box-shadow:0 8px 24px #0009}.spinner.small{width:16px;height:16px;border-width:2px;margin:0;flex:none}.board-wrap{padding-top:2.6rem}.game.compact .board-wrap{padding-top:1.8rem}.unit.token{padding:0}.unit.token>.art{display:none}.unit.token{--tribe: #e8d8b0;--tribe-glow: rgba(232, 216, 176, .55)}.unit.token.tribe-gladiadores{--tribe: #ffb43a;--tribe-glow: rgba(255, 180, 58, .6)}.unit.token.tribe-payasos{--tribe: #c77dff;--tribe-glow: rgba(182, 92, 255, .65)}.unit.token.tribe-fairy{--tribe: #2fe3b0;--tribe-glow: rgba(47, 227, 176, .6)}.unit.token.tribe-blood{--tribe: #ff3446;--tribe-glow: rgba(255, 36, 54, .65)}.base-ring{position:absolute;left:-3%;right:-3%;bottom:3%;height:30%;border-radius:50%;border:2px solid var(--tribe);background:radial-gradient(ellipse at 50% 50%,rgba(0,0,0,.55),rgba(0,0,0,.25) 45%,transparent 72%);box-shadow:0 0 6px var(--tribe-glow),inset 0 0 5px var(--tribe-glow)}.unit.token.selected .base-ring{border-color:var(--gold-2);box-shadow:0 0 12px var(--gold-2),inset 0 0 6px var(--gold-2)}.unit.token.attackable .base-ring{animation:ring-pulse .9s ease-in-out infinite}@keyframes ring-pulse{50%{border-color:var(--enemy);box-shadow:0 0 18px 4px var(--enemy)}}.mini-wrap{--face: 1;--dx: 0%;--dy: 0%;position:absolute;left:50%;bottom:13%;width:135%;transform:translate(-50%) scaleX(var(--face));transform-origin:50% 100%;pointer-events:none;transition:opacity .15s,transform .25s}.mini-fit{position:absolute;left:50%;bottom:0;transform:translate(-50%);filter:drop-shadow(0 0 .6px var(--tribe, transparent)) drop-shadow(0 0 1.6px var(--tribe-glow, transparent))}.mini{display:block;height:100%;width:100%;object-fit:contain;object-position:50% 100%;transform-origin:50% 100%;filter:drop-shadow(0 4px 3px rgba(0,0,0,.55));animation:breathe 2.4s ease-in-out infinite;animation-delay:var(--phase, 0ms)}@keyframes breathe{50%{transform:translateY(-1.5%) scaleY(1.025)}}.unit.walking .mini{animation:hop .28s ease-in-out infinite}@keyframes hop{50%{transform:translateY(-7%) rotate(-3deg)}}.mini-wrap.lunge{animation:lunge .5s ease-in-out}@keyframes lunge{45%{transform:translate(-50%) translate(var(--dx),var(--dy)) scaleX(var(--face)) scale(1.08)}}.mini-wrap.hit{animation:shake .45s ease-in-out}.mini-wrap.hit .mini{filter:drop-shadow(0 4px 3px rgba(0,0,0,.55)) brightness(1.4) sepia(1) hue-rotate(-50deg) saturate(4)}@keyframes shake{20%{transform:translate(-56%) scaleX(var(--face))}40%{transform:translate(-44%) scaleX(var(--face))}60%{transform:translate(-53%) scaleX(var(--face))}}.unit.token.spent .mini{filter:drop-shadow(0 4px 3px rgba(0,0,0,.55)) grayscale(.6) brightness(.85)}.unit.token.spent{filter:none}.unit.token.asleep .mini{filter:drop-shadow(0 4px 3px rgba(0,0,0,.55)) saturate(.4) brightness(.75);animation-play-state:paused}.unit.token.asleep>.art{display:none}.unit.token.flash .base-ring{animation:rival-ring .5s ease-in-out 3}@keyframes rival-ring{50%{box-shadow:0 0 22px 6px #ffd43b}}.unit.token.see-through .mini-wrap{opacity:.25}.unit.token .hp{left:14%;right:14%;bottom:0;z-index:2}.unit.token .statuses{top:auto;bottom:14%;right:2%;z-index:2}.unit.token .unit-top{top:auto;bottom:14%;left:2%}.unit.token .float{top:-30%}.unit.token.ghost .mini{opacity:.85}.unit-panel{flex:1;min-width:0;display:flex;gap:8px;align-items:stretch}.panel-art{position:relative;flex:none;width:76px;padding:0;overflow:hidden;border-radius:10px;border:2px solid var(--line)}.unit-panel.mine .panel-art{border-color:var(--ok)}.unit-panel.enemy .panel-art{border-color:var(--enemy)}.panel-art .art{width:100%;height:100%;background-size:cover;background-position:center top}.panel-more{position:absolute;right:3px;bottom:3px;font-size:13px;line-height:1;background:#0009;border-radius:999px;padding:2px 3px}.panel-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.panel-head{display:flex;align-items:center;gap:6px;min-width:0}.panel-name{flex:1;min-width:0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel-stats{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.pstat,.pchip{display:inline-flex;align-items:center;gap:3px;font-size:12px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:2px 6px;white-space:nowrap}.pstat .up{color:var(--ok);font-size:10px;font-weight:700}.pstat .down{color:var(--enemy);font-size:10px;font-weight:700}.pchip small{font-size:9px;opacity:.8}.pchip.equip{padding:1px}.pchip-art{width:20px;height:20px;border-radius:6px;font-size:12px}.panel-abilities{display:flex;gap:4px;margin-top:auto}.panel-ability{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:4px 8px;min-height:40px;text-align:left}.panel-ability.ready{border-color:var(--gold, #f5a623);box-shadow:0 0 10px #f5a62359}.panel-ability.off{opacity:.45;filter:grayscale(.8)}.pa-name{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.pa-tags{display:flex;gap:3px;flex-wrap:wrap}.game.compact .unit-panel{height:134px}:root{--bg: #0d0a1a;--panel: rgba(28, 20, 48, .72);--panel-2: rgba(44, 31, 74, .78);--line: rgba(160, 120, 255, .22);--text: #f5eefe;--muted: #b7a8d6;--gold: #ffb938;--gold-2: #ffe08a;--mine: #3fb5ff;--enemy: #ff4d6d;--ok: #3ef0a0;--warn: #ffb347;--accent: #b46bff;--accent-2: #ff5fd2}body{background:radial-gradient(1200px 700px at 15% -10%,rgba(180,107,255,.35),transparent 60%),radial-gradient(900px 600px at 110% 20%,rgba(255,95,210,.22),transparent 60%),radial-gradient(1000px 800px at 50% 120%,rgba(255,140,50,.28),transparent 60%),linear-gradient(180deg,#120c26,#0b0817);background-attachment:fixed}#root{position:relative;z-index:1}.ambient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.ambient i{position:absolute;left:var(--x);bottom:-10px;width:var(--s);height:var(--s);border-radius:50%;background:radial-gradient(circle,#fff3c4,#ff9a3c 50%,transparent 70%);box-shadow:0 0 8px 2px #ff963c99;opacity:0;animation:ember var(--d) linear infinite;animation-delay:var(--delay)}.ambient i:nth-child(3n){background:radial-gradient(circle,#f3e1ff,#b46bff 50%,transparent 70%);box-shadow:0 0 8px 2px #b46bff99}@keyframes ember{0%{transform:translate(0);opacity:0}10%{opacity:.9}to{transform:translate(40px,-105vh);opacity:0}}button{background:linear-gradient(180deg,#463470e6,#2c1f4ae6);border:1px solid rgba(180,140,255,.35);border-radius:12px;box-shadow:0 2px #00000059,inset 0 1px #ffffff14}button:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 14px #b46bff73,inset 0 1px #ffffff1f}button.primary{background:linear-gradient(180deg,#ffcf4d,#ff9a1f 55%,#e8641a);border-color:#ffe08a;color:#2a1203;text-shadow:0 1px 0 rgba(255,255,255,.35);box-shadow:0 4px 16px #ff8c1e73,inset 0 1px #ffffff80}button.primary:hover:not(:disabled){background:linear-gradient(180deg,#ffe07a,#ffad35 55%,#f2741f);box-shadow:0 6px 24px #ff9628a6,inset 0 1px #fff9}.ghost-btn{background:#ffffff0a;box-shadow:none}input,select{background:#0a0618b3;border-color:#b48cff4d;border-radius:10px}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #b46bff40}.topbar,.side,.action-bar,.hand{background:linear-gradient(180deg,#1e1438c7,#120c24c7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.topbar{border-bottom:2px solid transparent;border-image:linear-gradient(90deg,transparent,var(--accent),var(--gold),var(--accent-2),transparent) 1}.phase{background:linear-gradient(90deg,var(--gold-2),#ffffff 40%,#e9c9ff);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800}.panel,.online-box,.menu-player,.overlay-box{background:linear-gradient(160deg,#34245cbf,#18102ccc);border:1px solid rgba(180,140,255,.28);box-shadow:0 10px 30px #00000059,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.log{background:#0805148c;border-color:#b48cff38}.me-name{color:#7fd1ff;text-shadow:0 0 12px rgba(63,181,255,.6)}.pip{width:13px;height:13px;transform:rotate(45deg);border-radius:3px;background:#142850cc;border-color:#78beff66}.pip.on{background:linear-gradient(135deg,#e0f6ff,#3fb5ff 45%,#2a55ff);border-color:#c4ecff;box-shadow:0 0 10px #3fb5ff}.countdown{background:#0a061899;border-color:#b48cff59}.chip.enemy{background:#ff4d6d1f}.board-wrap:before,.board-wrap:after{content:"";position:absolute;top:18%;width:180px;height:64%;pointer-events:none;background:radial-gradient(closest-side,rgba(255,150,50,.35),rgba(255,90,30,.12) 50%,transparent 75%);filter:blur(4px);animation:torch 2.6s ease-in-out infinite alternate;z-index:0}.board-wrap:before{left:-40px}.board-wrap:after{right:-40px;animation-delay:-1.3s;background:radial-gradient(closest-side,rgba(180,107,255,.35),rgba(255,95,210,.12) 50%,transparent 75%)}@keyframes torch{0%{opacity:.6;transform:scale(.95)}to{opacity:1;transform:scale(1.05)}}.board{z-index:1;border:3px solid #3b2a14;border-radius:16px;box-shadow:0 0 0 3px #d9a23b,0 0 0 5px #5a3b12,0 0 40px 10px #ffaa3c40,0 30px 60px #000000b3}.bg-coliseo{background:radial-gradient(ellipse at 50% 50%,rgba(255,235,180,.35),transparent 65%),linear-gradient(160deg,#e2b56c,#c58c45 50%,#8a5a2a)}.cell{border:none;box-shadow:inset 1px 1px #fff0c840,inset -1px -1px #46280a59}.cell.alt{background-color:#6e3c0f29}.cell:hover{background-color:#fff3}.t-rock{background:radial-gradient(circle at 35% 30%,#c9c2b8 0 12%,transparent 13%),radial-gradient(ellipse at 40% 40%,#a39a8f,#5d564f 60%,#2e2a27 95%);box-shadow:inset 0 -6px 10px #0000008c,inset 0 3px 4px #ffffff26}.t-forest{background:radial-gradient(circle at 30% 70%,rgba(150,255,120,.35),transparent 40%),radial-gradient(circle at 50% 55%,#46b04a,#1f6d2a 75%);box-shadow:inset 0 0 10px #00280099}.t-forest:after{content:"🌲🌳";font-size:min(2.4vw,22px);letter-spacing:-.3em;opacity:.95;filter:drop-shadow(0 2px 2px rgba(0,0,0,.5))}.t-lava{background:radial-gradient(circle at 30% 30%,rgba(255,255,200,.85) 0 6%,transparent 9%),radial-gradient(circle at 70% 65%,rgba(255,240,160,.8) 0 5%,transparent 8%),linear-gradient(120deg,#ffd23f,#ff6a00 40%,#d61f00 70%,#ff9a00);background-size:100% 100%,100% 100%,300% 300%;box-shadow:inset 0 0 14px #780a00b3,0 0 16px #ff5a0099;animation:lava 2.4s ease-in-out infinite,lava-glow 1.2s ease-in-out infinite alternate}@keyframes lava-glow{to{filter:brightness(1.2) saturate(1.2)}}.turns{background:#140a28d9;color:var(--gold-2);border:1px solid rgba(255,224,138,.4)}.m-zone{box-shadow:inset 0 0 0 9999px #3fb5ff29,inset 0 0 0 1px #3fb5ff59}.m-place{box-shadow:inset 0 0 0 2px #3ef0a0,inset 0 0 14px #3ef0a099,inset 0 0 0 9999px #3ef0a024}.m-move{box-shadow:inset 0 0 0 2px #3ef0a0d9,inset 0 0 0 9999px #3ef0a047;animation:neon 1.4s ease-in-out infinite}@keyframes neon{50%{box-shadow:inset 0 0 0 2px #b9ffe0,inset 0 0 0 9999px #3ef0a066}}.m-target{box-shadow:inset 0 0 0 2px #ff5fd2,inset 0 0 14px #ff5fd2b3,inset 0 0 0 9999px #ff5fd22e}.in-area{box-shadow:inset 0 0 0 9999px #ffec8c73,inset 0 0 0 2px #fff3b0!important}.base-ring{background:radial-gradient(ellipse,rgba(63,181,255,.45),transparent 70%);box-shadow:0 0 14px #3fb5ffbf}.unit.enemy .base-ring{background:radial-gradient(ellipse,rgba(255,77,109,.45),transparent 70%);box-shadow:0 0 14px #ff4d6dbf}.hp{border-radius:999px;border:1px solid rgba(0,0,0,.6)}.hp-fill{background:linear-gradient(90deg,#1fd47a,#8dffbd);box-shadow:0 0 8px #3ef0a0b3}.unit.enemy .hp-fill{background:linear-gradient(90deg,#ff2d55,#ff8fa3);box-shadow:0 0 8px #ff4d6db3}@property --spin{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.card{--kc: #ff8a3c;border:2px solid transparent;border-radius:14px;background:linear-gradient(180deg,#281a46f5,#120c24fa) padding-box,linear-gradient(160deg,var(--kc),rgba(255,255,255,.18) 45%,var(--kc)) border-box;box-shadow:0 8px 18px #00000073;transition:transform .18s ease,box-shadow .18s ease}.card.kind-monster{--kc: #ff8a3c}.card.kind-utility{--kc: var(--fx, #2fd39a)}.card.kind-spell{--kc: var(--fx, #9b6bff)}.card:hover:not(.disabled){transform:translateY(-8px) rotate(-1.5deg);border-color:transparent;box-shadow:0 14px 28px #00000080,0 0 22px color-mix(in srgb,var(--kc) 70%,transparent)}.card.selected{transform:translateY(-10px);border-color:transparent;background:linear-gradient(180deg,#281a46f5,#120c24fa) padding-box,conic-gradient(from var(--spin),var(--kc),#ffffff,var(--kc),#ffe08a,var(--kc)) border-box;box-shadow:0 0 26px color-mix(in srgb,var(--kc) 85%,transparent),0 14px 28px #00000080;animation:card-spin 2.5s linear infinite}@keyframes card-spin{to{--spin: 360deg}}.card.disabled{opacity:.45;filter:grayscale(.5)}.card>.art{border-radius:12px 12px 0 0}.card-shine{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.35) 45%,transparent 60%);background-size:250% 100%;background-position:120% 0;pointer-events:none;transition:background-position .6s ease;z-index:1}.card:hover .card-shine{background-position:-60% 0}.kind-badge{position:absolute;top:30px;right:5px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;background:radial-gradient(circle at 35% 30%,#ffffff,var(--kc) 60%);border:2px solid rgba(0,0,0,.5);box-shadow:0 0 10px var(--kc);z-index:2}.game.compact .kind-badge{top:20px;right:3px;width:18px;height:18px;font-size:10px}.card-name{color:#fff}.card-kind{color:color-mix(in srgb,var(--kc) 70%,#ffffff);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:10px}.gem.energy{background:radial-gradient(circle at 35% 30%,#e6f7ff,#3fb5ff 45%,#2a3fff);box-shadow:0 0 10px #3fb5ff}.gem.capacity{background:radial-gradient(circle at 35% 30%,#fff6d6,#ffc93c 45%,#c97a0a);box-shadow:0 0 10px #ffb938}.art-mini{display:grid;place-items:end center;background:radial-gradient(ellipse at 50% 85%,rgba(255,220,140,.55),transparent 55%),linear-gradient(160deg,#e0a75c,#a8642a 60%,#5d2f12);overflow:hidden}.art-mini img{height:108%;width:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 4px 4px rgba(0,0,0,.5));transform:translateY(6%)}.art-spell{display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,var(--fx-glow) 0 8%,var(--fx) 35%,color-mix(in srgb,var(--fx) 40%,#120a26) 75%),#120a26;overflow:hidden;position:relative}.art-spell:before{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.35),transparent 30%,transparent 50%,rgba(255,255,255,.25),transparent 80%);animation:rays 6s linear infinite}@keyframes rays{to{transform:rotate(360deg)}}.art-spell span{position:relative;display:grid;place-items:center;font-size:30px;color:color-mix(in srgb,var(--fx) 22%,#0b0605);filter:drop-shadow(0 1px 0 rgba(255,255,255,.55)) drop-shadow(0 0 8px var(--fx-glow))}.gicon{display:block;width:1em;height:1em}.game.compact .art-spell span{font-size:20px}.unit-detail{background:linear-gradient(170deg,#34245ceb,#140d28f5);box-shadow:0 0 24px #3fb5ff59,0 16px 40px #00000080}.unit-detail.enemy{box-shadow:0 0 24px #ff4d6d59,0 16px 40px #00000080}.stat{background:#0a061899;border-color:#b48cff40}.cast-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:42;pointer-events:none;display:grid;place-items:center;background:radial-gradient(circle,color-mix(in srgb,var(--fx) 25%,transparent),transparent 60%);animation:cast-bg 1.5s ease-out forwards}@keyframes cast-bg{0%{opacity:0}15%,70%{opacity:1}to{opacity:0}}.cast-card{width:min(220px,50vw);border-radius:18px;overflow:hidden;background:#120c24f5;border:3px solid var(--fx);box-shadow:0 0 40px var(--fx),0 0 90px color-mix(in srgb,var(--fx) 60%,transparent);text-align:center;animation:cast-card 1.5s cubic-bezier(.2,.9,.3,1.2) forwards}.cast-card .art{height:150px}.cast-card .art-spell span{font-size:64px}.cast-name{font-family:Cinzel,serif;font-weight:900;font-size:20px;padding:10px 8px 2px;color:#fff;text-shadow:0 0 12px var(--fx)}.cast-by{color:var(--muted);font-size:12px;padding-bottom:10px}@keyframes cast-card{0%{transform:scale(.3) rotate(-12deg);opacity:0}18%{transform:scale(1.08) rotate(2deg);opacity:1}30%,70%{transform:scale(1) rotate(0);opacity:1}to{transform:scale(.85) translateY(-30px);opacity:0}}.burst{position:absolute;z-index:60;pointer-events:none}.burst-ring,.burst-core{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%}.burst-ring{border:4px solid var(--fx-glow);box-shadow:0 0 24px var(--fx),inset 0 0 24px var(--fx);animation:burst-ring 1.1s ease-out forwards}.burst-ring.r2{animation-delay:.18s;border-color:var(--fx);opacity:0}.burst-core{background:radial-gradient(circle,var(--fx-glow),var(--fx) 40%,transparent 70%);animation:burst-core 1.1s ease-out forwards}@keyframes burst-ring{0%{transform:scale(.1);opacity:1}to{transform:scale(1.25);opacity:0}}@keyframes burst-core{0%{transform:scale(.2);opacity:.95}60%{opacity:.6}to{transform:scale(1);opacity:0}}.burst-board{top:0;right:0;bottom:0;left:0;border-radius:14px;background:radial-gradient(circle,color-mix(in srgb,var(--fx) 55%,transparent),transparent 70%);box-shadow:inset 0 0 60px var(--fx);animation:burst-board 1.2s ease-out forwards}@keyframes burst-board{0%{opacity:0}25%{opacity:1}to{opacity:0}}.menu h1{font-weight:900;font-size:clamp(40px,8vw,72px);background:linear-gradient(180deg,#fff7d6,#ffcf4d 40%,#ff7a1a 75%,#b4380f);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 0 #3a1406) drop-shadow(0 0 24px rgba(255,150,40,.55));letter-spacing:.04em}.menu-section h2{color:#e9c9ff;text-transform:uppercase;letter-spacing:.12em;font-size:14px}.menu-art{border-radius:12px;box-shadow:0 0 24px #ff962859}.menu-lineup span{background:#b46bff2e;border-color:#b46bff66}.room-code{background:linear-gradient(180deg,#fff7d6,#ffb938);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 14px rgba(255,185,56,.6))}.overlay{background:radial-gradient(circle at 50% 40%,#3c1e6ebf,#05030ceb)}.overlay-box{border-color:var(--gold);box-shadow:0 0 40px #ffb9384d,0 20px 50px #0009}.overlay-box h2{font-size:28px}.rival-feed{background:linear-gradient(160deg,#3c1432eb,#180c28eb);box-shadow:0 0 20px #ff4d6d59,0 8px 24px #0009}.unit.anim-brute .mini{animation:brute-idle 3.2s ease-in-out infinite;animation-delay:var(--phase, 0ms)}@keyframes brute-idle{0%,to{transform:translateY(0) rotate(0) scale(1)}30%{transform:translateY(-1.2%) rotate(-1.2deg) scale(1.01,1.03)}60%{transform:translateY(-.4%) rotate(.8deg) scale(1.015,1.01)}}.unit.anim-beast .mini{animation:beast-idle 1.6s ease-in-out infinite;animation-delay:var(--phase, 0ms)}@keyframes beast-idle{0%,to{transform:translateY(0) skew(0) scale(1)}20%{transform:translateY(1%) skew(-2deg) scale(1.03,.97)}45%{transform:translateY(-1.5%) skew(1.5deg) scale(.98,1.03)}52%{transform:translateY(-1.2%) skew(3deg) scale(.99,1.02)}70%{transform:translateY(.5%) skew(-1deg) scale(1.02,.99)}}.unit.anim-bull .mini{animation:bull-idle 2.6s ease-in-out infinite;animation-delay:var(--phase, 0ms)}@keyframes bull-idle{0%,to{transform:translateY(0) rotate(0) scale(1)}35%{transform:translateY(-.8%) rotate(-1deg) scale(1.03,1.02)}55%{transform:translateY(.4%) rotate(1.6deg) scale(1.01,.98)}62%{transform:translateY(.2%) rotate(1.2deg) scale(1.02,.99)}}.unit.anim-centaur .mini{animation:centaur-idle 2.2s ease-in-out infinite;animation-delay:var(--phase, 0ms)}@keyframes centaur-idle{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-.6%) rotate(-1.2deg)}50%{transform:translateY(0) rotate(.4deg)}75%{transform:translateY(-.4%) rotate(1.2deg)}}.unit.anim-jester .mini{animation:jester-idle 1.4s ease-in-out infinite;animation-delay:var(--phase, 0ms)}@keyframes jester-idle{0%,to{transform:translateY(0) rotate(-3deg) scale(1)}25%{transform:translateY(-2%) rotate(0) scale(.98,1.03)}50%{transform:translateY(0) rotate(3deg) scale(1.02,.98)}75%{transform:translateY(-2%) rotate(0) scale(.98,1.03)}}.unit.anim-balloon .mini{animation:balloon-idle 2s ease-in-out infinite;animation-delay:var(--phase, 0ms)}@keyframes balloon-idle{0%,to{transform:translateY(0) scale(1.03,.97)}50%{transform:translateY(-5%) scale(.97,1.04)}}.unit.anim-puppet .mini{transform-origin:50% 0;animation:puppet-idle 2.4s infinite;animation-delay:var(--phase, 0ms)}@keyframes puppet-idle{0%,to{transform:translateY(-1%) rotate(-2.5deg);animation-timing-function:ease-in-out}40%{transform:translateY(-2.5%) rotate(2.5deg);animation-timing-function:steps(1)}55%{transform:translateY(-4%) rotate(1deg);animation-timing-function:ease-in-out}70%{transform:translateY(-2%) rotate(-1deg)}}.unit.token.walking{transition:left var(--step, .15s) linear,top var(--step, .15s) linear}.unit.token.anim-brute.walking{--step: .26s}.unit.token.anim-beast.walking{--step: .13s}.unit.token.anim-bull.walking{--step: .24s}.unit.token.anim-centaur.walking{--step: .14s}.unit.token.anim-jester.walking{--step: .17s}.unit.token.anim-balloon.walking{--step: .22s}.unit.token.anim-puppet.walking{--step: .19s}.unit.anim-brute.walking .mini{animation:brute-walk .26s ease-in infinite}@keyframes brute-walk{0%{transform:translateY(0) rotate(5deg) scale(1.05,.94)}45%{transform:translateY(-6%) rotate(8deg) scale(.97,1.04)}to{transform:translateY(0) rotate(5deg) scale(1.06,.93)}}.unit.anim-beast.walking .mini{animation:beast-walk .13s ease-out infinite}@keyframes beast-walk{0%{transform:translateY(2%) rotate(6deg) scale(1.1,.86)}50%{transform:translateY(-12%) rotate(10deg) scale(.9,1.12)}to{transform:translateY(2%) rotate(6deg) scale(1.1,.86)}}.unit.anim-beast.walking .mini-wrap:after{content:"";position:absolute;left:-30%;right:50%;bottom:5%;height:40%;border-radius:50%;background:radial-gradient(ellipse at 100% 50%,rgba(232,216,200,.55),transparent 70%);filter:blur(6px)}.unit.anim-bull.walking .mini{animation:bull-walk .24s ease-in infinite}@keyframes bull-walk{0%{transform:translateY(0) rotate(9deg) scale(1.06,.93)}45%{transform:translateY(-5%) rotate(12deg) scale(.98,1.03)}to{transform:translateY(0) rotate(9deg) scale(1.07,.92)}}.unit.anim-centaur.walking .mini{animation:centaur-walk .14s linear infinite}@keyframes centaur-walk{0%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-9%) rotate(5deg)}to{transform:translateY(0) rotate(-4deg)}}.unit.anim-jester.walking .mini{animation:jester-walk .34s ease-in-out infinite}@keyframes jester-walk{0%,to{transform:translateY(0) rotate(-10deg) scale(1.05,.95)}25%{transform:translateY(-14%) rotate(0) scale(.95,1.06)}50%{transform:translateY(0) rotate(10deg) scale(1.05,.95)}75%{transform:translateY(-14%) rotate(0) scale(.95,1.06)}}.unit.anim-balloon.walking .mini{animation:balloon-walk .22s infinite}@keyframes balloon-walk{0%{transform:translateY(0) scale(1.18,.82);animation-timing-function:cubic-bezier(.2,.7,.4,1)}50%{transform:translateY(-16%) scale(.92,1.1);animation-timing-function:cubic-bezier(.6,0,.8,.3)}to{transform:translateY(0) scale(1.18,.82)}}.unit.anim-puppet.walking .mini{transform-origin:50% 0;animation:puppet-walk .38s steps(1) infinite}@keyframes puppet-walk{0%{transform:translateY(-8%) rotate(-8deg)}25%{transform:translateY(-12%) rotate(2deg)}50%{transform:translateY(-8%) rotate(8deg)}75%{transform:translateY(-12%) rotate(-2deg)}}.unit.anim-default.walking .mini{animation:hop .15s ease-in-out infinite}.rig{display:none;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;transform-origin:50% 100%}.rig>i{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--src) center bottom / 100% 100% no-repeat;filter:drop-shadow(0 4px 3px rgba(0,0,0,.5))}.rig-body{clip-path:inset(0 0 calc(var(--hip) * 100% - 1px) 0)}.rig-leg{--leg: 1;transform-origin:calc(var(--split) * 100%) calc((1 - var(--hip)) * 100%)}.rig-leg.back{clip-path:inset(calc((1 - var(--hip)) * 100%) calc((1 - var(--split)) * 100%) 0 0)}.rig-leg.front{--leg: -1;clip-path:inset(calc((1 - var(--hip)) * 100%) 0 0 calc(var(--split) * 100%))}.unit.walking .mini-fit[class*=gait-] .mini{visibility:hidden}.unit.walking .rig{display:block}.unit.walking .gait-stomp .rig{animation:stomp-body .52s ease-in-out infinite}.unit.walking .gait-stomp .rig-leg{animation:stride .52s ease-in-out infinite;--swing: 15deg}@keyframes stomp-body{0%,50%,to{transform:translateY(0) rotate(3deg) scale(1.03,.97)}25%,75%{transform:translateY(-4%) rotate(5deg) scale(.99,1.02)}}@keyframes stride{0%,to{transform:skew(calc(var(--swing) * var(--leg)))}50%{transform:skew(calc(var(--swing) * var(--leg) * -1))}}.unit.walking .gait-walk .rig{animation:walk-body .36s ease-in-out infinite}.unit.walking .gait-walk .rig-leg{animation:stride .36s ease-in-out infinite;--swing: 18deg}@keyframes walk-body{0%,50%,to{transform:translateY(0) rotate(2deg)}25%,75%{transform:translateY(-3%) rotate(3deg)}}.unit.walking .gait-waddle .rig{animation:waddle-body .44s ease-in-out infinite}.unit.walking .gait-waddle .rig-leg{animation:stride .44s ease-in-out infinite;--swing: 24deg}@keyframes waddle-body{0%,to{transform:translateY(0) rotate(-6deg) scale(1.04,.96)}25%,75%{transform:translateY(-5%) rotate(0) scale(.98,1.03)}50%{transform:translateY(0) rotate(6deg) scale(1.04,.96)}}.unit.walking .gait-dangle .rig{transform-origin:50% 0;animation:dangle-body .38s ease-out infinite}.unit.walking .gait-dangle .rig-leg{animation:stride .38s cubic-bezier(.4,0,.3,1.6) infinite;--swing: 22deg}@keyframes dangle-body{0%,to{transform:translateY(-6%) rotate(-5deg)}20%{transform:translateY(-12%) rotate(-1deg)}50%{transform:translateY(-6%) rotate(5deg)}70%{transform:translateY(-12%) rotate(1deg)}}.unit.walking .gait-gallop .rig{animation:gallop-body .3s linear infinite}.unit.walking .gait-gallop .rig-leg{animation:gallop-leg .3s ease-in-out infinite}.unit.walking .gait-gallop .rig-leg.front{animation-delay:-.11s}@keyframes gallop-body{0%,to{transform:translateY(0) rotate(-3deg)}35%{transform:translateY(-8%) rotate(3deg)}65%{transform:translateY(-3%) rotate(5deg)}}@keyframes gallop-leg{0%,to{transform:skew(15deg)}45%{transform:skew(-13deg)}}.unit.walking .gait-leap .rig{animation:leap-body .3s ease-in-out infinite}.unit.walking .gait-leap .rig-leg{animation:leap-leg .3s ease-in-out infinite}.unit.walking .gait-leap .rig-leg.front{animation-delay:-.06s}@keyframes leap-body{0%,to{transform:translateY(1%) rotate(6deg) scale(1.08,.9)}45%{transform:translateY(-13%) rotate(10deg) scale(.93,1.08)}75%{transform:translateY(-4%) rotate(4deg) scale(1)}}@keyframes leap-leg{0%,to{transform:skew(18deg) scaleY(.92)}45%{transform:skew(-26deg) scaleY(1.06)}}.unit.walking .gait-skitter .rig{animation:skitter-body .16s linear infinite}.unit.walking .gait-skitter .rig-leg{animation:stride .16s linear infinite;--swing: 10deg}@keyframes skitter-body{0%,to{transform:translateY(0) rotate(-1.5deg) scale(1.02,.97)}50%{transform:translateY(-2%) rotate(1.5deg) scale(1)}}.unit.walking .gait-drag .rig{animation:drag-body .6s ease-in-out infinite}.unit.walking .gait-drag .rig-leg{animation:drag-leg .6s ease-in-out infinite}.unit.walking .gait-drag .rig-leg.front{animation-delay:-.08s}@keyframes drag-body{0%,to{transform:translateY(0) rotate(2deg) skew(-2deg)}40%{transform:translateY(-3%) rotate(7deg) skew(-6deg)}}@keyframes drag-leg{0%,to{transform:skew(4deg)}40%{transform:skew(26deg) scaleY(.95)}70%{transform:skew(-6deg)}}.unit.walking .gait-crawl .rig{animation:crawl-body .46s ease-in-out infinite}@keyframes crawl-body{0%,to{transform:translateY(0) scale(1.14,.86) skew(0)}40%{transform:translateY(-2%) scale(.9,1.08) skew(-8deg)}70%{transform:translateY(0) scale(1.05,.95) skew(5deg)}}.unit.walking .gait-hop .rig{animation:jester-walk .34s ease-in-out infinite}.unit.walking .gait-fly .rig{animation:fly-body .24s ease-in-out infinite}@keyframes fly-body{0%,to{transform:translateY(-12%) rotate(8deg) scale(1)}50%{transform:translateY(-17%) rotate(5deg) scale(1.03,.97)}}.unit.walking .gait-glide .rig{animation:glide-body .8s ease-in-out infinite}@keyframes glide-body{0%,to{transform:translateY(-5%) rotate(4deg) skew(-5deg)}50%{transform:translateY(-9%) rotate(6deg) skew(-9deg)}}.unit.token .mini-wrap{transition:opacity .15s}.vfx-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:70;container-type:size}.vfx{position:absolute;pointer-events:none}.vfx.dust i{position:absolute;left:50%;bottom:6%;width:34%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--tint) 90%,#ffffff),transparent 70%);opacity:0;transform:translate(-50%) scale(.3);animation:dust .6s ease-out forwards;--dir: calc((var(--i) / (var(--n) - 1) - .5) * 2)}.vfx.dust.big i{width:48%;animation-duration:.7s}@keyframes dust{0%{opacity:.85;transform:translate(-50%) scale(.3)}to{opacity:0;transform:translate(calc(-50% + var(--dir) * 70%),-25%) scale(1.3)}}.vfx.slash{transform:rotate(var(--angle));transform-origin:50% 50%}.vfx.slash svg{position:absolute;top:-45%;right:-45%;bottom:-45%;left:-45%;width:190%;height:190%;overflow:visible}.vfx.slash .arc{fill:none;stroke-width:9;stroke-linecap:round;stroke-dasharray:140;stroke-dashoffset:140;filter:drop-shadow(0 0 6px #ffb347) drop-shadow(0 0 14px #ff5a1a);animation:slash-sweep .42s cubic-bezier(.2,.9,.3,1) forwards}.vfx.slash .arc.thin{stroke:#fff6d8;stroke-width:3;opacity:.9;animation-delay:40ms}.vfx.slash.generic .arc{stroke-width:6;filter:drop-shadow(0 0 6px #ffe08a)}@keyframes slash-sweep{0%{stroke-dashoffset:140;opacity:1}55%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-140;opacity:0}}.vfx.slash.claw .claw-mark{fill:none;stroke:#fff2ea;stroke-width:7;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;filter:drop-shadow(0 0 5px #ff6b5a) drop-shadow(0 0 12px #b0201a);animation:claw .5s cubic-bezier(.2,.9,.3,1) forwards}@keyframes claw{0%{stroke-dashoffset:100;opacity:1}45%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0;stroke-width:2}}.vfx.slash.thrust .arc{stroke:#fff;stroke-width:7;stroke-dasharray:100;stroke-dashoffset:100;filter:drop-shadow(0 0 6px #e8eef5) drop-shadow(0 0 12px #9fb7ff);animation:thrust .36s cubic-bezier(.2,.9,.3,1) forwards}.vfx.slash.thrust .arc.thin{stroke:#bcd0ff;stroke-width:2}@keyframes thrust{0%{stroke-dashoffset:100;opacity:1}50%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-100;opacity:0}}.vfx.slash.miss{opacity:.4;filter:grayscale(.6)}.vfx.sparks i{position:absolute;left:50%;top:45%;width:7%;height:22%;border-radius:999px;background:linear-gradient(180deg,#ffffff,var(--c));box-shadow:0 0 8px var(--c);transform-origin:50% 0;transform:rotate(var(--a)) translateY(0) scaleY(.4);opacity:0;animation:spark .55s ease-out forwards}@keyframes spark{0%{opacity:1;transform:rotate(var(--a)) translateY(0) scaleY(1)}to{opacity:0;transform:rotate(var(--a)) translateY(var(--d)) scaleY(.2)}}.vfx.confetti i{position:absolute;left:50%;top:40%;width:6%;height:10%;border-radius:2px;background:var(--c);box-shadow:0 0 4px var(--c);opacity:0;animation:confetti .95s cubic-bezier(.2,.7,.5,1) forwards}.vfx.confetti.big i{width:8%;height:13%;animation-duration:1.15s}@keyframes confetti{0%{opacity:1;transform:rotate(var(--a)) translateY(0) rotate(0)}60%{opacity:1;transform:rotate(var(--a)) translateY(var(--d)) rotate(var(--r))}to{opacity:0;transform:rotate(var(--a)) translateY(calc(var(--d) * 1.2)) translate(10%) rotate(calc(var(--r) * 1.6))}}.vfx.shock i{position:absolute;left:50%;top:72%;width:calc(var(--size) * 100%);aspect-ratio:2.2;border-radius:50%;border:4px solid var(--c);box-shadow:0 0 18px var(--c),inset 0 0 18px var(--c);transform:translate(-50%,-50%) scale(.1);opacity:0;animation:shock .55s ease-out forwards}.vfx.shock i.r2{border-width:2px;animation-delay:.1s}@keyframes shock{0%{opacity:1;transform:translate(-50%,-50%) scale(.1)}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}.vfx.ghost-wrap .ghost-img{width:125%;pointer-events:none}.vfx.ghost-wrap .ghost-img .mini{animation:ghost-fade .28s ease-out forwards;filter:brightness(1.6) saturate(.6) drop-shadow(0 0 6px rgba(255,255,255,.5))}@keyframes ghost-fade{to{opacity:0}}.vfx.death .mini-wrap{width:125%}.vfx.death.brute .mini-wrap,.vfx.death.bull .mini-wrap,.vfx.death.centaur .mini-wrap{transform-origin:30% 100%;animation:topple 1.2s cubic-bezier(.5,0,.7,.4) forwards}@keyframes topple{0%{transform:translate(-50%) rotate(0);opacity:1}25%{transform:translate(-50%) rotate(-8deg)}60%{transform:translate(-50%) rotate(84deg) translateY(4%);opacity:1}70%{transform:translate(-50%) rotate(78deg) translateY(2%)}to{transform:translate(-50%) rotate(84deg) translateY(4%);opacity:0}}.vfx.death.beast .mini-wrap{animation:dissolve 1.2s ease-in forwards}.vfx.death.beast .mini{animation:dissolve-color 1.2s ease-in forwards}@keyframes dissolve{0%{transform:translate(-50%) scale(1);opacity:1}30%{transform:translate(-50%) scale(1.08,.92)}to{transform:translate(-50%) translateY(-30%) scale(.4,1.6);opacity:0}}@keyframes dissolve-color{to{filter:brightness(2.5) saturate(2) hue-rotate(20deg) blur(4px)}}.vfx.death.balloon .mini-wrap{animation:pop .45s ease-in forwards}@keyframes pop{0%{transform:translate(-50%) scale(1);opacity:1}55%{transform:translate(-50%) scale(1.25,1.2);opacity:1;filter:brightness(1.3)}62%{transform:translate(-50%) scale(1.35,1.3);opacity:0}to{transform:translate(-50%) scale(1.35,1.3);opacity:0}}.vfx.death.jester .mini-wrap{animation:spin-out 1.1s cubic-bezier(.5,0,.8,.5) forwards}@keyframes spin-out{0%{transform:translate(-50%) rotate(0) scale(1);opacity:1}30%{transform:translate(-50%) translateY(-12%) rotate(-30deg) scale(1.05)}to{transform:translate(-50%) translateY(10%) rotate(720deg) scale(.05);opacity:.2}}.vfx.death.puppet .mini-wrap{transform-origin:50% 100%;animation:collapse 1.1s forwards}@keyframes collapse{0%{transform:translate(-50%) translateY(-6%) rotate(0) scale(1);opacity:1;animation-timing-function:cubic-bezier(.6,0,1,.6)}35%{transform:translate(-50%) translateY(0) rotate(-4deg) scale(1.08,.7);animation-timing-function:ease-out}50%{transform:translate(-50%) translateY(0) rotate(14deg) scale(1.1,.55);opacity:1}to{transform:translate(-50%) translateY(4%) rotate(18deg) scale(1.1,.5);opacity:0;filter:grayscale(1) brightness(.6)}}.vfx.death.default .mini-wrap{animation:sink 1s ease-in forwards}@keyframes sink{to{transform:translate(-50%) translateY(20%) scaleY(.6);opacity:0;filter:grayscale(1)}}.vfx.projectile{width:2.2cqw;aspect-ratio:1;margin-left:-1.1cqw;border-radius:50%;background:radial-gradient(circle,#ffffff,var(--c) 45%,transparent 70%);box-shadow:0 0 12px var(--c),0 0 24px var(--c);animation:fly var(--ms) cubic-bezier(.4,0,.8,1) forwards}@keyframes fly{to{transform:translate(var(--tx),var(--ty))}}.dice-overlay{inset:auto;top:64px;right:16px;left:auto;bottom:auto;background:#120c24d9;border:1px solid rgba(255,224,138,.4);border-radius:14px;padding:10px 14px;gap:6px;box-shadow:0 0 20px #ffb93840,0 10px 30px #00000080;pointer-events:none}.dice-overlay .dice{gap:10px}.dice-overlay .die{width:46px;height:46px;padding:6px;border-radius:10px}.dice-overlay .die .pip-on:after{width:8px;height:8px}.dice-overlay .dice-outcome{font-size:18px}.dice-overlay .o-critico{font-size:22px}.demo-badge{position:fixed;left:50%;bottom:18px;transform:translate(-50%);z-index:55;display:flex;align-items:center;gap:12px;padding:8px 10px 8px 16px;border-radius:999px;font-weight:700;background:linear-gradient(90deg,#b46bffe6,#ff5fd2e6);box-shadow:0 0 24px #b46bff99}.demo-badge button{padding:6px 14px;border-radius:999px}.demo-btn{font-weight:700;border-color:#ff5fd299;box-shadow:0 0 18px #ff5fd259}html{-webkit-text-size-adjust:100%}body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none}input{-webkit-user-select:text;user-select:text}#root{max-width:480px;height:100dvh;margin:0 auto;overflow:hidden;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);transform:translateZ(0)}@media (min-width: 520px){#root{height:min(100dvh,920px);margin-top:max(0px,calc((100dvh - 920px)/2));border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 60px #0009;background:#0806108c}}input,select{font-size:16px;min-height:42px}.menu{justify-content:flex-start;gap:18px;padding:20px 16px 28px}.menu h1{font-size:36px;text-align:center}.menu-section{width:100%}.menu-players{flex-direction:column;width:100%}.menu-player,.menu-player.small{width:100%}.menu-section button,.menu>.demo-btn{width:100%;min-height:46px}.menu-art{height:150px}.online-box{width:100%}.online-box button{min-height:46px}.game.compact{height:100%}.action-buttons button{min-height:42px}.rotate-hint{display:none}@media (orientation: landscape) and (max-height: 500px) and (hover: none){.rotate-hint{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#0b0817;color:var(--gold-2);font:700 18px/1.3 Cinzel,Georgia,serif;text-align:center;padding:24px}.rotate-hint:before{content:"📱";font-size:48px;display:block;transform:rotate(-90deg)}}:root{--bg: #0a0c10;--panel: rgba(17, 20, 26, .94);--panel-2: #1a1f27;--line: rgba(150, 175, 205, .16);--text: #e6ebf1;--muted: #8c97a6;--gold: #e3ad4f;--gold-2: #f2cf86;--mine: #3ac4ff;--enemy: #ff4f5e;--ok: #38e0a0;--accent: #3ac4ff;--accent-2: #7c8cff;--steel: #2a313b;--monster: #e0823a;--utility: #2ec9a2;--spell: #9a7dff}body{background:linear-gradient(rgba(120,160,200,.035) 1px,transparent 1px) 0 0 / 28px 28px,linear-gradient(90deg,rgba(120,160,200,.035) 1px,transparent 1px) 0 0 / 28px 28px,radial-gradient(ellipse at 50% 0%,#161b23,#0a0c10 70%);background-color:#0a0c10;background-attachment:fixed}.ambient{display:none}h1,h2,h3,.phase,.me-name,.art-placeholder,.dice-outcome,.room-code,.account-name,.cast-name{font-family:Rajdhani,Inter,system-ui,sans-serif;letter-spacing:.04em}button{background:linear-gradient(180deg,#222833,#191e26);border:1px solid rgba(150,175,205,.22);border-radius:8px;box-shadow:inset 0 1px #ffffff0d;color:var(--text)}button:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 0 1px #3ac4ff40}button.primary{background:linear-gradient(180deg,#45d0ff,#1d9be0);border-color:#8fe3ff;color:#04121c;text-shadow:none;font-weight:800;letter-spacing:.03em;box-shadow:0 0 18px #3ac4ff4d,inset 0 1px #fff6}button.primary:hover:not(:disabled){background:linear-gradient(180deg,#6adaff,#2aa8ea);box-shadow:0 0 22px #3ac4ff73,inset 0 1px #ffffff80}button.primary:disabled{background:#1d2a33;border-color:#3ac4ff40;color:#5f7484;box-shadow:none}.ghost-btn{background:#ffffff08}input,select{background:#0f1217;border-color:#96afcd40;border-radius:8px}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #3ac4ff33}.topbar,.side,.action-bar,.hand{background:#0d1015eb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.topbar{border-bottom:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(58,196,255,.7),transparent) 1}.phase{background:none;color:var(--text);-webkit-text-fill-color:currentColor;font-weight:700;text-transform:uppercase;font-size:17px}.panel,.online-box,.menu-player,.overlay-box,.unit-detail{background:linear-gradient(180deg,#171b22,#111419);border:1px solid var(--line);box-shadow:0 10px 30px #00000073}.unit-detail{box-shadow:0 0 0 1px #3ac4ff40,0 16px 40px #00000080}.unit-detail.enemy{box-shadow:0 0 0 1px #ff4f5e4d,0 16px 40px #00000080}.log{background:#0d1015;border-color:var(--line)}.stat,.pstat,.pchip{background:#0f1217;border-color:var(--line)}.tag{background:#0f1217}.countdown{background:#0f1217;border-color:var(--line)}.chip.enemy{background:#ff4f5e1a}.rival-feed{background:#101319f2;border:1px solid rgba(255,79,94,.35);box-shadow:0 8px 24px #0009}.overlay{background:radial-gradient(circle at 50% 40%,#141c26d9,#040508f0)}.overlay-box{border-color:#3ac4ff66;box-shadow:0 0 30px #3ac4ff26,0 20px 50px #0009}.pip{background:#10202c;border-color:#3ac4ff59}.pip.on{background:linear-gradient(135deg,#d9f5ff,#3ac4ff 50%,#1673c9);box-shadow:0 0 8px #3ac4ffcc}.menu h1{background:linear-gradient(180deg,#fff,#bfe9ff 55%,#3ac4ff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px rgba(58,196,255,.35));font-weight:700;letter-spacing:.12em;text-transform:uppercase}.menu-section h2{color:var(--muted)}.menu-art{box-shadow:0 0 0 1px var(--line),0 10px 30px #00000080}.menu-lineup span{background:#3ac4ff14;border-color:#3ac4ff4d}.room-code{background:linear-gradient(180deg,#fff,#3ac4ff);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 0 12px rgba(58,196,255,.4))}.board-wrap:before,.board-wrap:after{display:none}.board{border:1px solid #3a4452;border-radius:6px;box-shadow:0 0 0 1px #0a0c10,0 0 0 3px #1c222b,0 0 0 4px #3ac4ff59,0 24px 50px #000000bf}.board:before{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;pointer-events:none;z-index:0;background:linear-gradient(var(--accent),var(--accent)) top left / 18px 2px,linear-gradient(var(--accent),var(--accent)) top left / 2px 18px,linear-gradient(var(--accent),var(--accent)) top right / 18px 2px,linear-gradient(var(--accent),var(--accent)) top right / 2px 18px,linear-gradient(var(--accent),var(--accent)) bottom left / 18px 2px,linear-gradient(var(--accent),var(--accent)) bottom left / 2px 18px,linear-gradient(var(--accent),var(--accent)) bottom right / 18px 2px,linear-gradient(var(--accent),var(--accent)) bottom right / 2px 18px;background-repeat:no-repeat;opacity:.8}.bg-coliseo{background:radial-gradient(ellipse at 50% 45%,rgba(170,160,140,.12),transparent 70%),linear-gradient(160deg,#4a4740,#3a3832 55%,#2b2a26)}.cell{border:none;box-shadow:inset 0 0 0 .5px #00000073,inset 1px 1px #ffffff0a}.cell.alt{background-color:#0000001a}.cell:hover{background-color:#3ac4ff14}.t-rock{background:radial-gradient(ellipse at 50% 70%,rgba(0,0,0,.35),transparent 62%);box-shadow:inset 0 0 0 .5px #00000073}.t-rock:before,.t-rock:after{content:"";position:absolute;pointer-events:none}.t-rock:before{left:12%;right:10%;top:16%;bottom:14%;clip-path:polygon(14% 38%,32% 12%,58% 6%,82% 20%,94% 48%,88% 78%,62% 94%,30% 92%,8% 72%);background:radial-gradient(ellipse at 34% 28%,rgba(255,255,255,.28),transparent 38%),linear-gradient(150deg,#8e8c86,#64625d 45%,#3a3936);filter:drop-shadow(0 3px 2px rgba(0,0,0,.6))}.t-rock:after{left:52%;right:6%;top:52%;bottom:8%;clip-path:polygon(10% 40%,40% 8%,80% 14%,96% 52%,76% 92%,26% 90%);background:linear-gradient(150deg,#7b7973,#4a4844 70%,#33322f);filter:drop-shadow(0 2px 1px rgba(0,0,0,.6))}.t-forest{background:radial-gradient(circle at 50% 55%,rgba(30,50,30,.7),rgba(26,40,26,.3) 55%,transparent 74%);box-shadow:inset 0 0 0 .5px #00000073}.t-forest:after,.game.compact .t-forest:after{content:"";position:absolute;top:6%;right:6%;bottom:6%;left:6%;font-size:0;opacity:1;pointer-events:none;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(170,200,130,.18) 0 5%,transparent 9%),radial-gradient(circle at 64% 26%,rgba(170,200,130,.14) 0 4%,transparent 8%),radial-gradient(circle at 30% 36%,#3c5a33 0 17%,transparent 22%),radial-gradient(circle at 66% 32%,#36522f 0 15%,transparent 20%),radial-gradient(circle at 50% 60%,#314b2b 0 22%,transparent 27%),radial-gradient(circle at 22% 68%,#2b4226 0 13%,transparent 18%),radial-gradient(circle at 80% 64%,#283e23 0 14%,transparent 19%);filter:drop-shadow(0 3px 2px rgba(0,0,0,.55))}.turns{background:#0f1217;color:var(--accent);border:1px solid rgba(58,196,255,.4)}.m-zone{box-shadow:inset 0 0 0 9999px #3ac4ff1a,inset 0 0 0 1px #3ac4ff4d}.m-place{box-shadow:inset 0 0 0 1px #38e0a0e6,inset 0 0 0 9999px #38e0a01f}.m-move{box-shadow:inset 0 0 0 1px #38e0a0d9,inset 0 0 0 9999px #38e0a033}@keyframes neon{50%{box-shadow:inset 0 0 0 1px #b9ffe0,inset 0 0 0 9999px #38e0a04d}}.m-target{box-shadow:inset 0 0 0 1px #ff8a5c,inset 0 0 0 9999px #ff78502e}.base-ring{background:radial-gradient(ellipse,rgba(58,196,255,.35),transparent 70%);box-shadow:0 0 10px #3ac4ff99}.unit.enemy .base-ring{background:radial-gradient(ellipse,rgba(255,79,94,.35),transparent 70%);box-shadow:0 0 10px #ff4f5e99}.card{--kc: var(--monster);border-radius:10px;border:1.5px solid transparent;background:linear-gradient(180deg,#1a1f27,#11151b) padding-box,linear-gradient(170deg,var(--kc),rgba(255,255,255,.08) 50%,var(--kc)) border-box;box-shadow:0 6px 14px #00000080}.card.kind-monster{--kc: var(--monster)}.card.kind-utility{--kc: var(--utility)}.card.kind-spell{--kc: var(--spell)}.card.selected{background:linear-gradient(180deg,#1a1f27,#11151b) padding-box,conic-gradient(from var(--spin),var(--kc),#ffffff,var(--kc),var(--kc)) border-box;box-shadow:0 0 18px color-mix(in srgb,var(--kc) 70%,transparent),0 10px 22px #00000080}.card:hover:not(.disabled){box-shadow:0 10px 22px #00000080,0 0 16px color-mix(in srgb,var(--kc) 55%,transparent)}.card-type{position:absolute;z-index:3;top:0;left:50%;transform:translate(-50%);padding:1px 8px 2px;border-radius:0 0 6px 6px;background:var(--kc);color:#0a0c10;font:700 9px/1.2 Rajdhani,Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.card-name{font-family:Rajdhani,Inter,sans-serif;font-weight:700;letter-spacing:.02em}.card-kind{color:color-mix(in srgb,var(--kc) 75%,#ffffff);font-size:9px}.card-stats{color:#cdd6e0}.card.kind-monster>.art{position:absolute;top:0;right:0;bottom:0;left:0;height:auto;border-radius:9px;background-size:cover;background-position:center 18%}.card.kind-monster>.art.art-mini img{height:92%;transform:translateY(-14%)}.card.kind-monster .card-body{position:relative;align-self:stretch;width:100%;box-sizing:border-box;z-index:2;margin-top:auto;padding-top:26px;background:linear-gradient(180deg,transparent,rgba(8,10,14,.82) 38%,rgba(8,10,14,.96));border-radius:0 0 9px 9px}.card.kind-monster .card-name{text-shadow:0 1px 2px #000}.card.kind-utility{border-radius:3px;background:linear-gradient(180deg,#13221f,#0e1514) padding-box,linear-gradient(170deg,var(--kc),rgba(255,255,255,.08) 50%,var(--kc)) border-box}.card.kind-spell{background:radial-gradient(circle at 50% 22%,rgba(154,125,255,.22),transparent 60%) padding-box,linear-gradient(180deg,#1b1830,#110f1d) padding-box,linear-gradient(170deg,var(--kc),rgba(255,255,255,.08) 50%,var(--kc)) border-box}.card.kind-utility>.art,.card.kind-spell>.art{margin:16px auto 0;width:48px;height:48px;flex:none;border-radius:50%;box-shadow:0 0 0 1.5px var(--kc),0 0 14px color-mix(in srgb,var(--kc) 55%,transparent)}.card.kind-utility>.art{border-radius:8px;transform:rotate(45deg) scale(.86)}.card.kind-utility>.art>span{transform:rotate(-45deg)}.card.kind-utility .card-body,.card.kind-spell .card-body{text-align:center;align-items:center}.game.compact .card.kind-utility>.art,.game.compact .card.kind-spell>.art{width:40px;height:40px;margin-top:16px}.game.compact .card.kind-monster>.art{height:auto}.kind-badge{display:none}.gem{top:18px;border-color:#0009}.gem.energy{background:radial-gradient(circle at 35% 30%,#e6f7ff,#3ac4ff 45%,#1673c9);box-shadow:0 0 8px #3ac4ffb3;color:#04121c}.gem.capacity{background:radial-gradient(circle at 35% 30%,#fff1d0,#e3ad4f 50%,#9a6a1c);box-shadow:0 0 8px #e3ad4f99;color:#1c1204}.card.disabled{opacity:.4;filter:grayscale(.7)}.art-mini{background:radial-gradient(ellipse at 50% 85%,rgba(160,180,200,.25),transparent 60%),linear-gradient(160deg,#2b313a,#171b21)}.art-spell{background:radial-gradient(circle at 50% 45%,var(--fx-glow) 0 6%,var(--fx) 34%,color-mix(in srgb,var(--fx) 30%,#0b0d12) 72%),#0b0d12}.unit-panel.mine .panel-art{border-color:var(--mine)}.panel-name{font-family:Rajdhani,Inter,sans-serif;font-size:16px;letter-spacing:.03em}.panel-ability.ready{border-color:var(--accent);box-shadow:0 0 10px #3ac4ff59}.game.compact .card{min-height:134px}.charge{display:flex;gap:2px;width:100%}.charge span{flex:1;height:5px;border-radius:2px;background:#151a24;box-shadow:inset 0 0 0 1px #9a7dff59}.charge span.on{background:linear-gradient(90deg,#7c5cff,#b39dff);box-shadow:0 0 4px #9a7dff99}.charge.full span.on{background:linear-gradient(90deg,#9a7dff,#e0d4ff);animation:charge-full 1.4s ease-in-out infinite}@keyframes charge-full{50%{box-shadow:0 0 9px #beaafff2}}.unit .charge.on-board{position:absolute;left:22%;right:22%;width:auto;bottom:-7px;z-index:2;gap:1px}.unit .charge.on-board span{height:4px}.panel-ability .charge,.ability .charge{margin:2px 0 1px}.panel-ability.off{opacity:1;filter:none}.panel-ability.off .pa-name,.panel-ability.off .pa-tags{opacity:.5}.board .unit,.board .ghost{pointer-events:none}.top-status{display:flex;align-items:center;gap:6px;flex:none}.top-status .pip{width:7px;height:7px}.game.compact{grid-template-columns:minmax(0,1fr)}.game.compact .topbar{gap:5px;min-width:0}.top-status .energy{gap:2px}.top-status .energy-num{margin-left:2px;font-size:13px}.top-status .capacity{font-size:12px;white-space:nowrap}.topbar .end-turn{flex:none;padding:6px 8px;min-height:34px;font-size:12px;white-space:nowrap}.game.compact .topbar .ghost-btn{flex:none;padding:4px 6px}.game.compact .phase{flex:1 1 auto;min-width:0}@media (max-width: 700px){.game.compact .players,.game.compact .phase .round{display:none}}.game.compact .action-bar{flex-direction:row;align-items:center;gap:8px;padding:4px 8px}.game.compact .action-hint{flex:1;min-width:0}.game.compact .action-buttons:empty{display:none}.game.compact .action-buttons button{min-height:36px;padding:6px 10px}.game.compact{grid-template-rows:auto minmax(0,1fr) auto}.game.compact .hand{box-sizing:border-box;height:calc(146px + env(safe-area-inset-bottom));flex:none;overflow-y:hidden}.top-setup{display:flex;gap:5px;flex:none}.top-setup button{padding:6px 10px;min-height:34px;font-size:13px}.board-float{position:absolute;left:8px;right:8px;bottom:8px;z-index:30;display:flex;align-items:center;justify-content:flex-end;gap:6px;pointer-events:none}.board-float>*{pointer-events:auto}.board-float button{min-height:36px;padding:6px 12px;box-shadow:0 4px 14px #0009}.float-prompt{margin-right:auto;padding:6px 10px;border-radius:8px;font-size:12px;background:#0d1015e0;border:1px solid rgba(58,196,255,.45)}.board-wrap>.toast.floating{top:8px;bottom:auto}.panel-turn{display:flex;gap:4px;flex:none}.turn-chip{font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;white-space:nowrap;border:1px solid rgba(58,196,255,.7);color:#dff4ff;background:#3ac4ff2e}.turn-chip.off{border-color:#ffffff1f;color:#ffffff59;background:none;text-decoration:line-through}.sheet.full{height:100dvh;max-height:none;border-radius:0;border-top:none;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);display:flex;flex-direction:column}.sheet.full .unit-detail{flex:1;min-height:0;display:flex;flex-direction:column;border-radius:0;border-width:0;overflow-y:auto}.sheet.full .detail-art{flex:1 1 auto;min-height:220px;height:auto;background-size:contain;background-repeat:no-repeat;background-position:center;background-color:#0b0d11}.sheet.full .detail-body{flex:none}.sheet.full .unit-detail .close{top:10px;right:10px;width:40px;height:40px;font-size:24px}.game.compact .hand{height:calc(146px + var(--hx, 0px) + env(safe-area-inset-bottom))}.game.compact .card{width:calc(88px + var(--hx, 0px) * .24);min-height:calc(134px + var(--hx, 0px))}.game.compact .card.kind-utility>.art,.game.compact .card.kind-spell>.art{width:calc(40px + var(--hx, 0px) * .35);height:calc(40px + var(--hx, 0px) * .35);margin-top:calc(16px + var(--hx, 0px) * .05)}.game.compact .card.kind-utility>.art>span,.game.compact .card.kind-spell>.art>span{font-size:calc(18px + var(--hx, 0px) * .12)}.game.compact .card-name{font-size:calc(11px + var(--hx, 0px) * .025)}.game.compact .card-stats,.game.compact .card-desc{font-size:calc(9px + var(--hx, 0px) * .02)}.game.compact .card-desc{-webkit-line-clamp:4}.game.compact .unit-panel{height:calc(134px + var(--hx, 0px))}.game.compact .panel-art{width:calc(76px + var(--hx, 0px) * .36)}.game.compact .panel-name{font-size:calc(16px + var(--hx, 0px) * .03)}.game.compact .panel-ability{min-height:calc(40px + var(--hx, 0px) * .3);justify-content:center}.game.compact .pa-name{font-size:calc(12px + var(--hx, 0px) * .025)}.game.compact .pstat,.game.compact .pchip{font-size:calc(12px + var(--hx, 0px) * .02)}.audio-menu{position:relative;flex:none}.audio-menu-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:200;display:flex;flex-direction:column;gap:4px;min-width:168px;padding:6px;border-radius:10px;background:#140f0cf5;border:1px solid rgba(243,207,122,.35);box-shadow:0 8px 24px #0009}.audio-menu-pop button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;font-size:14px;background:transparent;border:0;border-radius:8px;color:var(--text)}.audio-menu-pop button:active{background:#ffffff0f}.audio-menu-pop i{position:relative;width:34px;height:20px;border-radius:10px;background:#4a403a;transition:background .15s}.audio-menu-pop i:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#d8cbb8;transition:transform .15s}.audio-menu-pop button.on i{background:#c9a14a}.audio-menu-pop button.on i:after{transform:translate(14px);background:#fff6e0}.game .topbar{position:relative;z-index:30}.audio-menu-pop button span{display:inline-flex;align-items:center;gap:8px}.audio-menu .ghost-btn .audio-icon{display:block;width:18px;height:18px}.overlay-actions{display:flex;gap:10px;margin-top:4px}.overlay-actions button{min-width:130px}.overlay-actions .danger{border-color:#c0392b;background:#c0392b38;color:#ffd9d4}.menu.home{width:100%;max-width:520px;margin:0 auto;gap:16px;padding:calc(18px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom))}.home-hero{text-align:center;padding-top:6px}.home-hero h1{margin:0;font-size:clamp(38px,11vw,56px);line-height:1}.home-logo{display:block;width:min(78vw,340px);height:auto;margin:-6px auto -10px}.home-tag{margin:8px 0 0;color:var(--muted);font-size:13px;letter-spacing:.28em;text-transform:uppercase}.home-hero:after{content:"";display:block;height:2px;margin:14px auto 0;width:60%;background:linear-gradient(90deg,transparent,var(--accent),var(--gold),transparent);opacity:.7}.home-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;width:100%;padding:4px;border-radius:12px;background:#0d1015;border:1px solid var(--line)}.home-tabs button{min-height:40px;border:0;border-radius:9px;background:transparent;box-shadow:none;color:var(--muted);font-weight:700;font-size:15px;letter-spacing:.04em}.home-tabs button.active{background:linear-gradient(180deg,#2a3442,#1c232d);color:var(--text);box-shadow:inset 0 0 0 1px #3ac4ff73,0 0 14px #3ac4ff26}.home-panel{width:100%;display:flex;flex-direction:column;gap:14px;animation:home-in .25s ease-out}.home-panel h2{margin:4px 0 0;font-size:13px;color:var(--muted);letter-spacing:.22em;text-transform:uppercase;text-align:center}.home-panel label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:13px}.home-panel input{width:100%}@keyframes home-in{0%{opacity:0;transform:translateY(6px)}}.team-picker{display:flex;flex-direction:column;gap:12px}.team-carousel{position:relative;height:clamp(250px,72vw,340px);perspective:900px;touch-action:pan-y}.team-slide{position:absolute;left:50%;top:0;width:clamp(160px,46vw,220px);aspect-ratio:2 / 3;padding:0;border:0;border-radius:12px;background:none;box-shadow:0 16px 34px #000000b3;transition:transform .45s cubic-bezier(.2,.9,.25,1),opacity .45s,filter .45s;-webkit-tap-highlight-color:transparent}.team-slide img{display:block;width:100%;height:100%;border-radius:12px;pointer-events:none}.team-slide.center{z-index:3;transform:translate(-50%) scale(1);filter:drop-shadow(0 0 18px rgba(227,173,79,.45))}.team-slide.prev,.team-slide.next{z-index:2;opacity:.85;filter:brightness(.5) saturate(.7)}.team-slide.prev{transform:translate(-112%) scale(.8) rotateY(18deg)}.team-slide.next{transform:translate(12%) scale(.8) rotateY(-18deg)}.team-slide.back{z-index:1;opacity:0;pointer-events:none;transform:translate(-50%) scale(.6)}.team-slide .team-name{position:absolute;left:0;right:0;bottom:-30px;padding:0;background:none;font-size:clamp(16px,4.8vw,22px);opacity:0;transition:opacity .3s}.team-slide.center .team-name{opacity:1}.team-carousel{margin-bottom:26px}.team-arrow{position:absolute;top:50%;z-index:4;display:grid;place-items:center;width:40px;height:40px;min-height:0;padding:0 0 4px;border-radius:50%;border:1px solid rgba(227,173,79,.6);background:#1a0e06d9;color:#f2cf86;font-size:30px;line-height:1;translate:0 -50%;box-shadow:0 4px 12px #0009}.team-arrow.left{left:0}.team-arrow.right{right:0}.team-dots{display:flex;justify-content:center;gap:6px}.team-dots i{width:7px;height:7px;border-radius:50%;background:#e3ad4f4d;transition:background .2s,transform .2s}.team-dots i.on{background:#e3ad4f;transform:scale(1.3)}.team-roster{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.team-fighter span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.3em}.team-fighter{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;font-size:11px;line-height:1.15;color:var(--text)}.team-fighter img,.team-fighter .art{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:center top;background:radial-gradient(circle at 50% 30%,#2a3442,#10141a);border:1px solid rgba(58,196,255,.35)}.team-picker .hint{text-align:center;margin:0}.team-picker.compact .team-carousel{height:clamp(190px,52vw,250px)}.team-picker.compact .team-slide{width:clamp(120px,34vw,160px)}.rival-picker{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.rival-label{color:var(--muted);font-size:13px;letter-spacing:.18em;text-transform:uppercase}.rival-chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:4px 14px 4px 4px;border-radius:999px;font-weight:700;color:var(--muted)}.rival-chip img{width:32px;height:32px;border-radius:50%;object-fit:cover;object-position:center top;background:#10141a}.rival-chip.selected{color:var(--text);border-color:#ff4f5eb3;box-shadow:0 0 14px #ff4f5e40}.home-play{width:100%;min-height:54px;font-size:18px}.home-demo{width:100%;min-height:44px;margin-top:4px;font-size:14px;color:var(--muted)}.home-local-player{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:14px;background:linear-gradient(180deg,#171b22,#111419);border:1px solid var(--line)}@font-face{font-family:Lilita;src:url(/brand/lilita.woff2) format("woff2");font-display:swap}.home-decks{position:relative;display:flex;align-items:center;width:100%;min-height:150px;padding:16px 12px 16px 18px;gap:8px;overflow:hidden;border-radius:18px;text-align:left;background:radial-gradient(circle at 78% 55%,#6a0c16,#2a0509 55%,#12030a);border:2px solid #e2a54e;box-shadow:inset 0 0 0 2px #3a1406,inset 0 0 40px #0000008c,0 0 22px #ff283238,0 12px 26px #00000080}.home-decks:before{content:"";position:absolute;top:-60%;right:-60%;bottom:-60%;left:-60%;background:repeating-conic-gradient(from 0deg at 72% 55%,rgba(255,50,60,.13) 0 6deg,transparent 6deg 15deg);pointer-events:none}.home-decks:active{transform:scale(.985)}.home-decks-text{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:1}.home-decks-text b{font-family:Lilita,Rajdhani,system-ui,sans-serif;font-weight:400;font-size:clamp(24px,7.4vw,34px);line-height:1.05;white-space:nowrap;text-transform:uppercase;letter-spacing:.02em;color:#ff3a40;background:linear-gradient(180deg,#fff1ec,#ff6a5c 25%,#ff1f2d 55%,#a8061c);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:1.5px #ffc94a;filter:drop-shadow(0 3px 0 #1a0205) drop-shadow(0 0 12px rgba(255,30,40,.55));transform:rotate(-3deg);transform-origin:left center}.home-decks-text small{margin-top:4px;color:#f2cf86;font-size:11px;font-weight:700;letter-spacing:.08em;white-space:nowrap;text-transform:uppercase}.home-decks-go{margin-top:10px;padding:5px 12px;white-space:nowrap;border-radius:999px;border:1px solid rgba(226,165,78,.7);background:#14030a8c;color:#ffe2a8;font-size:13px;font-weight:700;letter-spacing:.06em}.home-decks-fan{position:relative;z-index:1;flex:none;width:136px;height:118px}.home-decks-fan img{position:absolute;top:4px;width:66px;height:99px;border-radius:6px;box-shadow:0 6px 14px #000000a6}.home-decks-fan img:nth-child(1){left:-4px;transform:rotate(-15deg) translateY(8px)}.home-decks-fan img:nth-child(2){left:18px;z-index:1;transform:rotate(-5deg) translateY(-2px)}.home-decks-fan img:nth-child(3){left:40px;z-index:2;transform:rotate(5deg) translateY(-2px)}.home-decks-fan img:nth-child(4){left:62px;z-index:3;transform:rotate(15deg) translateY(8px)}.menu.decks{max-width:760px}.decks-top{display:flex;align-items:center;gap:12px;width:100%}.decks-top h1{margin:0;font-size:clamp(28px,8vw,40px)}.deck-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:100%}.deck-tab{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px 6px 8px;border-radius:12px;font-weight:700;font-size:17px;color:var(--muted);opacity:.7}.deck-tab.active{opacity:1;color:var(--text);border-color:var(--accent);box-shadow:0 0 0 1px #3ac4ff80,0 0 18px #3ac4ff33}.deck-tab-art{flex:none;width:40px;height:52px;border-radius:7px;background-size:cover;background-position:center top}.decks-count{margin:-4px 0 0;text-align:center}.deck-section{width:100%}.deck-section h2{display:flex;align-items:center;gap:8px;margin:6px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line);font-size:18px;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}.deck-section h2 small{margin-left:auto;color:var(--muted);font-size:14px}.deck-kind{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;font-size:16px;background:#0f1217;border:1px solid var(--line)}.deck-kind.kind-monster{color:var(--monster);border-color:color-mix(in srgb,var(--monster) 50%,transparent)}.deck-kind.kind-utility{color:var(--utility);border-color:color-mix(in srgb,var(--utility) 50%,transparent)}.deck-kind.kind-spell{color:var(--spell);border-color:color-mix(in srgb,var(--spell) 50%,transparent)}.deck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:12px}.deck-card{position:relative;display:flex;justify-content:center}.deck-card .card{width:100%;max-width:150px;aspect-ratio:5 / 7}.deck-grid.used .card{box-shadow:0 0 0 1.5px #e3ad4fd9,0 0 16px #e3ad4f59,0 6px 14px #00000080}.deck-grid.unused .card{opacity:.42;filter:saturate(.35);box-shadow:none}.deck-out-label{margin:16px 0 8px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.deck-copies{position:absolute;bottom:-6px;right:-2px;padding:1px 9px;border-radius:999px;background:var(--gold);color:#1a1206;font-weight:800;font-size:12px;box-shadow:0 2px 8px #00000080;z-index:2}.menu .deck-card button.deck-info{position:absolute;top:-6px;right:2px;z-index:3;width:26px;height:26px;min-height:0;padding:0;border-radius:50%;font:italic 700 14px/1 Georgia,serif;color:#1a1206;background:var(--gold);border:1px solid rgba(0,0,0,.4);box-shadow:0 2px 6px #00000080}.deck-grid.unused .deck-card .card{cursor:pointer}.deck-pick-hint{margin:4px 0 0}.deck-hole{flex-direction:column;align-items:center;justify-content:center;gap:4px;max-width:150px;width:100%;aspect-ratio:5 / 7;border:2px dashed rgba(227,173,79,.55);border-radius:12px;color:#e3ad4fe6;font-weight:800;font-size:13px;text-align:center;background:#e3ad4f0f}.deck-hole small{font-weight:600;font-size:11px;color:var(--muted)}.deck-notice{margin:10px 0 0;padding:8px 12px;border-radius:10px;background:#c92a2a2e;border:1px solid rgba(255,120,120,.45);color:#ffc9c9;font-size:13px;font-weight:700;animation:notice-shake .4s ease-in-out}@keyframes notice-shake{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.deck-sheet{position:relative;width:min(380px,calc(100vw - 24px));max-height:calc(100dvh - 24px);margin:12px;overflow:hidden;padding:0;gap:0;align-items:stretch;text-align:left;border-color:#3ac4ff66}.deck-sheet-art{flex:0 1 52dvh;width:100%;min-height:90px;aspect-ratio:auto;background-size:cover;background-position:center 15%;border-radius:14px 14px 0 0}.deck-sheet-art.art-mini,.deck-sheet-art.art-spell{flex-basis:160px}.deck-sheet-close{position:absolute;top:8px;right:8px;z-index:2;display:grid;place-items:center;width:34px;height:34px;min-height:0;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:#0000008c;color:#ffffffd9;font-size:16px;line-height:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.deck-sheet-body{display:flex;flex:0 0 auto;flex-direction:column;gap:7px;min-height:0;padding:10px 14px 14px}.deck-sheet-body h3{margin:0;font-size:21px}.deck-sheet-tags{display:flex;flex-wrap:wrap;gap:5px}.deck-sheet-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.deck-sheet-stats div{display:flex;flex-direction:column;align-items:center;padding:4px 2px;border-radius:8px;background:#0f1217;border:1px solid var(--line)}.deck-sheet-stats b{font-size:15px}.deck-sheet-stats span{font-size:10px;color:var(--muted)}.deck-sheet-desc{margin:0;font-size:13px;color:var(--text);line-height:1.35}.deck-ability{padding:6px 9px;border-radius:8px;background:#0f1217;border:1px solid var(--line);font-size:14px}.deck-ability .tag{margin-left:6px}.deck-ability .hint{margin-top:2px;font-size:12.5px;line-height:1.3}.team-carousel .team-slide,.team-carousel .team-slide:hover,.team-carousel .team-slide:active,.team-carousel .team-slide:focus{background:none;border:0;outline:none;box-shadow:0 16px 34px #000000b3}.team-carousel .team-slide.center,.team-carousel .team-slide.center:active{transform:translate(-50%) scale(1)}.team-carousel .team-slide.prev,.team-carousel .team-slide.prev:active{transform:translate(-112%) scale(.8) rotateY(18deg)}.team-carousel .team-slide.next,.team-carousel .team-slide.next:active{transform:translate(12%) scale(.8) rotateY(-18deg)}.team-carousel .team-slide.back,.team-carousel .team-slide.back:active{transform:translate(-50%) scale(.6)}.team-carousel .team-slide.prev,.team-carousel .team-slide.next{filter:brightness(.72) saturate(.85)}.team-carousel{touch-action:manipulation}.menu.home{padding-top:4px;padding-bottom:18px}.home-hero{padding-top:0}.home-logo{margin-top:-12px}.menu button.home-play.home-play{position:relative;display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:74px;padding:10px 18px;overflow:hidden;border-radius:16px;border:2px solid #f2c66a;background:linear-gradient(180deg,#ffffff47,#fff0 48%),radial-gradient(ellipse at 50% 120%,#ff4a3a 0%,transparent 60%),linear-gradient(180deg,#e8202e,#b30d1d 55%,#6e0612);color:#fff;box-shadow:inset 0 0 0 2px #5a0a10,inset 0 2px #ffdcc88c,inset 0 -6px 14px #3c00088c,0 6px #4a060c,0 10px 24px #0000008c,0 0 26px #ff283273;animation:play-glow 2.6s ease-in-out infinite;transition:transform .12s,box-shadow .12s}.menu button.home-play.home-play:after{content:"";position:absolute;top:-20%;bottom:-20%;width:38%;left:-50%;background:linear-gradient(100deg,transparent,rgba(255,240,210,.45),transparent);transform:skew(-18deg);animation:play-shine 3.4s ease-in-out infinite;pointer-events:none}.menu button.home-play.home-play:active{transform:translateY(4px);box-shadow:inset 0 0 0 2px #5a0a10,inset 0 2px #ffdcc866,inset 0 -4px 10px #3c000899,0 2px #4a060c,0 4px 12px #00000080,0 0 18px #ff283266}.home-play-icon{flex:none;width:38px;height:38px;fill:#ffd77a;filter:drop-shadow(0 2px 0 #3a0207)}.home-play-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1}.home-play-text b{font-family:Lilita,Rajdhani,system-ui,sans-serif;font-weight:400;font-size:32px;letter-spacing:.04em;text-transform:uppercase;color:#fff6e6;text-shadow:0 3px 0 #4a0209,0 0 14px rgba(255,200,120,.45)}.home-play-text small{margin-top:3px;font-family:Cinzel,Georgia,serif;font-weight:900;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#ffd77a;text-shadow:0 1px 0 #3a0207}@keyframes play-glow{0%,to{filter:brightness(1)}50%{filter:brightness(1.12)}}@keyframes play-shine{0%,55%{left:-50%}85%,to{left:120%}}@media (prefers-reduced-motion: reduce){.menu button.home-play.home-play,.menu button.home-play.home-play:after{animation:none}}.audio-toggles{display:flex;gap:8px}.audio-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:40px;min-height:40px;padding:0 10px;border-radius:10px;border:1px solid rgba(243,207,122,.35);background:#140e0a8c;color:#e9cf95;transition:opacity .15s,color .15s,border-color .15s}.audio-toggle.off{color:#8d7d68;border-color:#f3cf7a26}.audio-icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.audio-slash{stroke-width:2.2}.audio-toggles.with-labels{justify-content:center;margin-top:6px}.audio-toggles.with-labels .audio-toggle{padding:0 16px;font-family:Cinzel,serif;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.decks-top .audio-toggles{margin-left:auto}.decks-top h1{white-space:nowrap;font-size:clamp(22px,6.2vw,40px)}.menu{--accent: #e3ad4f;--line: rgba(227, 173, 79, .22);--muted: #b39b7a;--text: #f4e6cc;color:var(--text)}body:has(.menu){background:repeating-linear-gradient(90deg,rgba(0,0,0,.18) 0 2px,transparent 2px 9px,rgba(255,220,160,.03) 9px 11px,transparent 11px 23px),radial-gradient(ellipse at 50% 0%,#3a2414,#1a0f08 70%);background-color:#1a0f08;background-attachment:fixed}.menu .home-hero:after{background:linear-gradient(90deg,transparent,#e3ad4f,transparent)}.menu .home-tabs{background:#120a05;border-color:#e3ad4f59}.menu .home-tabs button{font-family:Cinzel,Georgia,serif;font-weight:800;color:#9c8466}.menu .home-tabs button.active{background:linear-gradient(180deg,#5a3a1c,#3a2410);color:#ffe2a8;box-shadow:inset 0 0 0 1px #e3ad4f,0 0 14px #e3ad4f40}.menu .home-panel,.menu .panel{background:linear-gradient(180deg,#3c2614d9,#1e120aeb);border-color:#e3ad4f4d}.menu .home-panel h2,.menu h1,.menu h2{font-family:Cinzel,Georgia,serif;font-weight:800;color:#e3c48a}.menu .team-card{background:#120a05}.menu .team-card.selected{border-color:#e3ad4f;box-shadow:0 0 0 1px #e3ad4f99,0 0 26px #e3ad4f59,0 14px 30px #0009}.menu .team-name{font-family:Cinzel,Georgia,serif;font-weight:800}.menu .team-check{background:#e3ad4f;color:#2a1606}.menu .team-fighter img{border-color:#8b5f2c}.menu button:not(.primary){background:linear-gradient(180deg,#3a2614,#24170c);border-color:#e3ad4f59;color:#f4e6cc}.menu button:not(.primary):hover:not(:disabled){border-color:#e3ad4f;box-shadow:0 0 0 1px #e3ad4f40}.menu .rival-chip.selected{border-color:#e3ad4f;box-shadow:0 0 14px #e3ad4f59}.menu button.primary{background:linear-gradient(180deg,#ffd77a,#d1902e 60%,#9a5f1d);border-color:#fff0c4;color:#2a1606;font-family:Cinzel,Georgia,serif;font-weight:900;box-shadow:0 0 18px #e3ad4f59,inset 0 1px #ffffff80}.menu button.primary:hover:not(:disabled){background:linear-gradient(180deg,#ffe29a,#dc9d3c 60%,#a8692a);box-shadow:0 0 22px #e3ad4f73,inset 0 1px #ffffff8c}.menu button.primary:disabled{background:#2a1d12;border-color:#e3ad4f40;color:#7a6650;box-shadow:none}.menu input{background:#120a05;border-color:#e3ad4f4d;color:#f4e6cc}.menu .home-decks{background:linear-gradient(180deg,#4a2e16,#24160a)}.menu .home-decks:before{background:repeating-conic-gradient(from 0deg at 72% 55%,rgba(255,200,120,.08) 0 6deg,transparent 6deg 15deg)}.menu button.deck-tab.active{border-color:#e3ad4f;box-shadow:0 0 0 1px #e3ad4f80,0 0 18px #e3ad4f40}.menu .team-check{box-shadow:0 0 12px #e3ad4fb3}.menu .deck-sheet{background:linear-gradient(180deg,#2e1d0f,#1a0f08);border-color:#e3ad4f73}.vfx.projectile{width:0;height:0;margin:0;background:none;box-shadow:none;animation:fly var(--ms) linear forwards}.vfx.projectile>i{position:absolute;left:0;top:0;width:2.4cqw;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,#ffffff,var(--c) 45%,transparent 70%);box-shadow:0 0 12px var(--c),0 0 24px var(--c);animation:arc var(--ms) linear forwards}.vfx.projectile>i:after{content:"";position:absolute;right:50%;top:50%;width:6cqw;height:40%;translate:0 -50%;transform-origin:100% 50%;rotate:var(--angle);border-radius:999px;background:linear-gradient(90deg,transparent,var(--c));opacity:.7;filter:blur(1px)}@keyframes arc{50%{transform:translateY(var(--lift))}to{transform:translateY(0)}}.vfx.projectile.spear>i{width:6cqw;aspect-ratio:auto;height:.7cqw;border-radius:1px 40% 40% 1px;background:linear-gradient(90deg,#6b4a2b 0,#6b4a2b 70%,#f4f6fa 70%,#f4f6fa);box-shadow:0 0 8px var(--c);rotate:var(--angle)}.vfx.projectile.spear>i:after{rotate:0deg;width:8cqw;height:100%}.vfx.projectile.bolt>i{width:3cqw;animation:arc var(--ms) linear forwards,flicker .08s steps(2) infinite}@keyframes flicker{50%{filter:brightness(1.8)}}.vfx.projectile.glob>i{width:2.8cqw;border-radius:55% 45% 50% 50%;background:radial-gradient(circle at 35% 35%,#f4ffd0,var(--c) 50%,#4e7a12 100%)}.vfx.projectile.seed>i{width:1.6cqw;background:radial-gradient(circle,#ffffff 30%,rgba(255,255,255,.4) 55%,transparent 72%);box-shadow:0 0 6px #fff}.vfx.projectile.spore>i{width:1.9cqw}.vfx.shards .mini-wrap{width:125%;transform:translate(-50%) scaleX(var(--face))}.vfx.shards .shard{position:absolute;top:0;right:0;bottom:0;left:0;animation:shard 1.1s cubic-bezier(.2,.7,.4,1) forwards;filter:drop-shadow(0 0 3px #fff) brightness(1.4)}@keyframes shard{0%{transform:translate(0) rotate(0);opacity:1;filter:brightness(3)}12%{transform:translate(calc(var(--sx) * .15),calc(var(--sy) * .15)) rotate(calc(var(--sr) * .1));filter:brightness(1.6)}70%{opacity:1}to{transform:translate(var(--sx),calc(var(--sy) + 40%)) rotate(var(--sr)) scale(.7);opacity:0}}.float.crit{color:#fff3b0;font-size:34px;-webkit-text-stroke:1px #b3261e;text-shadow:0 0 10px #ff6b00,0 3px 6px #000;animation:float-crit 1.2s cubic-bezier(.2,1.4,.4,1) forwards;z-index:6}@keyframes float-crit{0%{transform:translate(-50%) scale(2.4);opacity:0}15%{transform:translate(-50%,-6px) scale(1);opacity:1}75%{opacity:1}to{transform:translate(-50%,-46px) scale(1.1);opacity:0}}.float.dmg{font-size:24px;animation:float-hit 1.2s cubic-bezier(.2,1.3,.4,1) forwards}@keyframes float-hit{0%{transform:translate(-50%) scale(1.8)}15%{transform:translate(-50%,-4px) scale(1)}to{transform:translate(-50%,-40px);opacity:0}}.screen-fx{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Cinzel,Lilita One,system-ui,sans-serif;text-transform:uppercase}.crit-fx{animation:crit-bg 1s ease-out forwards}@keyframes crit-bg{0%{background:radial-gradient(circle,#ffffffbf,#ffc85059 60%,#00000080)}25%{background:radial-gradient(circle,transparent 35%,rgba(120,20,0,.45))}to{background:radial-gradient(circle,transparent 35%,rgba(120,20,0,0))}}.crit-fx span{font-size:clamp(40px,13vw,96px);font-weight:900;letter-spacing:.04em;color:#fff3b0;-webkit-text-stroke:2px #8a1a0e;text-shadow:0 0 24px #ff6b00,0 6px 0 #5a0d06,0 10px 24px #000;animation:slam 1s cubic-bezier(.2,1.5,.4,1) forwards}@keyframes slam{0%{transform:scale(3) rotate(-8deg);opacity:0}18%{transform:scale(1) rotate(-4deg);opacity:1}24%{transform:scale(1.08) rotate(-4deg)}75%{opacity:1}to{transform:scale(1.15) rotate(-4deg);opacity:0}}.kill-fx{gap:2px;animation:kill-bg 1.5s ease-out forwards}@keyframes kill-bg{0%{background:#0000008c}to{background:#0000}}.kill-fx .kill-title{font-size:clamp(36px,11vw,84px);font-weight:900;color:#ffd25e;-webkit-text-stroke:2px #3a1d00;text-shadow:0 0 28px rgba(255,170,40,.9),0 6px 0 #3a1d00,0 12px 26px #000;animation:slam 1.5s cubic-bezier(.2,1.5,.4,1) forwards}.kill-fx.mine .kill-title{color:#ff8a80;-webkit-text-stroke-color:#3a0000;text-shadow:0 0 28px rgba(255,40,40,.9),0 6px 0 #3a0000,0 12px 26px #000}.kill-fx .kill-name{font-size:clamp(14px,4vw,24px);font-weight:700;letter-spacing:.2em;color:#fff;text-shadow:0 2px 8px #000;animation:kill-name 1.5s ease-out forwards}@keyframes kill-name{0%,12%{opacity:0;transform:translateY(10px)}25%,75%{opacity:1;transform:none}to{opacity:0}}.turn-fx span{position:relative;width:100%;padding:14px 0;text-align:center;font-size:clamp(30px,9vw,64px);font-weight:900;letter-spacing:.12em;color:#fff3d0;text-shadow:0 0 18px rgba(255,190,60,.9),0 4px 0 #3a2410,0 8px 18px #000;background:linear-gradient(90deg,transparent,rgba(40,24,10,.88) 18%,rgba(40,24,10,.88) 82%,transparent);border-block:2px solid rgba(255,200,90,.7);overflow:hidden;animation:turn-in 1.3s cubic-bezier(.2,.9,.3,1) forwards}.turn-fx.rival span{font-size:clamp(22px,6.5vw,44px);color:#ffd6d0;text-shadow:0 0 16px rgba(255,60,40,.8),0 4px 0 #2a0a06,0 8px 18px #000;background:linear-gradient(90deg,transparent,rgba(40,10,8,.85) 18%,rgba(40,10,8,.85) 82%,transparent);border-color:#ff5a4699}.turn-fx span:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);transform:translate(-100%);animation:sweep .7s .2s ease-in-out forwards}@keyframes turn-in{0%{transform:translate(-110%) skew(-12deg);opacity:0}22%{transform:translate(0) skew(-12deg);opacity:1}30%{transform:translate(0) skew(0)}78%{transform:translate(0);opacity:1}to{transform:translate(110%);opacity:0}}@keyframes sweep{to{transform:translate(100%)}}.board-ambient{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;border-radius:inherit;z-index:60;background:radial-gradient(ellipse at 50% 50%,transparent 55%,rgba(30,12,0,.35));animation:torch 3.1s steps(1) infinite}@keyframes torch{0%{opacity:1}13%{opacity:.82}21%{opacity:1}47%{opacity:.9}52%{opacity:.76}58%{opacity:1}83%{opacity:.88}}.board-ambient i{position:absolute;left:var(--x);top:104%;width:var(--s);height:var(--s);border-radius:50%;background:#ffe2a8;box-shadow:0 0 6px 2px #ff8c28d9,0 0 14px 4px #ff5a1459;opacity:0;animation:ember var(--d) linear infinite;animation-delay:var(--w)}@keyframes ember{0%{top:104%;translate:0 0;opacity:0}10%{opacity:.9}50%{translate:var(--sway) 0}80%{opacity:.6}to{top:-4%;translate:calc(var(--sway) * -.5) 0;opacity:0}}.game.pressure:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;pointer-events:none;box-shadow:inset 0 0 60px 10px #dc1414a6;animation:heartbeat 1s ease-out infinite}@keyframes heartbeat{0%{opacity:1}15%{opacity:.45}30%{opacity:.9}to{opacity:.25}}.game.pressure .board{animation:board-beat 1s ease-out infinite}@keyframes board-beat{0%,to{scale:1.012}15%{scale:1}30%{scale:1.008}}.unit.low-hp .mini-wrap{animation:low-tremble .5s linear infinite}@keyframes low-tremble{0%,to{translate:0 0}25%{translate:-1.5px 0}75%{translate:1.5px 0}}.unit.low-hp .mini{filter:drop-shadow(0 4px 3px rgba(0,0,0,.55)) drop-shadow(0 0 6px rgba(255,40,40,.75))}.unit.low-hp .hp-fill{background:linear-gradient(90deg,#ff2a2a,#ff7a5a)!important;animation:hp-blink .7s ease-in-out infinite}@keyframes hp-blink{50%{opacity:.35}}.unit.low-hp .hp{box-shadow:0 0 8px #ff2828e6}@media (prefers-reduced-motion: reduce){.board-ambient i,.game.pressure .board,.unit.low-hp .mini-wrap{animation:none}}.end-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;overflow:hidden;padding:16px;animation:end-bg .9s ease-out both}.end-screen.win{background:radial-gradient(circle at 50% 38%,#ffaa2861,#3c1404d1 45%,#080300f2 80%);-webkit-backdrop-filter:blur(2px) saturate(1.3);backdrop-filter:blur(2px) saturate(1.3)}.end-screen.lose{background:radial-gradient(circle at 50% 38%,#8c061273,#140204e0 50%,#000000f7 85%);-webkit-backdrop-filter:grayscale(1) brightness(.55) blur(1px);backdrop-filter:grayscale(1) brightness(.55) blur(1px)}.end-screen.draw{background:radial-gradient(circle at 50% 38%,#968c784d,#0a0806f0 75%);-webkit-backdrop-filter:grayscale(.6) brightness(.6);backdrop-filter:grayscale(.6) brightness(.6)}@keyframes end-bg{0%{opacity:0}}.end-rays{position:absolute;left:50%;top:38%;width:180vmax;height:180vmax;translate:-50% -50%;pointer-events:none;opacity:0}.end-screen.win .end-rays{background:repeating-conic-gradient(from 0deg,rgba(255,210,110,.2) 0deg 7deg,transparent 7deg 20deg);mask:radial-gradient(circle,#000 0%,transparent 55%);-webkit-mask:radial-gradient(circle,#000 0%,transparent 55%);animation:end-rays-in 1s .3s ease-out forwards,end-spin 40s linear infinite}.end-screen.lose .end-rays{background:radial-gradient(circle,transparent 20%,rgba(120,0,10,.5) 45%,transparent 60%);animation:end-rays-in 1.4s .2s ease-out forwards,end-pulse 2.4s 1.6s ease-in-out infinite}@keyframes end-rays-in{to{opacity:1}}@keyframes end-spin{to{rotate:360deg}}@keyframes end-pulse{50%{opacity:.45}}.end-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.end-particles i{position:absolute;bottom:-12px;border-radius:50%;opacity:0;animation:end-rise 3s ease-in infinite}.end-screen.win .end-particles i{background:radial-gradient(circle,#fff6c8,#ffb938 55%,transparent 70%);box-shadow:0 0 10px #ffb938}.end-screen.lose .end-particles i,.end-screen.draw .end-particles i{top:-12px;bottom:auto;border-radius:2px;background:#968c87a6;animation-name:end-fall}.end-screen.lose .end-particles i:nth-child(3n){background:#8c0a16;border-radius:50% 50% 50% 0;rotate:-45deg}@keyframes end-rise{0%{opacity:0;transform:translate(0) scale(.6)}15%{opacity:1}to{opacity:0;transform:translate(18px,-105vh) scale(1.1)}}@keyframes end-fall{0%{opacity:0;transform:translate(0) rotate(0)}15%{opacity:.9}to{opacity:0;transform:translate(-30px,105vh) rotate(220deg)}}.end-content{position:relative;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:14px;width:min(440px,100%);text-align:center}.end-crest{font-size:54px;line-height:1;filter:drop-shadow(0 0 18px rgba(255,190,60,.9));animation:end-crest .9s .15s cubic-bezier(.2,1.6,.4,1) both}.end-screen.lose .end-crest{filter:drop-shadow(0 0 18px rgba(255,20,40,.8)) grayscale(.3)}@keyframes end-crest{0%{opacity:0;transform:translateY(-40px) scale(.3) rotate(-25deg)}}.end-title{position:relative;margin:0;font-family:Lilita,Rajdhani,system-ui,sans-serif;font-weight:400;font-size:clamp(52px,17vw,104px);line-height:.95;text-transform:uppercase;letter-spacing:.02em;background:linear-gradient(180deg,#fffbe6,#ffe07a,#ffad1f 60%,#c55a06);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:2px #5a2200;filter:drop-shadow(0 5px 0 #2a0e00) drop-shadow(0 0 26px rgba(255,170,40,.75));transform:rotate(-3deg);animation:end-slam .8s .25s cubic-bezier(.2,1.5,.4,1) both}.end-screen.lose .end-title{background:linear-gradient(180deg,#fff1ec,#ff6a5c 25%,#e0101e 55%,#5e0410);-webkit-background-clip:text;background-clip:text;-webkit-text-stroke-color:#1a0205;filter:drop-shadow(0 5px 0 #120003) drop-shadow(0 0 24px rgba(255,20,40,.6));animation:end-drop 1.1s .25s cubic-bezier(.3,1.3,.5,1) both,end-shudder .5s 1.35s ease-in-out}.end-screen.draw .end-title{background:linear-gradient(180deg,#fff,#c9c2b6 55%,#6d655a);-webkit-background-clip:text;background-clip:text;-webkit-text-stroke-color:#1d1914}.end-screen.lose .end-title:before,.end-screen.lose .end-title:after{content:"";position:absolute;top:82%;width:9px;height:0;border-radius:0 0 6px 6px;background:linear-gradient(#b00a1a,#6d0410);animation:end-drip 2.4s 1.4s ease-in forwards}.end-screen.lose .end-title:before{left:24%}.end-screen.lose .end-title:after{left:71%;width:7px;animation-delay:1.9s}@keyframes end-drip{to{height:24px}}@keyframes end-slam{0%{opacity:0;transform:rotate(-3deg) scale(2.6)}60%{opacity:1}}@keyframes end-drop{0%{opacity:0;transform:translateY(-120px) rotate(4deg)}55%{opacity:1;transform:translateY(8px) rotate(-5deg)}to{transform:rotate(-3deg)}}@keyframes end-shudder{25%{translate:-4px 0}50%{translate:4px 2px}75%{translate:-2px 0}}.end-sub{margin-top:16px;font-size:clamp(13px,3.8vw,17px);font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:#f2cf86;text-shadow:0 2px 8px #000;animation:end-fade .6s .8s ease-out both}.end-screen.lose .end-sub{color:#e8a7a0}@keyframes end-fade{0%{opacity:0;transform:translateY(10px)}}.end-label{margin-top:4px;font-size:11px;font-weight:800;letter-spacing:.3em;text-transform:uppercase;color:#f2cf86b3;animation:end-fade .6s .9s ease-out both}.end-standing{display:flex;flex-wrap:wrap;max-width:100%;justify-content:center;align-items:flex-end;gap:6px;min-height:96px;margin-top:6px}.end-unit{display:flex;flex-direction:column;align-items:center;gap:4px;width:min(70px,17vw);animation:end-unit .6s cubic-bezier(.2,1.5,.4,1) both}.end-unit img{width:100%;max-height:96px;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(0,0,0,.8))}.end-screen.win .end-unit img{filter:drop-shadow(0 6px 8px rgba(0,0,0,.8)) drop-shadow(0 0 10px rgba(255,190,60,.45))}.end-unit-ph{font-size:36px}.end-hp{width:80%;height:5px;border-radius:3px;background:#0009;overflow:hidden}.end-hp b{display:block;height:100%;background:linear-gradient(90deg,#36d17a,#b6ff8a)}.end-screen.lose .end-hp b{background:linear-gradient(90deg,#c4122a,#ff6a6a)}@keyframes end-unit{0%{opacity:0;transform:translateY(24px) scale(.6)}}.end-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;animation:end-fade .6s 1.1s ease-out both}.end-stats span{padding:6px 12px;border-radius:999px;border:1px solid rgba(255,200,90,.45);background:#1e1006bf;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#e9d6b0}.end-stats b{color:#fff3d0}.end-stats .up b{color:#7dff9e}.end-stats .down b{color:#ff8a8a}.end-actions{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:8px;animation:end-fade .6s 1.3s ease-out both}.end-actions button{box-sizing:border-box;width:100%;margin:0;min-height:54px;font-size:18px}.end-actions button.primary{background:linear-gradient(180deg,#ffcf4d,#ff9a1f 55%,#e8641a);border-color:#ffe08a;color:#2a1203;text-shadow:0 1px 0 rgba(255,255,255,.35);box-shadow:0 4px 22px #ff8c1e8c,inset 0 1px #ffffff80}.end-actions .end-menu{min-height:46px;font-size:15px;background:#1e1006bf;border-color:#ffc85a73;color:#f2cf86}@media (prefers-reduced-motion: reduce){.end-rays,.end-particles{display:none}}.gain-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:43;pointer-events:none}.gain-fly{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);animation:gain-fly 2s cubic-bezier(.45,0,.25,1) forwards}.gain-fly .card{flex:none;box-shadow:0 0 22px #dc283cd9,0 0 60px #dc283c73}.gain-label{font-family:Lilita One,Cinzel,sans-serif;font-size:15px;color:#fff;letter-spacing:.04em;text-shadow:0 0 10px rgba(220,40,60,.9),0 2px 0 #000;white-space:nowrap;position:absolute;bottom:100%;left:50%;margin-bottom:4px;transform:translate(-50%) scale(.6);animation:gain-label 2s ease-out forwards}@keyframes gain-fly{0%{transform:translate(calc(-50% + var(--sx, 0px)),calc(-50% + var(--sy, 0px))) scale(.2) rotate(-14deg);opacity:0}12%{opacity:1}32%{transform:translate(-50%,-50%) scale(1.7) rotate(2deg)}62%{transform:translate(-50%,-50%) scale(1.7) rotate(0);opacity:1}to{transform:translate(calc(-50% + var(--tx, 0px)),calc(-50% + var(--ty, 0px))) scale(1);opacity:1}}@keyframes gain-label{0%,20%{opacity:0}32%,60%{opacity:1}75%,to{opacity:0}}.hand.receiving>.card:last-of-type{opacity:0}.hand>.card:last-of-type{transition:opacity .15s}.board-embers{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}
