:root {
  color-scheme: light;
  --console-primary: #10c7ca;
  --console-secondary: #079ba8;
  --console-highlight: #66f5ea;
  --console-edge: #075967;
  --console-rim: rgba(4,122,138,.64);
  --console-glint: rgba(191,255,249,.62);
  --console-surface-highlight: #7cfff1;
  --console-surface-mid: #32e3d8;
  --console-mark: #087b89;
  --console-accent-ring: rgba(22,232,231,.68);
  --console-accent-shadow: rgba(110,255,247,.48);
  --console-dpad-arrow: #89faff;
  --page-center: #176b77;
  --page-mid: #0a4555;
  --page-edge: #062e3d;
  --dark: #102734;
  --dark-secondary: #203c4b;
  --screen-bg: #b5d989;
  --screen-text: #203f30;
  --screen-mid: #66834d;
  --button-green: #b9f35a;
  --button-green-shadow: #4f8928;
  --shell-ink: #103747;
  font-family: "Arial Rounded MT Bold", "Trebuchet MS", system-ui, sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }

html {
  min-width: 280px;
  min-height: 100%;
  background: var(--page-edge);
}

body {
  display: grid;
  min-width: 280px;
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0;
  padding: max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 50% 38%, var(--page-center) 0, var(--page-mid) 47%, var(--page-edge) 100%);
  color: var(--shell-ink);
  -webkit-tap-highlight-color: transparent;
}

button {
  color: inherit;
  font: inherit;
  user-select: none;
  -webkit-user-select: none;
}

button:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
}

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