:root{--ink:#2b2118;--muted:#6b5a48;--paper:#fbf7ef;--card:#fffdf8;--line:#e3d6c0;--accent:#7a2e1f;--gold:#b08a3e;--wine:#5e1f2b}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.7 Georgia,"Times New Roman",serif}
a{color:var(--accent)}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:900px;margin:0 auto;padding:0 22px}
.draft-banner{background:#7a2e1f;color:#fff;text-align:center;font:600 14px/1.4 system-ui,sans-serif;padding:8px}
.hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;color:#fff;background:#2b2118 center/cover no-repeat}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,12,6,.85),rgba(20,12,6,.15) 60%)}
.hero .wrap{position:relative;z-index:1;padding-bottom:48px}
.hero h1{font-size:clamp(2.2rem,6vw,4rem);line-height:1.1;margin:0 0 .3em;letter-spacing:.5px}
.hero p{max-width:640px;margin:.3em 0;font-size:1.05rem;opacity:.95}
.hero .credit{font:12px/1.4 system-ui,sans-serif;opacity:.75;margin-top:18px}
nav.toc{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
nav.toc ul{list-style:none;margin:0 auto;padding:10px 22px;display:flex;gap:18px;overflow-x:auto;max-width:1100px;font:600 14px/1.4 system-ui,sans-serif;white-space:nowrap}
nav.toc a{text-decoration:none;color:var(--muted)}
nav.toc a:hover{color:var(--accent)}
.lead{padding:48px 0 8px;font-size:1.1rem}
.lead .meaning{border-left:3px solid var(--gold);padding:4px 0 4px 18px;color:var(--muted);font-style:italic}
.timeline{position:relative;padding:20px 0 40px}
.timeline::before{content:"";position:absolute;left:30px;top:0;bottom:0;width:2px;background:var(--line)}
.era{position:relative;padding:36px 0 10px 70px}
.era-mark{position:absolute;left:12px;top:44px;width:38px;height:38px;border-radius:50%;background:var(--accent);border:4px solid var(--paper);box-shadow:0 0 0 2px var(--line)}
.era-year{font:700 13px/1 system-ui,sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}
.era h2{font-size:clamp(1.6rem,3.5vw,2.2rem);margin:.25em 0 .5em;color:var(--wine);line-height:1.2}
.era h3{font-size:1.25rem;margin:1.6em 0 .4em;color:var(--accent)}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:22px 26px;margin:18px 0;box-shadow:0 1px 3px rgba(60,40,20,.06)}
.card.source{border-left:4px solid var(--gold);font-size:.95rem}
.card.source h4{margin:0 0 .4em;font:700 13px/1.3 system-ui,sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold)}
.note{font:14px/1.5 system-ui,sans-serif;color:var(--muted)}
figure{margin:22px 0}
figure img{border-radius:8px;width:100%}
figcaption{font:13px/1.5 system-ui,sans-serif;color:var(--muted);margin-top:6px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid2 figure{margin:0}
.grid2 img{aspect-ratio:4/3;object-fit:cover}
.children{list-style:none;padding:0;margin:0}
.children li{padding:10px 0;border-bottom:1px dashed var(--line)}
.children li:last-child{border:0}
.children b{color:var(--wine)}
details.tree summary{cursor:pointer;font:700 15px/1.4 system-ui,sans-serif;color:var(--accent);padding:6px 0}
.tree ol{columns:2;column-gap:32px;font-size:.92rem;line-height:1.55;padding-left:1.2em;margin:12px 0}
.tree li{break-inside:avoid;padding:1px 0}
.orig-img{float:left;width:240px;margin:6px 22px 12px 0}
.orig-img.right{float:right;margin:6px 0 12px 22px}
.orig-img img{min-height:120px;background:#efe5d3;border:1px dashed var(--line);border-radius:6px}
.clear{clear:both}
.slot{border:2px dashed var(--gold);border-radius:10px;padding:16px;background:#fff8e8}
.next{margin:40px 0 0;padding:34px;border-radius:12px;background:var(--wine);color:#fff;text-align:center}
.next a{color:#fff;font-size:1.3rem;font-weight:700}
footer{border-top:1px solid var(--line);padding:30px 0 50px;font:13px/1.6 system-ui,sans-serif;color:var(--muted)}
footer ol{padding-left:1.2em}
@media (max-width:700px){
 body{font-size:17px}
 .timeline::before{left:14px}.era{padding-left:40px}.era-mark{left:2px;width:26px;height:26px}
 .grid2{grid-template-columns:1fr}.tree ol{columns:1}
 .orig-img,.orig-img.right{float:none;width:100%;margin:12px 0}
}
.note,footer,figcaption,.card{overflow-wrap:anywhere}
nav.toc{max-width:100vw}
