:root {
  color-scheme: light;
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", sans-serif;
  line-height: 1.75;
  color: #2d2925;
  background: #f7f4ef;
}

* { box-sizing: border-box; }

body { margin: 0; }

header, main, footer {
  width: min(760px, calc(100% - 32px));
  margin-inline: auto;
}

header { padding: 40px 0 16px; }
main {
  background: #fff;
  border-radius: 16px;
  padding: clamp(24px, 5vw, 48px);
  box-shadow: 0 8px 30px rgba(60, 45, 30, 0.08);
}
footer { padding: 24px 0 48px; color: #625b54; font-size: 0.875rem; }
h1 { line-height: 1.3; margin: 0; }
h2 { margin-top: 2rem; line-height: 1.4; }
a { color: #7a4b20; }
nav { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 16px; }
.notice {
  padding: 16px;
  border-left: 4px solid #9a5c22;
  background: #fff7eb;
}
.meta { color: #625b54; }
ul { padding-left: 1.4rem; }

.table-wrap {
  overflow-x: auto;
  margin: 1rem 0;
  border: 1px solid #e3ddd5;
  border-radius: 10px;
}
table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  font-size: 0.9rem;
}
th, td {
  padding: 10px 12px;
  border: 1px solid #e3ddd5;
  text-align: left;
  vertical-align: top;
}
thead th { background: #f3eee7; }
tbody th { background: #faf7f2; }
code {
  overflow-wrap: anywhere;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.glossary dt {
  margin-top: 1.25rem;
  font-weight: 700;
}
.glossary dd { margin: 0.35rem 0 0; }
