.reading-article-page{--reading-paper:#f3efe4;--reading-ink:#161616;--reading-muted:#6f6a60;--reading-rule:#c9c2b4;--reading-red:#a52d28;--reading-soft:#e8e1d3;--reading-black:#111214;margin:0;background:var(--reading-paper);color:var(--reading-ink);font-family:var(--font-sans,"Helvetica Neue",Arial,sans-serif)}
.reading-article-page *{box-sizing:border-box}.reading-article-page ::selection{background:var(--reading-red);color:#fff}.reading-article-page a{color:inherit}.reading-article-page .site-nav{background:rgba(243,239,228,.96);border-bottom-color:var(--reading-rule);color:var(--reading-ink);backdrop-filter:blur(12px)}
.reading-article{width:min(1480px,calc(100% - 64px));margin:0 auto;padding-bottom:120px}.reading-article-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.58fr);min-height:72svh;border-bottom:1px solid var(--reading-ink)}.reading-article-hero-copy{display:flex;flex-direction:column;padding:38px 54px 54px 0;border-right:1px solid var(--reading-ink)}.reading-article-meta{display:flex;gap:14px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--reading-rule);font:750 .62rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.11em}.reading-article-meta span:nth-child(2){color:var(--reading-red)}.reading-article-title{margin:auto 0 44px}.reading-article-title p{margin:0 0 18px;color:var(--reading-red);font:750 .68rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}.reading-article-title h1{max-width:980px;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(4.4rem,7.6vw,9rem);font-weight:400;line-height:.84;letter-spacing:-.065em}.reading-article-deck{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:end;padding-top:24px;border-top:1px solid var(--reading-rule)}.reading-article-deck p{max-width:64ch;margin:0;color:var(--reading-muted);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.05rem,1.35vw,1.28rem);line-height:1.62}.reading-article-deck a{white-space:nowrap;text-decoration:none;font-size:.68rem;font-weight:800;letter-spacing:.09em}.reading-article-deck a:hover{text-decoration:underline;text-underline-offset:4px}
.reading-article-hero-source{position:relative;min-width:0;margin:0;background:#d5cab5;overflow:hidden}.reading-article-hero-source .reading-source-paper{position:absolute;inset:0;display:grid;place-items:center;padding:52px 40px;background:#d5cab5}.reading-article-hero-source .reading-source-paper:before{content:"";position:absolute;inset:7%;border:1px solid rgba(55,45,32,.55)}.reading-article-hero-source .reading-source-columns{display:flex;flex-direction:row-reverse;gap:24px;height:min(53vh,560px);padding:18px 6px;color:#2a241c;font-family:"Songti SC","STSong","Noto Serif CJK SC",serif;writing-mode:vertical-rl;text-orientation:mixed}.reading-article-hero-source .reading-source-columns span{font-size:clamp(1rem,1.35vw,1.35rem);letter-spacing:.18em;line-height:1.4}.reading-article-hero-source .reading-source-columns span:first-child{font-size:clamp(1.7rem,2.4vw,2.7rem);font-weight:700;letter-spacing:.26em}.reading-article-hero-source img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;opacity:0;transition:opacity .4s ease}.reading-article-hero-source.is-loaded img{opacity:1}.reading-article-hero-source figcaption{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:18px 20px;background:rgba(243,239,228,.95);border-top:1px solid var(--reading-ink);font:700 .56rem/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.06em}.reading-article-hero-source figcaption span{display:block}.reading-article-hero-source figcaption b{color:var(--reading-red)}.reading-article-hero-source figcaption a{display:block;margin-top:5px;color:var(--reading-muted);text-decoration:none}.reading-article-hero-source figcaption a:hover{text-decoration:underline;text-underline-offset:3px}
.reading-article-body{display:grid;grid-template-columns:180px minmax(0,760px) minmax(250px,1fr);gap:48px;padding:clamp(76px,8vw,128px) 0;border-bottom:1px solid var(--reading-ink)}.reading-article-side{position:sticky;top:110px;align-self:start}.reading-article-side p{margin:0 0 9px;color:var(--reading-red);font:750 .61rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}.reading-article-side span{display:block;color:var(--reading-muted);font-size:.72rem;line-height:1.5}.reading-article-prose{min-width:0}.reading-article-prose>p:first-child{margin-top:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.4rem,2vw,1.9rem);line-height:1.5}.reading-article-prose p{margin:0 0 24px;font-family:Georgia,"Times New Roman",serif;font-size:1.08rem;line-height:1.78}.reading-article-prose h2{margin:72px 0 24px;font-size:clamp(2.5rem,4.5vw,5rem);font-weight:580;line-height:.92;letter-spacing:-.055em}.reading-article-prose h2:first-of-type{margin-top:58px}.reading-primary-text{margin:48px 0;border-top:1px solid var(--reading-ink);border-bottom:1px solid var(--reading-ink)}.reading-primary-text header{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--reading-rule);font:750 .58rem/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.09em}.reading-primary-text header span:first-child{color:var(--reading-red)}.reading-primary-text blockquote{margin:0;padding:34px 0 28px;font-family:"Songti SC","STSong","Noto Serif CJK SC",serif;font-size:clamp(1.7rem,3vw,3.2rem);font-weight:500;line-height:1.55;letter-spacing:.02em}.reading-primary-text .reading-translation{padding:22px 0;border-top:1px solid var(--reading-rule);color:#3d3933;font-family:Georgia,"Times New Roman",serif;font-size:1.12rem;line-height:1.72}.reading-primary-text footer{display:flex;gap:16px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--reading-rule);color:var(--reading-muted);font:700 .56rem/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.06em}.reading-primary-text footer a{text-decoration:none}.reading-primary-text footer a:hover{color:var(--reading-ink);text-decoration:underline;text-underline-offset:3px}.reading-callout{margin:54px 0;padding:28px 30px;background:var(--reading-black);color:var(--reading-paper)}.reading-callout small{display:block;margin-bottom:18px;color:#ef665b;font:750 .58rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em}.reading-callout p{margin:0;color:#e4ded3;font-size:1.08rem;line-height:1.65}.reading-stop{margin-top:64px;padding-top:22px;border-top:1px solid var(--reading-ink)}.reading-stop span{display:block;margin-bottom:12px;color:var(--reading-red);font:750 .58rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em}.reading-stop p{margin:0;color:var(--reading-muted);font-size:1rem}
.reading-article-notes{align-self:start;padding:22px;border:1px solid var(--reading-rule);background:rgba(255,255,255,.14)}.reading-article-notes>p{margin:0 0 18px;color:var(--reading-red);font:750 .59rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em}.reading-note-row{padding:15px 0;border-top:1px solid var(--reading-rule)}.reading-note-row:first-of-type{border-top:1px solid var(--reading-ink)}.reading-note-row span{display:block;margin-bottom:6px;color:var(--reading-muted);font-size:.58rem;font-weight:800;letter-spacing:.08em}.reading-note-row b{display:block;font-size:.78rem;line-height:1.45}.reading-note-row a{display:inline-block;margin-top:5px;color:var(--reading-muted);font-family:Georgia,"Times New Roman",serif;font-size:.82rem;line-height:1.45;text-decoration:none}.reading-note-row a:hover{color:var(--reading-ink);text-decoration:underline;text-underline-offset:3px}.reading-note-row em{font-family:Georgia,"Times New Roman",serif;font-size:.82rem;color:var(--reading-muted);font-style:normal;line-height:1.45}
.reading-article-footer{display:grid;grid-template-columns:180px 1fr;gap:48px;padding:44px 0}.reading-article-footer span{color:var(--reading-red);font:750 .59rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em}.reading-article-footer div{display:flex;justify-content:space-between;gap:24px;align-items:baseline}.reading-article-footer strong{font-family:Georgia,"Times New Roman",serif;font-size:1.6rem;font-weight:400}.reading-article-footer a{text-decoration:none;font-size:.68rem;font-weight:800;letter-spacing:.08em}.reading-article-footer a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1080px){.reading-article{width:min(100% - 40px,1200px)}.reading-article-hero{grid-template-columns:minmax(0,1fr) minmax(310px,.62fr)}.reading-article-title h1{font-size:clamp(4rem,8vw,6.8rem)}.reading-article-body{grid-template-columns:130px minmax(0,1fr);gap:36px}.reading-article-notes{grid-column:2}.reading-article-footer{grid-template-columns:130px 1fr}}
@media(max-width:760px){.reading-article{width:calc(100% - 28px);padding-bottom:80px}.reading-article-hero{display:block;min-height:0}.reading-article-hero-copy{min-height:70svh;padding:24px 0 34px;border-right:0}.reading-article-meta{font-size:.55rem}.reading-article-title{margin:80px 0 34px}.reading-article-title h1{font-size:clamp(3.7rem,16vw,6rem)}.reading-article-deck{display:block}.reading-article-deck a{display:inline-block;margin-top:22px}.reading-article-hero-source{height:68svh;border-top:1px solid var(--reading-ink)}.reading-article-body{display:block;padding:68px 0}.reading-article-side{position:static;margin-bottom:36px;padding-bottom:14px;border-bottom:1px solid var(--reading-rule)}.reading-article-prose>p:first-child{font-size:1.35rem}.reading-primary-text blockquote{font-size:clamp(1.65rem,8vw,2.5rem)}.reading-article-notes{margin-top:56px}.reading-article-footer{display:block;padding:34px 0}.reading-article-footer div{display:block;margin-top:18px}.reading-article-footer a{display:inline-block;margin-top:18px}}
@media(max-width:460px){.reading-article{width:calc(100% - 22px)}.reading-article-hero-copy{min-height:74svh}.reading-article-title h1{font-size:clamp(3.2rem,16vw,4.9rem)}.reading-primary-text{margin:38px 0}.reading-primary-text blockquote{padding:26px 0 22px}.reading-callout{margin-inline:-11px;padding:24px 20px}.reading-article-notes{padding:18px}}
@media(prefers-reduced-motion:reduce){.reading-article-hero-source img{transition:none}}

/* GenRyu Serif TW trial — ButTaiwan / SIL OFL 1.1. */
@font-face{
  font-family:"Galok Reading Serif TW";
  src:url("/assets/fonts/genryu-reading-tw.woff2") format("woff2");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}

.reading-article-page .reading-article-hero-source .reading-source-columns,
.reading-article-page .reading-primary-text blockquote[lang="zh-Hant"]{
  font-family:"Galok Reading Serif TW","Noto Serif TC","Songti TC","PMingLiU",serif;
  font-synthesis:none;
}
