@font-face {
  font-family: Inter;
  src: url('/assets/fonts/Inter-Regular.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: Inter;
  src: url('/assets/fonts/Inter-Medium.woff2') format('woff2');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: Inter;
  src: url('/assets/fonts/Inter-SemiBold.woff2') format('woff2');
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
}

@font-face {
  font-family: Inter;
  src: url('/assets/fonts/Inter-Bold.woff2') format('woff2');
  font-style: normal;
  font-weight: 700 800;
  font-display: swap;
}

@font-face {
  font-family: Inter;
  src: url('/assets/fonts/Inter-ExtraBold.woff2') format('woff2');
  font-style: normal;
  font-weight: 800 900;
  font-display: swap;
}

html.platform-desktop,
html.platform-desktop body {
  min-width: 1180px !important;
}

html.platform-desktop .desktop-only {
  display: block !important;
}

html.platform-desktop .mobile-only {
  display: none !important;
}

html.platform-mobile {
  background: #e9ecea;
}

html.platform-mobile body {
  width: 100%;
  max-width: 430px;
  min-width: 0 !important;
  margin: 0 auto;
  box-shadow: 0 0 34px rgba(20, 42, 26, 0.12);
}

html.platform-mobile .desktop-only {
  display: none !important;
}

html.platform-mobile .mobile-only {
  display: block !important;
}

html.platform-mobile .bottom-nav {
  right: auto !important;
  left: 50% !important;
  width: min(100%, 430px);
  transform: translateX(-50%);
}

button,
a,
label.bank-card,
label.m-bank,
label.horse-choice,
label.m-horse-row,
.chip,
.m-chip,
.m-toggle,
.race-select-list > div {
  cursor: pointer !important;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible,
[role='button']:focus-visible {
  outline: 3px solid rgba(52, 120, 246, 0.32);
  outline-offset: 2px;
}

.atgoyum-toast-region {
  position: fixed;
  z-index: 10010;
  right: 18px;
  bottom: 18px;
  width: min(360px, calc(100vw - 24px));
  display: grid;
  gap: 8px;
  pointer-events: none;
}

html.platform-mobile .atgoyum-toast-region {
  right: 50%;
  bottom: 82px;
  transform: translateX(50%);
}

.atgoyum-toast {
  border: 1px solid #cbe5d1;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 42px rgba(18, 43, 26, 0.18);
  padding: 12px 14px;
  color: #202020;
  font: 600 12px/1.45 Inter, 'Segoe UI', Arial, sans-serif;
  animation: atgoyum-toast-in 180ms ease both;
}

.atgoyum-toast[data-tone='error'] {
  border-color: #ffd0cd;
  color: #b93630;
}

.atgoyum-toast[data-tone='info'] {
  border-color: #d7e5ff;
  color: #225ebd;
}

@keyframes atgoyum-toast-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.atgoyum-dialog-backdrop {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(8, 22, 12, 0.52);
  backdrop-filter: blur(5px);
}

.atgoyum-dialog {
  position: relative;
  width: min(430px, 100%);
  max-height: min(690px, calc(100vh - 36px));
  overflow: auto;
  border: 1px solid #dfe5e1;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(7, 28, 14, 0.26);
  padding: 26px;
  color: #202020;
  font-family: Inter, 'Segoe UI', Arial, sans-serif;
}

.atgoyum-dialog__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 10px;
  background: #f1f4f2;
  color: #535a55;
  font-size: 20px;
}

.atgoyum-dialog h2 {
  margin: 0 38px 8px 0;
  font-size: 22px;
  line-height: 1.2;
}

.atgoyum-dialog p {
  margin: 0 0 18px;
  color: #6f7672;
  font-size: 12px;
  line-height: 1.55;
}

.atgoyum-dialog__summary {
  display: grid;
  gap: 8px;
  margin: 0 0 17px;
  border-radius: 12px;
  background: #f5f8f6;
  padding: 12px;
  font-size: 12px;
}

.atgoyum-dialog__summary > span {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.atgoyum-dialog label {
  display: grid;
  gap: 7px;
  margin: 0 0 13px;
  color: #454b47;
  font-size: 11px;
  font-weight: 700;
}

.atgoyum-dialog input {
  width: 100%;
  height: 46px;
  border: 1px solid #d5ddd7;
  border-radius: 10px;
  padding: 0 12px;
  color: #202020;
  font-size: 15px;
  outline: 0;
}

.atgoyum-dialog input[data-otp] {
  letter-spacing: 10px;
  text-align: center;
  font-size: 20px;
  font-weight: 800;
}

.atgoyum-dialog__actions {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 9px;
  margin-top: 16px;
}

.atgoyum-dialog__actions button {
  min-height: 42px;
  border: 1px solid #d6ded8;
  border-radius: 10px;
  background: #fff;
  color: #303632;
  font-weight: 750;
}

.atgoyum-dialog__actions button[data-primary] {
  border-color: #178f34;
  background: #178f34;
  color: #fff;
}

.atgoyum-dialog__actions button:disabled {
  opacity: 0.48;
  cursor: not-allowed !important;
}

.atgoyum-field-error {
  min-height: 17px;
  color: #c9443e !important;
  font-size: 10px !important;
}

.atgoyum-hidden-by-filter {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
