.duel-visual-settings {
  display: grid;
  gap: 12px;
  margin: 16px 0;
  padding: 14px;
  border: 1px solid rgba(47, 111, 104, 0.24);
  border-radius: 8px;
  background: rgba(255, 253, 247, 0.82);
  box-shadow: var(--shadow-sm);
}

.duel-visual-settings-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.duel-skin-import-field {
  min-width: 0;
}

.duel-skin-preview-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.duel-skin-preview-card {
  display: grid;
  gap: 3px;
  min-height: 74px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper-strong);
  color: var(--ink);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

.duel-skin-preview-card strong {
  color: inherit;
  font-size: 13px;
  font-weight: 950;
}

.duel-skin-preview-card span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}

#duelVisualSettingsStatus[data-status="warning"] {
  color: #9a6700;
}

#duelVisualSettingsStatus[data-status="error"] {
  color: var(--accent);
}

.update-modal[hidden] {
  display: none !important;
}

.update-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: grid;
  place-items: center;
  padding: 18px;
}

.update-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 18, 16, 0.62);
  backdrop-filter: blur(3px);
}

.update-modal-card {
  position: relative;
  z-index: 1;
  width: min(100%, 560px);
  display: grid;
  gap: 14px;
  padding: 20px;
  border: 1px solid rgba(246, 211, 101, 0.44);
  border-radius: 8px;
  background:
    linear-gradient(145deg, rgba(255, 253, 247, 0.98), rgba(242, 239, 231, 0.96)),
    var(--paper-strong);
  color: var(--ink);
  box-shadow: 0 28px 70px rgba(16, 16, 15, 0.34);
}

.update-modal-head {
  display: grid;
  gap: 8px;
}

.update-modal-head h2 {
  margin: 0;
  font-size: 24px;
  line-height: 1.18;
}

.update-modal-card ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 18px;
  line-height: 1.55;
}

.update-modal-card .primary {
  justify-self: end;
}

body.update-modal-open {
  overflow: hidden;
}

body.duel-theme-dark {
  --bg: #10100f;
  --paper: #171613;
  --paper-strong: #201d18;
  --ink: #f4efe6;
  --muted: #b8b0a4;
  --line: #4a4339;
  --line-dark: #6a5d4c;
  --panel: #1b1915;
  --panel-2: #242119;
  --accent: #e15b4f;
  --accent-dark: #a9342e;
  --accent-2: #2dd4bf;
  --accent-3: #a9c1ff;
  --soft: #2a261f;
  --stamp: #f6d365;
  --folder: #7b663a;
  --warn: #f4bc45;
  --custom: #f6d365;
  --custom-bg: #2f2610;
  --custom-line: #927d40;
  --shadow-sm: 0 1px 0 rgba(255, 255, 255, 0.05);
  --shadow-md: 0 14px 34px rgba(0, 0, 0, 0.24);
  --shadow-lg: 0 24px 58px rgba(0, 0, 0, 0.38);
  --focus: 0 0 0 3px rgba(45, 212, 191, 0.24);
  background: #10100f !important;
  background-image: none !important;
}

body.duel-theme-dark::before {
  display: none !important;
  background: none !important;
}

body.duel-theme-dark .topbar,
body.duel-theme-dark .panel,
body.duel-theme-dark .global-settings-panel,
body.duel-theme-dark .duel-visual-settings,
body.duel-theme-dark .duel-debug-panel,
body.duel-theme-dark .duel-action-panel,
body.duel-theme-dark .duel-resource-side,
body.duel-theme-dark .duel-round-panel,
body.duel-theme-dark .duel-tactic-panel,
body.duel-theme-dark .duel-residual-log,
body.duel-theme-dark .duel-beta-feedback-panel,
body.duel-theme-dark .duel-battlefield-units,
body.duel-theme-dark .online-alpha-section,
body.duel-theme-dark .online-room-card,
body.duel-theme-dark .jjk-battle-home-card,
body.duel-theme-dark .jjk-battle-info-grid article,
body.duel-theme-dark .online-player-grid article {
  border-color: rgba(246, 211, 101, 0.18);
  background: rgba(28, 26, 22, 0.92);
  color: var(--ink);
  box-shadow: var(--shadow-md);
}

body.duel-theme-dark .tab,
body.duel-theme-dark .jjk-battle-tab,
body.duel-theme-dark .secondary,
body.duel-theme-dark .mini {
  border-color: rgba(246, 211, 101, 0.22);
  background: rgba(36, 33, 27, 0.92);
  color: var(--ink);
}

body.duel-theme-dark .tab.active,
body.duel-theme-dark .jjk-battle-tab.active,
body.duel-theme-dark .duel-tactic.active {
  border-color: rgba(45, 212, 191, 0.46);
  background: rgba(20, 83, 76, 0.42);
  color: #f0fdfa;
}

body.duel-theme-dark .field input,
body.duel-theme-dark .field select,
body.duel-theme-dark .field textarea,
body.duel-theme-dark .wheel-setting-field input,
body.duel-theme-dark .online-invite-field input {
  border-color: rgba(246, 211, 101, 0.24);
  background: #15130f;
  color: var(--ink);
}

body.duel-theme-dark .duel-action-choice,
body.duel-theme-dark .duel-hand-detail,
body.duel-theme-dark .duel-card-developer-details,
body.duel-theme-dark .duel-hand-debug,
body.duel-theme-dark .duel-domain-profile-card {
  border-color: rgba(246, 211, 101, 0.18);
  background: rgba(26, 24, 20, 0.92);
  color: var(--ink);
}

body.duel-theme-dark .duel-action-subtitle,
body.duel-theme-dark .duel-action-numeric-brief,
body.duel-theme-dark .duel-action-choice span:not(.duel-action-title),
body.duel-theme-dark .duel-action-status,
body.duel-theme-dark .duel-hand-detail,
body.duel-theme-dark .duel-skin-preview-card span {
  color: var(--muted) !important;
}

body.duel-theme-dark .update-modal-card {
  background: #181a20;
  background-image: none;
  color: var(--ink);
}

