*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:1rem}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 "Noto Sans CJK SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
a:hover{color:var(--accent)}
a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
img{display:block;max-width:100%}
h1,h2,h3,p,figure{margin-top:0}
h1,h2,h3{line-height:1.45;text-wrap:pretty}
h1{font-size:clamp(1.85rem,3.2vw,3rem);font-weight:700}
h2{font-size:1.45rem}
h3{font-size:1.05rem}
.wrap{width:min(1140px,calc(100% - 3rem));margin-inline:auto}
.skip{position:fixed;top:-5rem;left:1rem;background:var(--card);padding:.6rem 1rem;z-index:20}
.skip:focus{top:1rem}
.mast{border-bottom:1px solid var(--rule);background:var(--card)}
.mast>.wrap{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{font-size:1.75rem;font-weight:800;letter-spacing:.02em;text-decoration:none}
.mast nav{display:flex;flex-wrap:wrap;gap:1.8rem}
.mast nav a{font-size:.9rem;text-decoration:none}
.mast nav a[aria-current=page]{border-bottom:2px solid var(--accent);color:var(--accent)}
.opening{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:3rem;padding:2.7rem 0 2rem}
.opening-copy,.featured,.copy{min-width:0}
.kicker,.section-number{font-size:.75rem;letter-spacing:.09em;color:var(--accent);font-weight:650;margin-bottom:.8rem}
.opening h1{font-family:"Noto Serif CJK SC","Songti SC",SimSun,serif;font-size:clamp(1.9rem,3.4vw,3.15rem);margin-bottom:1.3rem}
.opening h1>span{display:block;font-family:"Microsoft YaHei",sans-serif;font-size:.44em;font-weight:600;letter-spacing:.09em;color:var(--accent);margin-bottom:.8rem}
.deck{max-width:37rem;font-size:1.02rem;line-height:1.95;color:var(--muted)}
.opening-note{color:var(--muted);font-size:.81rem;margin:1.2rem 0 0;max-width:34rem}
.primary-link{display:inline-block;padding:.65rem 1rem;border:1px solid var(--accent);color:var(--accent);background:var(--wash);font-size:.88rem;text-decoration:none}
.primary-link span{margin-left:1rem}
.featured{border:1px solid var(--rule);background:var(--card);padding:1rem}
.featured>.kicker{font-size:.7rem;margin-bottom:.7rem}
.featured .card-link{display:block;text-decoration:none}
.feature-media{margin:0}
.feature-media img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;background:var(--wash)}
.feature-media figcaption{font-size:.73rem;line-height:1.7;color:var(--muted);margin:.65rem 0 .85rem}
.featured h2{font-size:1.12rem;line-height:1.6;margin-bottom:.65rem}
.featured>.summary{font-size:.84rem;line-height:1.75;color:var(--muted);margin-bottom:0}
.start-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-bottom:2.8rem}
.start-links a{min-height:4.1rem;padding:.75rem 1rem;border:1px solid var(--rule);background:var(--wash);text-decoration:none;display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.start-links strong{font-size:.93rem}
.start-links span{font-size:.72rem;white-space:nowrap;color:var(--muted)}
.band{margin-block:2.5rem 3rem}
.index-section{border-top:1px solid var(--rule);padding-top:1.6rem}
.section-top{display:flex;align-items:end;justify-content:space-between;gap:1.5rem}
.section-top h2{font-size:1.42rem;max-width:48rem;margin-bottom:.6rem}
.section-top>a{flex-shrink:0;font-size:.81rem;margin-bottom:.7rem}
.section-number{font-size:.68rem;margin-bottom:.35rem}
.section-lead{font-size:.88rem;color:var(--muted);max-width:56rem;margin-bottom:1.4rem}
.entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem}
.entry{min-width:0;border:1px solid var(--rule);background:var(--card);padding-bottom:.95rem}
.card-link{display:block;text-decoration:none}
.thumb{display:block;background:var(--wash);overflow:hidden}
.thumb img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.entry.portrait .thumb img{object-fit:contain}
.copy{padding:.9rem 1rem 0}
.meta{font-size:.72rem;color:var(--accent);line-height:1.6;margin-bottom:.4rem}
.entry h2,.entry h3{font-size:1.04rem;line-height:1.6;margin-bottom:0}
.entry .summary{font-size:.82rem;line-height:1.8;color:var(--muted);margin:.75rem 1rem 0}
.index-section .entries{grid-template-columns:repeat(2,minmax(0,1fr))}
.index-section .card-link{display:grid;grid-template-columns:145px minmax(0,1fr);align-items:start}
.index-section .thumb img{aspect-ratio:4/3}
.index-section .copy{padding:.7rem .9rem 0}
.editor-note{margin-block:3rem;padding:1.6rem 2rem;background:var(--wash);border-left:3px solid var(--accent)}
.editor-note h2{font-size:1.25rem}
.editor-note p:not(.kicker){font-size:.92rem;line-height:1.9;max-width:55rem}
.editor-note>a{font-size:.83rem}
.faq{border-top:1px solid var(--rule);padding-top:1.8rem;max-width:60rem}
.faq h2{font-size:1.38rem}
.faq details{padding:1rem 0;border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;font-weight:600;font-size:.95rem}
.faq details p{font-size:.88rem;line-height:1.85;color:var(--muted);max-width:51rem;margin:1rem 0 .25rem}
.footer{margin-top:4rem;background:var(--wash);border-top:1px solid var(--rule);padding-block:2rem}
.footer-links{display:flex;flex-wrap:wrap;gap:.65rem 1.3rem;margin-bottom:1.2rem}
.footer-links a{font-size:.82rem}
.footer p{font-size:.76rem;color:var(--muted);margin-bottom:.35rem}
.page-head{max-width:57rem;padding-block:2.5rem 1.5rem}
.page-head h1{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:1rem}
.page-head>.lead{color:var(--muted);font-size:1rem}
.crumb{font-size:.79rem;color:var(--muted);line-height:1.85;margin-bottom:1.3rem;overflow-wrap:anywhere}
.crumb a{text-decoration:none}
.article-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:1rem 2.7rem;padding-block:2.3rem 1.6rem;border-bottom:1px solid var(--rule)}
.article-intro>.crumb{grid-column:1/-1;margin-bottom:.2rem}
.article-heading{min-width:0}
.article-heading h1{font-size:clamp(1.8rem,3vw,2.55rem);margin-bottom:1.2rem}
.article-heading .lead{font-size:1.02rem;line-height:1.9;color:var(--muted)}
.reading-note{font-size:.8rem;padding:.7rem .85rem;background:var(--wash);border-left:2px solid var(--accent);color:var(--muted)}
.article-media{margin:0;background:var(--wash);padding:.6rem;min-width:0}
.article-media img{width:100%;height:auto;max-height:510px;object-fit:contain}
.article-media figcaption{font-size:.75rem;line-height:1.75;color:var(--muted);margin:.7rem .2rem .2rem}
.reading{display:grid;grid-template-columns:14rem minmax(0,1fr);gap:3rem;align-items:start;margin-top:2rem;max-width:68rem}
.toc{border-block:1px solid var(--rule);padding:1rem 0;font-size:.81rem}
.toc p{font-size:.75rem;color:var(--accent);margin-bottom:.5rem}
.toc ol{padding-left:1.3rem;margin:0}
.toc li+li{margin-top:.5rem}
.toc a{text-decoration:none}
.prose{max-width:46rem;min-width:0}
.prose section{margin-bottom:2.3rem}
.prose h2{font-size:1.35rem;line-height:1.6;margin-bottom:1rem}
.prose p{line-height:1.95;margin-bottom:1.15rem;overflow-wrap:anywhere}
.reading>.prose:only-child{grid-column:1/-1;max-width:47rem;margin-inline:auto}
.sources{margin-top:2.8rem;padding-top:1.4rem;border-top:1px solid var(--rule)}
.sources h2{font-size:1rem}
.sources ul{padding-left:1.3rem;font-size:.8rem;color:var(--muted)}
.sources li{margin-bottom:.55rem;overflow-wrap:anywhere}
.related{border-top:1px solid var(--rule);padding-top:1.8rem}
.related .entries{grid-template-columns:repeat(2,minmax(0,1fr));max-width:56rem}
.support-prose{max-width:50rem}
.map-group{margin-block:1.4rem 2rem}
.map-group h2{font-size:1.2rem}
.map-group ul{padding-left:1.35rem}
.map-group li{font-size:.92rem;margin-bottom:.65rem}
/* Each journal keeps one visual system across its homepage, columns and reading pages. */
.layout-ledger .mast{border-top:4px solid var(--accent)}
.layout-ledger .brand{font-family:"Noto Serif CJK SC",SimSun,serif}
.layout-ledger .opening{border-bottom:3px double var(--rule);margin-bottom:1.5rem}
.layout-ledger .featured{box-shadow:.35rem .35rem 0 var(--wash)}
.layout-ledger .index-section .section-number{border-left:2px solid var(--accent);padding-left:.7rem}
.layout-ledger .article-heading h1{font-family:"Noto Serif CJK SC",SimSun,serif}
.layout-programme .opening{background:#422e38;color:#fff1e4;padding:2rem;margin-top:2rem;margin-bottom:1.2rem;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.layout-programme .opening .kicker,.layout-programme .opening h1>span{color:#edb3ac}
.layout-programme .opening .deck,.layout-programme .opening-note{color:#e8d2d1}
.layout-programme .opening .primary-link{background:#f2d8c9;color:#4d2937;border-color:#f2d8c9}
.layout-programme .featured{background:#513944;border-color:#7c5c67}
.layout-programme .featured .card-link:hover,.layout-programme .featured .card-link:focus-visible{color:#ffdfb4}
.layout-programme .featured .kicker,.layout-programme .featured .summary,.layout-programme .feature-media figcaption{color:#e5c4c4}
.layout-programme .start-links a{border-radius:.6rem}
.layout-programme .section-top h2{font-family:"Noto Serif CJK SC",SimSun,serif}
.layout-programme .article-media{padding:.75rem;border-radius:.4rem}
.layout-dialogue .mast{background:#dbe9de}
.layout-dialogue .opening{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.layout-dialogue .featured{border-radius:1.6rem 1.6rem 1.6rem .2rem;background:#fffef7}
.layout-dialogue .featured .feature-media img{border-radius:.8rem}
.layout-dialogue .start-links a{border-radius:.75rem .75rem .75rem .15rem}
.layout-dialogue .entry{border-radius:.8rem .8rem .8rem .15rem;overflow:hidden}
.layout-dialogue .section-top h2{border-left:3px solid var(--accent);padding-left:.7rem}
.layout-dialogue .editor-note{border-radius:.3rem 1.1rem 1.1rem .3rem}
.layout-context .mast{border-bottom:3px solid #285f86}
.layout-context .opening{display:block;position:relative;padding-block:2.4rem}
.layout-context .opening-copy{max-width:49rem}
.layout-context .opening h1{font-family:"Microsoft YaHei",sans-serif;font-size:2.65rem}
.layout-context .opening h1 br{display:none}
.layout-context .opening .deck{max-width:49rem}
.layout-context .opening .featured{margin-top:1.7rem;display:grid;grid-template-columns:10rem minmax(0,1fr);gap:1rem 1.8rem;padding:1.2rem}
.layout-context .featured>.kicker{grid-column:1;align-self:start;margin-top:.2rem}
.layout-context .featured>.card-link{grid-column:2;display:grid;grid-template-columns:220px minmax(0,1fr);gap:1.2rem;align-items:center}
.layout-context .feature-media figcaption{display:none}
.layout-context .featured .summary{grid-column:2;margin:0}
.layout-context .start-links{border-block:1px solid var(--rule);gap:0}
.layout-context .start-links a{border-block:0;border-left:0}
.layout-context .start-links a:last-child{border-right:0}
.layout-context .section-number{font-variant-numeric:tabular-nums}
.layout-screen .mast{background:#262b3d;border-top:3px solid #f0c778}
.layout-screen .brand{color:#f0c778}
.layout-screen .opening{padding:2rem;margin-top:2rem;border:1px solid #596077;background:linear-gradient(115deg,#292e43,#202333);margin-bottom:1.5rem}
.layout-screen .opening h1{font-family:"Microsoft YaHei",sans-serif}
.layout-screen .featured{border-color:#596077;box-shadow:.35rem .35rem 0 #151a2a}
.layout-screen .start-links a{border-left:3px solid #d0ac6e}
.layout-screen .section-number{display:inline-block;border:1px solid #736951;padding:.16rem .5rem}
.layout-screen .prose{color:#e8e9ee}
@media(max-width:900px){.mast nav{gap:1.1rem}.opening{gap:2rem}.opening h1{font-size:2.1rem}.start-links{grid-template-columns:repeat(2,minmax(0,1fr))}.index-section .card-link{grid-template-columns:110px minmax(0,1fr)}.index-section .copy{padding:.55rem .75rem 0}.entries{gap:1rem}.article-intro{gap:1rem 1.8rem}.reading{grid-template-columns:11rem minmax(0,1fr);gap:1.8rem}.layout-context .opening .featured{grid-template-columns:7rem minmax(0,1fr)}.layout-context .featured>.card-link{grid-template-columns:160px minmax(0,1fr)}.layout-context .featured .summary{margin:0}}
@media(max-width:650px){.wrap{width:calc(100% - 2rem)}.mast>.wrap{display:block;min-height:0;padding-block:.95rem .8rem}.brand{font-size:1.48rem}.mast nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem;margin-top:.65rem}.mast nav a{font-size:.76rem;line-height:1.85}.opening{display:block;padding-block:1.7rem 1.4rem}.opening h1{font-size:1.82rem}.opening h1>span{font-size:.52em}.deck{font-size:.94rem}.opening-note{font-size:.77rem}.featured{margin-top:1.6rem}.featured h2{font-size:1.08rem}.featured .summary{font-size:.82rem}.feature-media figcaption{font-size:.72rem}.start-links{gap:.55rem;margin-bottom:2rem}.start-links a{padding:.75rem .65rem;min-height:3.5rem}.start-links strong{font-size:.85rem}.start-links span{font-size:.68rem}.band{margin-block:1.8rem 2.5rem}.section-top{align-items:center;gap:.7rem}.section-top h2{font-size:1.18rem}.section-top>a{font-size:.7rem;max-width:5.7rem;margin-bottom:0}.section-number{font-size:.66rem}.section-lead{font-size:.84rem}.entries,.index-section .entries,.related .entries{grid-template-columns:minmax(0,1fr)}.index-section .card-link{grid-template-columns:112px minmax(0,1fr)}.index-section .entry h3{font-size:1rem}.index-section .entry .summary{font-size:.82rem}.editor-note{padding:1.2rem;margin-block:2rem}.editor-note h2{font-size:1.18rem}.editor-note p:not(.kicker){font-size:.87rem}.faq h2{font-size:1.25rem}.faq summary{font-size:.9rem}.faq details p{font-size:.85rem}.footer{margin-top:2.6rem}.footer-links{gap:.65rem 1rem}.page-head{padding-top:1.7rem}.article-intro{display:block;padding-top:1.7rem}.article-heading h1{font-size:1.72rem}.article-heading .lead{font-size:.96rem}.article-media{margin-top:1.5rem}.reading{display:block;margin-top:1.5rem}.toc{margin-bottom:1.8rem;max-width:100%}.prose{width:100%;max-width:100%}.prose h2{font-size:1.23rem}.prose p{font-size:.98rem}.article-media img{max-height:440px}.related h2{font-size:1.25rem}.layout-programme .opening,.layout-screen .opening{display:block;padding:1.2rem;margin-top:1.3rem}.layout-dialogue .opening{display:block}.layout-context .opening{padding-block:1.7rem}.layout-context .opening h1{font-size:1.82rem}.layout-context .opening h1 br{display:initial}.layout-context .opening .featured{display:block;margin-top:1.5rem;padding:1rem}.layout-context .featured>.card-link{display:block}.layout-context .featured .summary{margin:.7rem 0 0}.layout-context .feature-media figcaption{display:block}.layout-context .start-links a{border:1px solid var(--rule)}.layout-context .start-links a:last-child{border-right:1px solid var(--rule)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.visual-heiliao{--wash:#e9ded0;--rule:#cac8c1;--muted:#62696b;--card:#fffdf8}
.visual-melon51{--wash:#f0dfd9;--rule:#cac8c1;--muted:#62696b;--card:#fffdf8}
.visual-guacommunity{--wash:#dbe9de;--rule:#cac8c1;--muted:#62696b;--card:#fffdf8}
.visual-chigua{--wash:#dfe8ed;--rule:#cac8c1;--muted:#62696b;--card:#fffdf8}
.visual-heiliaochigua{--wash:#2c3044;--rule:#505267;--muted:#c0c3d5;--card:#2c3044}