:root {
  --paper:#efe1bd;
  --ink:#34281f;
  --muted:#75614c;
  --orange:#b75b2a;
  --mustard:#c59a2e;
  --brown:#594333;
  --line:rgba(89,67,51,.28);
  --panel:rgba(255,248,226,.38);
  --paper-light:#fff8e2;
}
* { box-sizing:border-box; }
html { background:#2e251f; }
body { margin:0; color:var(--ink); background:linear-gradient(180deg,#f5e9ca 0%,var(--paper) 70%,#e7d4a5 100%); font-family:Georgia,"Times New Roman",serif; min-height:100vh; }
body.archive-home { background:radial-gradient(circle at 18% 8%,rgba(197,154,46,.14),transparent 28rem),linear-gradient(180deg,#f5e9ca 0%,var(--paper) 62%,#e7d4a5 100%); }
.top-rule { height:9px; background:linear-gradient(90deg,var(--orange) 0 58%,var(--mustard) 58% 82%,var(--brown) 82%); }
.debug-banner { background:var(--orange); color:var(--paper-light); padding:9px 14px; text-align:center; font:700 .72rem Arial,Helvetica,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.debug-banner::before { content:"DEBUGGING · "; }
.shell { width:min(900px,calc(100% - 40px)); margin:0 auto; }
.archive-home .shell { width:min(1100px,calc(100% - 40px)); }
.search-page .shell { width:min(960px,calc(100% - 40px)); }
a { color:inherit; }
header { padding:54px 0 24px; border-bottom:1px solid var(--line); }
.eyebrow,.label,nav,button { font-family:Arial,Helvetica,sans-serif; text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; font-weight:700; }
.eyebrow,.label { color:var(--orange); }
h1 { margin:8px 0 10px; font-size:clamp(2.4rem,7vw,4.8rem); line-height:.95; font-weight:500; letter-spacing:-.035em; }
.archive-home h1 { margin-bottom:6px; font-size:clamp(2.6rem,7vw,5.7rem); line-height:.92; letter-spacing:-.045em; }
.subtitle { color:var(--muted); max-width:46rem; line-height:1.55; }
.archive-home .subtitle { font-size:1.05rem; margin:14px 0 0; max-width:42rem; }
nav { display:flex; gap:20px; padding:18px 0; border-bottom:1px solid var(--line); flex-wrap:wrap; color:var(--brown); }
nav a { text-decoration:none; }
nav a:hover { text-decoration:underline; }
nav span[aria-disabled="true"] { opacity:.55; }
main { padding:52px 0 80px; }
.archive-home main { padding-top:64px; }
.search-page main { padding-top:48px; }
section { margin-bottom:52px; }
h2 { font-size:1.8rem; font-weight:500; margin:0 0 16px; }
p,li { line-height:1.7; }
code { font-family:"Courier New",monospace; background:rgba(255,248,226,.55); padding:.12em .35em; }
.example,.card,.searchbox { border:1px solid var(--line); background:var(--panel); padding:26px; }
.path { font:700 1.5rem "Courier New",monospace; letter-spacing:.04em; }
.note,.future { border-left:4px solid var(--mustard); padding-left:20px; color:var(--brown); line-height:1.65; }
table { width:100%; border-collapse:collapse; margin-top:20px; }
th,td { text-align:left; vertical-align:top; border-bottom:1px solid var(--line); padding:12px 10px; }
th { font-family:Arial,Helvetica,sans-serif; font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; }
.record { border:1px solid var(--line); border-top:4px solid var(--mustard); background:var(--panel); padding:26px; margin:24px 0 0; }
.record h2 { font:700 1.45rem "Courier New",monospace; margin:8px 0 12px; }
.record p { line-height:1.65; color:var(--muted); }
.record a { text-decoration:none; }
.record a:hover { text-decoration:underline; }
.future { margin-top:42px; }
.intro { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(220px,.8fr); gap:70px; align-items:start; }
.archive-home h2 { margin:0 0 20px; font-size:clamp(1.8rem,4vw,3rem); line-height:1.08; }
.statement { font-size:clamp(1.25rem,2.4vw,1.65rem); line-height:1.55; max-width:43rem; margin:0; }
.principle { margin-top:34px; padding:24px 0 0 22px; border-top:4px solid var(--mustard); border-left:1px solid var(--line); color:var(--brown); line-height:1.65; }
.card { padding:28px; box-shadow:0 12px 30px rgba(61,43,28,.06); }
.card strong { display:block; margin:13px 0 8px; font-size:1.35rem; font-weight:500; }
.card p { margin:0; color:var(--muted); line-height:1.55; }
.shelves { margin-top:72px; padding-top:24px; border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); }
.shelf { background:var(--paper); padding:28px 24px 34px; min-height:150px; }
.shelf .label { color:var(--mustard); }
.shelf h3 { margin:11px 0 7px; font-size:1.25rem; font-weight:500; }
.shelf p { color:var(--muted); margin:0; font-size:.93rem; line-height:1.5; }
.searchbox { padding:28px; }
.controls { display:grid; grid-template-columns:1fr auto; gap:12px; margin-top:12px; }
input { width:100%; font:700 1.15rem "Courier New",monospace; color:var(--ink); background:var(--paper-light); border:1px solid var(--line); padding:14px 16px; }
button { border:0; background:var(--brown); color:var(--paper-light); padding:0 22px; cursor:pointer; }
.help { color:var(--muted); font-size:.92rem; line-height:1.6; margin:14px 0 0; }
.status { margin:30px 0 14px; color:var(--muted); font-family:Arial,Helvetica,sans-serif; font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; }
.results { border-top:1px solid var(--line); }
.result { display:grid; grid-template-columns:190px 1fr; gap:24px; padding:20px 8px; border-bottom:1px solid var(--line); text-decoration:none; }
.result:hover { background:rgba(255,248,226,.32); }
.class { font:700 1rem "Courier New",monospace; color:var(--orange); }
.title { font-size:1.15rem; }
.type { color:var(--muted); font-size:.88rem; margin-top:5px; }
.empty { padding:30px 8px; color:var(--muted); }
footer { display:flex; justify-content:space-between; gap:24px; border-top:1px solid var(--line); padding:24px 0 38px; color:var(--muted); font-size:.82rem; }
@media(max-width:700px) {
  .shell,.archive-home .shell,.search-page .shell { width:min(100% - 28px,1100px); }
  header { padding-top:38px; }
  nav { gap:15px; overflow-x:auto; }
  .intro,.controls,.result { grid-template-columns:1fr; }
  .intro { gap:38px; }
  .shelves { grid-template-columns:1fr; }
  .result { gap:6px; }
  .controls button { padding:14px; }
  footer { flex-direction:column; }
  table { font-size:.9rem; }
}