
:root{
  --paper:#f3ead2;
  --paper-deep:#e9dcbb;
  --ink:#211d16;
  --ink-soft:#4a4234;
  --stamp:#9c2b1b;
  --link-live:#2f4d8a;
  --link-dead:#a8321f;
  --rule:#c8b78c;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
html,body{margin:0;padding:0;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Spectral',Georgia,serif;
  font-size:18px;
  line-height:1.65;
  overflow-x:clip;
  overflow-wrap:break-word;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
}
img{max-width:100%;height:auto;}
::selection{background:var(--stamp);color:var(--paper);}
a{color:var(--link-live);text-decoration:none;border-bottom:1px solid rgba(47,77,138,.35);}
a:hover{border-bottom-width:2px;}
code,pre{font-family:'Special Elite','SF Mono',Menlo,monospace;}
code{background:rgba(33,29,22,.07);padding:1px 5px;border-radius:1px;font-size:.92em;overflow-wrap:anywhere;}
pre{background:rgba(33,29,22,.06);padding:14px;border:1px solid var(--rule);overflow-x:auto;max-width:100%;}
pre code{overflow-wrap:normal;}

.sheet{max-width:760px;margin:0 auto 80px;padding:18px 26px 0;}
@media(max-width:560px){.sheet{padding:14px 16px 0;}}

.classbar{
  font-family:'Special Elite',monospace;
  font-size:12px;letter-spacing:.18em;text-align:center;
  color:var(--stamp);text-transform:uppercase;
  border-top:1.5px solid var(--stamp);border-bottom:1.5px solid var(--stamp);
  padding:7px 12px;margin-bottom:38px;
  word-break:break-word;overflow-wrap:anywhere;
}
.classbar .label{display:block;}
.classbar nav{
  display:block;
  font-size:11px;line-height:1.9;
  margin-top:6px;padding-top:6px;border-top:1px dotted rgba(156,43,27,.4);
  word-break:break-word;overflow-wrap:anywhere;
}
.classbar nav a,.classbar nav .user{
  display:inline;margin:0 6px;color:var(--stamp);border-bottom:none;
}
.classbar nav .user{opacity:.75;word-break:break-all;}
.classbar nav a:hover{text-decoration:underline;text-underline-offset:3px;}
@media(max-width:560px){
  .classbar{font-size:10.5px;letter-spacing:.1em;padding:6px 8px;margin-bottom:24px;}
  .classbar nav{font-size:10px;line-height:2;}
  .classbar nav a,.classbar nav .user{margin:0 4px;}
}

.masthead{text-align:center;position:relative;margin-bottom:8px;padding-top:6px;}
.seal{width:128px;height:128px;max-width:40vw;margin:0 auto 14px;display:block;opacity:.9;}
.org{
  font-family:'Special Elite',monospace;
  font-size:12px;letter-spacing:.42em;text-transform:uppercase;color:var(--ink-soft);
  margin:0 0 6px;
}
.org::before,.org::after{content:"— ";opacity:.5;}
.org::after{content:" —";}
h1.title{
  font-family:'Libre Caslon Display',serif;font-weight:400;
  font-size:clamp(34px,9vw,82px);line-height:1;
  margin:.1em 0 .12em;letter-spacing:-.01em;
  overflow-wrap:anywhere;word-break:normal;
  max-width:100%;
}
@media(max-width:420px){h1.title{font-size:clamp(28px,11vw,42px);}}
.motto{font-style:italic;color:var(--ink-soft);font-size:17px;margin:0;}
.estab{
  font-family:'Special Elite',monospace;
  font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-soft);
  margin-top:18px;
}

.stamp{
  position:absolute;top:6px;right:4px;transform:rotate(-13deg);
  border:2.5px solid var(--stamp);color:var(--stamp);
  font-family:'Special Elite',monospace;
  font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  padding:6px 9px 4px;line-height:1.2;text-align:center;
  opacity:.78;border-radius:3px;max-width:120px;
  pointer-events:none;
}
.stamp small{display:block;font-size:8px;letter-spacing:.2em;opacity:.8;}
@media(max-width:520px){
  .stamp{position:static;display:inline-block;margin:0 auto 10px;transform:rotate(-6deg);}
}

hr.rule{border:none;border-top:1.5px double var(--rule);margin:40px 0;}

