@font-face {
  font-family: 'Fredoka';
  src: url('/vendor/fonts/fredoka-latin-400-normal.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Fredoka';
  src: url('/vendor/fonts/fredoka-latin-500-normal.woff2') format('woff2');
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: 'Fredoka';
  src: url('/vendor/fonts/fredoka-latin-600-normal.woff2') format('woff2');
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: 'Fredoka';
  src: url('/vendor/fonts/fredoka-latin-700-normal.woff2') format('woff2');
  font-weight: 700;
  font-display: swap;
}

:root {
  --font: 'Fredoka', 'Arial Rounded MT Bold', 'Nunito', system-ui, sans-serif;
  --ink: #3a2618;
  --ink-soft: #7a5a44;
  --cream: #fff8ec;
  --paper: #fffdf8;
  --line: #ecdcc4;
  --tomato: #e8322b;
  --tomato-deep: #b81f19;
  --mustard: #ffc531;
  --mustard-deep: #d38a06;
  --lettuce: #5fb236;
  --lettuce-deep: #3a8a22;
  --sky: #79c3f0;
  --money: #2f9e44;
  --pop: 0 5px 0 rgba(58, 38, 24, 0.22), 0 12px 28px rgba(58, 38, 24, 0.22);
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  height: 100%;
  font-family: var(--font);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
}

button {
  font: inherit;
  color: inherit;
}

[hidden] {
  display: none !important;
}

/* chunky sticker-like button */
.btn {
  appearance: none;
  border: 3px solid var(--ink);
  border-radius: 999px;
  background: var(--paper);
  box-shadow: 0 5px 0 var(--ink);
  padding: 0.7em 1.5em;
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: transform 0.08s, box-shadow 0.08s, filter 0.15s;
  touch-action: manipulation;
  user-select: none;
}
.btn:active,
.btn.pressed {
  transform: translateY(4px);
  box-shadow: 0 1px 0 var(--ink);
}
.btn.red {
  background: var(--tomato);
  color: #fff;
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.18);
}
.btn.green {
  background: var(--lettuce);
  color: #fff;
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.18);
}
.btn.yellow {
  background: var(--mustard);
}
.btn:disabled {
  opacity: 0.45;
  cursor: default;
}

.code {
  font-weight: 700;
  letter-spacing: 0.12em;
}

svg.ico {
  display: block;
  flex: none;
  overflow: visible;
}
