.flow-page{height:100svh;overflow:hidden}.flow-viewport{overscroll-behavior:contain;overflow-anchor:none;scrollbar-width:thin;scrollbar-color:var(--line) transparent;touch-action:pan-y pinch-zoom;outline-offset:-2px;scroll-behavior:auto;padding:16px;position:fixed;inset:64px 24px 38px;overflow:hidden auto}.flow-content{font:var(--reading-size) / 2.1 var(--serif);font-variation-settings:var(--serif-variation);line-break:strict;overflow-wrap:anywhere}.flow-intro{margin-block-end:2.5em}.flow-intro h1{letter-spacing:.08em;font-size:1.4em;line-height:1.7}.flow-intro p{letter-spacing:.12em;color:var(--muted);margin-block-start:.8em;font-size:.65em}.flow-chapter+.flow-chapter{margin-block-start:3em}.flow-chapter h2{letter-spacing:.08em;color:var(--olive);margin-block-end:1.5em;font-size:.8em;line-height:1.8}.flow-paragraph{text-indent:2em;margin-block-end:1em}.flow-verse{white-space:pre-line;text-indent:0;padding-inline-start:2em}.flow-note{color:var(--olive);padding-inline:.3em;display:inline}.flow-colophon{color:var(--muted);letter-spacing:.15em;margin-block:3em 1em;font-size:.65em}.flow-colophon>span{margin-block-end:1.5em;font-size:10px;display:block}:root[data-flow-layout=vertical] .flow-viewport{writing-mode:vertical-rl;text-orientation:mixed;touch-action:pan-x pinch-zoom;overflow:auto hidden}:root[data-flow-layout=vertical] .flow-content{font-feature-settings:"vert" 1, "vrt2" 1;min-block-size:100%;inline-size:100%}:root[data-flow-layout=vertical] .flow-intro,:root[data-flow-layout=vertical] .flow-chapter h2{padding-inline-start:1em}.flow-topbar,.flow-bottom{z-index:10;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex;position:fixed}.flow-topbar{height:64px;inset:0 32px auto}.flow-return,.flow-options,.flow-layout-options{align-items:center;display:flex}.flow-return{gap:12px;min-height:44px}.flow-return>span{font:14px/1.6 var(--serif);letter-spacing:.08em}.flow-options{gap:16px}.flow-layout-options button{min-width:44px;min-height:44px;padding:6px 8px}.flow-layout-options button[aria-pressed=true]{color:var(--ink);text-underline-offset:7px;text-decoration:underline;text-decoration-color:var(--olive)}#flow-settings{position:relative}#flow-settings summary{cursor:pointer;width:44px;height:44px;list-style:none}#flow-settings summary::-webkit-details-marker{display:none}.flow-settings-panel{border:1px solid var(--line);background:var(--paper);width:272px;color:var(--ink);border-radius:3px;padding:14px 22px 20px;position:absolute;top:48px;right:0;box-shadow:0 12px 36px #20231916}.flow-settings-panel>p{color:var(--muted);margin-top:12px;font-size:11px;line-height:1.9}.flow-bottom{height:38px;font-size:11px;inset:auto 40px 0}#flow-open-toc{align-items:center;gap:10px;min-height:38px;padding:0;display:flex}#flow-progress{font-variant-numeric:tabular-nums}.flow-controls{transition:opacity .18s}.flow-tools-hidden .flow-controls:not(:focus-within):not(:has(details[open])){opacity:0;pointer-events:none}.flow-toc{border:1px solid var(--line);background:var(--paper);width:min(440px,100vw - 32px);max-height:calc(100svh - 40px);color:var(--ink);border-radius:3px;padding:24px 28px}.flow-toc::backdrop{backdrop-filter:blur(4px);background:#292d2360}.flow-toc-heading{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.flow-toc h2{font:24px/1.6 var(--serif)}.flow-toc nav button{border-top:1px solid var(--line);text-align:start;width:100%;font-family:var(--serif);align-items:center;gap:18px;padding:14px 0;display:flex}.flow-toc nav button:hover,.flow-toc nav button[aria-current=true]{color:var(--olive)}.flow-toc-number{color:var(--muted);font:10px/1 var(--sans)}.flow-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=600px){.flow-viewport{padding:12px 6px;inset:56px 12px 38px}.flow-topbar{height:56px;inset-inline:16px}.flow-return>span{display:none}.flow-options{gap:6px}.flow-settings-panel{width:min(272px,100vw - 32px);max-height:calc(100svh - 110px);position:fixed;inset:56px 16px auto auto;overflow-y:auto}.flow-bottom{inset-inline:18px}.flow-intro h1{font-size:1.2em}}@media (height<=500px){.flow-topbar{height:48px}.flow-viewport{padding-top:8px;padding-bottom:8px;top:48px;bottom:30px}.flow-bottom{height:30px}.flow-settings-panel{max-height:calc(100svh - 70px);overflow-y:auto}}@media (prefers-reduced-motion:reduce){.flow-controls{transition:none}}@media print{.flow-page{height:auto;overflow:visible}.flow-viewport{position:static;writing-mode:horizontal-tb!important;overflow:visible!important}.flow-content{inline-size:auto!important}.flow-controls{display:none}}
