.combat-switch{display:inline-flex;align-items:center;gap:8px;font-weight:bold;color:var(--brand-text);cursor:pointer;user-select:none}.combat-switch input{width:18px;height:18px;cursor:pointer}.combat-section{background:var(--surface);padding:24px 20px 36px;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,0.1)}.combat-section h2{color:var(--brand-text);text-align:center;font-size:2rem;margin-bottom:8px}.combat-subtitle{text-align:center;color:var(--text-muted);font-style:italic;margin-bottom:20px}.combat-mode-select{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;max-width:640px;margin:0 auto}.combat-mode-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-top:4px solid #1a2a6c;border-radius:14px;padding:24px 20px;cursor:pointer;transition:transform 0.2s ease,box-shadow 0.2s ease}.combat-mode-card:hover{transform:translateY(-4px);box-shadow:0 10px 22px rgba(0,0,0,0.15)}.combat-mode-back{display:block;margin:0 0 16px;padding:0;background:none;border:none;color:var(--brand-text);font-weight:bold;font-size:0.9rem;cursor:pointer}.combat-mode-back:hover{text-decoration:underline}.card.common{--rarity-color: #707070}.card.uncommon{--rarity-color: #007a33}.card.rare{--rarity-color: #0050a0}.card.epic{--rarity-color: #6a00a0}.card.legendary{--rarity-color: #d35400}.card.special{--rarity-color: #c40000}.combat-stage{display:flex;align-items:flex-start;justify-content:center;gap:16px;margin-bottom:14px}.fighter{flex:0 0 auto;width:clamp(140px,24vw,240px);display:flex;flex-direction:column;align-items:center;gap:10px}.fighter-identity{display:flex;align-items:center;gap:8px;max-width:100%}.fighter-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid var(--border);flex:0 0 auto}.fighter-you .fighter-avatar{border-color:#4CAF50}.fighter-opp .fighter-avatar{border-color:#b21f1f}.fighter-id-text{min-width:0;text-align:left}.fighter-name{font-weight:bold;color:var(--brand-text);font-size:1.05rem;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fighter-img{position:relative;width:100%;aspect-ratio:5 / 6;border-radius:14px;overflow:hidden;background:radial-gradient(circle at 50% 25%,rgba(253,187,45,0.25),transparent 60%),linear-gradient(135deg,#1a2a6c,#b21f1f);border:3px solid var(--gold);box-shadow:0 10px 24px rgba(0,0,0,0.32)}.fighter-you .fighter-img{border-color:#4CAF50}.fighter-opp .fighter-img{border-color:#b21f1f}.fighter-pic{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 0.45s ease}@keyframes fighter-shake{0%,100%{transform:translateX(0) rotate(0)}12%{transform:translateX(-9px) rotate(-2deg)}28%{transform:translateX(8px) rotate(2deg)}44%{transform:translateX(-7px) rotate(-1deg)}60%{transform:translateX(6px) rotate(1deg)}78%{transform:translateX(-3px)}}.fighter.hit .fighter-img{animation:fighter-shake 0.55s ease}.fighter.hit .fighter-img::after{content:"";position:absolute;inset:0;z-index:5;background:radial-gradient(circle,rgba(255,0,0,0.6),transparent 70%);animation:fighter-hit-flash 0.55s ease;pointer-events:none}@keyframes fighter-hit-flash{0%{opacity:0.95}100%{opacity:0}}@media (max-width: 768px){.combat-stage{flex-wrap:wrap;gap:10px}.fighter-you{order:1;width:46%}.fighter-opp{order:2;width:46%}}@media (prefers-reduced-motion: reduce){.fighter-pic{transition:none}.fighter.hit .fighter-img{animation:none}.fighter.hit .fighter-img::after{animation:none;opacity:0}}
