:root{--bg:#fbfaf7;--fg:#1c1b19;--muted:#5d5a54;--link:#1d4e89;--line:#dcd8cf;--card:#f1eee7;--accent:#8a5a14;--fs:18px;color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme]){--bg:#16171a;--fg:#e8e6e1;--muted:#a9a59c;--link:#8cb8f0;--line:#33353a;--card:#1f2125;--accent:#e0b46a;color-scheme:dark}}
:root[data-theme=light]{--bg:#fbfaf7;--fg:#1c1b19;--muted:#5d5a54;--link:#1d4e89;--line:#dcd8cf;--card:#f1eee7;--accent:#8a5a14;color-scheme:light}
:root[data-theme=dark]{--bg:#16171a;--fg:#e8e6e1;--muted:#a9a59c;--link:#8cb8f0;--line:#33353a;--card:#1f2125;--accent:#e0b46a;color-scheme:dark}
:root[data-theme=sepia]{--bg:#f4ecd8;--fg:#3b2f1e;--muted:#6b5a40;--link:#7a3b12;--line:#d9caa8;--card:#ebe0c6;--accent:#7a3b12;color-scheme:light}
:root[data-theme=custom]{--muted:var(--fg);--link:var(--fg);--line:color-mix(in srgb,var(--fg) 25%,var(--bg));--card:color-mix(in srgb,var(--fg) 7%,var(--bg));--accent:var(--fg)}
:root{--w:52rem;--font:Georgia,"PT Serif","Noto Serif","Times New Roman",serif}
@media (min-width:1200px){:root{--fs:20px}}
@media (min-width:1800px){:root{--fs:22px}}
:root[data-w=narrow]{--w:40rem}:root[data-w=normal]{--w:52rem}:root[data-w=wide]{--w:72rem}:root[data-w=full]{--w:100%}
:root[data-font=ptserif]{--font:"PT Serif",Georgia,serif}
:root[data-font=literata]{--font:Literata,Georgia,serif}
:root[data-font=sans]{--font:system-ui,"Segoe UI",Roboto,Arial,sans-serif}
:root[data-font=ptsans]{--font:"PT Sans","Segoe UI",Arial,sans-serif}
:root[data-font=verdana]{--font:Verdana,Tahoma,"Noto Sans",sans-serif}
.f-serif{font-family:Georgia,serif}.f-ptserif{font-family:"PT Serif",Georgia,serif}.f-literata{font-family:Literata,Georgia,serif}
.f-sans{font-family:system-ui,"Segoe UI",Roboto,Arial,sans-serif}.f-ptsans{font-family:"PT Sans",Arial,sans-serif}.f-verdana{font-family:Verdana,Tahoma,sans-serif}
.lbl{min-width:4.5em;color:var(--muted)}
*{box-sizing:border-box}
html{font-size:var(--fs);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:1rem/1.65 var(--font)}
a{color:var(--link)}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:8px;background:var(--bg);padding:4px 8px}
.top,.crumbs,main,.foot,.prefs{max-width:var(--w);margin:0 auto;padding:0 16px}
@media (min-width:1200px){.top,.crumbs,main,.foot,.prefs{padding:0 32px}}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;padding-bottom:12px;border-bottom:1px solid var(--line);font-family:system-ui,sans-serif}
.brand{font-weight:700;text-decoration:none;color:var(--fg);font-size:1.05rem}
button{font:inherit;font-size:.85rem;font-family:system-ui,sans-serif;color:var(--fg);background:var(--card);border:1px solid var(--line);border-radius:6px;padding:6px 10px;cursor:pointer;min-height:36px}
button[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:2px;font-weight:700}
.quick{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.quick[hidden]{display:none}
.sw-light{background:#fbfaf7;color:#1c1b19;border-color:#bdb8ad}
.sw-dark{background:#16171a;color:#e8e6e1;border-color:#55585e}
.sw-sepia{background:#f4ecd8;color:#3b2f1e;border-color:#c9b78f}
.sw-custom{background:linear-gradient(90deg,#fde68a,#93c5fd,#f9a8d4);color:#1c1b19;border-color:#9a9a9a}
@media (max-width:520px){.top{flex-wrap:wrap}.quick{justify-content:flex-start}}
.prefs{padding-top:10px;padding-bottom:10px;border-bottom:1px solid var(--line);font-family:system-ui,sans-serif;font-size:.85rem}
.prefs .row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0}
.prefs .custom{display:none}:root[data-theme=custom] .prefs .custom{display:flex}
.prefs input[type=color]{width:44px;height:32px;border:1px solid var(--line);padding:0;background:none;vertical-align:middle}
.warn{font-weight:600}
.crumbs{font-family:system-ui,sans-serif;font-size:.8rem;color:var(--muted);padding-top:10px}
h1{font-size:1.7rem;line-height:1.25;margin:.6em 0 .3em}
h2{font-size:1.2rem;margin:1.6em 0 .5em}
.lead{color:var(--muted);font-size:1.05rem}
.media{margin:1em 0;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:8px;font-family:system-ui,sans-serif;font-size:.85rem}
.media figcaption{font-weight:600;margin-bottom:6px}
.media audio,.media video{display:block;width:100%;margin:6px 0}
.yt{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#000;border-radius:6px;margin:6px 0}
.yt img{width:100%;height:100%;object-fit:cover;display:block}
.yt-btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:48px;border-radius:12px;background:#c00;color:#fff;font-size:22px;display:flex;align-items:center;justify-content:center}
.yt:hover .yt-btn,.yt:focus .yt-btn{background:#e00}
.yt-frame{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:6px;margin:6px 0}
.media summary{cursor:pointer;font-weight:600}
.dl{font-size:.8rem}
.text p{margin:0 0 .55em}
.vn{font-family:system-ui,sans-serif;font-size:.7em;color:var(--muted);text-decoration:none;vertical-align:super;margin-right:2px}
.vh{position:absolute;left:-9999px}
.chapters{padding-left:0;list-style:none}
.chapters li{padding:8px 0;border-bottom:1px solid var(--line)}
.chapters li span{display:block;color:var(--muted);font-size:.9rem}
.pager{display:flex;justify-content:space-between;gap:12px;margin:2em 0 1em;font-family:system-ui,sans-serif;font-size:.9rem}
.old{font-family:system-ui,sans-serif;font-size:.85rem}
.foot{border-top:1px solid var(--line);margin-top:2em;padding-top:8px;padding-bottom:24px;color:var(--muted);font-family:system-ui,sans-serif;font-size:.8rem}
:target{background:color-mix(in srgb,var(--accent) 15%,transparent)}
