:root{
  --bg:#07110d;--felt:#0b2a1c;--felt2:#103a27;--panel:#0d1713ee;--line:#305744;
  --text:#f4f1e6;--muted:#b5c1b9;--gold:#d8b663;--red:#d85d52;--blue:#67a9d8;--green:#5fbf86;
  --shadow:0 20px 60px #0009;--radius:18px;
}
*{box-sizing:border-box} html,body{margin:0;min-height:100%;background:radial-gradient(circle at 50% 10%,#164a31 0,#07110d 55%,#030705 100%);color:var(--text);font-family:Georgia,"Times New Roman",serif} button{font:inherit}
body{min-height:100vh;overflow-x:hidden}.hidden{display:none!important}
.topbar{position:sticky;top:0;z-index:140;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:#07100deF;border-bottom:1px solid #284b3a;backdrop-filter:blur(10px)}
.brand{font-weight:800;letter-spacing:.08em;text-transform:uppercase}.life-hud{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;padding:6px 12px;border-radius:14px;background:#050b08f2;border:1px solid #5a715f;box-shadow:0 8px 24px #0008;white-space:nowrap}.life-hud-side{display:flex;align-items:baseline;gap:6px;min-width:96px;justify-content:center}.life-hud-label{font-size:.72rem;letter-spacing:.14em;color:#d6ddd7;font-weight:800}.life-hud-heart{color:#e46b62;font-size:1rem}.life-hud-side strong{font-size:1.85rem;line-height:1;color:#fff4ef;text-shadow:0 2px 10px #000}.life-hud-vs{font-size:.72rem;color:var(--gold);font-weight:900;letter-spacing:.1em}.life-hud-side.human{border-right:1px solid #ffffff1f;padding-right:8px}.life-hud-side.cpu{padding-left:2px}.ghost-btn,.primary-btn,.secondary-btn,.danger-btn{border:1px solid #496655;background:#142119;color:var(--text);padding:10px 16px;border-radius:12px;cursor:pointer}.primary-btn{background:linear-gradient(#e2c875,#b88f36);color:#1a1408;border-color:#efda93;font-weight:800}.secondary-btn{background:#183024}.danger-btn{background:#4d1d1a;border-color:#7a3833}.ghost-btn:hover,.secondary-btn:hover{background:#244231}.primary-btn:hover{filter:brightness(1.08)}button:disabled{opacity:.45;cursor:not-allowed}
.screen{min-height:calc(100vh - 64px)}.menu-screen{display:grid;place-items:start center;padding:38px 18px}.menu-panel{width:min(1000px,100%);background:linear-gradient(180deg,#0c1a14f2,#09100dee);border:1px solid #345643;border-radius:24px;padding:28px;box-shadow:var(--shadow)}
.eyebrow{color:var(--gold);letter-spacing:.25em;font-size:.78rem;margin:0 0 8px}.menu-panel h1{font-size:clamp(2.2rem,6vw,5rem);margin:0;line-height:.95}.menu-copy{color:var(--muted);max-width:650px;font-size:1.05rem}.difficulty-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:24px}.difficulty-btn{min-height:150px;text-align:left;padding:18px;border-radius:16px;border:1px solid #41644f;background:linear-gradient(155deg,#183828,#0d1d16);color:var(--text);cursor:pointer;display:flex;flex-direction:column;justify-content:space-between}.difficulty-btn strong{font-size:1.45rem}.difficulty-btn span{color:var(--muted);font-size:.9rem;line-height:1.3}.difficulty-btn:not(.disabled):hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 14px 30px #0006}
.game-screen{padding:12px 12px 128px}.draft-view{max-width:1450px;margin:auto}.draft-header{display:flex;gap:16px;align-items:end;justify-content:space-between;position:sticky;top:72px;z-index:20;padding:14px;background:#0a1510ee;border:1px solid #355844;border-radius:16px;backdrop-filter:blur(9px)}.draft-header h2{margin:0}.draft-counter{font-size:1.2rem;color:var(--gold);font-weight:800}.draft-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:14px;margin-top:16px}.draft-card{position:relative;cursor:pointer;border:3px solid transparent;border-radius:14px;transition:.15s}.draft-card.selected{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 0 0 2px #000,0 12px 28px #0008}.draft-card img{width:100%;display:block;border-radius:10px}.draft-check{position:absolute;right:8px;top:8px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#101813dd;border:1px solid #fff6;font-weight:bold}.draft-card.selected .draft-check{background:var(--gold);color:#161006}
.table-view{max-width:1600px;margin:auto}.player-status{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border:1px solid #31523f;background:#08120ee8;border-radius:14px}.status-main{display:flex;gap:12px;align-items:center}.life{font-size:1.35rem;font-weight:900;color:#ffded9}.meta{color:var(--muted);font-size:.9rem}.turn-chip{padding:6px 10px;border-radius:999px;background:#1a3325;border:1px solid #3f6850}.turn-chip.active{background:#6c5522;color:#fff1c8;border-color:#b69543}
.board-section{margin:10px 0;padding:10px;border-radius:18px;background:linear-gradient(180deg,#123b2a,#0d2d20);border:1px solid #2f5a42;min-height:205px;box-shadow:inset 0 0 70px #0005}.zone-title{font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:#c7d1c9;margin-bottom:8px}.card-row{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;padding:4px 4px 10px;min-height:158px;scrollbar-color:#547260 #0a1a12}.game-card{position:relative;flex:0 0 115px;border-radius:12px;border:2px solid #0008;background:#060a08;box-shadow:0 9px 16px #0007;transition:transform .15s,border-color .15s,filter .15s;user-select:none}.card-art-wrap{position:relative}.game-card img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px 10px 0 0}.card-stat-strip{display:flex;align-items:center;justify-content:space-evenly;gap:4px;min-height:28px;padding:5px 6px;background:#050907;border-top:1px solid #8a744166;border-radius:0 0 9px 9px;font-family:Arial,Helvetica,sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.02em}.card-stat-strip>span{flex:1;text-align:center;white-space:nowrap}.card-stat-strip strong{font-size:1rem}.stat-atk{color:#ff9b84}.stat-def{color:#8cc9ff}.game-card.selectable{cursor:pointer}.game-card.selectable:hover{transform:translateY(-7px);border-color:#fff8}.game-card.selected{border-color:var(--gold);transform:translateY(-9px);box-shadow:0 0 0 2px #33280c,0 12px 22px #0008}.game-card.faceup{box-shadow:0 0 0 2px #806f3c55,0 9px 16px #0007}.zoom-btn{position:absolute;right:4px;top:4px;border:0;border-radius:8px;background:#060a08d8;color:white;width:28px;height:28px;cursor:pointer;z-index:3}.hidden-tag{position:absolute;left:5px;bottom:5px;background:#0a0d0be8;color:#f4dda5;border:1px solid #8c7845;border-radius:7px;padding:3px 6px;font-size:.7rem}.card-badge{position:absolute;left:5px;top:5px;background:#060a08e6;padding:3px 6px;border-radius:7px;font-size:.7rem;border:1px solid #ffffff40}.center-info{display:flex;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:6px}.phase-pill{padding:8px 13px;border-radius:999px;border:1px solid #4a6d58;background:#0b1711;color:#e8eadf}.attack-lock{color:#f0c77c}.player-status-bottom{margin-top:10px}.hand-section{margin-top:8px}.hand-row{min-height:178px}.hand-row .game-card{flex-basis:126px}.action-bar{position:fixed;z-index:55;left:50%;transform:translateX(-50%);bottom:12px;width:min(1000px,calc(100% - 24px));min-height:72px;border:1px solid #506856;background:#08110ff4;border-radius:18px;box-shadow:0 15px 50px #000b;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;backdrop-filter:blur(12px)}.action-copy{min-width:0}.action-copy strong{display:block}.action-copy span{color:var(--muted);font-size:.9rem}.action-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.overlay,.preview-overlay{position:fixed;inset:0;z-index:100;background:#000c;display:none;align-items:center;justify-content:center;padding:82px 18px 18px;backdrop-filter:blur(5px)}.overlay.active,.preview-overlay.active{display:flex}.overlay-card{width:min(1100px,100%);max-height:calc(100vh - 104px);overflow:auto;background:linear-gradient(180deg,#101a15,#080d0a);border:1px solid #5a715f;border-radius:22px;padding:20px;box-shadow:0 30px 100px #000}.overlay-title{font-size:clamp(1.4rem,3vw,2.4rem);margin:0 0 12px}.overlay-sub{color:var(--muted);margin-top:-4px}.overlay-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;flex-wrap:wrap}
.preview-overlay{z-index:120}.preview-wrap{position:relative;max-height:92vh;max-width:min(540px,92vw)}.preview-wrap img{max-height:88vh;max-width:100%;display:block;border-radius:18px;box-shadow:0 25px 80px #000}.preview-close{position:absolute;right:-8px;top:-8px;border:0;border-radius:50%;width:42px;height:42px;background:#fff;color:#111;font-size:1.4rem;cursor:pointer}
.dice-stage{text-align:center}.initiative-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.dice-person{font-size:1.1rem;margin-bottom:12px}.die{width:110px;height:110px;border-radius:22px;background:linear-gradient(145deg,#fff,#d9d9d9);box-shadow:inset -8px -10px 20px #7775,0 20px 30px #0008;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:14px;transform-style:preserve-3d}.die.rolling{animation:tumble .55s linear infinite}.pip{width:16px;height:16px;border-radius:50%;background:#111;align-self:center;justify-self:center;visibility:hidden;box-shadow:inset 1px 2px 2px #555}.pip.on{visibility:visible}@keyframes tumble{0%{transform:rotate(0) rotateX(0) rotateY(0) scale(.94)}50%{transform:rotate(180deg) rotateX(210deg) rotateY(140deg) scale(1.05)}100%{transform:rotate(360deg) rotateX(420deg) rotateY(280deg) scale(.94)}}.dice-results{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.rolled-die{min-width:130px}.die-label{margin-top:8px;color:var(--gold);font-weight:700}.dice-card-preview{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:center}.dice-card-preview img{width:100%;border-radius:14px}
.block-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.block-column{min-width:0}.block-list{display:flex;gap:9px;overflow-x:auto;padding:8px 2px}.block-card{flex:0 0 150px;border:2px solid transparent;border-radius:12px;cursor:pointer;position:relative;background:#070b09;overflow:hidden}.block-card img{display:block;width:100%;border-radius:10px 10px 0 0}.block-card .block-stats{border-radius:0;min-height:34px;font-size:.82rem}.block-card .block-stats strong{font-size:1.12rem}.block-card .hidden-tag{bottom:38px}.block-card.active{border-color:var(--gold);box-shadow:0 0 0 2px #000}.block-card.used{opacity:1;border-color:#5a9a70;box-shadow:0 0 0 2px #173d28}.block-card.used:after{content:"ASIGNADA";position:absolute;right:5px;top:5px;background:#173d28ee;color:#dff5e7;border:1px solid #71b98a;border-radius:999px;padding:3px 6px;font:700 .62rem Arial,Helvetica,sans-serif;letter-spacing:.04em}.pair-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.pair-chip{background:#173225;border:1px solid #426650;border-radius:999px;padding:6px 10px;font-size:.85rem}.pair-chip button{margin-left:7px;border:0;background:none;color:#ffb3aa;cursor:pointer}
.battle-stage{text-align:center}.versus{display:grid;grid-template-columns:1fr 100px 1fr;gap:15px;align-items:center}.battle-card{position:relative}.battle-card img{width:min(310px,100%);border-radius:18px;box-shadow:0 18px 50px #000b;transition:filter .8s,transform .8s}.battle-card.dead img{filter:grayscale(1) brightness(.2) contrast(1.5);transform:scale(.94)}.battle-card.dead:after{content:"";position:absolute;inset:8%;background:radial-gradient(circle,#ffdb72aa 0,#e54a1ca8 18%,transparent 58%);mix-blend-mode:screen;animation:burn 1s ease-out forwards;pointer-events:none}@keyframes burn{from{opacity:0;transform:scale(.5)}50%{opacity:1}to{opacity:.15;transform:scale(1.3)}}.vs-text{font-size:2.6rem;color:var(--gold);font-weight:900}.battle-stats{margin-top:8px;font-size:1.15rem}.battle-outcome{font-size:1.25rem;color:#f7d78b;margin-top:14px;min-height:30px}.direct-stage{display:grid;grid-template-columns:minmax(180px,320px) 1fr;gap:24px;align-items:center}.direct-stage img{width:100%;border-radius:18px}.damage-number{font-size:clamp(3rem,10vw,7rem);font-weight:900;color:#ff7569;text-shadow:0 8px 30px #000}.damage-caption{font-size:1.2rem;color:#ddd}
.assignment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.fight-choice{border:1px solid #426550;background:#102319;color:white;border-radius:14px;padding:10px;cursor:pointer;text-align:left}.fight-choice img{width:65px;height:86px;object-fit:cover;border-radius:7px;vertical-align:middle;margin-right:8px}.fight-choice:hover{border-color:var(--gold)}
.gameover{text-align:center;padding:20px}.gameover h2{font-size:clamp(2.8rem,9vw,6rem);margin:.2em 0}.gameover p{font-size:1.2rem;color:var(--muted)}
.toast{position:fixed;z-index:160;top:78px;left:50%;transform:translateX(-50%);background:#101b15;border:1px solid #4e6d59;padding:10px 16px;border-radius:999px;box-shadow:0 10px 30px #0008;animation:toastIn .2s ease-out}@keyframes toastIn{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:900px){.difficulty-grid{grid-template-columns:1fr 1fr}.block-grid{grid-template-columns:1fr}.versus{grid-template-columns:1fr 54px 1fr}.vs-text{font-size:1.7rem}.game-card{flex-basis:98px}.hand-row .game-card{flex-basis:108px}.dice-card-preview{grid-template-columns:150px 1fr}}
@media(max-width:560px){.topbar{height:56px;padding:0 8px}.brand{display:none}.life-hud{left:8px;transform:translateY(-50%);gap:5px;padding:5px 7px}.life-hud-side{min-width:66px;gap:3px}.life-hud-label{font-size:.58rem}.life-hud-side strong{font-size:1.38rem}.life-hud-heart{font-size:.78rem}.life-hud-vs{font-size:.6rem}.ghost-btn{margin-left:auto}.brand{font-size:.82rem}.ghost-btn{padding:8px 10px;font-size:.78rem}.screen{min-height:calc(100vh - 56px)}.menu-screen{padding:16px 10px}.menu-panel{padding:18px}.difficulty-grid{grid-template-columns:1fr}.difficulty-btn{min-height:105px}.game-screen{padding:6px 6px 132px}.player-status{font-size:.86rem}.meta{font-size:.75rem}.board-section{min-height:174px;padding:7px}.card-row{min-height:135px}.game-card{flex-basis:88px}.hand-row .game-card{flex-basis:98px}.action-bar{bottom:6px;width:calc(100% - 12px);align-items:flex-start}.action-copy span{font-size:.78rem}.action-buttons button{padding:8px 10px;font-size:.8rem}.overlay{padding:66px 8px 8px}.overlay-card{padding:12px;border-radius:16px}.initiative-grid{gap:10px}.die{width:82px;height:82px;padding:9px;border-radius:16px}.pip{width:12px;height:12px}.direct-stage{grid-template-columns:120px 1fr}.draft-grid{grid-template-columns:repeat(3,1fr);gap:8px}.draft-header{top:61px;padding:10px}.draft-card{border-width:2px}.battle-stats{font-size:.84rem}.card-stat-strip{font-size:.62rem;padding:4px 3px;min-height:25px}.card-stat-strip strong{font-size:.88rem}.block-card{flex-basis:138px}.block-card .block-stats{font-size:.76rem}.block-card .block-stats strong{font-size:1rem}}

/* v3: mano grande y uniforme */
.game-card{min-width:0}
.hand-row{min-height:272px;align-items:flex-start}
.hand-row .game-card{flex:0 0 172px;width:172px;min-width:172px;max-width:172px}
.hand-row .game-card img{aspect-ratio:3/4;object-fit:cover}
.hand-row .card-stat-strip{min-height:36px;font-size:.78rem;padding:7px 5px}
.hand-row .card-stat-strip strong{font-size:1.02rem}

/* v3: resumen previo a los dados */
.combat-summary{margin:16px 0 20px;border:1px solid #6c815f;background:linear-gradient(180deg,#0d1d16,#08110d);border-radius:16px;padding:13px;box-shadow:inset 0 0 35px #0005}
.combat-summary-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid #ffffff17}
.combat-summary-head strong{font-size:1.08rem;color:#f3d989}.combat-summary-head span{font:600 .78rem Arial,Helvetica,sans-serif;color:#b9c6bd}
.combat-summary-fight{border:1px solid #345844;border-radius:13px;padding:10px;margin-top:9px;background:#0a1510}
.combat-summary-title{font:800 .72rem Arial,Helvetica,sans-serif;letter-spacing:.14em;color:#d8b663;text-transform:uppercase;margin-bottom:8px}
.combat-summary-sides{display:grid;grid-template-columns:minmax(0,1fr) 190px minmax(0,1fr);gap:10px;align-items:center}
.combat-side{padding:10px;border-radius:11px;background:#101f18;border:1px solid #ffffff14}
.combat-owner{font:900 .69rem Arial,Helvetica,sans-serif;letter-spacing:.09em;color:#d4ded7}
.combat-name{font-weight:800;margin:3px 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.combat-big-stats{display:flex;gap:8px}.combat-big-stats span{flex:1;border-radius:9px;padding:8px 6px;text-align:center;font:800 .82rem Arial,Helvetica,sans-serif;background:#050907}
.combat-big-stats strong{display:block;font-size:1.65rem;line-height:1.05;margin-top:2px}.combat-big-stats .atk{color:#ff9b84}.combat-big-stats .def{color:#8cc9ff}
.combat-bonus{font:700 .68rem Arial,Helvetica,sans-serif;color:#aebcb2;margin-top:7px;text-align:center}
.combat-cross{display:grid;gap:7px;text-align:center;font:800 .72rem Arial,Helvetica,sans-serif;color:#e6e1d0}.combat-cross div{background:#050b08;border:1px solid #465849;border-radius:9px;padding:8px 5px}.combat-cross b{font-size:1.15rem;color:#fff}.combat-cross span{color:#d8b663;font-size:1.1rem;line-height:.6}
.dice-choice-title{font-size:1rem;margin:12px 0 2px;color:#e7e1cf}.dice-choice-list{padding-top:10px}

/* v3: combate más cinemático */
.battle-versus{perspective:1100px}
.battle-card{isolation:isolate;will-change:transform,filter}
.battle-card.entering-left{animation:battleEnterLeft .7s cubic-bezier(.2,.8,.2,1) both}
.battle-card.entering-right{animation:battleEnterRight .7s cubic-bezier(.2,.8,.2,1) both}
.battle-versus.impact{animation:battleShake .5s ease-out}
.battle-card.winner{animation:winnerLift 1.15s ease-out both;z-index:4}
.battle-card.winner img{animation:winnerGlow 1.25s ease-in-out infinite alternate;filter:saturate(1.2) brightness(1.1)}
.battle-card.winner:after{content:"";position:absolute;inset:-7%;border-radius:24px;background:radial-gradient(circle,#fff2a655 0,#e6bb3f33 35%,transparent 70%);filter:blur(8px);z-index:-1;animation:winnerAura 1.1s ease-in-out infinite alternate;pointer-events:none}
.battle-card.survivor img{box-shadow:0 0 28px #e8d79055,0 18px 50px #000b}
.battle-card.dead{animation:loserHit .42s ease-out both;z-index:2}
.battle-card.dead img{animation:cardBurnDown 1.35s ease-in forwards;transform-origin:center bottom}
.battle-card.dead:before{content:"";position:absolute;left:8%;right:8%;bottom:7%;height:52%;border-radius:45% 45% 16px 16px;background:radial-gradient(ellipse at 50% 100%,#fff59d 0 7%,#ff9d23 15%,#ef3d17 31%,#54120d88 52%,transparent 72%);filter:blur(2px);mix-blend-mode:screen;z-index:4;animation:flamesRise 1.25s ease-out forwards;pointer-events:none}
.battle-card.dead:after{content:"";position:absolute;inset:2%;border-radius:18px;background:radial-gradient(circle at 30% 85%,#ffd36b 0 2%,transparent 3%),radial-gradient(circle at 70% 70%,#ff6b23 0 2%,transparent 3%),radial-gradient(circle at 45% 45%,#ffba55 0 1.5%,transparent 2.5%),linear-gradient(to top,#120805dd 0,#64231499 25%,transparent 65%);box-shadow:inset 0 -45px 70px #000,0 0 38px #e65b1d88;z-index:3;animation:embers 1.35s ease-out forwards;pointer-events:none}
@keyframes battleEnterLeft{from{opacity:0;transform:translateX(-90px) rotateY(18deg) scale(.9)}to{opacity:1;transform:none}}
@keyframes battleEnterRight{from{opacity:0;transform:translateX(90px) rotateY(-18deg) scale(.9)}to{opacity:1;transform:none}}
@keyframes battleShake{0%,100%{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-5px)}80%{transform:translateX(4px)}}
@keyframes winnerLift{0%{transform:scale(1)}45%{transform:scale(1.075) translateY(-8px)}100%{transform:scale(1.04) translateY(-4px)}}
@keyframes winnerGlow{from{box-shadow:0 0 12px #e0b84d88,0 18px 50px #000b}to{box-shadow:0 0 42px #ffe88ccc,0 0 75px #d9b34366,0 18px 50px #000b}}
@keyframes winnerAura{from{opacity:.35;transform:scale(.96)}to{opacity:.9;transform:scale(1.05)}}
@keyframes loserHit{0%{transform:scale(1)}45%{transform:scale(.96) rotate(-1deg)}100%{transform:scale(.98)}}
@keyframes cardBurnDown{0%{filter:none;transform:scale(1)}38%{filter:sepia(.5) saturate(1.7) brightness(.85);transform:scale(.99)}70%{filter:grayscale(.7) brightness(.38) contrast(1.5);transform:scale(.96)}100%{filter:grayscale(1) brightness(.14) contrast(1.8);transform:scale(.94)}}
@keyframes flamesRise{0%{opacity:0;transform:translateY(18%) scale(.75)}25%{opacity:1}75%{opacity:.92;transform:translateY(-12%) scale(1.06)}100%{opacity:0;transform:translateY(-36%) scale(.9)}}
@keyframes embers{0%{opacity:0;transform:scale(.94)}25%{opacity:1}100%{opacity:.18;transform:scale(1.08) translateY(-12px)}}

@media(max-width:900px){
  .hand-row .game-card{flex-basis:166px;width:166px;min-width:166px;max-width:166px}
  .combat-summary-sides{grid-template-columns:1fr 150px 1fr}
}
@media(max-width:650px){
  .hand-row .game-card{flex-basis:158px;width:158px;min-width:158px;max-width:158px}
  .hand-row{min-height:250px}
  .combat-summary-head{display:block}.combat-summary-head span{display:block;margin-top:4px}
  .combat-summary-sides{grid-template-columns:1fr;gap:7px}.combat-cross{grid-template-columns:1fr auto 1fr;align-items:center}.combat-cross span{transform:rotate(-90deg)}
}

/* v4: historial, ayuda, vidas críticas y final mejorado */
.topbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.help-btn{width:42px;padding:9px 0;font-weight:900;font-size:1.05rem}
.life-hud-side{position:relative;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s;border-radius:10px;padding-top:3px;padding-bottom:3px}
.life-hud-side.critical{background:#4a0f0dbd;box-shadow:0 0 22px #d9362a77,inset 0 0 16px #ff3a2633;animation:criticalPulse 1.25s ease-in-out infinite}
.life-hud-side.danger{background:#680c09d9;box-shadow:0 0 32px #ff342bb0,inset 0 0 22px #ff3a2655;animation:criticalPulse .72s ease-in-out infinite}
.life-hud-side.critical strong,.life-hud-side.danger strong{color:#fff0eb;text-shadow:0 0 14px #ff5248}
.life-hud-side.life-hit{animation:lifeHit .58s ease-out}
.life-float{position:absolute;left:50%;top:50%;z-index:8;pointer-events:none;color:#ff6c60;font:900 1.5rem/1 Arial,Helvetica,sans-serif;text-shadow:0 3px 12px #000;animation:lifeFloat .9s ease-out forwards}
@keyframes lifeHit{0%{transform:scale(1)}20%{transform:scale(1.23) rotate(-2deg);background:#7b1510}45%{transform:scale(.94) rotate(2deg)}100%{transform:scale(1)}}
@keyframes lifeFloat{0%{opacity:0;transform:translate(-50%,-20%) scale(.65)}20%{opacity:1;transform:translate(-50%,-65%) scale(1.15)}100%{opacity:0;transform:translate(-50%,-145%) scale(1)}}
@keyframes criticalPulse{0%,100%{filter:brightness(.9)}50%{filter:brightness(1.35)}}

.history-drawer{position:fixed;right:14px;top:76px;z-index:135;width:min(390px,calc(100vw - 28px));max-height:calc(100vh - 164px);display:flex;flex-direction:column;background:#07100df5;border:1px solid #58705e;border-radius:16px;box-shadow:0 24px 70px #000c;backdrop-filter:blur(12px);overflow:hidden}
.history-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #ffffff18;background:#102218}.history-head strong{color:#f0d37f}.history-close{border:0;background:transparent;color:#fff;font-size:1.45rem;cursor:pointer;width:32px;height:32px}.history-list{overflow:auto;padding:8px 10px 12px;display:flex;flex-direction:column;gap:7px}.history-empty{color:var(--muted);padding:14px 6px;text-align:center}.history-item{border-left:3px solid #557763;background:#0c1812;border-radius:8px;padding:8px 9px;font:600 .79rem/1.35 Arial,Helvetica,sans-serif;color:#dce4de}.history-item .history-turn{display:block;color:#8fa397;font-size:.66rem;letter-spacing:.07em;margin-bottom:2px;text-transform:uppercase}.history-item.attack{border-left-color:#d86657}.history-item.dice{border-left-color:#659fd2}.history-item.life{border-left-color:#ff5a50}.history-item.system{border-left-color:#d8b663}.history-item.death{border-left-color:#a63d37}

.help-overlay{position:fixed;inset:0;z-index:190;background:#000d;display:none;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(7px)}.help-overlay.active{display:flex}.help-card{position:relative;width:min(920px,100%);max-height:90vh;overflow:auto;background:linear-gradient(180deg,#102018,#080d0a);border:1px solid #607866;border-radius:22px;padding:24px;box-shadow:0 30px 100px #000}.help-card h2{font-size:2rem;margin:0 0 16px}.help-close{position:absolute;right:12px;top:10px;border:0;background:#17251d;color:#fff;border-radius:50%;width:38px;height:38px;font-size:1.3rem;cursor:pointer}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.help-grid>div{padding:13px;border:1px solid #385744;border-radius:13px;background:#0b1711}.help-grid strong{display:block;color:#f0d37f;margin-bottom:5px}.help-grid span{display:block;color:#c4d0c8;font:500 .9rem/1.4 Arial,Helvetica,sans-serif}

.gameover-power{padding:4px 10px 12px;text-align:center}.gameover-power h2{font-size:clamp(3rem,8vw,6rem);margin:.05em 0 .08em;line-height:.95}.gameover-power.victory h2{color:#f2d575;text-shadow:0 0 35px #d8b66366}.gameover-power.defeat h2{color:#ff8075;text-shadow:0 0 35px #d85d5266}.gameover-score{font-size:1.08rem;color:#cbd5ce;margin:4px 0 16px}.gameover-score strong{font-size:1.55rem;color:#fff}.final-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px auto;max-width:780px;text-align:left}.final-player{border:1px solid #45624f;background:#0b1711;border-radius:15px;padding:14px}.final-player.winner{border-color:#c4a955;box-shadow:0 0 26px #d8b66322}.final-player h3{margin:0 0 10px;color:#f0d37f;font-size:1.2rem}.final-stat-row{display:flex;justify-content:space-between;gap:16px;padding:6px 0;border-bottom:1px solid #ffffff0f;font:600 .83rem Arial,Helvetica,sans-serif;color:#bfcac3}.final-stat-row:last-child{border-bottom:0}.final-stat-row strong{color:#fff;font-size:.96rem}.final-note{margin:12px auto;color:#9fb0a5;font:600 .8rem Arial,Helvetica,sans-serif}

@media(max-width:700px){.help-grid,.final-stats{grid-template-columns:1fr}.history-drawer{top:64px;max-height:calc(100vh - 150px)}}
@media(max-width:560px){.topbar-actions{gap:4px}.topbar-actions .ghost-btn{padding:7px 8px;font-size:.7rem}.topbar-actions .help-btn{width:32px;padding:7px 0}.life-hud{max-width:160px}.history-drawer{right:6px;width:calc(100vw - 12px)}.help-card{padding:18px 12px}.help-card h2{font-size:1.5rem}}
.game-screen{position:relative}.game-screen.human-critical:before{content:"";position:fixed;inset:64px 0 0;pointer-events:none;z-index:45;box-shadow:inset 0 0 85px #a91f1730;animation:vignettePulse 1.8s ease-in-out infinite}.game-screen.human-danger:before{box-shadow:inset 0 0 120px #da271d55;animation:vignettePulse 1s ease-in-out infinite}@keyframes vignettePulse{0%,100%{opacity:.42}50%{opacity:1}}
@media(max-width:560px){.game-screen.human-critical:before{inset:56px 0 0}}


/* v5: presupuesto de draft */
.draft-copy{min-width:0}.draft-controls{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;justify-content:flex-end}.draft-counter{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:150px}.draft-counter>span{font:800 .86rem Arial,Helvetica,sans-serif;color:#d7e0da}.draft-counter small{font:700 .72rem Arial,Helvetica,sans-serif;color:#9fb0a5}.draft-budget{font:900 1.55rem/1 Arial,Helvetica,sans-serif;color:#f0d37f;text-shadow:0 2px 10px #000}.draft-budget.tight{color:#ffad78}.draft-legend{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 2px 0;color:#aebdb3;font:700 .76rem Arial,Helvetica,sans-serif}.draft-legend span{display:flex;align-items:center;gap:5px}.draft-legend b{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 5px;border-radius:50%;background:linear-gradient(145deg,#f1d77f,#ad7c27);color:#161006;border:1px solid #ffeaa1;box-shadow:0 3px 10px #0008;font-size:.78rem}.draft-cost{position:absolute;left:8px;top:8px;z-index:4;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,#f5dc88,#ad7924);color:#171006;border:2px solid #fff0ad;box-shadow:0 3px 12px #000c;font:900 1.05rem/1 Arial,Helvetica,sans-serif;text-shadow:0 1px #fff5}.draft-card.unaffordable:not(.selected){filter:saturate(.65) brightness(.72)}.draft-card.unaffordable:not(.selected) .draft-cost{background:linear-gradient(145deg,#92705c,#4b3428);color:#eaded4;border-color:#a98b78}.draft-card.unaffordable:not(.selected):after{content:"NO ALCANZA";position:absolute;left:50%;bottom:9px;transform:translateX(-50%);z-index:4;background:#2a0d09e8;border:1px solid #9d4a3f;color:#ffc0b8;border-radius:999px;padding:4px 7px;font:900 .58rem Arial,Helvetica,sans-serif;letter-spacing:.06em;white-space:nowrap}.draft-card.selected .draft-cost{box-shadow:0 0 0 2px #201804,0 0 20px #e8c96988}
@media(max-width:700px){.draft-header{align-items:flex-start;flex-direction:column}.draft-controls{width:100%;justify-content:space-between;align-items:center}.draft-counter{align-items:flex-start;min-width:0}.draft-cost{width:31px;height:31px;left:5px;top:5px;font-size:.9rem}.draft-legend{font-size:.68rem}}

/* v7: visibilidad de mazo, bloqueos más claros, tamaños uniformes y draft más notorio */
.status-zones{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;align-items:stretch}.status-zone{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #395847;background:#0b1711;border-radius:12px;min-width:110px}.status-zone span{display:block;color:#9fb0a5;font:700 .68rem/1 Arial,Helvetica,sans-serif;letter-spacing:.05em;text-transform:uppercase}.status-zone strong{display:block;color:#fff;font:900 1rem/1 Arial,Helvetica,sans-serif}.deck-zone{min-width:156px}.deck-stack{position:relative;display:inline-block;width:42px;flex:0 0 42px}.deck-stack img{display:block;width:42px;height:56px;object-fit:cover;border-radius:7px;box-shadow:0 8px 16px #0007}.deck-count{position:absolute;right:-6px;bottom:-6px;display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:linear-gradient(145deg,#f5dc88,#ad7924);color:#171006;border:2px solid #fff0ad;box-shadow:0 3px 12px #000c;font:900 .86rem/1 Arial,Helvetica,sans-serif}

.card-row .game-card{width:115px;min-width:115px;max-width:115px;flex:0 0 115px}.hand-row .game-card{width:172px;min-width:172px;max-width:172px;flex:0 0 172px}.game-card img{height:auto}.block-card{width:150px;min-width:150px;max-width:150px;flex:0 0 150px}.block-card img{width:100%;height:200px;object-fit:cover}.fight-choice img{width:65px;height:86px;object-fit:cover}

.block-meta-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}.block-meta-row span{padding:8px 12px;border-radius:999px;background:#102218;border:1px solid #365542;color:#d9e1dc;font:700 .8rem/1.2 Arial,Helvetica,sans-serif}.block-meta-row strong{color:#fff5c5}.block-card.paired{border-color:var(--pair-color);box-shadow:0 0 0 2px var(--pair-color),0 0 18px color-mix(in srgb,var(--pair-color) 35%, transparent)}.block-card.active{border-color:#f0d37f;box-shadow:0 0 0 2px #000,0 0 18px #f0d37f66}.pair-badge{position:absolute;left:6px;top:6px;z-index:4;display:grid;place-items:center;min-width:34px;height:26px;padding:0 8px;border-radius:999px;background:var(--pair-color,#173d28);color:#05110a;border:2px solid #fff4;font:900 .7rem/1 Arial,Helvetica,sans-serif;box-shadow:0 4px 10px #0008}.block-link-note{padding:6px 7px;border-top:1px solid #2e5140;background:#0a120d;color:#b8d8c4;font:700 .7rem/1.25 Arial,Helvetica,sans-serif;min-height:36px}.pair-chip-visual{display:inline-flex;align-items:center;gap:8px;border-color:var(--pair-color);box-shadow:inset 0 0 0 1px var(--pair-color)}.pair-chip-visual b{display:grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:var(--pair-color);color:#05110a;font-size:.72rem}

.pending-dice-strip{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 16px}.pending-die{padding:8px 12px;border-radius:999px;border:1px solid #426550;background:#102319;color:#dce3de;font:900 .84rem/1 Arial,Helvetica,sans-serif;letter-spacing:.03em;box-shadow:0 6px 16px #0004}.pending-die.current{border-color:#f0d37f;background:#2a230f;color:#fff2c7;transform:translateY(-2px);box-shadow:0 0 0 1px #f0d37f,0 0 18px #f0d37f44}.pending-die.used{opacity:.45;filter:grayscale(.25)}.fight-choice{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}.fight-choice-title{width:100%;font:900 .95rem/1 Arial,Helvetica,sans-serif;color:#f0d37f}.fight-choice-sub{width:100%;font:700 .76rem/1.3 Arial,Helvetica,sans-serif;color:#d2ddd7}

.draft-grid{display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-start}.draft-card{flex:0 0 150px;width:150px;max-width:150px;overflow:hidden}.draft-card img{display:block;width:150px;height:200px;object-fit:cover}.draft-card.selected{border-color:#38ff98;box-shadow:0 0 0 2px #00140a,0 0 24px #38ff9870,0 12px 28px #0008;transform:translateY(-4px)}.draft-card.selected::before{content:"";position:absolute;inset:-2px;border-radius:16px;border:2px solid #6effb3;box-shadow:0 0 10px #40ff9d,0 0 22px #17ff8b80;animation:draftSelectGlow 1.25s ease-in-out infinite;pointer-events:none}.draft-card.selected .draft-check{background:#0f2718;color:#8effbf;border-color:#5effad}.recycle-controls{margin:10px 0 14px}.recycle-grid{margin-top:6px}
@keyframes draftSelectGlow{0%,100%{box-shadow:0 0 8px #40ff9d,0 0 16px #17ff8b55}50%{box-shadow:0 0 18px #7fffc1,0 0 34px #17ff8baa}}

@media(max-width:900px){.card-row .game-card{width:98px;min-width:98px;max-width:98px;flex:0 0 98px}.hand-row .game-card{width:166px;min-width:166px;max-width:166px;flex:0 0 166px}}
@media(max-width:700px){.status-zones{gap:6px}.status-zone{min-width:96px;padding:7px 8px}.deck-zone{min-width:138px}.draft-card,.draft-card img{width:138px;height:184px}.block-card{width:138px;min-width:138px;max-width:138px;flex:0 0 138px}.block-card img{height:184px}}
@media(max-width:560px){.card-row .game-card{width:88px;min-width:88px;max-width:88px;flex:0 0 88px}.hand-row .game-card{width:158px;min-width:158px;max-width:158px;flex:0 0 158px}.draft-grid{gap:8px}.draft-card,.draft-card img{width:31vw;max-width:31vw;height:41.33vw;max-height:41.33vw}.status-zone{min-width:84px}.deck-zone{min-width:126px}.pair-badge{min-width:30px;height:22px;font-size:.64rem}.block-link-note{font-size:.64rem;min-height:34px}}

/* v8: portada, mazo junto a la mano, animación de robo y optimización táctil */
.splash-menu{padding:0!important;background:#050805}.splash-shell{position:relative;min-height:calc(100vh - 68px);background:url('assets/splash-cover.webp') center/cover no-repeat;overflow:hidden}.splash-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#02050433 0%,#02050488 44%,#020504e8 100%),linear-gradient(90deg,#06110a99 0%,transparent 28%,transparent 72%,#06110a99 100%)}.splash-content{position:relative;z-index:2;max-width:1240px;margin:auto;padding:42px 24px 30px;display:flex;flex-direction:column;align-items:center}.splash-title-wrap{text-align:center;text-shadow:0 4px 22px #000}.splash-title-wrap h1{font-size:clamp(3rem,7vw,7.2rem);line-height:.82;margin:4px 0 10px;color:#e7c36a;text-transform:uppercase;letter-spacing:.015em}.splash-title-wrap h1 span{display:inline-block;font-size:.42em;color:#f7e4aa;transform:translateY(-.2em)}.splash-tagline{font:800 clamp(.9rem,1.6vw,1.2rem) Arial,Helvetica,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#f3ead3}.player-name-panel{width:min(520px,100%);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px 14px;margin:18px 0 16px;padding:11px 14px;background:#08110ee8;border:1px solid #72633d;border-radius:15px;box-shadow:0 14px 38px #0009;backdrop-filter:blur(8px)}.player-name-panel label{font-weight:900;color:#f0d37f}.player-name-panel input,.challenge-join-box input{min-height:48px;border:1px solid #4e6958;border-radius:11px;background:#07100c;color:white;padding:0 13px;font:700 1rem Arial,Helvetica,sans-serif;outline:none}.player-name-panel input:focus,.challenge-join-box input:focus{border-color:#e6c76e;box-shadow:0 0 0 3px #e6c76e22}.name-error{grid-column:1/-1;color:#ff9287;font:700 .77rem Arial,Helvetica,sans-serif;text-align:center}.mode-grid{width:100%;display:grid;grid-template-columns:1.05fr 1.05fr .9fr;gap:16px;align-items:stretch}.mode-card{padding:18px;border-radius:18px;background:#08120ef0;border:1px solid #596c5d;box-shadow:0 18px 45px #000a;backdrop-filter:blur(8px);text-align:center}.bot-mode-card{border-color:#7b6b36}.human-mode-card{border-color:#3d7ca0;background:#071522f0}.rules-mode-card{border-color:#876a32;background:#171108ec}.mode-icon{font-size:2rem;color:#f0d37f}.mode-card h2{margin:5px 0 6px;font-size:1.55rem}.mode-card p{color:#bac7bf;font:600 .88rem/1.4 Arial,Helvetica,sans-serif;min-height:50px}.difficulty-stack{display:grid;gap:8px;margin-top:12px}.difficulty-btn.compact{min-height:54px;padding:10px 12px;border-radius:11px;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.difficulty-btn.compact strong{font-size:1rem}.difficulty-btn.compact span{font-size:.72rem}.multiplayer-btn,.rules-mode-card button{width:100%;margin-top:9px;min-height:48px}.challenge-join-box{display:flex;gap:7px;margin-top:9px}.challenge-join-box input{min-width:0;flex:1}.multiplayer-offline-hint{margin-top:10px;padding:8px;border:1px solid #84594e;border-radius:9px;color:#ffc0b6;background:#2b0e0acc;font:700 .72rem/1.35 Arial,Helvetica,sans-serif}.splash-features{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:16px}.splash-features span{padding:8px 12px;border-radius:999px;background:#07100ddd;border:1px solid #5e6f61;color:#dce5df;font:700 .74rem Arial,Helvetica,sans-serif}.splash-features strong{color:#f0d37f;font-size:.96rem}

.hand-with-deck{display:flex;gap:12px;align-items:flex-start;min-width:0}.player-deck-pile{flex:0 0 172px;width:172px}.hand-deck-card{position:relative;width:172px;height:229px;border-radius:12px;box-shadow:0 10px 22px #0009,0 0 0 2px #806f3c55;background:#060a08;overflow:visible}.hand-deck-card:before,.hand-deck-card:after{content:"";position:absolute;inset:0;border-radius:12px;background:#111;border:1px solid #8c7a46;transform:translate(5px,-5px);z-index:-1}.hand-deck-card:after{transform:translate(9px,-9px);opacity:.55}.hand-deck-card img{display:block;width:100%;height:100%;object-fit:cover;border-radius:12px}.hand-deck-card span{position:absolute;right:-8px;bottom:-8px;display:grid;place-items:center;min-width:38px;height:38px;padding:0 8px;border-radius:999px;background:linear-gradient(145deg,#f5dc88,#ad7924);color:#171006;border:2px solid #fff0ad;box-shadow:0 4px 16px #000c;font:900 1.05rem Arial,Helvetica,sans-serif}.hand-row{flex:1;min-width:0}.game-card.just-drawn{animation:cardDrawIn .52s cubic-bezier(.22,.8,.32,1)}@keyframes cardDrawIn{0%{opacity:.15;transform:translateX(-165px) translateY(-10px) rotate(-8deg) scale(.92)}70%{opacity:1;transform:translateX(7px) translateY(-7px) rotate(1deg) scale(1.02)}100%{transform:none}}

button,.game-card,.draft-card,.block-card,.fight-choice{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.primary-btn,.secondary-btn,.danger-btn,.ghost-btn,.difficulty-btn{min-height:44px}.card-row{scroll-snap-type:x proximity;overscroll-behavior-x:contain}.game-card{scroll-snap-align:start}

.multiplayer-screen{padding:18px;background:radial-gradient(circle at 50% 0,#153b2b 0,#07110c 38%,#030604 100%)}.multi-lobby,.multi-game{max-width:1500px;margin:auto}.multi-panel{max-width:820px;margin:30px auto;padding:24px;border:1px solid #526c59;border-radius:20px;background:#08120ef0;box-shadow:0 24px 80px #000c}.challenge-link-box{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin:14px 0}.challenge-link-box input{min-width:0;min-height:48px;border:1px solid #4f6b58;border-radius:10px;background:#030905;color:#dfe7e1;padding:0 12px}.multi-waiting{padding:18px;text-align:center;color:#dfe7e1}.multi-pulse{display:inline-block;width:14px;height:14px;border-radius:50%;background:#58e58b;box-shadow:0 0 18px #58e58b;animation:multiPulse 1s ease-in-out infinite}@keyframes multiPulse{50%{transform:scale(1.55);opacity:.55}}

@media(max-width:900px){.mode-grid{grid-template-columns:1fr 1fr}.rules-mode-card{grid-column:1/-1}.player-deck-pile,.hand-deck-card{width:166px;flex-basis:166px}.hand-deck-card{height:221px}}
@media(max-width:700px){.splash-content{padding:26px 12px 22px}.mode-grid{grid-template-columns:1fr}.rules-mode-card{grid-column:auto}.mode-card p{min-height:0}.player-name-panel{grid-template-columns:1fr}.player-name-panel label{text-align:left}.challenge-link-box{grid-template-columns:1fr 1fr}.challenge-link-box input{grid-column:1/-1}.hand-with-deck{gap:8px}.player-deck-pile,.hand-deck-card{width:158px;flex-basis:158px}.hand-deck-card{height:211px}}
@media(max-width:560px){.splash-shell{min-height:calc(100vh - 56px);background-position:center top}.splash-title-wrap h1{font-size:clamp(2.5rem,14vw,4.2rem)}.splash-content{padding-top:22px}.player-name-panel{margin-top:10px}.mode-card{padding:14px}.difficulty-btn.compact{min-height:58px}.splash-features{gap:6px}.splash-features span{font-size:.67rem}.hand-with-deck{overflow-x:auto;padding-bottom:7px}.player-deck-pile,.hand-deck-card{width:42vw;min-width:42vw;flex-basis:42vw}.hand-deck-card{height:56vw}.hand-row{overflow:visible;flex:0 0 auto}.hand-row .game-card{width:42vw!important;min-width:42vw!important;max-width:42vw!important;flex-basis:42vw!important}.hand-section{overflow:hidden}.board-row .game-card{width:29vw!important;min-width:29vw!important;max-width:29vw!important;flex-basis:29vw!important}.action-bar{padding-bottom:max(10px,env(safe-area-inset-bottom));}.overlay{padding-bottom:max(10px,env(safe-area-inset-bottom));}.block-list{scroll-snap-type:x mandatory}.block-card{scroll-snap-align:start}.challenge-join-box{flex-direction:column;display:flex}}

/* The original illustrated cover is the title; controls start below its artwork. */
#app:has(#menuScreen:not(.hidden)) > .topbar{display:none}
.splash-shell{min-height:100vh;background:#080b08;overflow:visible}
.splash-cover{position:relative;width:100%;overflow:hidden;background:#090b09}
.splash-cover img{display:block;width:100%;height:auto;max-width:none}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.splash-content{padding:16px 24px 28px}
.player-name-panel{margin:0 0 16px}
@media(max-width:700px){.splash-content{padding:16px 12px 26px}.splash-cover{height:240px}.splash-cover img{position:absolute;left:50%;top:0;width:auto;height:100%;transform:translateX(-50%)}}

/* Mesa compacta: el tablero completo permanece visible en teléfonos. */
html,body{overscroll-behavior-y:none}
.ability-badge{position:absolute;z-index:3;left:5px;top:5px;padding:4px 6px;border-radius:7px;background:#102a21e8;border:1px solid #60e1a1;color:#dcffe9;font:900 .58rem/1 Arial,Helvetica,sans-serif;letter-spacing:.03em;box-shadow:0 2px 8px #0008}
.draft-card .ability-badge{top:auto;bottom:8px;left:7px}
.block-rule{color:#d7e8d5;font:700 .82rem/1.35 Arial,Helvetica,sans-serif}
.primary-btn.ready{animation:readyGlow 1.25s ease-in-out infinite;border-color:#fff1a9}
@keyframes readyGlow{50%{box-shadow:0 0 0 3px #f7d87a88,0 0 25px #f8cc56a8;filter:brightness(1.18)}}
.continue-timer{min-width:170px;font-variant-numeric:tabular-nums}
.coin-stage{display:grid;place-items:center;perspective:700px;padding:18px}
.initiative-coin{position:relative;width:172px;height:172px;transform-style:preserve-3d;transition:transform .7s ease-out;filter:drop-shadow(0 16px 16px #000a)}
.initiative-coin.spinning{animation:coinSpin .32s linear infinite}
.initiative-coin.centipede-face{transform:rotateY(180deg)}
.coin-spider,.coin-centipede{position:absolute;inset:0;display:block;border-radius:50%;background:center/cover no-repeat;backface-visibility:hidden}
.coin-spider{background-image:url('assets/coin-spider.png')}
.coin-centipede{background-image:url('assets/coin-centipede.png');transform:rotateY(180deg)}
@keyframes coinSpin{to{transform:rotateY(360deg)}}
.battle-card img.supporter-art{position:absolute;width:39%;left:-8%;bottom:20%;z-index:2;border:3px solid #e8ce80;box-shadow:0 8px 20px #000c}
.battle-card.dead img.supporter-art{filter:none;transform:none}
.multi-table{max-width:1600px;margin:auto}
.multi-player-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border:1px solid #31523f;background:#08120ee8;border-radius:14px}
.multi-player-status>div:first-child{display:flex;align-items:center;gap:12px}
.multi-life{font-size:1.25rem;font-weight:900;color:#ffded9}
.multi-action-bar{position:sticky;bottom:8px;z-index:55;min-height:72px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #506856;background:#08110ff4;border-radius:18px;box-shadow:0 15px 50px #000b}
.multi-inline-action{width:100%}

@media(max-width:700px){
  .topbar{height:48px;padding:0 6px}.topbar-actions{display:flex;gap:4px}.ghost-btn{padding:6px 8px;font-size:.7rem;min-height:36px}
  #app:has(#tableView:not(.hidden)),#app:has(.multi-table){height:100dvh;overflow:hidden}
  #gameScreen:has(#tableView:not(.hidden)),#multiScreen:has(.multi-table){height:calc(100dvh - 48px);min-height:0;padding:4px;overflow:hidden}
  #tableView,.multi-game,.multi-table{height:100%;min-height:0}
  #tableView,.multi-table{display:grid;grid-template-rows:34px minmax(0,1fr) 24px minmax(0,1fr) 34px minmax(0,1.18fr) 66px;gap:3px}
  .multi-table:has(.multi-inline-action){grid-template-rows:28px minmax(0,1fr) 20px minmax(0,1fr) 28px minmax(0,.9fr) minmax(175px,34dvh)}
  .player-status,.multi-player-status{min-width:0;min-height:0;display:flex;align-items:center;gap:5px;padding:2px 5px;border:1px solid #31523f;background:#08120e;border-radius:8px;overflow:hidden}
  .status-main,.multi-player-status>div:first-child{display:flex;align-items:center;gap:4px;min-width:90px;max-width:112px;font-size:.65rem;overflow:hidden;white-space:nowrap}
  .status-main>strong,.multi-player-status>div:first-child>strong{overflow:hidden;text-overflow:ellipsis}
  .life,.multi-life{font-size:.8rem;white-space:nowrap;color:#ffe4db}
  .turn-chip{display:none}
  .status-zones{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));flex:1;min-width:0;gap:2px}
  .status-zone,.deck-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:1px 0;border:0;background:transparent;white-space:nowrap;box-shadow:none;font:700 .51rem/1.05 Arial,Helvetica,sans-serif}
  .status-zone span{overflow:hidden;text-overflow:clip;max-width:100%;font-size:.49rem}
  .status-zone strong{font-size:.75rem;color:#f5d886}
  .deck-zone .deck-stack{display:none}
  .board-section{min-height:0;height:100%;margin:0;padding:3px 5px;border-radius:10px;overflow:hidden;box-shadow:none}
  .zone-title{font-size:.62rem;line-height:1;margin:0 0 2px;letter-spacing:.08em}
  .card-row{height:calc(100% - 15px);min-height:0;padding:1px 3px 2px;gap:5px;align-items:flex-start;overflow-x:auto;overflow-y:hidden}
  .board-row .game-card,.hand-row .game-card{width:auto!important;min-width:0!important;max-width:none!important;flex:0 0 auto!important;height:100%}
  .board-row .game-card{width:min(25vw,112px)!important;flex-basis:min(25vw,112px)!important}
  .hand-row .game-card{width:min(28vw,128px)!important;flex-basis:min(28vw,128px)!important}
  .game-card .card-art-wrap{height:calc(100% - 25px);overflow:hidden}.game-card img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
  .game-card .card-stat-strip{height:25px;min-height:25px;padding:2px;font-size:.57rem}.game-card .card-stat-strip strong{font-size:.75rem}
  .game-card .ability-badge{font-size:.43rem;padding:3px}
  .center-info{min-height:0;padding:0;gap:4px;overflow:hidden}.phase-pill{padding:3px 7px;font-size:.58rem;white-space:nowrap}
  .player-status-bottom{margin:0}.hand-section{min-height:0;margin:0;overflow:hidden}.hand-with-deck{height:calc(100% - 15px);gap:5px;overflow:hidden;padding:0}
  .player-deck-pile{width:min(22vw,100px)!important;min-width:0!important;flex:0 0 min(22vw,100px)!important;height:100%}
  .hand-deck-card{width:100%!important;height:100%!important;min-width:0!important;flex-basis:auto!important}
  .hand-row{height:100%;min-height:0;overflow-x:auto}
  .action-bar,.multi-action-bar{position:static;left:auto;bottom:auto;transform:none;width:100%;height:100%;min-height:0;max-height:none;margin:0;padding:5px 7px;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:5px;overflow:hidden}
  .action-copy strong{font-size:.72rem}.action-copy span{font-size:.59rem;line-height:1.1;display:block}
  .action-buttons{display:flex;gap:4px;flex-wrap:nowrap}.action-buttons button{min-height:38px;padding:4px 7px;font-size:.7rem;white-space:nowrap}
  .multi-action-bar:has(.multi-inline-action){display:block;overflow:auto;overscroll-behavior:contain}
  .multi-inline-action{padding:3px}.multi-inline-action h3{margin:3px 0;font-size:.85rem}.multi-inline-action .block-rule{font-size:.65rem;margin:3px 0}
  .multi-inline-action .block-grid{gap:4px}.multi-inline-action .block-list{padding:2px;gap:4px}.multi-inline-action .block-card{width:76px;min-width:76px;max-width:76px;flex-basis:76px}.multi-inline-action .block-card img{height:95px;object-fit:cover}.multi-inline-action .pair-list{margin:4px 0;gap:3px}.multi-inline-action .pair-chip{font-size:.6rem;padding:3px 5px}
  .overlay.active{align-items:flex-end;padding:0 4px max(4px,env(safe-area-inset-bottom));background:#0007;backdrop-filter:none}
  .overlay-card{max-height:72dvh;overflow:auto;padding:10px}.battle-stage .supporter-art{max-height:90px}
  .battle-card img{max-height:38dvh;object-fit:contain}.direct-stage img{max-height:38dvh;object-fit:contain}
  .coin-stage{padding:8px}.initiative-coin{width:120px;height:120px}
}

/* Decisions and combat remain inside the tabletop. */
.zone-title strong{float:right;letter-spacing:0;color:#f5d886;font-weight:800}
.board-pair-badge{position:absolute;right:5px;bottom:29px;z-index:4;display:grid;place-items:center;min-width:25px;height:25px;padding:0 5px;border-radius:999px;background:#f5d886;color:#15100a;border:2px solid #fff5c9;font:900 .75rem Arial,Helvetica,sans-serif;box-shadow:0 2px 8px #000b}
.swipe-cue{float:right;color:#f5d886;letter-spacing:0;text-transform:none;font-size:.75rem}
.fight-chip{min-height:40px;padding:6px 10px;border:1px solid #bd9b4a;border-radius:9px;background:#193328;color:#ffe6a5;font-weight:800;cursor:pointer}
.fight-chip:hover,.fight-chip:focus-visible{background:#2b553d}
.compact-fights{overflow-x:auto;flex-wrap:nowrap;min-width:0;scrollbar-width:thin}
.inline-hourglass{font-size:1.6rem;color:#f5d886}
.inline-cinematic{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;color:#f5e8bd;font-weight:800;text-align:center}
.cinematic-cards{display:flex;align-items:center;justify-content:center;gap:9px}
.cinematic-cards>b{font-size:1.4rem;color:#ffe28e}
.cinematic-fighter{position:relative;display:flex;align-items:center;gap:6px}
.cinematic-fighter>img:first-child{width:54px;height:70px;object-fit:cover;border:1px solid #a98b53;border-radius:6px}
.cinematic-fighter.dead>img:first-child{filter:grayscale(1) brightness(.5)}
.cinematic-fighter .supporter-thumb{position:absolute;right:30px;bottom:-4px;width:24px;height:32px;object-fit:cover;border:1px solid #f5d886;border-radius:3px}
.cinematic-fighter span{white-space:nowrap;font:800 .75rem Arial,Helvetica,sans-serif}
.cinematic-result{font-size:.82rem;color:#f5d886}
.inline-direct>img{width:54px;height:70px;object-fit:cover;border-radius:5px}
.inline-direct>strong{font-size:2rem;color:#ff9883}
.action-bar.cinematic-mode{min-height:102px}
.multi-action-bar.cinematic-mode{min-height:102px}

@media(max-width:700px){
  .hand-row{flex:1 1 0!important;width:0;min-width:0;overflow-x:auto!important;overflow-y:hidden!important;touch-action:pan-x;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
  .hand-row .game-card{scroll-snap-align:start}
  .hand-with-deck{min-width:0}
  .swipe-cue{font-size:.59rem}
  .zone-title strong{font-size:.58rem}
  .board-pair-badge{right:2px;bottom:24px;min-width:19px;height:19px;font-size:.58rem}
  #tableView:has(.cinematic-mode),.multi-table:has(.cinematic-mode){grid-template-rows:29px minmax(0,1fr) 18px minmax(0,1fr) 29px minmax(0,.8fr) minmax(125px,26dvh)}
  .inline-cinematic{height:100%;min-width:0;flex-direction:column;gap:2px;font-size:.65rem}
  .cinematic-cards{gap:5px}
  .cinematic-cards>b{font-size:.85rem}
  .cinematic-fighter{flex-direction:column;gap:1px}
  .cinematic-fighter>img:first-child{width:auto;height:min(14dvh,105px);max-width:74px}
  .cinematic-fighter span{font-size:.58rem}
  .cinematic-result{font-size:.62rem;line-height:1.05}
  .inline-direct{flex-direction:row;gap:8px}
  .inline-direct>img{width:auto;height:min(17dvh,115px)}
  .inline-direct>strong{font-size:1.6rem}
  .inline-direct>span{font-size:.67rem}
  .action-bar.cinematic-mode,.multi-action-bar.cinematic-mode{min-height:0;justify-content:center}
  .compact-fights{max-width:55vw}
  .fight-chip{min-height:36px;white-space:nowrap;font-size:.68rem}
}

