:root {
  --ink: #17221e;
  --muted-ink: #5c655f;
  --paper: #f2ecd9;
  --paper-light: #fffdf3;
  --paper-dark: #d9cfb6;
  --dispatch: #e7b13c;
  --dispatch-dark: #b66f24;
  --route: #e24e3f;
  --road: #59635e;
  --curb: #d8d3c3;
  --green: #2d7757;
  --blue: #347591;
  --shadow: rgba(15, 22, 18, .32);
  --line: rgba(23, 34, 30, .24);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: #17221e;
  font-synthesis: none;
}

* { box-sizing: border-box; }

html, body { width: 100%; height: 100%; margin: 0; overflow: hidden; }

body { background: var(--ink); user-select: none; }

button, input { font: inherit; }

button { color: inherit; }

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

kbd {
  display: inline-flex;
  min-width: 24px;
  min-height: 22px;
  align-items: center;
  justify-content: center;
  padding: 2px 6px;
  border: 1px solid currentColor;
  border-bottom-width: 3px;
  background: rgba(255,255,255,.13);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

h1, h2, h3, p { margin-top: 0; }

button { border: 0; cursor: pointer; }

.hidden { display: none !important; }

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

.eyebrow {
  display: block;
  margin-bottom: 6px;
  color: var(--muted-ink);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .18em;
}

#size-warning { display: none; }

@media (max-width: 1099px), (max-height: 649px) {
  #game-shell { display: none; }
  #size-warning {
    display: flex;
    position: fixed;
    inset: 0;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 12px;
    background: var(--ink);
    color: var(--paper);
    text-align: center;
  }
  #size-warning strong { color: var(--dispatch); font-size: 42px; letter-spacing: -.04em; }
  #size-warning span { font-size: 18px; }
  #size-warning small { color: #95a299; letter-spacing: .12em; }
}
