:root { color-scheme: dark; }
* { box-sizing: border-box; }
html { background: #121810; }
body {
  margin: 0;
  color: #e4ecda;
  font: 16px/1.45 ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;
}
a { color: #d7c4a3; }
button { font: inherit; cursor: pointer; }
:focus-visible { outline: 2px solid #d7c4a3; outline-offset: 2px; }
.wrap { width: min(760px, calc(100% - 28px)); margin: 0 auto; }
header.top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 20px 0 8px;
}
.brand { display: flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; font-weight: 700; letter-spacing: -0.04em; }
nav a { color: #9aa890; text-decoration: none; margin-left: 14px; }
nav a[aria-current="page"], nav a:hover { color: #e4ecda; }
h1 { font-size: 28px; font-weight: 650; letter-spacing: -0.04em; margin: 8px 0; }
#field {
  display: grid;
  gap: 4px;
  width: min(100%, 420px);
  margin: 12px 0;
}
.cell { aspect-ratio: 1; border: 0; border-radius: 3px; padding: 0; }
.air { background: #1c2618; }
.rim { background: #0c100b; }
.sod { background: #6f8f45; }
.shale { background: #8a8175; }
.timber { background: #c4a15a; }
.copper { background: #c46b3a; }
.dented { box-shadow: inset 0 0 0 3px rgba(255,255,255,.35); }
button.cell:hover { filter: brightness(1.08); }
#status { margin: 0; }
#note { min-height: 2.6em; color: #c5d4b8; }
.tools { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 18px; }
.tools button {
  background: #e4ecda;
  color: #121810;
  border: 0;
  border-radius: 999px;
  padding: 8px 14px;
}
.legend { display: flex; flex-wrap: wrap; gap: 12px 16px; color: #9aa890; font-size: 13px; margin: 0 0 12px; }
.swatch { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 6px; vertical-align: -1px; }
.prose { max-width: 62ch; padding-bottom: 12px; }
.prose p, .prose li { font: 17px/1.5 ui-monospace, Menlo, Consolas, monospace; }
footer.colophon { color: #7d8b74; font-size: 12px; padding: 8px 0 36px; }
