:root {
  --ink: #171717;
  --paper: #faf8f3;
  --panel: #ffffff;
  --line: #dedbd3;
  --accent: #16645a;
  --warm: #a83f2a;
  --radius: 8px;
}
body { margin: 0; }
body { font-family: ui-serif, Georgia, Cambria, serif; }
body { color: var(--ink); }
body { background: var(--paper); }
body { line-height: 1.7; }
main { max-width: 820px; }
main { margin: 0 auto; }
main { padding: 3rem 2rem 5rem; }
h1 { font-size: 3rem; }
h1 { line-height: 1; }
h2 { margin-top: 2.4rem; }
h2 { border-top: 1px solid var(--line); }
h2 { padding-top: 1.2rem; }
a { color: var(--accent); }
button { display: inline-flex; }
button { align-items: center; }
button { justify-content: center; }
button { gap: .5rem; }
button { border: 1px solid var(--accent); }
button { background: var(--accent); }
button { color: white; }
button { padding: .6rem 1.1rem; }
button { margin: .3rem .5rem .3rem 0; }
button { border-radius: 999px; }
button { font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
button { font-size: .92rem; }
button { font-weight: 560; }
button { line-height: 1.15; }
button { cursor: pointer; }
button { appearance: none; }
button { box-shadow: 0 1px 2px rgba(23,23,23,.08); }
button { transition: transform .14s cubic-bezier(.2,.7,.3,1), box-shadow .14s ease, background .14s ease, border-color .14s ease; }
button:hover { background: var(--accent); }
button:hover { border-color: var(--accent); }
button:hover { transform: translateY(-1px); }
button:hover { box-shadow: 0 8px 18px -8px rgba(22,100,90,.5); }
button:active { transform: translateY(0); }
button:active { box-shadow: 0 1px 2px rgba(23,23,23,.08); }
button:focus-visible { outline: 2px solid var(--accent); }
button:focus-visible { outline-offset: 2px; }
button:disabled { opacity: .5; }
button:disabled { cursor: not-allowed; }
button:disabled { box-shadow: none; }
button:disabled { transform: none; }
input { padding: .62rem .85rem; }
input { border: 1px solid var(--line); }
input { border-radius: var(--radius); }
input { font-family: inherit; }
input { font-size: .95rem; }
input { background: var(--panel); }
input { width: 100%; }
input { max-width: 360px; }
input { margin: 1rem 0; }
input { appearance: none; }
input { transition: border-color .14s ease, box-shadow .14s ease; }
input:hover { border-color: var(--accent); }
input:focus-visible { outline: none; }
input:focus-visible { border-color: var(--accent); }
input:focus-visible { box-shadow: 0 0 0 3px rgba(22,100,90,.18); }
#shop { border: 1px solid var(--line); }
#shop { background: var(--panel); }
#shop { padding: .4rem 1.4rem 1.4rem; }
#shop { margin: 1.5rem 0; }
#shop { border-radius: var(--radius); }
.line { border: 1px solid var(--line); }
.line { background: var(--paper); }
.line { padding: .55rem 1.1rem; }
.line { margin: .45rem 0; }
.line { border-radius: var(--radius); }