/* Native HTML replacements for the original React dialog and hidden state. */
[hidden] { display: none !important; }
dialog.access-dialog {
  position: fixed;
  inset: 0;
  margin: auto;
  width: calc(100% - 2rem);
  max-width: 512px;
  max-height: calc(100dvh - 2rem);
  overflow: auto;
  color: var(--foreground);
  background: var(--background);
  border: 1px solid var(--border);
  box-shadow: 0 20px 60px #0003;
}
dialog.access-dialog[open] { display: grid; gap: 16px; animation: enter .2s ease-out; }
dialog.access-dialog::backdrop { background: rgb(0 0 0 / 50%); }
.access-dialog .dialog-heading { margin: 0; font-weight: 600; }
.access-dialog .dialog-copy { margin: 0; }
.dialog-close { position: absolute; top: 16px; right: 16px; border: 0; padding: 0; background: none; opacity: .7; }
.dialog-close:hover { opacity: 1; }
.dialog-close svg { width: 16px; height: 16px; }
.platforms a { color: #5f9620; text-decoration: underline; text-underline-offset: 3px; }
/* Each <br>-separated line of the hero headline must stay on one line. */
.hero h1 { font-size: clamp(52px, 5.8vw, 88px); white-space: nowrap; }
@media (max-width: 1050px) { .hero h1 { font-size: 64px; } }
@media (max-width: 760px) { .hero h1 { font-size: clamp(36px, 11vw, 64px); } }
/* The icon PNGs are black; the mask lets background-color set their colour. */
.step-icon { display: block; width: 30px; height: 30px; background-color: #52772f; -webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat; }
.icon-scan { --icon: url(ic_scan.png); }
.icon-points { --icon: url(ic_points_history.png); }
.icon-star { --icon: url(ic_about_rate.png); }
.brand { width: 124px; }
.footer .brand { width: 98px; }
.footer p { margin-top: 4px; }
@media (min-width: 761px) { .footer .brand + p { margin-left: -20px; } }
@media (max-width: 1050px) { .brand { width: 112px; } }
@media (max-width: 760px) { .nav .brand { width: 108px; } }
@media (prefers-reduced-motion: reduce) { dialog.access-dialog[open] { animation: none; } }
.partner > a { position: relative; z-index: 1; }
.partner .partner-dots { pointer-events: none; }
