.field-cards,
.field-sheet {
  --card-ink: #183e32;
  --card-rule: #a6b6a5;
  --card-paper: #fffdf5;
  color: var(--card-ink);
}
.field-cards {
  margin-block: clamp(1.75rem, 4vw, 4rem);
  padding-top: clamp(1.1rem, 2.5vw, 2rem);
  border-top: 2px solid var(--card-ink);
}
.field-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: .8rem 1.4rem;
  margin-bottom: 1rem;
}
.field-head > div { min-width: 0; max-width: 44rem; }
.field-head h2 { font-size: clamp(1.55rem, 3.1vw, 2.7rem); line-height: 1.18; }
.field-cards:is(:lang(en), :lang(es)) h2 { font-family: var(--serif); font-weight: 600; }
.field-head p { margin: .45rem 0 0; }
.field-download {
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  min-height: 44px;
  max-width: 100%;
  padding: .55rem .9rem;
  background: var(--card-ink);
  color: #fffdf5;
  text-decoration: underline;
  text-underline-offset: .17em;
  overflow-wrap: anywhere;
}
.field-list { display: grid; gap: .55rem; }
.field-card {
  min-width: 0;
  background: var(--card-paper);
  border: 1px solid var(--card-rule);
  border-inline-start: 3px solid var(--card-ink);
}
.field-card summary,
.field-sheet .field-card h2 {
  box-sizing: border-box;
  padding: .65rem 1rem;
  margin: 0;
  font: inherit;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.field-card summary { min-height: 44px; cursor: pointer; }
.field-card summary:focus-visible { outline: 3px solid #317176; outline-offset: 2px; }
.field-card summary::marker { color: var(--card-ink); }
.field-card[open] summary { background: #e3ebd8; }
.field-card-text { padding: 1rem clamp(.85rem, 3vw, 1.65rem) 1.2rem; }
.field-korean {
  margin: 0;
  font-size: clamp(1.65rem, 5.4vw, 2.65rem);
  line-height: 1.45;
  font-weight: 400;
  font-style: normal;
  letter-spacing: normal;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
#field-cards .field-korean[lang=ko] {
  font-family: var(--nature-ko-body, "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif);
  font-weight: 400;
  font-style: normal;
}
.field-meaning { margin: .65rem 0 0; line-height: 1.5; overflow-wrap: anywhere; }
.field-offline {
  margin: 0;
  background: #f6f4e9;
  font: 400 1rem/1.5 system-ui, sans-serif;
  overflow-wrap: anywhere;
  word-break: normal;
  text-wrap: pretty;
}
.field-offline .field-sheet { box-sizing: border-box; min-width: 0; }
.field-offline .field-list { grid-template-columns: minmax(0, 1fr); }
.field-offline :is(h1, h2) { text-wrap: balance; }
.field-offline :lang(ko) { word-break: keep-all; }
.field-offline :lang(ja) { word-break: normal; line-break: strict; }
@supports (word-break: auto-phrase) {
  .field-offline :is(h1, h2):lang(ja) { word-break: auto-phrase; }
}
.field-sheet {
  max-width: 44rem;
  margin: auto;
  padding: clamp(1rem, 4vw, 2.4rem);
}
.field-sheet-head { margin-bottom: 1rem; }
.field-sheet-head p { margin: 0 0 .3rem; }
.field-sheet-head h1 { font-size: clamp(1.6rem, 4.8vw, 2.35rem); line-height: 1.2; margin: 0; }
.field-sheet .field-card h2 { border-bottom: 1px solid var(--card-rule); }
.field-sheet .field-korean { font-family: "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif; }
@media print {
  .field-offline { background: white; }
  .field-sheet { padding: 0; max-width: none; color: #111; }
  .field-sheet-head { margin-bottom: .6rem; }
  .field-sheet .field-card { background: white; break-inside: avoid; }
  .field-sheet .field-card-text { padding: .4rem .8rem .55rem; }
  .field-sheet .field-card h2 { padding: .3rem .8rem; }
  .field-sheet .field-korean { font-size: 19pt; }
  .field-sheet .field-meaning { margin-top: .2rem; }
  .field-download { display: none; }
}
