:root {
  color-scheme:dark;
  --ink:#f6f0e3;
  --muted:#c3cabe;
  --bg:#13231f;
  --line:#496158;
  --gold:#e4c790;
  --panel:#1b3029;
  --paper:#f5efe2;
  --paper-ink:#26342c;
}
* {
  box-sizing:border-box;
}
body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font:16px/1.7 system-ui,sans-serif;
}
a {
  color:inherit;
  text-underline-offset:.22em;
}
a:focus-visible,summary:focus-visible {
  outline:3px solid currentColor;
  outline-offset:5px;
}
.wrap {
  width:min(70rem,calc(100% - 3rem));
  margin:auto;
}
.top {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.6rem 1.5rem;
  padding-block:1.25rem;
  border-bottom:1px solid var(--line);
}
.mark {
  font-family:Georgia,serif;
  letter-spacing:.19em;
  text-decoration:none;
  font-size:1.2rem;
}
.top nav {
  display:flex;
  align-items:center;
  gap:.85rem;
}
.top nav a {
  display:inline-block;
  padding:.35rem .1rem;
}
.top [aria-current] {
  color:var(--gold);
  font-weight:700;
}
.stamp {
  color:var(--muted);
  font-size:.82rem;
}
.hero {
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);
  gap:clamp(1.6rem,5vw,5rem);
  padding-block:clamp(3rem,9vw,7rem);
  align-items:center;
}
.kicker {
  color:var(--gold);
  font-size:.88rem;
  margin:0 0 .8rem;
}
.hero h1,
.case h2,
.paper h2 {
  font-family:Georgia,"Songti SC","SimSun","Yu Mincho",serif;
  line-height:1.25;
}
.hero h1 {
  font-size:clamp(2.1rem,4.2vw,2.75rem);
  font-weight:500;
  margin:0;
  overflow-wrap:anywhere;
}
.sub {
  font-size:1.1rem;
  color:var(--gold);
  margin:1.05rem 0 .7rem;
}
.lead {
  max-width:41rem;
  color:var(--muted);
  margin:0;
}
.actions {
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:1.6rem;
}
.button {
  display:inline-block;
  border:1px solid var(--gold);
  border-radius:.3rem;
  padding:.5rem .8rem;
  text-decoration:none;
}
.primary {
  background:var(--gold);
  color:#17261f;
}
.case {
  background:linear-gradient(155deg,#223b32,var(--panel));
  padding:clamp(1rem,3.3vw,2.4rem);
  border:1px solid var(--line);
  border-radius:.7rem;
  min-width:0;
}
.case h2 {
  font-size:clamp(1.4rem,3vw,2rem);
  margin:.25rem 0 1rem;
}
.state {
  border-top:1px solid var(--line);
  padding:.55rem 0;
}
.state small {
  display:block;
  color:var(--muted);
}
.state strong {
  font-size:1.14rem;
}
.current strong {
  color:var(--gold);
}
.case p:last-child {
  margin-bottom:0;
  color:var(--muted);
}
.paper {
  background:var(--paper);
  color:var(--paper-ink);
}
.paper section {
  padding-block:clamp(2.25rem,6vw,4.2rem);
  border-bottom:1px solid #c4c4b1;
  scroll-margin:1rem;
}
.paper section:last-child {
  border:0;
}
.paper h2 {
  font-size:clamp(1.65rem,4vw,2.55rem);
  margin:0 0 1.3rem;
}
.num {
  font:1rem Georgia,serif;
  color:#536b5a;
  display:block;
  margin-bottom:.5rem;
}
.paper p {
  max-width:52rem;
}
.items {
  max-width:52rem;
}
details {
  border-block-end:1px solid #b5bcaa;
  padding:.65rem 0;
}
summary {
  cursor:pointer;
  font-weight:650;
}
details p {
  margin:.5rem 0 .2rem;
}
.cards {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.cards article {
  border:1px solid #b5bcaa;
  border-radius:.45rem;
  padding:1rem 1.2rem;
}
.cards h3 {
  margin:0;
  font-size:1.05rem;
}
.cards p {
  margin:.4rem 0 0;
}
.foot {
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  justify-content:space-between;
  padding-block:1.4rem;
}
@media(max-width:44rem) {
  .wrap {
    width:calc(100% - 2rem);
  }
  .hero,.cards {
    grid-template-columns:1fr;
  }
  .hero {
    padding-block:2.6rem;
  }
  .case {
    margin-top:.4rem;
  }
}
