/* FOW editorial margin; the accepted paper, ink and type owners remain in charge. */
.reader-shell{display:grid;grid-template-columns:308px minmax(0,760px);gap:0 64px;max-width:1200px;margin:48px auto 96px;padding:0 28px;color:var(--fow-paper-ink,#243c4a)}
.reader-context-heading{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.reader-status:empty{display:none}.reader-status{grid-column:2}
.reader-margin{position:sticky;top:32px;align-self:start;max-height:calc(100dvh - 64px);overflow:auto;font:15px/1.6 var(--fow-font-instrument,SUIT,sans-serif);padding-right:8px}
.reader-margin button,.reader-margin a,.reader-bridge button,.reader-bridge a,.reader-locator button{font:inherit;color:inherit;background:none;border:0;border-radius:0;text-decoration:none;cursor:pointer;min-height:44px}
.reader-region{font-size:12px;line-height:1.5;margin:0 0 18px;color:var(--fow-paper-ink,#243c4a)}
.reader-margin .reader-chapter{font:26px/1.3 var(--fow-font-instrument,SUIT,sans-serif);font-weight:550;text-align:left;width:100%;padding:0 0 12px;border-bottom:1px solid var(--fow-paper-rule,#bdb8a9)}
.reader-chapter:after{content:' ↓';font-size:15px}.reader-register{border-bottom:1px solid var(--fow-paper-rule,#bdb8a9);padding:12px 0}.reader-register[hidden]{display:none}.reader-register button{display:block;text-align:left;width:100%;font-size:14px}.reader-register button:disabled{opacity:.5;cursor:default}
.reader-reading{font-size:12px;line-height:1.7;margin:20px 0 16px;min-height:40px}
.reader-families{display:flex;flex-wrap:wrap;gap:0 16px;padding-bottom:8px;border-bottom:1px solid var(--fow-paper-rule,#bdb8a9)}.reader-families button{font-size:13px;padding:0}.reader-families [aria-pressed=true]{font-weight:700;text-decoration:underline;text-underline-offset:6px}
.reader-search-line{display:block;font-size:12px;padding-top:16px}.reader-search-line input{display:block;font:16px/1.5 var(--fow-font-instrument,SUIT,sans-serif);min-height:48px;color:inherit;border:0;border-bottom:1px solid var(--fow-paper-rule,#bdb8a9);border-radius:0;background:none;width:100%;padding:8px 0;box-sizing:border-box}.reader-search-line input::placeholder{color:inherit;opacity:.8}
.reader-count{font-size:12px;margin:18px 0 8px}.reader-rows{list-style:none;margin:0;padding:0}.reader-rows li{margin:0}.reader-rows a{display:grid;grid-template-columns:26px 1fr;gap:3px 8px;padding:11px 0;position:relative;font-size:16px;line-height:1.5;transition:transform 120ms ease-out}.reader-row-number{font-size:12px;padding-top:3px;font-variant-numeric:tabular-nums}.reader-rows small{grid-column:2;font-size:12px}.reader-rows a[aria-current]{font-weight:650}.reader-rows a[aria-current]:before{content:'│';position:absolute;left:-8px;top:10px}.reader-rows a[aria-current]:after{content:'READING';grid-column:2;font-size:10px;letter-spacing:.06em}.reader-margin>a{display:block;margin-top:24px;font-size:13px;border-top:1px solid var(--fow-paper-rule,#bdb8a9);padding-top:10px}
.reader-shell :focus-visible,.reader-context :focus-visible{outline:2px solid currentColor;outline-offset:4px}
.reader-stream{min-width:0}.reader-stream>.pub-x{max-width:none;margin:0 0 80px;padding:0;overflow:visible}.reader-stream .x-wrap{width:100%;max-width:100%;margin:0;padding:0}.reader-stream .pub-x__id{padding-top:0}.reader-stream .pub__section h4{margin:2.4rem 0 1rem;font-size:1.25rem;line-height:1.5}.reader-stream .pub-x__body{display:block!important;padding:0!important}.reader-stream .pub-x__id-main{max-width:none}.reader-stream .pub__title{font-size:clamp(32px,3.5vw,52px);line-height:1.2;text-wrap:balance;letter-spacing:-.025em}.reader-stream .pub__sub{font-size:19px;line-height:1.7}.reader-stream .pub__section{margin-top:20px;padding-top:20px}.reader-stream .pub__section-head{display:none}.reader-stream .fow-route-experience{margin:24px 0;padding:0}.reader-stream .pub-x__evidence{margin-top:32px}.reader-stream .pub-x__evidence-grid{display:block}.reader-stream .pub-x__evidence-col{margin:20px 0}.reader-stream .fow-fit-line,.reader-stream .fow-distinct{max-width:65ch}
.reader-bridge{border-top:1px solid var(--fow-paper-rule,#bdb8a9);border-bottom:1px solid var(--fow-paper-rule,#bdb8a9);padding:20px 0;margin-top:32px;display:flex;flex-wrap:wrap;gap:4px 24px;font:13px/1.6 var(--fow-font-instrument,SUIT,sans-serif)}.reader-bridge>a[data-subject]{flex-basis:100%;font-size:17px;padding:12px 0}.reader-bridge .intelligence-return{margin:0;flex-basis:100%}.reader-bridge p{margin:0}.reader-bridge [data-share-subject]{font-size:12px}
.reader-context.pub-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:16px 28px;min-height:64px;background:var(--fow-paper-base,#e9e8df);border-bottom:1px solid var(--fow-paper-rule,#bdb8a9);font:12px/1.5 var(--fow-font-instrument,SUIT,sans-serif);letter-spacing:0}.reader-context>span{flex:1;min-width:220px}.reader-context nav{display:flex;gap:16px}.reader-context a{color:inherit;min-height:32px;display:inline-flex;align-items:center}.reader-context [aria-current]{text-decoration:underline;text-underline-offset:5px}
.reader-locator{display:none}.reader-paper{color:inherit;background:var(--fow-paper-base,#e9e8df);border:0;border-radius:0}.guide-native{width:100%;border:0;min-height:900px}.reader-native .pub-bar,.reader-native .pub-skip{display:none}.reader-native .pub-x{margin:0}.reader-guide>h2{font:32px/1.3 var(--fow-font-editorial,serif)}
@media(hover:hover) and (pointer:fine){.reader-rows a:hover{transform:translateX(2px);text-decoration:underline;text-underline-offset:4px}}
@media(max-width:1000px) and (min-width:701px){.reader-shell{grid-template-columns:296px minmax(0,1fr);gap:32px;padding:0 24px}}
@media(max-width:700px){.reader-shell{display:block;padding:0 20px;margin:0 auto 64px}.reader-shell>aside{display:none}.reader-context.pub-bar{padding:12px 20px;gap:8px 16px}.reader-context>span{order:3;flex-basis:100%;font-size:11px;min-width:0}.reader-context nav{gap:12px;font-size:10px}.reader-context>a:last-child{margin-left:auto}.reader-locator{display:flex;position:sticky;top:0;z-index:30;align-items:center;gap:12px;margin:0 -20px 24px;padding:12px 20px;background:var(--fow-paper-base,#e9e8df);border-bottom:1px solid var(--fow-paper-rule,#bdb8a9);font:12px/1.6 var(--fow-font-instrument,SUIT,sans-serif)}.reader-locator span{flex:1}.reader-locator button{font-weight:650}.reader-paper{position:fixed;inset:0;box-sizing:border-box;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:24px;overflow:auto}.reader-paper::backdrop{background:var(--fow-paper-base,#e9e8df)}.reader-close{width:100%;text-align:right;margin-bottom:28px}.reader-stream .pub__title{font-size:32px}.reader-stream .pub__sub{font-size:18px}.reader-stream>.pub-x{margin-bottom:56px}.reader-rows a{font-size:17px;padding:14px 0}.reader-families{gap:0 18px}.reader-guide>h2{font-size:28px}.guide-native{min-height:900px}}
@media(prefers-reduced-motion:reduce){.reader-shell *{transition:none!important;scroll-behavior:auto!important}}
.reader-context.pub-bar,.reader-context.pub-bar a,.reader-context.pub-bar span{color:var(--fow-paper-ink,#243c4a)!important}.reader-context.pub-bar a:before{display:none!important}.reader-context.pub-bar a{letter-spacing:0;text-transform:none}
@media(min-width:701px){.reader-context.pub-bar{position:sticky;top:0;z-index:40}.reader-margin{top:96px;max-height:calc(100dvh - 120px)}}
.pub-x-js .publication-index{display:none}.publication-index{max-width:1200px;margin:20px auto;padding:0 28px;display:flex;flex-wrap:wrap;gap:12px;font:14px/1.6 var(--fow-font-instrument,SUIT,sans-serif)}.publication-index a{color:var(--fow-paper-ink,#243c4a);text-decoration:underline;text-underline-offset:3px}
.reader-stream :is([data-kind=GUIDE],[data-kind=ESSAY],[data-kind=EXPLAINER]) .pub__section-head{display:flex}
.reader-stream .pub-x__id{padding-bottom:28px}
/* One context grammar, carried by the Reader's paper masthead. */
.reader-context>a:first-child{font:24px/1 var(--fow-font-editorial-en,serif);white-space:nowrap}
.reader-surface-switch[open] nav{z-index:45}
.reader-surface-switch{position:relative;margin-left:auto}.reader-surface-switch summary{cursor:pointer;list-style:none;min-height:44px;display:flex;align-items:center}.reader-surface-switch summary::-webkit-details-marker{display:none}
.reader-search-line input:focus-visible{outline:0;border-bottom:2px solid currentColor;padding-bottom:7px}.reader-search-line:focus-within{font-weight:650}
/* Utility cards fit the Reader column, including the narrower desktop sidebar layout. */
.reader-stream .pub-x .pub__util--hero[data-utility="ic.trip"]{grid-template-columns:minmax(0,1fr)}
.reader-stream .pub-x .pub__util--hero[data-utility="ic.trip"]>:is(.pub__util-scene,.pub__util-panel){grid-column:1}
.reader-stream .pub-x .pub-x__cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}
.reader-stream .pub-x .pub-x__cards :is(button,b,dl,dd){min-width:0;overflow-wrap:anywhere}
.reader-stream .pub-x .pub-x__cards dl div{grid-template-columns:minmax(0,1fr);gap:.1rem}
.reader-stream .pub-x .pub-x__cards dd{text-align:left}
.reader-chunk-failure{border-block:1px solid var(--fow-paper-rule,#bdb8a9);padding:24px 0;margin:32px 0;font:14px/1.65 var(--fow-font-instrument,sans-serif)}.reader-chunk-failure h3{font:28px/1.3 var(--fow-font-editorial,serif);margin:8px 0 12px}.reader-failure-kicker{font-size:12px;margin:0}.reader-failure-actions{display:flex;flex-wrap:wrap;gap:8px 24px}.reader-failure-actions :is(button,a){font:inherit;min-height:44px;display:inline-flex;align-items:center;border:0;border-bottom:1px solid currentColor;background:none;color:inherit;padding:0;cursor:pointer;text-decoration:none}
@media(min-width:701px){.reader-surface-switch summary{display:none}}
@media(max-width:700px){
 .reader-context.pub-bar{padding:8px 20px;gap:0 14px;min-height:0;position:relative;z-index:40}.reader-context>a:first-child{font-size:21px;min-height:32px}.reader-context>span{order:3;font-size:12px;line-height:1.5;margin-top:2px}.reader-context [data-reader-locale]{margin-left:0!important;font-size:12px;min-height:44px}
 .reader-surface-switch summary{font-size:12px}.reader-surface-switch[open] nav{display:flex;position:absolute;right:-34px;top:44px;z-index:60;width:190px;padding:12px 20px;flex-direction:column;gap:0;background:var(--fow-paper-base,#e9e8df);border-block:1px solid var(--fow-paper-rule,#bdb8a9)}.reader-context nav a{min-height:44px;font-size:13px}
 .reader-locator{min-height:44px;padding:0 20px;margin-bottom:16px;font-size:12px}.reader-locator span{white-space:nowrap}.reader-paper .reader-close{margin-bottom:14px}.reader-paper .reader-region{margin-bottom:8px}.reader-paper .reader-reading{margin:14px 0 10px;min-height:0}.reader-paper .reader-search-line{padding-top:12px}
}

.pub .reader-related-view{box-sizing:border-box;max-width:70ch;margin-inline:auto;padding-inline:20px;font-size:.85rem;line-height:1.6;border-bottom:1px solid var(--line,#d1ccbf);padding-bottom:1rem}.reader-row-note{line-height:1.5}

.reader-margin>.reader-expand{display:block;width:100%;text-align:left;border-top:1px solid var(--fow-paper-rule,#bdb8a9);margin-top:12px;padding:10px 0;font-size:14px}

/* The persistent Reader owns restoration; native anchoring must not apply it twice. */
html.fow-reader-active{overflow-anchor:none}
/* INDEX on paper (fow_reader.js, Visible UX v0.1.2 §5.5): the path (the region as a whole, then where the reader is), the
   four kinds always standing with their counts, a search whose words name its scope, the chapters as a table of
   contents on index.html, and one line that widens a chapter with nothing in it */
.reader-path{display:flex;flex-wrap:wrap;align-items:center;min-height:44px;padding:0 0 6px;border-bottom:1px solid var(--fow-paper-rule,#bdb8a9);font:22px/1.3 var(--fow-font-editorial-ko,RIDIBatang,serif)}:lang(en) .reader-path{font-family:var(--fow-font-editorial-en,"EB Garamond",serif)}
.reader-margin .reader-crumb{min-height:40px;padding:0;text-decoration:underline;text-decoration-color:#8a6d3b99;text-underline-offset:5px}.reader-path-sep{white-space:pre;color:#7d7a70}.reader-here{font-weight:600}.reader-total{white-space:pre;font:13px var(--fow-font-instrument,SUIT,sans-serif);color:#5d6b72;font-variant-numeric:tabular-nums}
.reader-families{padding-top:4px}.reader-families button{font-variant-numeric:tabular-nums}.reader-families [data-empty]{opacity:.5}
.reader-vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.reader-search-line{padding-top:4px}
.reader-margin .reader-register{border-bottom:0;padding:4px 0 8px;list-style:none;margin:0}.reader-margin .reader-register li{margin:0}
.reader-margin .reader-register button{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:0 10px;width:100%;min-height:48px;padding:4px 0;text-align:left;border-bottom:1px solid var(--fow-paper-rule,#bdb8a9);font-size:14px}
.reader-margin .reader-register .reader-toc-all{grid-template-columns:1fr auto;font:17px/1.3 var(--fow-font-editorial-ko,RIDIBatang,serif)}:lang(en) .reader-margin .reader-register .reader-toc-all{font-family:var(--fow-font-editorial-en,"EB Garamond",serif)}
.reader-toc-code{font-size:11px;color:#5d6b72;font-variant-numeric:tabular-nums}.reader-toc-name{display:flex;flex-direction:column;line-height:1.25}.reader-toc-name small{font:600 10px var(--fow-font-instrument,SUIT,sans-serif);letter-spacing:.12em;color:#8a6d3b}.reader-toc-name span{font:15px/1.3 var(--fow-font-editorial-ko,RIDIBatang,serif)}:lang(en) .reader-toc-name span{font-family:var(--fow-font-editorial-en,"EB Garamond",serif)}
.reader-register b{min-width:3ch;text-align:right;font:12px var(--fow-font-instrument,SUIT,sans-serif);font-variant-numeric:tabular-nums}.reader-register [data-empty]{opacity:.55}.reader-register [data-preparing]{opacity:.45}
.reader-widen{display:flex;flex-direction:column;margin-top:8px}.reader-margin .reader-widen button{text-align:left;font-size:14px;padding:0;color:#7a5a24;text-decoration:underline;text-underline-offset:4px}.reader-also{font-size:12px;color:#5d6b72;margin:8px 0}.reader-empty{font-size:14px;color:#5d6b72;padding:10px 0}
.reader-margin :focus-visible{outline:2px solid #7a5a24;outline-offset:2px}
/* V10: in the reader the intro meets the body at the role's spacing (about 34px on a phone), not the published page's stacked margins */
@media(max-width:700px){.reader-stream .pub-x__id{padding-bottom:12px}.reader-stream .pub-x__sections>.pub__section:first-child{margin-top:0;padding-top:0}}