body.duel-card-skin-v224 .duel-hand-card.duel-skin-template,
body.duel-card-skin-custom .duel-hand-card.duel-skin-template,
.duel-skin-preview-card.duel-skin-template {
  --card-skin-bg: linear-gradient(135deg, #fffdf7 0%, #f3eddf 58%, #e8dfc8 100%);
  --card-skin-border: #c4ab70;
  --card-skin-accent: #946313;
  --card-skin-text: #241c18;
  --card-skin-muted: #655a49;
  --card-skin-glow: rgba(148, 99, 19, 0.18);
}

body.duel-card-skin-v224 .duel-hand-card.duel-skin-special,
body.duel-card-skin-custom .duel-hand-card.duel-skin-special,
.duel-skin-preview-card.duel-skin-special {
  --card-skin-bg: linear-gradient(135deg, #251211 0%, #431916 55%, #6c241c 100%);
  --card-skin-border: #d16a55;
  --card-skin-accent: #ffd166;
  --card-skin-text: #fff7e6;
  --card-skin-muted: #f2c5a5;
  --card-skin-glow: rgba(225, 91, 79, 0.30);
}

body.duel-card-skin-v224 .duel-hand-card.duel-skin-domain,
body.duel-card-skin-custom .duel-hand-card.duel-skin-domain,
.duel-skin-preview-card.duel-skin-domain {
  --card-skin-bg: linear-gradient(135deg, #171435 0%, #2b1d55 54%, #4a2b86 100%);
  --card-skin-border: #9f7aea;
  --card-skin-accent: #f6d365;
  --card-skin-text: #fbf7ff;
  --card-skin-muted: #ddceff;
  --card-skin-glow: rgba(159, 122, 234, 0.32);
}

body.duel-card-skin-v224 .duel-hand-card.duel-skin-summon,
body.duel-card-skin-custom .duel-hand-card.duel-skin-summon,
.duel-skin-preview-card.duel-skin-summon {
  --card-skin-bg: linear-gradient(135deg, #0e2d2a 0%, #153b47 55%, #193f64 100%);
  --card-skin-border: #2dd4bf;
  --card-skin-accent: #99f6e4;
  --card-skin-text: #ecfeff;
  --card-skin-muted: #b7e8e2;
  --card-skin-glow: rgba(45, 212, 191, 0.26);
}

body.duel-card-skin-v224 .duel-hand-card.duel-skin-mahoraga,
body.duel-card-skin-custom .duel-hand-card.duel-skin-mahoraga,
.duel-skin-preview-card.duel-skin-mahoraga {
  --card-skin-bg: linear-gradient(135deg, #050505 0%, #15130d 48%, #3e3212 100%);
  --card-skin-border: #f6d365;
  --card-skin-accent: #ffe8a3;
  --card-skin-text: #fff7cc;
  --card-skin-muted: #e9cf82;
  --card-skin-glow: rgba(246, 211, 101, 0.38);
}

body.duel-card-skin-v224 .duel-hand-card.duel-skin-trial,
body.duel-card-skin-custom .duel-hand-card.duel-skin-trial,
.duel-skin-preview-card.duel-skin-trial {
  --card-skin-bg: linear-gradient(135deg, #f9f5ee 0%, #e2d7c8 54%, #b9aa96 100%);
  --card-skin-border: #6b1f1a;
  --card-skin-accent: #b42318;
  --card-skin-text: #241c18;
  --card-skin-muted: #6c5b4f;
  --card-skin-glow: rgba(180, 35, 24, 0.20);
}

body.duel-card-skin-custom .duel-hand-card.duel-skin-template {
  --card-skin-bg: var(--duel-skin-template-bg, linear-gradient(135deg, #fffdf7, #f3eddf));
  --card-skin-border: var(--duel-skin-template-border, #c4ab70);
  --card-skin-accent: var(--duel-skin-template-accent, #946313);
  --card-skin-text: var(--duel-skin-template-text, #241c18);
  --card-skin-muted: var(--duel-skin-template-muted, #655a49);
  --card-skin-glow: var(--duel-skin-template-glow, rgba(148, 99, 19, 0.18));
}

body.duel-card-skin-custom .duel-skin-preview-card.duel-skin-template {
  --card-skin-bg: var(--duel-skin-template-bg, linear-gradient(135deg, #fffdf7, #f3eddf));
  --card-skin-border: var(--duel-skin-template-border, #c4ab70);
  --card-skin-accent: var(--duel-skin-template-accent, #946313);
  --card-skin-text: var(--duel-skin-template-text, #241c18);
  --card-skin-muted: var(--duel-skin-template-muted, #655a49);
  --card-skin-glow: var(--duel-skin-template-glow, rgba(148, 99, 19, 0.18));
}

body.duel-card-skin-custom .duel-hand-card.duel-skin-special {
  --card-skin-bg: var(--duel-skin-special-bg, linear-gradient(135deg, #251211, #431916));
  --card-skin-border: var(--duel-skin-special-border, #d16a55);
  --card-skin-accent: var(--duel-skin-special-accent, #ffd166);
  --card-skin-text: var(--duel-skin-special-text, #fff7e6);
  --card-skin-muted: var(--duel-skin-special-muted, #f2c5a5);
  --card-skin-glow: var(--duel-skin-special-glow, rgba(225, 91, 79, 0.30));
}

body.duel-card-skin-custom .duel-skin-preview-card.duel-skin-special {
  --card-skin-bg: var(--duel-skin-special-bg, linear-gradient(135deg, #251211, #431916));
  --card-skin-border: var(--duel-skin-special-border, #d16a55);
  --card-skin-accent: var(--duel-skin-special-accent, #ffd166);
  --card-skin-text: var(--duel-skin-special-text, #fff7e6);
  --card-skin-muted: var(--duel-skin-special-muted, #f2c5a5);
  --card-skin-glow: var(--duel-skin-special-glow, rgba(225, 91, 79, 0.30));
}

body.duel-card-skin-custom .duel-hand-card.duel-skin-domain {
  --card-skin-bg: var(--duel-skin-domain-bg, linear-gradient(135deg, #171435, #3b236d));
  --card-skin-border: var(--duel-skin-domain-border, #9f7aea);
  --card-skin-accent: var(--duel-skin-domain-accent, #f6d365);
  --card-skin-text: var(--duel-skin-domain-text, #fbf7ff);
  --card-skin-muted: var(--duel-skin-domain-muted, #ddceff);
  --card-skin-glow: var(--duel-skin-domain-glow, rgba(159, 122, 234, 0.32));
}

body.duel-card-skin-custom .duel-skin-preview-card.duel-skin-domain {
  --card-skin-bg: var(--duel-skin-domain-bg, linear-gradient(135deg, #171435, #3b236d));
  --card-skin-border: var(--duel-skin-domain-border, #9f7aea);
  --card-skin-accent: var(--duel-skin-domain-accent, #f6d365);
  --card-skin-text: var(--duel-skin-domain-text, #fbf7ff);
  --card-skin-muted: var(--duel-skin-domain-muted, #ddceff);
  --card-skin-glow: var(--duel-skin-domain-glow, rgba(159, 122, 234, 0.32));
}

body.duel-card-skin-custom .duel-hand-card.duel-skin-summon {
  --card-skin-bg: var(--duel-skin-summon-bg, linear-gradient(135deg, #0e2d2a, #153b47));
  --card-skin-border: var(--duel-skin-summon-border, #2dd4bf);
  --card-skin-accent: var(--duel-skin-summon-accent, #99f6e4);
  --card-skin-text: var(--duel-skin-summon-text, #ecfeff);
  --card-skin-muted: var(--duel-skin-summon-muted, #b7e8e2);
  --card-skin-glow: var(--duel-skin-summon-glow, rgba(45, 212, 191, 0.26));
}

body.duel-card-skin-custom .duel-skin-preview-card.duel-skin-summon {
  --card-skin-bg: var(--duel-skin-summon-bg, linear-gradient(135deg, #0e2d2a, #153b47));
  --card-skin-border: var(--duel-skin-summon-border, #2dd4bf);
  --card-skin-accent: var(--duel-skin-summon-accent, #99f6e4);
  --card-skin-text: var(--duel-skin-summon-text, #ecfeff);
  --card-skin-muted: var(--duel-skin-summon-muted, #b7e8e2);
  --card-skin-glow: var(--duel-skin-summon-glow, rgba(45, 212, 191, 0.26));
}

body.duel-card-skin-custom .duel-hand-card.duel-skin-mahoraga {
  --card-skin-bg: var(--duel-skin-mahoraga-bg, linear-gradient(135deg, #050505, #3e3212));
  --card-skin-border: var(--duel-skin-mahoraga-border, #f6d365);
  --card-skin-accent: var(--duel-skin-mahoraga-accent, #ffe8a3);
  --card-skin-text: var(--duel-skin-mahoraga-text, #fff7cc);
  --card-skin-muted: var(--duel-skin-mahoraga-muted, #e9cf82);
  --card-skin-glow: var(--duel-skin-mahoraga-glow, rgba(246, 211, 101, 0.38));
}

body.duel-card-skin-custom .duel-skin-preview-card.duel-skin-mahoraga {
  --card-skin-bg: var(--duel-skin-mahoraga-bg, linear-gradient(135deg, #050505, #3e3212));
  --card-skin-border: var(--duel-skin-mahoraga-border, #f6d365);
  --card-skin-accent: var(--duel-skin-mahoraga-accent, #ffe8a3);
  --card-skin-text: var(--duel-skin-mahoraga-text, #fff7cc);
  --card-skin-muted: var(--duel-skin-mahoraga-muted, #e9cf82);
  --card-skin-glow: var(--duel-skin-mahoraga-glow, rgba(246, 211, 101, 0.38));
}

body.duel-card-skin-custom .duel-hand-card.duel-skin-trial {
  --card-skin-bg: var(--duel-skin-trial-bg, linear-gradient(135deg, #f9f5ee, #b9aa96));
  --card-skin-border: var(--duel-skin-trial-border, #6b1f1a);
  --card-skin-accent: var(--duel-skin-trial-accent, #b42318);
  --card-skin-text: var(--duel-skin-trial-text, #241c18);
  --card-skin-muted: var(--duel-skin-trial-muted, #6c5b4f);
  --card-skin-glow: var(--duel-skin-trial-glow, rgba(180, 35, 24, 0.20));
}

body.duel-card-skin-custom .duel-skin-preview-card.duel-skin-trial {
  --card-skin-bg: var(--duel-skin-trial-bg, linear-gradient(135deg, #f9f5ee, #b9aa96));
  --card-skin-border: var(--duel-skin-trial-border, #6b1f1a);
  --card-skin-accent: var(--duel-skin-trial-accent, #b42318);
  --card-skin-text: var(--duel-skin-trial-text, #241c18);
  --card-skin-muted: var(--duel-skin-trial-muted, #6c5b4f);
  --card-skin-glow: var(--duel-skin-trial-glow, rgba(180, 35, 24, 0.20));
}

body.duel-card-skin-v224 .duel-hand-card .duel-action-choice,
body.duel-card-skin-custom .duel-hand-card .duel-action-choice {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-color: var(--card-skin-border);
  background: var(--card-skin-bg);
  color: var(--card-skin-text);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--card-skin-border) 34%, transparent), 0 12px 26px var(--card-skin-glow);
}

body.duel-card-skin-v224 .duel-hand-card .duel-action-choice::before,
body.duel-card-skin-custom .duel-hand-card .duel-action-choice::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(115deg, transparent 0 38%, rgba(255, 255, 255, 0.18) 48%, transparent 58%),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.07) 0 1px, transparent 1px 14px);
  opacity: 0.52;
  transform: translateX(-18%);
}

body.duel-card-skin-v224 .duel-hand-card .duel-action-choice > *,
body.duel-card-skin-custom .duel-hand-card .duel-action-choice > * {
  position: relative;
  z-index: 1;
}

body.duel-card-skin-v224 .duel-hand-card .duel-action-title,
body.duel-card-skin-custom .duel-hand-card .duel-action-title,
body.duel-card-skin-v224 .duel-hand-card .duel-action-subtitle,
body.duel-card-skin-custom .duel-hand-card .duel-action-subtitle {
  color: var(--card-skin-text) !important;
}

body.duel-card-skin-v224 .duel-hand-card .duel-action-choice span:not(.duel-action-title),
body.duel-card-skin-custom .duel-hand-card .duel-action-choice span:not(.duel-action-title),
body.duel-card-skin-v224 .duel-hand-card .duel-action-effect,
body.duel-card-skin-custom .duel-hand-card .duel-action-effect,
body.duel-card-skin-v224 .duel-hand-card .duel-action-tags,
body.duel-card-skin-custom .duel-hand-card .duel-action-tags,
body.duel-card-skin-v224 .duel-hand-card .duel-action-numeric-brief,
body.duel-card-skin-custom .duel-hand-card .duel-action-numeric-brief {
  color: var(--card-skin-muted) !important;
}

body.duel-card-skin-v224 .duel-hand-card .duel-action-card-type,
body.duel-card-skin-v224 .duel-hand-card .duel-action-risk,
body.duel-card-skin-v224 .duel-hand-card .duel-action-cost,
body.duel-card-skin-custom .duel-hand-card .duel-action-card-type,
body.duel-card-skin-custom .duel-hand-card .duel-action-risk,
body.duel-card-skin-custom .duel-hand-card .duel-action-cost,
body.duel-card-skin-v224 .duel-hand-card .duel-summon-preview b,
body.duel-card-skin-custom .duel-hand-card .duel-summon-preview b {
  border-color: color-mix(in srgb, var(--card-skin-accent) 55%, transparent);
  background: color-mix(in srgb, var(--card-skin-accent) 16%, transparent);
  color: var(--card-skin-accent) !important;
}

body.duel-card-skin-v224 .duel-hand-card.active .duel-action-choice,
body.duel-card-skin-custom .duel-hand-card.active .duel-action-choice {
  border-color: var(--card-skin-accent);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--card-skin-accent) 32%, transparent), 0 16px 34px var(--card-skin-glow);
}

.duel-skin-preview-card.duel-skin-template,
.duel-skin-preview-card.duel-skin-special,
.duel-skin-preview-card.duel-skin-domain,
.duel-skin-preview-card.duel-skin-summon,
.duel-skin-preview-card.duel-skin-mahoraga,
.duel-skin-preview-card.duel-skin-trial {
  border-color: var(--card-skin-border);
  background: var(--card-skin-bg);
  color: var(--card-skin-text);
  box-shadow: 0 8px 18px var(--card-skin-glow);
}

.duel-skin-preview-card.duel-skin-template span,
.duel-skin-preview-card.duel-skin-special span,
.duel-skin-preview-card.duel-skin-domain span,
.duel-skin-preview-card.duel-skin-summon span,
.duel-skin-preview-card.duel-skin-mahoraga span,
.duel-skin-preview-card.duel-skin-trial span {
  color: var(--card-skin-muted);
}

.duel-action-panel.deal-animation .duel-hand-card.deal-in {
  animation: duelCardDealIn 520ms cubic-bezier(0.18, 0.84, 0.2, 1) both;
  animation-delay: calc(var(--deal-index, 0) * 48ms);
}

.duel-action-panel.deal-animation .duel-hand-card.deal-in .duel-action-choice::before {
  animation: duelCardDealSweep 760ms ease both;
  animation-delay: calc(var(--deal-index, 0) * 48ms + 90ms);
}

.duel-action-panel.play-animation .duel-hand-card.play-out .duel-action-choice {
  animation: duelCardPlayOut 520ms cubic-bezier(0.2, 0.82, 0.24, 1) both;
  animation-delay: calc(var(--play-index, 0) * 52ms);
}

.duel-action-panel.lock-animation .duel-hand-card.lock-out .duel-action-choice {
  animation: duelCardLockOut 620ms cubic-bezier(0.18, 0.78, 0.2, 1) both;
  animation-delay: calc(var(--play-index, 0) * 56ms);
}

.duel-action-panel.play-animation .duel-hand-card.play-out .duel-action-choice::after,
.duel-action-panel.lock-animation .duel-hand-card.lock-out .duel-action-choice::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
}

.duel-action-panel.play-animation .duel-hand-card.play-out .duel-action-choice::after {
  background: rgba(255, 255, 255, 0.34);
  animation: duelCardPlayFlash 520ms ease both;
  animation-delay: calc(var(--play-index, 0) * 52ms);
}

.duel-action-panel.lock-animation .duel-hand-card.lock-out .duel-action-choice::after {
  border: 2px solid color-mix(in srgb, var(--card-skin-accent, var(--accent-2)) 72%, transparent);
  background: rgba(45, 212, 191, 0.10);
  animation: duelCardLockSeal 620ms ease both;
  animation-delay: calc(var(--play-index, 0) * 56ms);
}

.duel-action-choice {
  transform: translateY(0);
}

.duel-action-choice:hover:not(:disabled) {
  transform: translateY(-2px);
}

.duel-hand-card.active .duel-action-choice {
  animation: duelCardSelectedPulse 900ms ease both;
}

.duel-floating-combat-text {
  animation: duelCombatTextFloat 980ms ease both;
}

@keyframes duelCardDealIn {
  0% {
    opacity: 0;
    transform: translateY(18px) rotateX(14deg) scale(0.96);
    filter: blur(2px);
  }
  64% {
    opacity: 1;
    transform: translateY(-3px) rotateX(0deg) scale(1.015);
    filter: blur(0);
  }
  100% {
    opacity: 1;
    transform: translateY(0) rotateX(0deg) scale(1);
    filter: blur(0);
  }
}

@keyframes duelCardDealSweep {
  0% {
    opacity: 0;
    transform: translateX(-70%);
  }
  46% {
    opacity: 0.75;
  }
  100% {
    opacity: 0.46;
    transform: translateX(26%);
  }
}

@keyframes duelCardSelectedPulse {
  0% {
    transform: translateY(0) scale(1);
  }
  38% {
    transform: translateY(-2px) scale(1.012);
  }
  100% {
    transform: translateY(0) scale(1);
  }
}

@keyframes duelCardPlayOut {
  0% {
    transform: translateY(0) scale(1);
    filter: brightness(1);
  }
  36% {
    transform: translateY(-8px) scale(1.026) rotateZ(-0.7deg);
    filter: brightness(1.18);
  }
  100% {
    transform: translateY(-2px) scale(1.008);
    filter: brightness(1.04);
  }
}

@keyframes duelCardPlayFlash {
  0% {
    opacity: 0;
    transform: translateX(-44%);
  }
  34% {
    opacity: 0.55;
  }
  100% {
    opacity: 0;
    transform: translateX(34%);
  }
}

@keyframes duelCardLockOut {
  0% {
    transform: translateY(0) scale(1);
    filter: saturate(1);
  }
  42% {
    transform: translateY(-5px) scale(1.018);
    filter: saturate(1.18);
  }
  100% {
    transform: translateY(0) scale(1);
    filter: saturate(1.04);
  }
}

@keyframes duelCardLockSeal {
  0% {
    opacity: 0;
    transform: scale(0.96);
  }
  42% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0.42;
    transform: scale(1);
  }
}

@keyframes duelCombatTextFloat {
  0% {
    opacity: 0;
    transform: translateY(12px) scale(0.96);
  }
  18% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(-22px) scale(1.04);
  }
}

body.duel-theme-dark .app-shell,
body.duel-theme-dark .tab-panel,
body.duel-theme-dark .tabs,
body.duel-theme-dark .panel,
body.duel-theme-dark .duel-panel,
body.duel-theme-dark .duel-selectors,
body.duel-theme-dark .duel-custom-panel,
body.duel-theme-dark .duel-custom-mode,
body.duel-theme-dark .duel-custom-stats,
body.duel-theme-dark .duel-ai-assist,
body.duel-theme-dark .duel-import-code-panel,
body.duel-theme-dark .duel-custom-interface,
body.duel-theme-dark .duel-special-card-editor,
body.duel-theme-dark .duel-library-assist,
body.duel-theme-dark .duel-ai-output,
body.duel-theme-dark .duel-summary,
body.duel-theme-dark .duel-match-summary-card,
body.duel-theme-dark .duel-battle,
body.duel-theme-dark .duel-battle-empty,
body.duel-theme-dark .duel-battle-stage,
body.duel-theme-dark .duel-battle-status,
body.duel-theme-dark .duel-resource-side,
body.duel-theme-dark .duel-resource-meta,
body.duel-theme-dark .duel-domain-load,
body.duel-theme-dark .duel-status-effects,
body.duel-theme-dark .duel-round-memo,
body.duel-theme-dark .duel-replay-meta,
body.duel-theme-dark .duel-residual-log,
body.duel-theme-dark .duel-action-toolbar,
body.duel-theme-dark .duel-selected-hand-summary,
body.duel-theme-dark .duel-domain-hand-head,
body.duel-theme-dark .duel-hand-execute-control,
body.duel-theme-dark .duel-beta-feedback-body,
body.duel-theme-dark .duel-auto-latest,
body.duel-theme-dark .duel-auto-empty,
body.duel-theme-dark .duel-card-detail-section,
body.duel-theme-dark .duel-log-entry,
body.duel-theme-dark .duel-custom-item,
body.duel-theme-dark .duel-skin-preview-card,
body.duel-theme-dark .jjk-battle-tabs,
body.duel-theme-dark .jjk-battle-active-surface,
body.duel-theme-dark .jjk-battle-home-card,
body.duel-theme-dark .jjk-battle-info-grid article,
body.duel-theme-dark .online-alpha-section,
body.duel-theme-dark .online-room-card,
body.duel-theme-dark .online-player-grid article,
body.duel-theme-dark .update-modal-card,
body.duel-theme-dark details,
body.duel-theme-dark summary {
  background: #181a20 !important;
  background-image: none !important;
  color: var(--ink);
}

body.duel-theme-dark .panel::before,
body.duel-theme-dark .panel::after,
body.duel-theme-dark .duel-battle-stage::before,
body.duel-theme-dark .duel-battle-stage::after,
body.duel-theme-dark .duel-battle-empty::before,
body.duel-theme-dark .duel-battle-empty::after {
  display: none !important;
  background: none !important;
}

body.duel-theme-dark .duel-resource-bar,
body.duel-theme-dark .duel-score-track,
body.duel-theme-dark .duel-auto-meter {
  background: #2a2d35 !important;
  background-image: none !important;
}

body.duel-theme-dark .duel-resource-bar i,
body.duel-theme-dark .duel-score-track span,
body.duel-theme-dark .duel-auto-meter span {
  background-image: none !important;
}

body.duel-theme-dark .duel-resource-row.hp .duel-resource-bar i,
body.duel-theme-dark .duel-score-track span:last-child {
  background: #d16048 !important;
}

body.duel-theme-dark .duel-resource-row.ce .duel-resource-bar i,
body.duel-theme-dark .duel-score-track span:first-child {
  background: #2dd4bf !important;
}

body.duel-theme-dark .duel-resource-row.stability .duel-resource-bar i {
  background: #7aa2ff !important;
}

body.duel-theme-dark .duel-domain-load .duel-resource-bar i {
  background: #b792ff !important;
}

body.duel-theme-dark .badge,
body.duel-theme-dark .duel-chip,
body.duel-theme-dark .duel-log-filter,
body.duel-theme-dark .duel-selected-order-badge,
body.duel-theme-dark .duel-action-card-type,
body.duel-theme-dark .duel-action-risk,
body.duel-theme-dark .duel-action-cost,
body.duel-theme-dark .duel-summon-preview,
body.duel-theme-dark code,
body.duel-theme-dark pre {
  border-color: rgba(246, 211, 101, 0.20);
  background: #20232b !important;
  background-image: none !important;
  color: var(--ink);
}

body.duel-theme-dark .muted,
body.duel-theme-dark .duel-action-hint,
body.duel-theme-dark .duel-selected-hand-empty,
body.duel-theme-dark .duel-action-message,
body.duel-theme-dark .duel-hand-pool-hint,
body.duel-theme-dark .jjk-battle-section-head p,
body.duel-theme-dark .field span,
body.duel-theme-dark small {
  color: var(--muted) !important;
}

body.duel-theme-dark a {
  color: #8be9dc;
}

body.duel-theme-dark .primary {
  border-color: #2dd4bf;
  background: #12766d !important;
  background-image: none !important;
  color: #f0fdfa;
}

body.duel-theme-dark.duel-card-skin-v224 .duel-hand-card.duel-skin-template,
body.duel-theme-dark .duel-skin-preview-card.duel-skin-template {
  --card-skin-bg: #242118;
}

body.duel-theme-dark.duel-card-skin-v224 .duel-hand-card.duel-skin-special,
body.duel-theme-dark .duel-skin-preview-card.duel-skin-special {
  --card-skin-bg: #351816;
}

body.duel-theme-dark.duel-card-skin-v224 .duel-hand-card.duel-skin-domain,
body.duel-theme-dark .duel-skin-preview-card.duel-skin-domain {
  --card-skin-bg: #231b48;
}

body.duel-theme-dark.duel-card-skin-v224 .duel-hand-card.duel-skin-summon,
body.duel-theme-dark .duel-skin-preview-card.duel-skin-summon {
  --card-skin-bg: #12363c;
}

body.duel-theme-dark.duel-card-skin-v224 .duel-hand-card.duel-skin-mahoraga,
body.duel-theme-dark .duel-skin-preview-card.duel-skin-mahoraga {
  --card-skin-bg: #17140c;
}

body.duel-theme-dark.duel-card-skin-v224 .duel-hand-card.duel-skin-trial,
body.duel-theme-dark .duel-skin-preview-card.duel-skin-trial {
  --card-skin-bg: #27221d;
  --card-skin-text: #f4efe6;
  --card-skin-muted: #c9bfb2;
}

body.duel-theme-dark.duel-card-skin-v224 .duel-hand-card .duel-action-choice::before,
body.duel-theme-dark.duel-card-skin-custom .duel-hand-card .duel-action-choice::before {
  background: rgba(255, 255, 255, 0.07);
  background-image: none !important;
}

body.duel-theme-dark {
  --duel-night-surface: #181a20;
  --duel-night-surface-2: #20232b;
  --duel-night-surface-3: #252935;
  --duel-night-text: #f5efe6;
  --duel-night-muted: #d1c7b8;
  --duel-night-subtle: #a9b2c3;
  --duel-night-line: rgba(246, 211, 101, 0.22);
  --duel-night-line-strong: rgba(45, 212, 191, 0.34);
  --duel-night-danger: #ff9a88;
  --duel-night-warn: #ffd166;
  --duel-night-ok: #7ee7d8;
}

body.duel-theme-dark :where(.duel-action-warning, .duel-action-message, .duel-hand-lock-message, .duel-mahoraga-banner, .duel-hand-pool-hint, .duel-current-choice span, .duel-log li, .duel-log.empty, .duel-result, .result-accumulated, .duel-tactic, .choice-grid button, .instant-combat-card, .online-spectator-topbar, .duel-spectator-stage, .duel-spectator-hand, .duel-spectator-hand-list, .duel-special-grid, .duel-special-row, .duel-custom-list, .duel-custom-card, .duel-custom-item, .duel-custom-card-export, .duel-ai-status, .duel-ai-error, .duel-import-result, .duel-card-detail-grid, .duel-card-detail-section ul, .duel-domain-profile-panel, .duel-domain-profile-card, .duel-domain-profile-result, .duel-domain-profile-details, .duel-domain-core div, .debug-toggle, .ai-free-toggle, .play-mode-control, .play-mode-control label:has(input:checked), .online-sync-section, .online-room-section, .online-battle-section, .online-prepare-section, .online-player-slot, .online-room-meta, .online-room-log, .online-invite-field, .duel-beta-feedback-note textarea) {
  border-color: var(--duel-night-line) !important;
  background: var(--duel-night-surface) !important;
  background-image: none !important;
  color: var(--duel-night-text) !important;
}

body.duel-theme-dark :where(.duel-action-toolbar, .duel-selected-hand-summary, .duel-hand-execute-control, .duel-domain-hand-head, .duel-beta-feedback-panel summary, .duel-beta-feedback-body, .duel-auto-latest, .duel-auto-empty, .duel-residual-log, .duel-round-memo, .duel-replay-meta, .duel-status-effects, .duel-resource-meta, .duel-battle-status, .duel-spectator-top) {
  border-color: var(--duel-night-line) !important;
  background: var(--duel-night-surface-2) !important;
  background-image: none !important;
  color: var(--duel-night-text) !important;
}

body.duel-theme-dark :where(input, select, textarea) {
  border-color: var(--duel-night-line) !important;
  background: #12151c !important;
  color: var(--duel-night-text) !important;
  caret-color: var(--duel-night-ok);
}

body.duel-theme-dark :where(input, textarea)::placeholder {
  color: #8792a5 !important;
}

body.duel-theme-dark :where(option) {
  background: #161922;
  color: var(--duel-night-text);
}

body.duel-theme-dark :where(.duel-action-panel h4, .duel-domain-hand-head strong, .duel-selected-hand-summary strong, .duel-tactic strong, .duel-current-choice strong, .duel-log li span, .duel-result strong, .duel-domain-profile-head h4, .duel-domain-profile-card strong, .duel-domain-core dd, .duel-card-detail-section h5, .duel-card-developer-details dt, .duel-hand-debug dt, .jjk-battle-section-head h3, .online-section-title strong, .field > span, label > span) {
  color: var(--duel-night-text) !important;
}

body.duel-theme-dark :where(.duel-domain-profile-card span, .duel-domain-profile-card p, .duel-domain-profile-card em, .duel-domain-core dt, .duel-card-detail-section li, .duel-card-developer-details dd, .duel-hand-debug dd, .duel-log li p, .duel-auto-latest p, .duel-tactic span, .duel-current-choice span, .result-accumulated span, .online-room-meta, .online-room-log, .online-player-slot span, .duel-spectator-hand .duel-action-effect, .duel-spectator-hand .duel-action-subtitle) {
  color: var(--duel-night-muted) !important;
}

body.duel-theme-dark :where(.duel-chip, .badge, .duel-action-card-type, .duel-action-rarity, .duel-action-risk, .duel-action-cost, .duel-log-filter, .duel-selected-order-badge, .duel-summon-preview b, .duel-skin-preview-card span, .duel-resource-side .duel-chip, .online-room-code, .online-status-pill) {
  border-color: var(--duel-night-line) !important;
  background: var(--duel-night-surface-3) !important;
  background-image: none !important;
  color: var(--duel-night-text) !important;
}

body.duel-theme-dark :where(.duel-action-status.available, .duel-selected-order-badge, .duel-action-status.selected) {
  color: var(--duel-night-ok) !important;
}

body.duel-theme-dark :where(.duel-action-status.blocked, .duel-ai-error, #duelVisualSettingsStatus[data-status="error"]) {
  color: var(--duel-night-danger) !important;
}

body.duel-theme-dark :where(.duel-action-warning, .duel-chip.warning, #duelVisualSettingsStatus[data-status="warning"]) {
  border-color: rgba(255, 209, 102, 0.34) !important;
  color: var(--duel-night-warn) !important;
}

body.duel-theme-dark :where(.duel-action-choice, .duel-hand-detail, .duel-hand-discard-btn, .duel-card-developer-details, .duel-hand-debug) {
  border-color: var(--duel-night-line) !important;
  background: #171a22 !important;
  background-image: none !important;
}

body.duel-theme-dark .duel-action-choice:hover:not(:disabled),
body.duel-theme-dark .duel-action-choice.active,
body.duel-theme-dark .duel-hand-card.active .duel-action-choice,
body.duel-theme-dark .duel-tactic:hover:not(:disabled),
body.duel-theme-dark .choice-grid button:hover {
  border-color: var(--duel-night-line-strong) !important;
  background: #1f2830 !important;
  background-image: none !important;
  box-shadow: 0 0 0 2px rgba(45, 212, 191, 0.14), var(--shadow-sm) !important;
}

body.duel-theme-dark.duel-card-skin-v224 .duel-hand-card.duel-skin-template,
body.duel-theme-dark.duel-card-skin-custom .duel-hand-card.duel-skin-template,
body.duel-theme-dark .duel-skin-preview-card.duel-skin-template {
  --card-skin-bg: #242118;
  --card-skin-border: #bda15d;
  --card-skin-accent: #ffd166;
  --card-skin-text: #fff4df;
  --card-skin-muted: #ded0b6;
  --card-skin-glow: rgba(0, 0, 0, 0.34);
}

body.duel-theme-dark.duel-card-skin-v224 .duel-hand-card.duel-skin-special,
body.duel-theme-dark.duel-card-skin-custom .duel-hand-card.duel-skin-special,
body.duel-theme-dark .duel-skin-preview-card.duel-skin-special {
  --card-skin-bg: #351816;
  --card-skin-border: #ee8a75;
  --card-skin-accent: #ffd166;
  --card-skin-text: #fff2e4;
  --card-skin-muted: #f0c5b4;
  --card-skin-glow: rgba(0, 0, 0, 0.36);
}

body.duel-theme-dark.duel-card-skin-v224 .duel-hand-card.duel-skin-domain,
body.duel-theme-dark.duel-card-skin-custom .duel-hand-card.duel-skin-domain,
body.duel-theme-dark .duel-skin-preview-card.duel-skin-domain {
  --card-skin-bg: #231b48;
  --card-skin-border: #b794f4;
  --card-skin-accent: #f6d365;
  --card-skin-text: #fbf7ff;
  --card-skin-muted: #dfd6ff;
  --card-skin-glow: rgba(0, 0, 0, 0.38);
}

body.duel-theme-dark.duel-card-skin-v224 .duel-hand-card.duel-skin-summon,
body.duel-theme-dark.duel-card-skin-custom .duel-hand-card.duel-skin-summon,
body.duel-theme-dark .duel-skin-preview-card.duel-skin-summon {
  --card-skin-bg: #12363c;
  --card-skin-border: #5eead4;
  --card-skin-accent: #99f6e4;
  --card-skin-text: #efffff;
  --card-skin-muted: #c4eee8;
  --card-skin-glow: rgba(0, 0, 0, 0.34);
}

body.duel-theme-dark.duel-card-skin-v224 .duel-hand-card.duel-skin-mahoraga,
body.duel-theme-dark.duel-card-skin-custom .duel-hand-card.duel-skin-mahoraga,
body.duel-theme-dark .duel-skin-preview-card.duel-skin-mahoraga {
  --card-skin-bg: #17140c;
  --card-skin-border: #f6d365;
  --card-skin-accent: #ffe8a3;
  --card-skin-text: #fff7cc;
  --card-skin-muted: #ead79b;
  --card-skin-glow: rgba(0, 0, 0, 0.44);
}

body.duel-theme-dark.duel-card-skin-v224 .duel-hand-card.duel-skin-trial,
body.duel-theme-dark.duel-card-skin-custom .duel-hand-card.duel-skin-trial,
body.duel-theme-dark .duel-skin-preview-card.duel-skin-trial {
  --card-skin-bg: #27221d;
  --card-skin-border: #d7c7ad;
  --card-skin-accent: #f6d365;
  --card-skin-text: #f8f0e6;
  --card-skin-muted: #d6c9ba;
  --card-skin-glow: rgba(0, 0, 0, 0.34);
}

body.duel-theme-dark.duel-card-skin-v224 .duel-hand-card .duel-action-choice,
body.duel-theme-dark.duel-card-skin-custom .duel-hand-card .duel-action-choice,
body.duel-theme-dark.duel-card-skin-v224 .duel-skin-preview-card,
body.duel-theme-dark.duel-card-skin-custom .duel-skin-preview-card {
  background: color-mix(in srgb, var(--card-skin-bg) 82%, #11151b) !important;
  background-image: none !important;
}

.duel-action-panel.deal-animation .duel-hand-card.deal-in.deal-variant-2 {
  animation-name: duelCardDealSlide;
}

.duel-action-panel.deal-animation .duel-hand-card.deal-in.deal-variant-3 {
  animation-name: duelCardDealFlip;
}

.duel-action-panel.deal-animation .duel-hand-card.deal-in.deal-variant-4 {
  animation-name: duelCardDealSnap;
}

.duel-action-panel.play-animation .duel-hand-card.play-out.play-variant-2 .duel-action-choice {
  animation-name: duelCardPlayArc;
}

.duel-action-panel.play-animation .duel-hand-card.play-out.play-variant-3 .duel-action-choice {
  animation-name: duelCardPlayBurst;
}

.duel-action-panel.play-animation .duel-hand-card.play-out.play-variant-4 .duel-action-choice {
  animation-name: duelCardPlayCut;
}

.duel-action-panel.lock-animation .duel-hand-card.lock-out.lock-variant-2 .duel-action-choice {
  animation-name: duelCardLockStamp;
}

.duel-action-panel.lock-animation .duel-hand-card.lock-out.lock-variant-3 .duel-action-choice {
  animation-name: duelCardLockBind;
}

.duel-action-panel.lock-animation .duel-hand-card.lock-out.lock-variant-4 .duel-action-choice {
  animation-name: duelCardLockHold;
}

.duel-action-panel.play-animation .duel-hand-card.duel-domain-expand-card.domain-expand-cast .duel-action-choice {
  animation: duelDomainExpandCast 980ms cubic-bezier(0.16, 0.86, 0.2, 1) both;
  animation-delay: calc(var(--play-index, 0) * 48ms);
}

.duel-action-panel.play-animation .duel-hand-card.duel-domain-expand-card.domain-expand-cast .duel-action-choice::after {
  border: 2px solid color-mix(in srgb, var(--card-skin-accent, #f6d365) 82%, transparent);
  background: transparent;
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--card-skin-accent, #f6d365) 46%, transparent),
    0 0 0 0 color-mix(in srgb, var(--card-skin-accent, #f6d365) 36%, transparent);
  animation: duelDomainExpandBarrier 980ms ease both;
  animation-delay: calc(var(--play-index, 0) * 48ms);
}

@keyframes duelCardDealSlide {
  0% {
    opacity: 0;
    transform: translateX(-22px) translateY(10px) rotateZ(-2deg) scale(0.97);
    filter: blur(1.5px);
  }
  62% {
    opacity: 1;
    transform: translateX(3px) translateY(-2px) rotateZ(0.4deg) scale(1.012);
    filter: blur(0);
  }
  100% {
    opacity: 1;
    transform: none;
    filter: blur(0);
  }
}

@keyframes duelCardDealFlip {
  0% {
    opacity: 0;
    transform: perspective(700px) rotateY(-22deg) translateY(14px) scale(0.96);
    filter: brightness(0.8);
  }
  58% {
    opacity: 1;
    transform: perspective(700px) rotateY(4deg) translateY(-3px) scale(1.015);
    filter: brightness(1.06);
  }
  100% {
    opacity: 1;
    transform: perspective(700px) rotateY(0) translateY(0) scale(1);
    filter: brightness(1);
  }
}

@keyframes duelCardDealSnap {
  0% {
    opacity: 0;
    transform: translateY(-12px) scale(0.92);
    filter: saturate(0.8);
  }
  48% {
    opacity: 1;
    transform: translateY(2px) scale(1.028);
    filter: saturate(1.18);
  }
  100% {
    opacity: 1;
    transform: none;
    filter: saturate(1);
  }
}

@keyframes duelCardPlayArc {
  0% {
    transform: translateY(0) rotateZ(0) scale(1);
  }
  42% {
    transform: translateY(-11px) rotateZ(1.6deg) scale(1.026);
    filter: brightness(1.14);
  }
  100% {
    transform: translateY(-1px) rotateZ(0.2deg) scale(1.006);
    filter: brightness(1.04);
  }
}

@keyframes duelCardPlayBurst {
  0% {
    transform: scale(1);
    filter: brightness(1) contrast(1);
  }
  36% {
    transform: scale(1.042);
    filter: brightness(1.2) contrast(1.08);
  }
  100% {
    transform: scale(1.008);
    filter: brightness(1.05) contrast(1);
  }
}

@keyframes duelCardPlayCut {
  0% {
    transform: translateX(0) translateY(0) skewX(0deg);
  }
  32% {
    transform: translateX(5px) translateY(-7px) skewX(-2deg);
    filter: brightness(1.16);
  }
  100% {
    transform: translateX(0) translateY(-2px) skewX(0deg);
    filter: brightness(1.04);
  }
}

@keyframes duelCardLockStamp {
  0% {
    transform: translateY(0) scale(1);
  }
  28% {
    transform: translateY(-6px) scale(1.018);
  }
  52% {
    transform: translateY(1px) scale(0.996);
  }
  100% {
    transform: none;
  }
}

@keyframes duelCardLockBind {
  0% {
    transform: scale(1);
    filter: saturate(1);
  }
  44% {
    transform: scale(1.018);
    filter: saturate(1.22);
  }
  100% {
    transform: scale(1);
    filter: saturate(1.05);
  }
}

@keyframes duelCardLockHold {
  0% {
    transform: translateY(0);
  }
  35% {
    transform: translateY(-3px);
  }
  70% {
    transform: translateY(1px);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes duelDomainExpandCast {
  0% {
    transform: translateY(0) scale(1);
    filter: brightness(1) saturate(1);
  }
  34% {
    transform: translateY(-10px) scale(1.038);
    filter: brightness(1.22) saturate(1.2);
  }
  72% {
    transform: translateY(-3px) scale(1.018);
    filter: brightness(1.12) saturate(1.12);
  }
  100% {
    transform: translateY(0) scale(1.006);
    filter: brightness(1.05) saturate(1.06);
  }
}

@keyframes duelDomainExpandBarrier {
  0% {
    opacity: 0;
    transform: scale(0.86);
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--card-skin-accent, #f6d365) 0%, transparent);
  }
  28% {
    opacity: 0.95;
    transform: scale(1);
    box-shadow: 0 0 0 5px color-mix(in srgb, var(--card-skin-accent, #f6d365) 22%, transparent);
  }
  64% {
    opacity: 0.62;
    transform: scale(1.035);
    box-shadow: 0 0 0 12px color-mix(in srgb, var(--card-skin-accent, #f6d365) 10%, transparent);
  }
  100% {
    opacity: 0;
    transform: scale(1.06);
    box-shadow: 0 0 0 18px transparent;
  }
}

@media (prefers-reduced-motion: reduce) {
  .duel-action-panel.deal-animation .duel-hand-card.deal-in,
  .duel-action-panel.deal-animation .duel-hand-card.deal-in .duel-action-choice::before,
  .duel-action-panel.play-animation .duel-hand-card.play-out .duel-action-choice,
  .duel-action-panel.play-animation .duel-hand-card.play-out .duel-action-choice::after,
  .duel-action-panel.lock-animation .duel-hand-card.lock-out .duel-action-choice,
  .duel-action-panel.lock-animation .duel-hand-card.lock-out .duel-action-choice::after,
  .duel-action-panel.play-animation .duel-hand-card.duel-domain-expand-card.domain-expand-cast .duel-action-choice,
  .duel-action-panel.play-animation .duel-hand-card.duel-domain-expand-card.domain-expand-cast .duel-action-choice::after,
  .duel-hand-card.active .duel-action-choice,
  .duel-floating-combat-text {
    animation: none !important;
  }

  .duel-action-choice:hover:not(:disabled) {
    transform: none;
  }
}

@media (max-width: 760px) {
  .duel-visual-settings-grid,
  .duel-skin-preview-grid {
    grid-template-columns: 1fr;
  }

  .update-modal-card {
    padding: 16px;
  }
}
