@font-face{font-family:"Sabon";src:url("fonts/Sabon.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Sabon";src:url("fonts/SabonItalic.ttf") format("truetype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Sabon";src:url("fonts/SabonBold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Sabon";src:url("fonts/SabonBoldItalic.ttf") format("truetype");font-weight:700;font-style:italic;font-display:swap}
*{box-sizing:border-box}:root{--ink:#171735;--line:#555580;--paper:#e5e5fa;--outer:#7f7fee;--link:#292970}html{background:var(--outer);color:var(--ink);scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;font:19px/1.65 "Sabon",Georgia,"Times New Roman",serif}a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:#751d42}a:focus-visible,button:focus-visible{outline:2px solid #751d42;outline-offset:4px}.skip{position:absolute;top:-80px;left:15px}.skip:focus{top:10px;background:var(--paper);z-index:10;padding:8px}.book{width:min(720px,calc(100% - 36px));min-height:calc(100vh - 40px);margin:20px auto;background:var(--paper);padding:0 34px;box-shadow:none}.book.reader{width:min(1100px,calc(100% - 36px))}nav{text-align:center;padding:12px 0 9px;font-size:13px;font-variant:small-caps;letter-spacing:.08em}nav a{text-decoration:none}nav a[aria-current]{text-decoration:underline;text-underline-offset:4px}nav .orn{padding:0 12px;font-size:12px}header .running{display:flex;justify-content:space-between;gap:16px;padding:9px 5px;font-size:15px;font-style:italic}.running a{text-decoration:none}.edition{font-size:12px;font-style:normal;font-variant:small-caps;letter-spacing:.06em}.ordinary{max-width:470px;margin:42px auto 75px}h1{text-align:center;font-size:37px;line-height:1.25;font-weight:400;margin:0 0 22px;letter-spacing:-.025em}h2{font-size:24px;font-weight:400;line-height:1.4;margin:0 0 18px}p{margin:0 0 20px}.ordinary p{text-align:justify;hyphens:auto}.subtitle{text-align:center!important;font-style:italic;font-size:17px}.divider{text-align:center;margin:32px 0 17px;color:#494982}.center{text-align:center}.small{font-size:14px}.muted{color:#555573}.draft{font-size:14px;padding-top:13px;margin-top:32px}.entry{margin:30px 0}.entry h2{font-size:22px;margin-bottom:2px}.entry .meta{font-size:14px;font-style:italic;padding-bottom:8px;margin-bottom:12px}.entry p{font-size:17px}.entry .read{text-align:left;font-size:16px}footer{padding:12px 0 16px;display:flex;justify-content:space-between;gap:20px;font-size:12px}.reading-head{max-width:600px;margin:38px auto 35px}.reading-head .subtitle{margin-bottom:12px}.reading-head .draft{margin:20px 0;font-size:13px;text-align:center}.reading-grid{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:35px;align-items:start;margin:0 0 50px}.prose{padding:0 12px 0 22px;min-width:0}.prose p{text-align:justify;hyphens:auto}.prose h2{text-align:center;margin:37px 0 22px}.chapter{display:block;font-size:12px;letter-spacing:.1em;margin-bottom:7px}.initial:first-letter{float:left;font-size:43px;line-height:.95;padding:4px 6px 4px 0}.prose sup{font-size:12px;line-height:0}.prose sup a{padding:3px;scroll-margin-top:100px}.prose blockquote{font-style:italic;margin:28px 20px;font-size:17px}.notes{position:sticky;top:18px;background:#dadaf4;max-height:calc(100vh - 36px);display:flex;flex-direction:column;font-size:14px;line-height:1.5}.notes h2{font-variant:small-caps;letter-spacing:.09em;font-size:17px;text-align:center;padding:10px;margin:0}.notes .hint{font-size:12px;margin:0;padding:9px 13px;}.notes ol{overflow-y:auto;margin:0;padding:14px 14px 14px 35px;scrollbar-color:#7373b6 #dadaf4}.notes li{padding:8px 5px;margin:0 0 13px;scroll-margin:15px;transition:background .15s}.notes li.active,.notes li:target{background:#bfbfe9;box-shadow:none}.back{white-space:nowrap;padding:3px}.reader-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:18px;margin-top:35px;font-size:15px}.notes li:focus{outline:2px solid #34347a}@media(max-width:760px){body{font-size:18px}.book,.book.reader{width:calc(100% - 20px);margin:10px auto;padding:0 18px;min-height:calc(100vh - 20px)}.ordinary{margin-top:32px}.reading-grid{display:block}.prose{padding:0}.notes{position:static;max-height:none;margin-top:35px}.notes ol{overflow:visible}.notes .hint{display:none}header .running{font-size:14px}.edition{font-size:11px}h1{font-size:32px}.ordinary p,.prose p{text-align:justify;hyphens:auto}.reading-head{margin-top:30px}footer{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.notes li{transition:none}}@media print{html{background:white}.book,.book.reader{width:100%;border:0;box-shadow:none;margin:0;padding:0}nav,.skip,.hint{display:none}.notes{position:static;max-height:none;background:white}.notes ol{overflow:visible}.reading-grid{display:block}.notes li.active{background:none;box-shadow:none}body{font-size:12pt}footer{margin-top:20px}}
/* Einheitlicher Blocksatz für Fließtext und Anmerkungen. */
.ordinary p,.prose p,.prose blockquote,.notes li{text-align:justify;hyphens:auto;overflow-wrap:break-word}

nav a+a{margin-left:24px}footer{align-items:center}.footer-logo{display:inline-flex;flex:none}.footer-logo img{display:block;width:64px;height:64px;object-fit:contain}

/* Jahreszahl und Logo stehen auf derselben unteren Kante. */
footer{align-items:flex-end}footer>span{line-height:1;margin:0;padding:0}.footer-logo img{vertical-align:bottom}

/* Anfangsbuchstaben exakt 2 px größer. */
nav{font-size:13px;font-variant:normal}nav .nav-initial{font-size:15px}

@font-face{font-family:"Source Han Serif SC";src:url("fonts/SourceHanSerifSC-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Han Serif SC";src:url("fonts/SourceHanSerifSC-Bold.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap}
.footer-signature{display:flex;flex-direction:column;align-items:center;gap:6px}.footer-hanzi{font-family:"Source Han Serif SC",serif;font-size:12px;line-height:1.4}

/* Quadratische Startseite; Fußzeile am unteren Rand. */
.book.home{display:flex;flex-direction:column;aspect-ratio:1 / 1;min-height:0;padding-bottom:16px}
.home .home-main{width:100%;flex:1;margin:54px auto 35px}
.home footer{margin-top:auto;flex-shrink:0}
@media(max-width:760px){.book.home{min-height:calc(100svh - 20px);aspect-ratio:auto}.home .home-main{margin-top:40px}}

.notes-toggle{font:inherit;font-variant:inherit;letter-spacing:inherit;color:inherit;border:0;background:none;cursor:pointer;width:100%;padding:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.notes-toggle span{font-variant:normal;font-size:20px;line-height:1}#notes-body{display:flex;flex-direction:column;min-height:0;overflow:hidden}#notes-body[hidden]{display:none}.notes.is-collapsed{max-height:none}.notes-toggle:focus-visible{outline:2px solid #34347a;outline-offset:3px}@media(max-width:760px){#notes-body{overflow:visible}}@media print{#notes-body[hidden]{display:block}.notes-toggle span{display:none}}

/* Ohne Anmerkungsspalte nutzt der Text die vollständige Breite. */
.reading-grid.notes-collapsed{grid-template-columns:minmax(0,1fr)}
.reading-grid.notes-collapsed .notes{grid-row:1;justify-self:end;width:265px;position:static}
.reading-grid.notes-collapsed .prose{grid-row:2;width:100%}
@media print{.reading-grid.notes-collapsed .notes{width:100%}}

footer .footer-signature{margin-left:auto}.directory-list{list-style:none;padding:0;margin:0}.directory-list li{margin:0 0 18px}

.directory-list{display:flex;flex-wrap:wrap;gap:18px 96px}.directory-list li{margin:0}

.book.directory-page{display:flex;flex-direction:column;aspect-ratio:1 / 1;min-height:0;padding-bottom:16px}.directory-page .ordinary{width:100%;flex:1}.directory-page footer{margin-top:auto;flex-shrink:0}@media(max-width:760px){.book.directory-page{min-height:calc(100svh - 20px);aspect-ratio:auto}}

.directory-list a{font-style:italic}

/* Identische Außenmaße und Position auf Startseite und Verzeichnis. */
html{scrollbar-gutter:stable}
.book.home,.book.directory-page{width:min(720px,calc(100% - 36px));aspect-ratio:1;min-height:0;display:flex;flex-direction:column;margin:20px auto;padding:0 34px 16px}
.home footer,.directory-page footer{min-height:92px;margin-top:auto;flex-shrink:0}
@media(max-width:760px){.book.home,.book.directory-page{width:calc(100% - 20px);margin:10px auto;padding:0 18px 16px;min-height:calc(100svh - 20px);aspect-ratio:auto}}

/* Eine gemeinsame, explizite quadratische Fläche für beide Seiten. */
@media(min-width:761px){.book.square-page{width:720px;max-width:calc(100vw - 51px);height:min(720px,calc(100vw - 51px));min-height:min(720px,calc(100vw - 51px));aspect-ratio:auto;flex-shrink:0}.book.square-page>main{min-height:0}.book.square-page>footer{margin-top:auto}}

/* Gemeinsames Raster statt unterschiedlicher Flex-Inhaltshöhen. */
.book.square-page{display:grid!important;grid-template-rows:auto auto minmax(0,1fr) 92px;gap:0;width:min(720px,calc(100vw - 51px))!important;height:min(720px,calc(100vw - 51px))!important;min-height:0!important;max-width:none;aspect-ratio:auto!important;margin:20px auto!important;padding:0 34px 16px!important}
.book.square-page>main{width:100%;max-width:470px;min-height:0;align-self:stretch;margin:54px auto 35px!important;flex:none}
.book.square-page>footer{height:92px;min-height:0;margin:0!important;align-self:end}
@media(max-width:760px){.book.square-page{width:calc(100vw - 35px)!important;height:max(calc(100vw - 35px),calc(100svh - 20px))!important;margin:10px auto!important;padding:0 18px 16px!important}.book.square-page>main{margin:40px auto 35px!important}}

/* Tag und Nacht: nur kurze Farbwechsel, keine Layoutbewegung. */
.theme-toggle{margin-left:auto;appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-style:normal;cursor:pointer;padding:0 4px;text-decoration:underline;text-underline-offset:3px}
html[data-theme="night"]{--ink:#f4f4f4;--paper:#000;--outer:#10102d;--link:#fff;--line:#777;color-scheme:dark}
html[data-theme="night"] .book{background:#000;color:#f4f4f4}
html[data-theme="night"] .muted{color:#b9b9c9}
html[data-theme="night"] .notes{background:#111}
html[data-theme="night"] .notes ol{scrollbar-color:#696981 #111}
html[data-theme="night"] .notes li.active,html[data-theme="night"] .notes li:target{background:#29293e}
html[data-theme="night"] .footer-logo img{filter:invert(1)}
html[data-theme="night"] a:hover{color:#c7c7ff}
html[data-theme="night"] a:focus-visible,html[data-theme="night"] button:focus-visible{outline-color:#bdbdff}
html.theme-transition,html.theme-transition .book,html.theme-transition a,html.theme-transition button,html.theme-transition .notes,html.theme-transition .muted{transition:background-color 160ms ease,color 160ms ease}
html.theme-transition .footer-logo img{transition:filter 160ms ease}
@media(prefers-reduced-motion:reduce){html.theme-transition,html.theme-transition *{transition:none!important}}

/* Chinesischer Auftakt: drei Spalten, rechts beginnend. */
.book.square-page.home>main{max-width:none;display:flex;align-items:center;justify-content:center;margin:18px 0 12px!important;min-width:0}
.vertical-quote{display:flex;flex-direction:row-reverse;align-items:flex-start;justify-content:center;gap:30px;font-family:"Source Han Serif SC",serif;font-size:32px;font-weight:400;line-height:1.6;color:var(--ink);opacity:.09;transition:opacity 600ms ease-in-out;cursor:default;max-width:100%}
.vertical-quote>span{display:block;writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap;letter-spacing:.08em}
.vertical-quote:hover{opacity:.5}
@media(hover:none){.vertical-quote{opacity:.45}}
@media(max-width:760px){.vertical-quote{font-size:clamp(22px,5vw,30px);gap:clamp(14px,4vw,28px)}}
@media(prefers-reduced-motion:reduce){.vertical-quote{transition:none}}

.vertical-quote .punctuation-space{visibility:hidden}
