/* Quiet single-edge controls. Decorative layers keep focus rings and key hints intact. */
html body :is(#game-container #main-menu, #cb-market-hud, #combat-screen, .viewport-overlay, .modal-overlay, #cb-first-play) button:not(.cb-home-opponent-arrow,.cb-roster-option,.challenge-dot,.cb-stat-shortcut) {
  isolation:isolate;border-color:transparent!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;text-shadow:none!important;
}
html body :is(#game-container #main-menu, #cb-market-hud, .viewport-overlay, .modal-overlay, #cb-first-play) button:not(.cb-home-opponent-arrow,.cb-roster-option,.challenge-dot,.cb-starter-offer) {position:relative}
html body :is(#game-container #main-menu, #cb-market-hud, #combat-screen, .viewport-overlay, .modal-overlay, #cb-first-play) button:not(.cb-home-opponent-arrow,.cb-roster-option,.challenge-dot,.cb-stat-shortcut)::before,
html body :is(#game-container #main-menu, #cb-market-hud, #combat-screen, .viewport-overlay, .modal-overlay, #cb-first-play) button:not(.cb-home-opponent-arrow,.cb-roster-option,.challenge-dot,.cb-stat-shortcut)::after {
  content:"";position:absolute;inset:0;pointer-events:none;
}
html body :is(#game-container #main-menu, #cb-market-hud, #combat-screen, .viewport-overlay, .modal-overlay, #cb-first-play) button:not(.cb-home-opponent-arrow,.cb-roster-option,.challenge-dot,.cb-stat-shortcut)::before {
  z-index:-2;background:currentColor;
  clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);
  opacity:.5;transition:opacity 120ms cubic-bezier(.23,1,.32,1);
}
html body :is(#game-container #main-menu, #cb-market-hud, #combat-screen, .viewport-overlay, .modal-overlay, #cb-first-play) button:not(.cb-home-opponent-arrow,.cb-roster-option,.challenge-dot,.cb-stat-shortcut)::after {
  z-index:-1;inset:2px;background:#0b1b25;
  clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,0 100%);
}
html body #game-container #main-menu :is(.classic-mode,.classic-dock button,.shop-btn,.cb-shell-tabs button,.cb-shop-tabs button){color:#8cf4ff!important}
html body #game-container #main-menu :is(button.active,button[aria-pressed="true"],.arena-quick-fight,.cb-starter-offer,#shop-skin-action-btn){color:#ffe18b!important}
html body #game-container #main-menu #preview-mute[aria-pressed="true"]{color:#ff9eac!important}
html body :is(#game-container #main-menu, #cb-market-hud, #combat-screen, .viewport-overlay, .modal-overlay, #cb-first-play) button:not(.cb-home-opponent-arrow,.cb-roster-option,.challenge-dot,.cb-stat-shortcut):is(:active,:focus-visible,[aria-pressed="true"])::before{opacity:1}
html body :is(#game-container #main-menu, #cb-market-hud, #combat-screen, .viewport-overlay, .modal-overlay, #cb-first-play) button:focus-visible{outline:3px solid #fff!important;outline-offset:3px}
html body #cb-market-hud .cb-market-controls{left:36px;width:648px;gap:7px}
/* Combat feedback is immediate, including keyboard input; repeated hits never move controls. */
html body #cb-market-hud .cb-market-controls button{animation:none!important;transform:none!important}
html body #cb-market-hud .cb-market-controls button::before{transition:none}
html body #cb-market-hud .cb-market-controls button:is(.cb-strike,.cb-queued)::before{opacity:1;background:#fff}
html body #cb-market-hud .cb-market-controls button[aria-pressed="true"]{color:#ffe18b}
html body #cb-market-hud .cb-market-controls button:disabled{opacity:.65}
@media(hover:hover) and (pointer:fine){
  html body :is(#game-container #main-menu,.viewport-overlay,#cb-first-play) button:not(.cb-home-opponent-arrow,.cb-roster-option,.challenge-dot,.cb-stat-shortcut):enabled:hover::before{opacity:1}
}
@media(prefers-reduced-motion:reduce){
  html body :is(#game-container #main-menu,#cb-market-hud,.viewport-overlay,#cb-first-play) button::before{transition:none}
}

/* Light labels are required because filled primary actions now use dark HUD plates. */
html body :is(.viewport-overlay,.modal-overlay,#cb-first-play) button{color:#8cf4ff!important}
html body :is(.viewport-overlay,.modal-overlay,#cb-first-play) :is(.cb-primary,.welcome-play,.dialog-btn.confirm){color:#ffe18b!important}
html body :is(.viewport-overlay,.modal-overlay) .dialog-btn.cancel{color:#ff9eac!important}

/* The two home calls to action have smaller paint without sacrificing phone hit areas. */
html body #game-container #main-menu #console-content-main .cb-home-opponent{width:160px}
/* Eye-catching, active, animated Quick Fight & Starter Pack buttons */
@keyframes quickFightActiveBeacon {
  0% {
    transform: scale(1);
    box-shadow: 0 0 16px rgba(0, 255, 65, 0.75), 0 0 32px rgba(255, 204, 0, 0.4), inset 0 0 16px rgba(0, 255, 65, 0.35);
  }
  50% {
    transform: scale(1.06);
    box-shadow: 0 0 32px rgba(0, 255, 65, 1), 0 0 60px rgba(255, 204, 0, 0.75), inset 0 0 24px rgba(0, 255, 65, 0.6);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 16px rgba(0, 255, 65, 0.75), 0 0 32px rgba(255, 204, 0, 0.4), inset 0 0 16px rgba(0, 255, 65, 0.35);
  }
}
@keyframes quickFightAbsoluteBeacon {
  0% {
    transform: translate(-50%, -50%) scale(1);
    box-shadow: 0 0 18px rgba(0, 255, 65, 0.75), 0 0 34px rgba(255, 204, 0, 0.45), inset 0 0 16px rgba(0, 255, 65, 0.35);
  }
  50% {
    transform: translate(-50%, -50%) scale(1.06);
    box-shadow: 0 0 34px rgba(0, 255, 65, 1), 0 0 65px rgba(255, 204, 0, 0.8), inset 0 0 25px rgba(0, 255, 65, 0.6);
  }
  100% {
    transform: translate(-50%, -50%) scale(1);
    box-shadow: 0 0 18px rgba(0, 255, 65, 0.75), 0 0 34px rgba(255, 204, 0, 0.45), inset 0 0 16px rgba(0, 255, 65, 0.35);
  }
}
@keyframes starterOfferFlash {
  0% {
    transform: rotate(45deg) scale(1);
    filter: drop-shadow(0 0 8px rgba(255, 204, 0, 0.7)) drop-shadow(0 0 16px rgba(0, 255, 65, 0.4));
  }
  50% {
    transform: rotate(45deg) scale(1.07);
    filter: drop-shadow(0 0 22px rgba(255, 204, 0, 1)) drop-shadow(0 0 36px rgba(0, 255, 65, 0.8)) brightness(1.25);
  }
  100% {
    transform: rotate(45deg) scale(1);
    filter: drop-shadow(0 0 8px rgba(255, 204, 0, 0.7)) drop-shadow(0 0 16px rgba(0, 255, 65, 0.4));
  }
}
@keyframes flashyTopStarter {
  0% {
    transform: scale(1);
    box-shadow: 0 0 5px #00ff41, 0 0 10px rgba(255, 204, 0, 0.5);
  }
  50% {
    transform: scale(1.1);
    box-shadow: 0 0 18px #00ff41, 0 0 28px #ffcc00;
    border-color: #ffcc00;
    color: #fff;
    text-shadow: 0 0 10px #ffcc00;
    background: rgba(0, 255, 65, 0.45);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 5px #00ff41, 0 0 10px rgba(255, 204, 0, 0.5);
  }
}

html body #game-container #main-menu #console-content-main .arena-quick-fight {
  min-height: 94px;
  border-radius: 60px !important;
  border: 2.5px solid #00ff41 !important;
  background: radial-gradient(circle, #083321 0%, #03170e 65%, #010a06 100%) !important;
  color: #00ff41 !important;
  text-shadow: 0 0 12px #00ff41 !important;
  font-weight: 900 !important;
  animation: quickFightAbsoluteBeacon 1.8s ease-in-out infinite !important;
  cursor: pointer;
}
html body #game-container #main-menu #console-content-main .arena-quick-fight span {
  color: #00ff41 !important;
  text-shadow: 0 0 12px #00ff41 !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  letter-spacing: 0.05em !important;
}
html body #game-container #main-menu #console-content-main .arena-quick-fight small {
  color: #ffe18b !important;
  text-shadow: 0 0 10px rgba(255, 225, 139, 0.9) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
}
html body #game-container #main-menu #console-content-main .arena-quick-fight::before {
  inset: -3px;
  border-radius: 64px;
  border: 1px solid rgba(0, 255, 65, 0.4);
  background: transparent;
  opacity: 1;
}
html body #game-container #main-menu #console-content-main .arena-quick-fight::after {
  display: none;
}
html body #game-container #main-menu #console-content-main .cb-home-opponent .arena-quick-fight {
  animation: quickFightActiveBeacon 1.8s ease-in-out infinite !important;
}
html body #game-container #main-menu #console-content-main .cb-starter-offer {
  position: absolute;
  top: 246px;
  right: 24px;
  transform: rotate(45deg);
  width: 130px;
  min-width: 0 !important;
  min-height: 35px !important;
  height: 35px;
  margin: 0;
  padding: 4px 8px;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 4px;
  white-space: nowrap;
  flex-shrink: 0;
  font-size: 11px;
  line-height: 1.2;
  border-radius: 6px !important;
  color: #0b141d !important;
  animation: starterOfferFlash 2s ease-in-out infinite !important;
  text-shadow: none !important;
  background: linear-gradient(135deg, rgba(255, 204, 0, 0.95) 0%, rgba(255, 102, 0, 0.9) 50%, rgba(255, 230, 100, 0.95) 100%) !important;
  border: 1.5px solid #ffffff !important;
  box-shadow: 0 0 16px rgba(255, 204, 0, 0.85), 0 0 30px rgba(255, 140, 0, 0.5) !important;
  cursor: pointer;
  z-index: 10;
}
html body #game-container #main-menu #console-content-main .cb-starter-offer::before {
  display: none;
}
html body #game-container #main-menu #console-content-main .cb-starter-offer::after {
  display: none;
}
html body #game-container #main-menu #console-content-main .cb-starter-offer span {
  font-size: 10px;
  font-weight: 900;
  color: #0b141d !important;
  text-shadow: none !important;
  letter-spacing: 0.5px;
}
html body #game-container #main-menu #console-content-main .cb-starter-offer small {
  font-size: 11px;
  font-weight: 900;
  color: #7a3e00 !important;
  text-shadow: none !important;
}
#btn-top-starter-pack {
  animation: flashyTopStarter 1.6s ease-in-out infinite !important;
  font-weight: 900 !important;
  letter-spacing: 0.5px !important;
}
/* Utility icons stay still; brief press feedback is enough. */
html body #game-container #main-menu #console-content-main .classic-dock svg{animation:none}
