/* Static content pages (places, houses, people, wars, eras) – light, fast, readable */
:root { --ink: #2b2118; --paper: #f6efdc; --paper2: #efe4c8; --gold: #a9853e; --gold2: #d6b464; --red: #7a1a1a; --line: rgba(90, 70, 40, .25); }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 17px/1.55 'EB Garamond', Georgia, serif; }
a { color: #7a3a1a; } a:hover { color: var(--red); }
.skip { position: absolute; left: -999px; top: 0; background: #fff; padding: 8px; } .skip:focus { left: 8px; z-index: 10; }
.site-header { background: #1c1610; color: #f3ead6; border-bottom: 2px solid var(--gold); }
.site-nav { max-width: 1000px; margin: 0 auto; padding: 10px 16px; display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; font-family: 'Cinzel', serif; font-size: 14px; letter-spacing: .04em; }
.site-nav a { color: #f3ead6; text-decoration: none; opacity: .85; } .site-nav a:hover, .site-nav a[aria-current] { opacity: 1; text-decoration: underline; text-underline-offset: 4px; }
.site-nav .brand { font-weight: 700; color: var(--gold2); font-size: 16px; margin-right: 8px; }
.site-nav .cta { margin-left: auto; background: var(--gold2); color: #1c1610; padding: 5px 12px; border-radius: 6px; opacity: 1; font-weight: 700; }
.doc { max-width: 1000px; margin: 0 auto; padding: 18px 16px 40px; }
.crumbs ol { list-style: none; padding: 0; margin: 0 0 12px; display: flex; flex-wrap: wrap; gap: 4px; font-size: 14px; opacity: .8; }
.crumbs li + li::before { content: '›'; margin: 0 6px; }
h1 { font-family: 'Cinzel', serif; font-weight: 700; font-size: clamp(28px, 5vw, 42px); line-height: 1.1; margin: 4px 0 10px; }
h1 small { display: block; font-size: 16px; font-weight: 500; opacity: .75; margin-top: 4px; }
h2 { font-family: 'Cinzel', serif; font-size: 22px; margin: 28px 0 10px; border-bottom: 1px solid var(--line); padding-bottom: 4px; }
h3 { font-family: 'Cinzel', serif; font-size: 17px; margin: 14px 0 4px; } h3 small { font-weight: 400; font-family: 'EB Garamond', serif; opacity: .7; }
.lead { font-size: 20px; line-height: 1.45; font-style: italic; margin: 0 0 14px; }
.actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 18px; }
.btn { display: inline-block; background: var(--gold2); color: #1c1610; text-decoration: none; font-family: 'Cinzel', serif; font-size: 14px; font-weight: 700; padding: 9px 14px; border-radius: 7px; border: 1px solid var(--gold); }
.btn.ghost { background: transparent; color: var(--ink); } .btn:hover { filter: brightness(1.06); }
table.rulers { width: 100%; border-collapse: collapse; font-size: 15px; background: #fffaf0; }
table.rulers th, table.rulers td { text-align: left; padding: 7px 9px; border-bottom: 1px solid var(--line); vertical-align: top; }
table.rulers th { font-family: 'Cinzel', serif; font-size: 12px; letter-spacing: .05em; background: var(--paper2); }
.facts { display: grid; grid-template-columns: max-content 1fr; gap: 4px 16px; margin: 8px 0 14px; font-size: 16px; }
.facts dt { font-family: 'Cinzel', serif; font-size: 12px; letter-spacing: .05em; padding-top: 3px; opacity: .8; } .facts dd { margin: 0; }
.sw { display: inline-block; width: 14px; height: 14px; border-radius: 50%; border: 1px solid rgba(0,0,0,.3); vertical-align: -2px; margin-right: 4px; }
.cards { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.cards li a { display: block; background: #fffaf0; border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; text-decoration: none; color: var(--ink); height: 100%; }
.cards li a:hover { border-color: var(--gold); box-shadow: 0 3px 12px rgba(80,60,20,.12); }
.cards strong { display: block; font-family: 'Cinzel', serif; font-size: 15px; } .cards span { font-size: 14px; opacity: .8; }
.chips { list-style: none; padding: 0; margin: 6px 0; display: flex; flex-wrap: wrap; gap: 6px 10px; }
.chips li { background: #fffaf0; border: 1px solid var(--line); border-radius: 20px; padding: 3px 11px; font-size: 15px; } .chips small { opacity: .65; }
.event { background: #fffaf0; border-left: 3px solid var(--gold2); padding: 8px 12px; margin: 8px 0; } .event p { margin: 4px 0; } .event .people { font-size: 14px; opacity: .85; }
.steps { padding-left: 22px; } .steps li { margin: 0 0 14px; padding-bottom: 10px; border-bottom: 1px dashed var(--line); } .steps h3 { margin: 0 0 4px; } .steps p { margin: 3px 0; }
.steps .moves { font-size: 14px; opacity: .85; } .steps .battle { color: var(--red); }
.warlist li { margin: 4px 0; }
.faq details { background: #fffaf0; border: 1px solid var(--line); border-radius: 6px; padding: 6px 12px; margin: 6px 0; } .faq summary { cursor: pointer; font-weight: 600; } .faq p { margin: 6px 0 2px; }
.site-footer { border-top: 2px solid var(--gold); background: var(--paper2); padding: 16px; font-size: 14px; text-align: center; }
.site-footer p { max-width: 900px; margin: 6px auto; } .fine { opacity: .7; font-size: 13px; }
@media (max-width: 640px) { table.rulers { font-size: 13px; } table.rulers th:nth-child(5), table.rulers td:nth-child(5) { display: none; } .site-nav .cta { margin-left: 0; } }
@media print { .site-header, .site-footer, .actions { display: none; } body { background: #fff; } }