h1,h2,h3{font-family:'Libre Caslon Display',serif;font-weight:400;letter-spacing:-.005em;overflow-wrap:break-word;}
h1{font-size:clamp(28px,6.5vw,42px);line-height:1.1;margin:0 0 14px;}
h2.sec{
  font-family:'Special Elite',monospace;
  font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--stamp);
  border-bottom:1px solid var(--rule);padding-bottom:6px;margin:48px 0 20px;
}
h2,h3{font-size:22px;margin:32px 0 12px;}
p{margin:0 0 18px;}
.lead{font-size:20px;}
.dropcap::first-letter{
  font-family:'Libre Caslon Display',serif;float:left;font-size:64px;line-height:.7;
  padding:8px 10px 0 0;color:var(--stamp);
}

.redact{
  background:var(--ink);color:var(--ink);padding:0 4px;border-radius:1px;cursor:pointer;
  transition:background .18s,color .18s;
  -webkit-user-select:none;user-select:none;
  box-decoration-break:clone;-webkit-box-decoration-break:clone;
  word-break:break-all;overflow-wrap:anywhere;
  max-width:100%;
}
.redact:hover{outline:1px dashed rgba(156,43,27,.5);}
.redact.shown{background:rgba(156,43,27,.16);color:var(--stamp);font-style:italic;cursor:default;}

sup.fn{font-family:'Special Elite',monospace;font-size:.62em;}
sup.fn a{color:var(--stamp);text-decoration:none;border:none;padding:0 1px;}
sup.fn a:hover{text-decoration:underline;}
.notes{font-size:14.5px;color:var(--ink-soft);border-top:1px solid var(--rule);padding-top:18px;margin-top:32px;}
.notes ol{padding-left:22px;margin:0;}
.notes li{margin-bottom:11px;}
.notes a.back{color:var(--stamp);text-decoration:none;border:none;}

a.wiki{color:var(--link-live);border-bottom:1px solid rgba(47,77,138,.35);}
a.wiki:hover{border-bottom-width:2px;}
a.wiki-link-new,a.dead{color:var(--link-dead);border-bottom:1px dotted rgba(168,50,31,.5);}

.grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 30px;margin:4px 0 8px;}
.grid div{padding:9px 0;border-bottom:1px dotted var(--rule);overflow-wrap:anywhere;min-width:0;}
.grid .no{font-family:'Special Elite',monospace;font-size:11px;color:var(--ink-soft);letter-spacing:.1em;}
@media(max-width:560px){.grid{grid-template-columns:1fr;gap:0;}}

.notice{
  border:1.5px solid var(--ink);background:var(--paper-deep);
  padding:20px 24px;margin:30px 0;position:relative;
}
.notice .tag{
  position:absolute;top:-11px;left:18px;background:var(--paper);
  font-family:'Special Elite',monospace;font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;padding:0 8px;color:var(--stamp);
}
.notice p{margin:0;font-style:italic;}

.seealso{list-style:none;padding-left:0;}
.seealso li{margin-bottom:10px;}
.seealso .aside{font-size:13px;color:var(--ink-soft);font-style:italic;}

footer.docfoot{
  margin-top:54px;border-top:1.5px double var(--rule);padding-top:16px;
  font-family:'Special Elite',monospace;font-size:11px;
  letter-spacing:.06em;color:var(--ink-soft);line-height:1.8;
}
footer.docfoot .row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 14px;}
footer.docfoot .row > *{min-width:0;overflow-wrap:anywhere;}

.hint{
  text-align:center;font-family:'Special Elite',monospace;
  font-size:11px;letter-spacing:.2em;color:var(--ink-soft);
  text-transform:uppercase;margin-top:30px;opacity:.7;
}

.muted{color:var(--ink-soft);}

.btn{
  display:inline-block;padding:8px 16px;background:var(--ink);color:var(--paper);
  border:0;border-radius:1px;cursor:pointer;font-family:'Special Elite',monospace;
  font-size:13px;letter-spacing:.12em;text-transform:uppercase;
}
.btn:hover{background:var(--stamp);text-decoration:none;}
.btn-link{
  background:none;border:0;color:var(--stamp);cursor:pointer;padding:8px;
  font-family:'Special Elite',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;
}

.card{
  background:var(--paper-deep);padding:24px;border:1.5px solid var(--ink);
  max-width:420px;margin:32px auto;border-radius:1px;
}
.card h1{font-size:28px;margin-bottom:8px;}

