:root{color-scheme:dark;--bg:#111315;--panel:#1b1e21;--ink:#e9e5db;--muted:#b6b4ad;--accent:#cfa985;--line:#34383c}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.75 Georgia,serif}
a{color:var(--accent);text-underline-offset:.2em}a:hover{color:#f8d3af}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.wrap{width:min(1120px,100% - 40px);margin:auto}header{border-bottom:1px solid var(--line);padding:22px 0}
header .wrap{display:flex;gap:20px;justify-content:space-between;align-items:center;flex-wrap:wrap}.brand{font-size:1.1rem;letter-spacing:.1em;text-decoration:none}
nav{display:flex;gap:18px;flex-wrap:wrap;font:14px/1.6 system-ui,sans-serif}main{padding:55px 0 72px;min-height:65vh}
h1,h2,h3{font-weight:normal;line-height:1.2;overflow-wrap:anywhere}h1{font-size:clamp(2.2rem,6vw,4.2rem);margin:.2em 0 .5em}h2{font-size:1.8rem}h3{font-size:1.3rem}
.eyebrow,.meta{font:13px/1.6 system-ui,sans-serif;color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.14em}.intro{max-width:660px;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:20px;margin:32px 0}.card{padding:26px;background:var(--panel);border:1px solid var(--line)}
.card h2{font-size:1.55rem;margin:.6em 0}.card p{font-size:1rem;color:var(--muted)}.reader{max-width:730px;margin:auto}.prose{font-size:clamp(1.1rem,2.4vw,1.22rem);line-height:1.9;overflow-wrap:anywhere}
.prose p{margin:0 0 1.35em}.reading-head{padding-bottom:30px;border-bottom:1px solid var(--line);margin-bottom:38px}.note{padding:18px 22px;border-left:2px solid var(--accent);background:var(--panel);font:14px/1.65 system-ui,sans-serif}
.section{margin-top:48px;padding-top:26px;border-top:1px solid var(--line)}.catalog{padding-left:22px}.catalog li{margin:16px 0}.disabled{color:var(--muted)}
footer{border-top:1px solid var(--line);padding:30px 0 42px;font:13px/1.8 system-ui,sans-serif;color:var(--muted)}footer p{max-width:820px}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:10px;background:var(--bg);z-index:2}
@media(max-width:600px){.wrap{width:calc(100% - 30px)}main{padding-top:34px}.card{padding:22px}nav{gap:12px}.reading-head{padding-bottom:24px}}
