@font-face {
  font-family: "Fraunces";
  src: url("/assets/fraunces-397b623a.woff2") format("woff2");
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Newsreader";
  src: url("/assets/newsreader-4b499f36.woff2") format("woff2");
  font-weight: 400 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Newsreader";
  src: url("/assets/newsreader-italic-4de64287.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

:root {
  --paper: #F4EFE3;
  --paper-deep: #ECE4D2;
  --ink: #23201A;
  --ink-soft: #6B6255;
  --ink-yes: #2E6B4F;
  --ink-no: #9E3B32;
  --ink-depends: #8C6020;
  --rule: #D8CEB9;
  --display: "Fraunces", Georgia, serif;
  --text: "Newsreader", Georgia, serif;
  --touch: 44px;
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }

[hidden] { display: none !important; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 1.125rem/1.5 var(--text);
  -webkit-text-size-adjust: 100%;
}

.page {
  max-width: 34rem;
  margin: 0 auto;
  padding: 0 1rem 4rem;
}

.button {
  min-height: var(--touch);
  min-width: var(--touch);
  padding: 0.5rem 1.25rem;
  border: 2px solid var(--ink);
  border-radius: 0.375rem;
  background: transparent;
  color: var(--ink);
  font: 700 1.0625rem/1 var(--display);
  cursor: pointer;
}

.button--ink {
  background: var(--ink);
  color: var(--paper);
}

.button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

:focus-visible {
  outline: 3px solid var(--ink-depends);
  outline-offset: 2px;
}

.ink-yes { color: var(--ink-yes); }
.ink-no { color: var(--ink-no); }
.ink-depends { color: var(--ink-depends); }
.ink-muted { color: var(--ink-soft); }
