:root {
  --void: #060606;
  --deep-1: #0e0e0e;
  --line: rgba(255,255,255,0.08);
  --line-strong: rgba(255,255,255,0.16);
  --bone: #EDE9E0;
  --bone-60: rgba(237,233,224,0.6);
  --accent: #C8A47E;
  --f-display: 'Bebas Neue', 'Arial Black', sans-serif;
  --f-mono: 'JetBrains Mono', 'Courier New', monospace;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { font-size:16px; }
body {
  background: var(--void);
  color: var(--bone);
  font-family: var(--f-mono);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--bone); }
a:hover { color: var(--accent); }
.wrap { max-width: 760px; margin: 0 auto; padding: 3rem 1.5rem 5rem; }
header.page-head { display:flex; justify-content:space-between; align-items:center; margin-bottom: 3rem; flex-wrap:wrap; gap:1rem; }
.logo { font-size: 1.1rem; text-decoration:none; }
.logo span { color: var(--accent); }
.back-link { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.05em; text-decoration: underline; }
h1 {
  font-family: var(--f-display);
  font-size: clamp(2.2rem, 6vw, 3.2rem);
  letter-spacing: 0.02em;
  margin-bottom: 2rem;
  line-height: 1;
}
h2 {
  font-family: var(--f-display);
  font-size: 1.3rem;
  letter-spacing: 0.03em;
  margin: 2.5rem 0 0.75rem;
  color: var(--accent);
}
p, li { font-size: 0.9rem; color: var(--bone-60); }
p { margin-bottom: 1rem; }
ul, ol { padding-left: 1.3rem; margin-bottom: 1rem; }
li { margin-bottom: 0.4rem; }
strong { color: var(--bone); font-weight: 500; }
.meta-line { font-size: 0.78rem; color: var(--bone-60); margin-bottom: 3rem; }
footer.page-foot { margin-top: 4rem; padding-top: 2rem; border-top: 1px solid var(--line); display:flex; gap:1.5rem; flex-wrap:wrap; font-size: 0.78rem; }
footer.page-foot a { text-decoration: underline; }
.toc { margin: 0 0 2.5rem; padding: 1.2rem 1.4rem; border: 1px solid var(--line); }
.toc p { font-size: .7rem; text-transform: uppercase; letter-spacing: .16em; color: var(--bone-60); margin-bottom: .6rem; }
.toc ol { margin: 0; padding-left: 1.3rem; columns: 2; column-gap: 2rem; }
.toc li { font-size: .8rem; margin-bottom: .25rem; break-inside: avoid; }
h3 { font-size: .85rem; font-weight: 500; color: var(--bone); margin: 1.4rem 0 .4rem; }
table { width: 100%; border-collapse: collapse; margin: .5rem 0 1.4rem; font-size: .8rem; }
th, td { text-align: left; vertical-align: top; padding: .65rem .7rem; border-bottom: 1px solid var(--line); color: var(--bone-60); }
th { color: var(--bone); font-weight: 500; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.tbl-wrap { overflow-x: auto; }
@media (max-width: 600px) { .toc ol { columns: 1; } table { display: block; overflow-x: auto; } }
:focus-visible { outline: 2px solid var(--bone); outline-offset: 3px; }
.notice { border: 1px solid var(--line-strong); padding: 1rem 1.25rem; font-size: 0.8rem; margin-top: 3rem; }
.head-links { display: flex; gap: 1.2rem; align-items: center; flex-wrap: wrap; }
