
:root{--bg:#eef1f0;--panel:#fff;--ink:#1b2530;--muted:#5b6873;--rule:#cfd7d6;--accent:#1f4e79;--accent-soft:#d9e6f2;
--f-display:"Cormorant SC","Cormorant Garamond",Georgia,serif;--f-body:"Source Sans 3","Segoe UI",system-ui,sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace}
:root:not([data-theme="light"]){--bg:#12181e;--panel:#1a232b;--ink:#e3e9ee;--muted:#9aa8b3;--rule:#2e3b46;--accent:#8fbde6;--accent-soft:#233648;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.6}
.site-nav{background:var(--panel);border-bottom:1px solid var(--rule)}
.site-nav .in{max-width:1100px;margin:0 auto;padding:10px 16px;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline}
.site-nav .brand{font-family:var(--f-display);font-weight:700;font-size:20px;color:var(--ink);text-decoration:none;margin-right:auto}
.site-nav a{color:var(--muted);text-decoration:none;font-size:15px}
.site-nav a[aria-current]{color:var(--accent);font-weight:600}
.site-nav a:hover{color:var(--accent)}
article{max-width:760px;margin:0 auto;padding:28px 16px 64px}
article h1{font-family:var(--f-display);font-weight:700;font-size:clamp(30px,5vw,42px);line-height:1.1;margin:0 0 6px;text-wrap:balance}
article .byline{font-family:var(--f-mono);font-size:12px;color:var(--muted);margin:0 0 24px}
article h2{font-family:var(--f-display);font-size:28px;line-height:1.15;margin:40px 0 10px;border-top:1px solid var(--rule);padding-top:22px}
article h3{font-family:var(--f-mono);font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:26px 0 8px;font-weight:500}
article a{color:var(--accent)}
blockquote{margin:12px 0;padding:10px 16px;border-left:3px solid var(--accent);background:var(--panel)}
.tw{overflow-x:auto;margin:14px 0}
table{border-collapse:collapse;font-size:14.5px;min-width:100%;background:var(--panel)}
th,td{border:1px solid var(--rule);padding:6px 9px;text-align:left;vertical-align:top}
th{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:500;background:var(--bg)}
figure{margin:20px 0}
figure img{display:block;max-width:100%;height:auto;border:1px solid var(--rule);border-radius:4px;background:#fff}
figcaption{font-size:14px;color:var(--muted);margin-top:6px}
svg.stemma{width:100%;height:auto;display:block;background:var(--panel);border:1px solid var(--rule);border-radius:6px}
svg.stemma .bx{fill:none;stroke:var(--muted);stroke-width:1.25}
svg.stemma .bx.main{fill:var(--accent-soft);stroke:var(--accent);stroke-width:2}
svg.stemma .bx.lost{stroke-dasharray:5 4}
svg.stemma .cn{fill:none;stroke:var(--muted);stroke-width:1.25}
svg.stemma .arh{fill:var(--muted)}
svg.stemma text{font-family:var(--f-body);fill:var(--ink)}
svg.stemma .tt{font-size:15px;font-weight:600}
svg.stemma .nm{font-size:13px;font-weight:600}
svg.stemma .ln{font-size:11.5px;fill:var(--muted)}
ul.contains-task-list{list-style:none;padding-left:4px}
footer.site-foot{max-width:760px;margin:0 auto;padding:0 16px 40px;font-size:14px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:24px}
.card{display:block;background:var(--panel);border:1px solid var(--rule);border-radius:6px;padding:18px;text-decoration:none;color:var(--ink)}
.card:hover{border-color:var(--accent)}
.card .tag{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.card h2{border:none;padding:0;margin:4px 0 6px;font-size:24px}
.card p{margin:0;font-size:15.5px;color:var(--muted)}
.note{background:var(--panel);border:1px solid var(--rule);border-left:4px solid var(--accent);border-radius:6px;padding:14px 18px;margin:22px 0}
.note h2{border:none;padding:0;margin:0 0 6px;font-size:22px}
.note p{margin:8px 0;font-size:16px}
footer.site-foot a{color:var(--accent)}
.site-nav .home{display:inline-flex;align-items:center;align-self:center;color:var(--muted);margin-right:2px;padding:2px}.site-nav .home:hover{color:var(--accent)}
.royal-pair{display:flex;justify-content:center;gap:clamp(18px,5vw,40px);margin:4px 0 26px}
.royal-pair>figure{width:clamp(118px,26vw,160px);margin:0;text-align:center}
.royal-pair img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:3px;border:1px solid var(--rule);box-shadow:0 2px 10px rgba(0,0,0,.14)}
.royal-pair figcaption{margin-top:8px;font-family:var(--f-display);font-size:17px;line-height:1.2;color:var(--ink)}
.royal-pair figcaption span{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:var(--muted);margin-top:3px}
.toc ol{margin:6px 0 0;padding-left:22px;columns:2;column-gap:28px;font-size:16px}
.toc li{margin:2px 0;break-inside:avoid}
@media(max-width:600px){.toc ol{columns:1}}