.flash{padding:10px 14px;border:1px solid var(--rule);background:var(--paper-deep);margin:12px 0;font-size:.95em;border-radius:1px;}
.flash-error{border-color:var(--stamp);color:var(--stamp);}
.flash-success{border-color:#3a6b3a;color:#264d26;}
.flash-info{border-color:var(--link-live);color:var(--link-live);}

.stacked{display:flex;flex-direction:column;gap:12px;}
.stacked input,.row input,.editor input,.editor textarea{
  padding:10px 12px;border:1px solid var(--ink);background:var(--paper);
  border-radius:1px;font-family:'Spectral',Georgia,serif;font-size:16px;color:var(--ink);
}
.row{display:flex;gap:8px;align-items:center;}
.row input{flex:1;}
.editor label{display:block;margin:12px 0;}
.editor label span{display:block;margin-bottom:4px;color:var(--ink-soft);font-family:'Special Elite',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;}
.editor input,.editor textarea{width:100%;}
.editor textarea{font-family:'Special Elite','SF Mono',Menlo,monospace;font-size:14.5px;line-height:1.55;}
.editor-actions{display:flex;gap:8px;align-items:center;margin-top:8px;}

.page-list{list-style:none;padding:0;}
.page-list li{padding:9px 0;border-bottom:1px dotted var(--rule);display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;overflow-wrap:anywhere;}

.markdown{overflow-wrap:break-word;max-width:100%;}
.markdown h1,.markdown h2,.markdown h3{margin-top:1.2em;}
.markdown h2{color:var(--stamp);font-family:'Special Elite',monospace;font-size:14px;letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid var(--rule);padding-bottom:6px;}
.markdown h3{font-family:'Libre Caslon Display',serif;font-size:20px;}
.markdown img{max-width:100%;height:auto;}
.markdown blockquote{border-left:3px solid var(--rule);padding-left:12px;color:var(--ink-soft);margin:12px 0;font-style:italic;}
.markdown a{overflow-wrap:anywhere;}
.markdown table{border-collapse:collapse;display:block;overflow-x:auto;max-width:100%;}
.markdown table th,.markdown table td{border:1px solid var(--rule);padding:6px 10px;}

.backlinks{
  margin-top:32px;padding:16px;background:var(--paper-deep);
  border:1px solid var(--rule);
}
.backlinks h3{margin:0 0 8px;font-family:'Special Elite',monospace;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--stamp);}
.backlinks ul{margin:0;padding-left:20px;}

.preview{min-height:120px;padding:12px;background:var(--paper-deep);border:1px solid var(--rule);}

.data{width:100%;border-collapse:collapse;margin:12px 0;display:block;overflow-x:auto;max-width:100%;}
.data thead,.data tbody,.data tr{display:table;width:100%;table-layout:fixed;}
.data th,.data td{text-align:left;padding:8px 12px;border-bottom:1px dotted var(--rule);overflow-wrap:anywhere;}
.data th{font-family:'Special Elite',monospace;font-weight:400;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);}
.invite-link{word-break:break-all;font-size:.85em;font-family:'Special Elite',monospace;max-width:100%;display:inline-block;}

.search-results{list-style:none;padding:0;}
.search-results li{padding:14px 0;border-bottom:1px dotted var(--rule);}
.search-results .snippet{color:var(--ink-soft);margin:4px 0 0;font-size:.92em;}

.diff{background:var(--paper-deep);border:1px solid var(--rule);padding:0;overflow-x:auto;max-width:100%;}
.diff > div{padding:0 12px;white-space:pre;font-family:'Special Elite','SF Mono',Menlo,monospace;font-size:13px;}
.diff-add{background:#dfe9d8;color:#3a5a2a;}
.diff-remove{background:#efd5d0;color:var(--stamp);}
.diff .marker{display:inline-block;width:1em;user-select:none;}

.theme{font-size:1.05em;color:var(--ink-soft);margin:8px 0 4px;max-width:60ch;font-style:italic;}
.badge{
  display:inline-block;padding:1px 6px;border:1px solid var(--stamp);color:var(--stamp);
  font-family:'Special Elite',monospace;font-size:9px;letter-spacing:.14em;
  text-transform:uppercase;vertical-align:middle;margin-left:6px;
}

.hero-image{
  display:block;width:100%;max-height:360px;object-fit:cover;
  border:1px solid var(--ink);margin-bottom:18px;filter:sepia(.18) saturate(.85);
}
