/* WikiArchives — a fictional online encyclopedia.
   Its own marks and its own colours; every word of every article is original. */

:root {
  --link: #2a5db0;
  --visited: #6b4fa0;
  --ink: #16181d;
  --body: #2b2f36;
  --muted: #72777d;
  --line: #c8ccd1;
  --hair: #eaecf0;
  --page: #ffffff;
  --wash: #f8f9fa;
  --accent: #8a6d3b;
}

body { background: var(--wash); color: var(--ink); font-family: var(--sans); font-size: 14px; }
a { color: var(--link); text-decoration: none; }
a:hover { text-decoration: underline; }

.head { background: var(--page); border-bottom: 1px solid var(--line); }
.head .in { max-width: 1240px; margin: 0 auto; padding: 9px clamp(10px,2vw,18px); display: flex; align-items: center; gap: 14px; }
.brand { display: flex; align-items: center; gap: 9px; }
.brand .glyph {
  width: 30px; height: 30px; border-radius: 4px; border: 1px solid var(--accent);
  display: grid; place-items: center; color: var(--accent); font-family: var(--serif); font-size: 17px;
}
.brand .wm { font-family: var(--serif); font-size: 17px; line-height: 1.1; }
.brand .wm b { font-weight: 400; }
.brand .wm i { display: block; font-style: normal; font-size: 10.5px; color: var(--muted); }
.head .search { flex: 1; max-width: 460px; }
.head .search input { width: 100%; border: 1px solid var(--line); border-radius: 2px; padding: 6px 10px; font: inherit; font-size: 13.5px; color: var(--muted); }
.head .acct { margin-left: auto; font-size: 12.5px; color: var(--link); display: flex; gap: 12px; }
@media (max-width: 640px) { .head .acct { display: none; } }

.layout { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: 172px minmax(0,1fr); gap: 0; }
@media (max-width: 860px) { .layout { grid-template-columns: 1fr; } .sidenav { display: none; } }

.sidenav { padding: 16px 10px; font-size: 12.5px; }
.sidenav h3 { margin: 0 0 5px; font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); font-weight: 400; border-bottom: 1px solid var(--hair); padding-bottom: 3px; }
.sidenav ul { list-style: none; margin: 0 0 16px; padding: 0; }
.sidenav li { padding: 2.5px 0; }
.sidenav li a { color: var(--link); }

.content { background: var(--page); border-left: 1px solid var(--line); padding: 0 clamp(14px,3vw,34px) 40px; min-height: 80vh; }
.tabs { display: flex; gap: 16px; border-bottom: 1px solid var(--line); padding: 10px 0 0; font-size: 12.5px; }
.tabs span { padding-bottom: 7px; color: var(--link); }
.tabs span.on { color: var(--ink); border-bottom: 1px solid var(--page); margin-bottom: -1px; font-weight: 600; }
.tabs .r { margin-left: auto; display: flex; gap: 14px; }

h1.title { font-family: var(--serif); font-weight: 400; font-size: clamp(26px,4vw,34px); margin: 16px 0 3px; }
.fromline { font-size: 12.5px; color: var(--muted); border-bottom: 1px solid var(--line); padding-bottom: 9px; margin-bottom: 16px; }

.article { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 24px; align-items: start; }
@media (max-width: 900px) { .article { grid-template-columns: 1fr; } }
.article p { font-size: 14.5px; line-height: 1.68; color: var(--body); margin: 0 0 13px; }
.article h2 { font-family: var(--serif); font-weight: 400; font-size: 21px; border-bottom: 1px solid var(--line); padding-bottom: 4px; margin: 26px 0 11px; }
.article h3 { font-size: 16px; margin: 20px 0 8px; }
.article ol, .article ul { font-size: 14px; line-height: 1.7; color: var(--body); padding-left: 22px; }
.article sup a { font-size: 11px; }

.toc { display: inline-block; border: 1px solid var(--line); background: var(--wash); padding: 10px 18px 10px 12px; margin: 4px 0 18px; }
.toc h2 { border: 0; font-family: var(--sans); font-size: 13px; font-weight: 700; margin: 0 0 6px; padding: 0; }
.toc ol { margin: 0; padding-left: 20px; font-size: 13.5px; }
.toc li { padding: 1.5px 0; }

.infobox { border: 1px solid var(--line); background: var(--wash); font-size: 12.5px; }
.infobox .cap { background: #e9e5da; padding: 7px 10px; font-weight: 700; text-align: center; font-size: 13px; }
.infobox .pic { aspect-ratio: 4/3; border-bottom: 1px solid var(--line); }
.infobox .picnote { padding: 6px 9px; color: var(--muted); border-bottom: 1px solid var(--line); line-height: 1.45; }
.infobox table { width: 100%; border-collapse: collapse; }
.infobox th, .infobox td { padding: 5px 9px; text-align: left; vertical-align: top; border-top: 1px solid var(--hair); line-height: 1.5; }
.infobox th { color: var(--muted); font-weight: 600; width: 40%; }

.about-body { background: var(--page); color: var(--ink); }
