*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#0a1628;color:#e0e0e0}button:focus-visible,a:focus-visible{outline:2px solid var(--mana-blue, #4a9eff);outline-offset:2px}:root{--card-hand-width: 160px;--card-hand-height: 224px;--mana-blue: #4a9eff;--mana-empty: #1a2a40;--health-red: #e94560;--health-low: #ff2244;--attack-amber: #f0a030;--oa-navy: #0d1b30;--oa-navy-light: #142640;--oa-blue: #2d5aa0;--oa-blue-light: #3a6cb8;--oa-blue-bright: #4a80d0;--board-bg: #162040;--board-bg-light: #1e2d50;--board-bg-dark: #0d1525;--board-divider: var(--oa-blue);--board-surface: #1a2848;--panel-bg: #0d1525;--panel-bg-light: #142035;--panel-border: #2d5aa0;--card-bg: #182940;--card-border: #3a5575;--card-playable-glow: rgba(74, 222, 128, .6);--card-selected-glow: rgba(255, 215, 0, .8);--card-target-glow: rgba(233, 69, 96, .8);--card-attack-glow: rgba(74, 222, 128, .5);--text-on-card: #d0ddf0;--text-cream: #d0ddf0;--text-on-board: #8aa0c0;--text-muted: #6080a0}.card{position:relative;display:flex;flex-direction:column;border:2px solid var(--card-border);border-radius:8px;background:var(--card-bg);overflow:hidden;-webkit-user-select:none;user-select:none;transition:box-shadow .15s,border-color .15s,opacity .15s;box-shadow:-2px 0 8px #0009,2px 0 8px #0009}.card__mana{position:absolute;top:4px;left:4px;width:32px;height:32px;border-radius:50%;background:var(--mana-blue);color:#fff;font-size:1rem;font-weight:900;display:flex;align-items:center;justify-content:center;z-index:2;box-shadow:0 1px 3px #0006}.card__art{flex:1;background:linear-gradient(135deg,#243a58,#1c2e4a,#142238);min-height:0}.card__name{padding:4px 6px;font-size:.85rem;font-weight:700;color:var(--text-cream);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#0f1a2a;text-shadow:0 1px 2px rgba(0,0,0,.6)}.card__stats{display:flex;justify-content:space-between;padding:2px 4px}.card__attack{width:32px;height:32px;border-radius:50%;background:var(--attack-amber);color:#fff;font-size:1rem;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0006}.card__health{width:32px;height:32px;border-radius:50%;background:var(--health-red);color:#fff;font-size:1rem;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0006}.card__health--damaged{background:var(--health-low)}.card__type-badge{padding:2px;font-size:.6rem;color:var(--text-muted);text-align:center;background:#0d1522}.card--tier-uncommon{border-color:#3a6cb8}.card--tier-rare{border-color:#8b5cf6;box-shadow:0 0 6px #8b5cf666,-2px 0 8px #0009,2px 0 8px #0009}.card--tier-legendary{border-color:#f59e0b;box-shadow:0 0 8px #f59e0b80,-2px 0 8px #0009,2px 0 8px #0009}.card--playable{border-color:#4ade8099;box-shadow:0 0 8px var(--card-playable-glow);cursor:pointer}.card--hand-selected{border-color:#ffd700cc;box-shadow:0 0 12px var(--card-selected-glow)}.card--unplayable{filter:brightness(.5) grayscale(.3);cursor:not-allowed}.card--selected{border-color:gold;box-shadow:0 0 14px var(--card-selected-glow)}.card--valid-target{border-color:var(--health-red);box-shadow:0 0 12px var(--card-target-glow);cursor:crosshair;animation:card-target-pulse 1s ease-in-out infinite}@keyframes card-target-pulse{0%,to{box-shadow:0 0 8px var(--card-target-glow)}50%{box-shadow:0 0 18px var(--card-target-glow)}}.card--can-attack{border-color:#4ade8080;cursor:pointer}.card--exhausted{opacity:.45}.card--summoning-sick{border-style:dashed}@keyframes combat-text-rise{0%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}20%{opacity:1;transform:translate(-50%) translateY(-10px) scale(1.2)}to{opacity:0;transform:translate(-50%) translateY(-60px) scale(.8)}}.damage-flash{animation:damage-flash .35s ease-out!important}@keyframes damage-flash{0%{filter:brightness(1)}25%{filter:brightness(1.6) sepia(1) hue-rotate(-30deg) saturate(3)}to{filter:brightness(1)}}.heal-flash{animation:heal-flash .35s ease-out!important}@keyframes heal-flash{0%{filter:brightness(1)}25%{filter:brightness(1.5) sepia(1) hue-rotate(80deg) saturate(2)}to{filter:brightness(1)}}.buff-shimmer{animation:buff-shimmer .6s ease-out!important}@keyframes buff-shimmer{0%{filter:brightness(1)}20%{filter:brightness(1.8) sepia(.5) hue-rotate(15deg) saturate(2)}50%{filter:brightness(1.4) sepia(.3) hue-rotate(10deg) saturate(1.5)}to{filter:brightness(1)}}@keyframes death-burst{0%{transform:translate(-50%,-50%) scale(.3);opacity:1}40%{transform:translate(-50%,-50%) scale(1.4);opacity:.8}to{transform:translate(-50%,-50%) scale(2.2);opacity:0}}@keyframes script-cast-pulse{0%{opacity:0}30%{opacity:1}to{opacity:0}}@keyframes toast-slide-in{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}@keyframes toast-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(60px)}}@keyframes action-banner-pop{0%{opacity:0;transform:translate(-50%) scale(.6)}15%{opacity:1;transform:translate(-50%) scale(1.05)}25%{transform:translate(-50%) scale(1)}75%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) scale(.95) translateY(-10px)}}@keyframes card-showcase-pop{0%{opacity:0;transform:translate(-50%) scale(.6)}12%{opacity:1;transform:translate(-50%) scale(1.04)}20%{transform:translate(-50%) scale(1)}72%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) scale(.96) translateY(-8px)}}
