
*, *::before, *::after { box-sizing: border-box; }
html { color-scheme: light; }
body {
  margin: 0;
  font: 1rem/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: #1f1b18;
  background: #faf7f2;
}
a { color: #6b4f24; text-underline-offset: 0.15em; }
a:hover { color: #3d2c12; }
:focus-visible { outline: 3px solid #1d4ed8; outline-offset: 2px; }
.skip-link {
  position: absolute;
  left: 0.5rem;
  top: -100%;
  padding: 0.5rem 1rem;
  background: #1f1b18;
  color: #ffffff;
  z-index: 10;
}
.skip-link:focus { top: 0.5rem; }
.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 1rem;
  background: #2b2622;
  color: #f1e8d8;
}
.site-header a { color: #f1e8d8; text-decoration: none; font-weight: 600; }
main { display: block; max-width: 48rem; margin: 0 auto; padding: 1.5rem 1rem 3rem; }
main:focus { outline: none; }
h1 { font-size: 1.75rem; line-height: 1.2; margin: 0 0 1rem; }
.site-footer { padding: 1rem; text-align: center; font-size: 0.875rem; color: #4a423b; }
h2 { font-size: 1.25rem; line-height: 1.3; margin: 2rem 0 0.75rem; }
p { margin: 0 0 1rem; }
label { display: block; font-weight: 600; margin-bottom: 0.25rem; }
.hint { display: block; font-size: 0.875rem; color: #4a423b; margin-bottom: 0.25rem; }
input[type="email"], input[type="text"], input[type="url"], input[type="tel"], input[type="time"], input[type="number"], select, textarea {
  font: inherit;
  width: 100%;
  max-width: 28rem;
  min-height: 44px;
  padding: 0.5rem 0.625rem;
  border: 1px solid #6b625a;
  border-radius: 4px;
  background: #ffffff;
  color: #1f1b18;
}
input[aria-invalid="true"], textarea[aria-invalid="true"], select[aria-invalid="true"] { border-color: #a4161a; border-width: 2px; }
textarea { max-width: 100%; line-height: 1.5; resize: vertical; }
.field { margin-bottom: 1rem; }
.field-error { display: block; color: #a4161a; font-weight: 600; margin-top: 0.25rem; }
button {
  font: inherit;
  font-weight: 600;
  min-height: 44px;
  padding: 0.5rem 1.25rem;
  border: 2px solid #2b2622;
  border-radius: 4px;
  background: #2b2622;
  color: #ffffff;
  cursor: pointer;
}
button:hover { background: #3d342e; }
.button-quiet { background: transparent; color: inherit; border-color: currentColor; min-height: 36px; padding: 0.25rem 0.75rem; }
.site-header .button-quiet { color: #f1e8d8; }
.inline-form { display: inline; margin: 0; }
.notice { padding: 0.75rem 1rem; border-left: 4px solid #2f6b3a; background: #eef6ef; margin-bottom: 1.5rem; }
.notice-error { border-left-color: #a4161a; background: #fbeeee; }
table { border-collapse: collapse; width: 100%; margin-bottom: 1rem; }
th, td { text-align: left; vertical-align: top; padding: 0.5rem; border-bottom: 1px solid #d8d0c4; }
.access-list { list-style: none; margin: 0; padding: 0; }
.access-list li { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-bottom: 0.25rem; }
.row-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 0.75rem; margin-top: 0.5rem; }
.row-form .field { margin-bottom: 0; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.field-warn { display: block; color: #6b4300; font-weight: 600; margin-top: 0.25rem; }
.optional { font-weight: 400; color: #4a423b; }
.label-like { font-weight: 600; margin: 0 0 0.25rem; }
fieldset { border: 1px solid #b8ad9f; border-radius: 6px; padding: 0.75rem 1rem 0.25rem; margin: 0 0 1.25rem; min-width: 0; }
legend { font-weight: 700; padding: 0 0.375rem; }
fieldset.list-item { background: #fffdf9; }
.field-check { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-bottom: 0.5rem; }
.field-check label { margin: 0; font-weight: 400; }
.field-check .hint, .field-check .field-error { flex-basis: 100%; }
input[type="checkbox"] { width: 1.25rem; height: 1.25rem; margin: 0; }
.item-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 0.75rem; }
.readonly-card { border: 1px dashed #8a7f73; border-radius: 6px; background: #f3eee6; padding: 0.75rem 1rem; margin: 0 0 1rem; }
.readonly-card dl { margin: 0 0 0.5rem; }
.readonly-card dl div { display: flex; flex-wrap: wrap; gap: 0 0.5rem; }
.readonly-card dt { font-weight: 600; }
.readonly-card dt::after { content: ":"; }
.readonly-card dd { margin: 0; overflow-wrap: anywhere; }
.readonly-field code, .readonly-card code { overflow-wrap: anywhere; }
.error-summary { border: 3px solid #a4161a; border-radius: 6px; padding: 0.75rem 1rem; margin-bottom: 1.5rem; background: #ffffff; }
.error-summary h2 { margin-top: 0; color: #a4161a; }
.error-summary a { color: #a4161a; font-weight: 600; }
.notice-warn { border-left-color: #6b4300; background: #fbf4e6; }
.notice-warn h2 { margin-top: 0; }
.site-list { padding-left: 1.25rem; }
.history-list { list-style: none; padding: 0; }
.history-list > li { border-bottom: 1px solid #d8d0c4; padding: 0.75rem 0; }
.history-list h3 { margin: 0 0 0.25rem; font-size: 1.05rem; overflow-wrap: anywhere; }
.history-meta { margin: 0 0 0.25rem; color: #4a423b; }
.file-list { margin: 0.25rem 0 0.5rem; padding-left: 1.25rem; }
.file-list code, .diff td, .diff th { overflow-wrap: anywhere; }
.diff td { white-space: pre-wrap; }
tr.agency-change th, tr.agency-change td { background: #fbeeee; }
blockquote.note { margin: 0 0 1rem; padding: 0.5rem 1rem; border-left: 4px solid #8a7f73; background: #f3eee6; white-space: pre-wrap; }
.site-list li { margin-bottom: 0.5rem; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
