/* Scheme F: one local, arrow-only font. Existing text and DOM stay intact. */
@font-face {
  font-family: "AI Pixel Arrows";
  src: url('/assets/pixel-arrows-v1.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+2039-203A, U+2190-2193, U+2197-2198, U+2303-2304;
}

.button .button-arrow, .button > b {
  color: inherit; background: transparent; box-shadow: none;
  border-radius: 0; font-size: 24px; line-height: 1; font-weight: 400;
}
.contest-entry-button:hover .button-arrow { box-shadow: none; }
.home-entry-button span[aria-hidden], .entry-button-dark > b { color: #ffdc19; }
.home-entry-button span[aria-hidden] { font-size: 20px; line-height: 1; }
.entry-button > b { background: transparent; border-radius: 0; font-size: 20px; }
.carousel-arrow { border-radius: 7px; font-size: 16px; }
.carousel-arrow:hover, .carousel-arrow:focus-visible { color: #111; background: #ffdc19; }

/* Native selects retain their keyboard and mobile picker behavior. */
select:not([multiple]):not([size]), select[size="1"] {
  appearance: none; -webkit-appearance: none;
  padding-right: 34px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23171717' d='M2 5h3v2h2v2h2V7h2V5h3v3h-2v2h-2v2H6v-2H4V8H2z'/%3E%3C/svg%3E");
  background-position: right 11px center; background-size: 14px 14px;
  background-repeat: no-repeat;
}
details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }
details > summary::after { content: '⌄'; margin-left: 7px; font-family: 'AI Pixel Arrows'; }
details[open] > summary::after { content: '⌃'; }

[data-prev-page]::before, [data-notice-prev]::before, [data-entry-previous]::before {
  content: '←'; margin-right: 6px; font-family: 'AI Pixel Arrows';
}
[data-next-page]::after, [data-notice-next]::after {
  content: '→'; margin-left: 6px; font-family: 'AI Pixel Arrows';
}
:is(a,button,summary):focus-visible { outline: 2px solid #111; outline-offset: 3px; box-shadow: 3px 3px 0 #ffdc19; }
button:disabled, [aria-disabled="true"] { cursor: not-allowed; }
.pagination button:disabled, .notice-pagination button:disabled { opacity: .45; }
@media (forced-colors: active) {
  select:not([multiple]):not([size]), select[size="1"] { appearance: auto; background-image: none; }
}
@media (prefers-reduced-motion: reduce) {
  .button-arrow, .carousel-arrow { transition: none; }
  .contest-entry-button:hover .button-arrow { transform: none; }
}
