/* Hallmark · pre-emit critique: P4 H4 E4 S4 R5 V5
 * Three independent systems: Midnight / Split Studio / N9 / Ft5;
 * Garden / Narrative Workflow / N6 / Ft6; Coral / Index-First / N3 / Ft2.
 * Native Chinese typography chosen for offline Chinese glyph coverage. */
:root{--font-display:"Avenir Next","PingFang SC","Microsoft YaHei",sans-serif;--font-body:"PingFang SC","Microsoft YaHei",sans-serif;--font-serif:"Songti SC","STSong","SimSun",serif;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--space-3xl:96px;--ease:cubic-bezier(.16,1,.3,1);--paper:#14243a;--panel:#1d314c;--panel-alt:#243b56;--ink:#f3f4f7;--muted:#b7c5d5;--line:#40556f;--accent:#d9b9a3;--on-accent:#202734;--focus:#f5c7a7;--clear:transparent;--radius:8px;--display:clamp(36px,4.4vw,64px);--body-size:16px;--small:14px;--title-size:32px;--subhead:21px}
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font:400 var(--body-size)/1.8 var(--font-body);-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure,blockquote,dl{margin:0}h1,h2,h3{font-family:var(--font-display);font-style:normal;overflow-wrap:anywhere;min-width:0}h1{font-size:var(--display);line-height:1.3;font-weight:700;letter-spacing:-.04em}h2{font-size:var(--title-size);line-height:1.45;font-weight:600;letter-spacing:-.025em}h3{font-size:var(--subhead);line-height:1.55;font-weight:600}p{max-width:68ch}a{color:inherit;text-decoration:none;text-underline-offset:5px}a:hover{text-decoration:underline}button,input{font:inherit}button,a{-webkit-tap-highlight-color:var(--clear)}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}button{color:inherit}nav a,.button,.text-link,.breadcrumb a{white-space:nowrap}.wrap{width:min(1160px,calc(100% - 96px));margin-inline:auto}.section{padding-block:var(--space-2xl)}.section h2{margin-bottom:var(--space-lg)}.section-intro{margin-bottom:var(--space-xl)}.section-intro h2{margin-bottom:var(--space-sm)}.section-intro p,.section-lede,.lede{color:var(--muted)}.lede{font-size:18px;line-height:1.95}.fine,.disclosure,.intro-label,.reading-category{font-size:var(--small);color:var(--muted)}.intro-label{margin-bottom:var(--space-lg)}.actions{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-lg);min-height:50px;padding:12px 22px;border:1px solid var(--clear);border-radius:var(--radius);font-weight:600;line-height:1.5;transition:background-color 180ms var(--ease),transform 120ms var(--ease)}.button:hover{text-decoration:none;transform:translateY(-1px)}.button:active{transform:translateY(1px)}.primary{background:var(--accent);color:var(--on-accent)}.primary:hover{background:color-mix(in srgb,var(--accent) 88%,var(--paper))}.secondary{background:var(--clear);color:var(--ink);border-color:var(--line)}.secondary:hover{background:var(--panel)}.external{font-size:19px}.text-link{display:inline-block;text-decoration:underline;font-weight:500;min-height:44px;align-content:center}.skip{position:absolute;top:-100px;left:16px;padding:12px 20px;background:var(--accent);color:var(--on-accent);z-index:100}.skip:focus{top:12px}.brand{display:inline-flex;gap:12px;align-items:center;font-weight:700;font-size:24px;line-height:1.35;white-space:nowrap}.brand:hover{text-decoration:none}.brand img{border-radius:10px;flex:none}.brand small{display:block;font-size:12px;font-weight:400;letter-spacing:.1em;color:var(--muted);margin-top:3px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:104px}.topbar nav{display:flex;gap:32px;font-size:14px}.topbar .button{min-height:44px;padding:9px 18px;font-size:14px}.hero-night{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:center;gap:48px;padding-top:52px;padding-bottom:72px}.night-copy{padding-bottom:24px}.night-copy h1{margin-bottom:26px}.night-copy .fine{margin-top:20px}.character-stage{position:relative;padding:0 0 36px 24px}.character-stage:before{content:"";position:absolute;inset:40px -20px 0 56px;border:1px solid var(--line);border-radius:180px 0 0 0}.character-stage img{position:relative;width:100%;aspect-ratio:1/1.07;border-radius:160px 6px 6px 6px;object-position:48% 50%}.character-stage figcaption{font-size:12px;color:var(--muted);margin-top:12px}.stage-title{position:absolute;right:0;bottom:18px;font-size:14px}.scene-layout{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.3fr);gap:32px}.scene-choices{display:flex;flex-direction:column;gap:12px}.scene-choice{background:var(--clear);border:0;border-left:2px solid var(--line);text-align:left;padding:16px 24px;font-size:20px;line-height:1.6}.scene-choice span{display:block;font-size:14px;color:var(--muted);margin-top:4px}.scene-choice[aria-pressed=true]{background:var(--panel);border-left-color:var(--accent)}.scene-paper{background:var(--panel);padding:32px 40px;border-radius:6px}.scene-paper blockquote{font-family:var(--font-serif);font-size:24px;line-height:1.9;margin:24px 0;min-height:138px}.scene-paper .button{font-size:14px;min-height:44px}.scene-paper>.text-link{display:block;font-size:14px;margin-top:16px}.copy-status{font-size:14px;min-height:25px;margin-top:8px;color:var(--muted)}.steps{padding:0;margin:32px 0;list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.steps li{counter-increment:step;padding-left:48px;position:relative}.steps li:before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:0;color:var(--muted);font-family:var(--font-display);font-size:20px}.steps strong{font-size:18px;font-weight:600}.steps p{font-size:15px;color:var(--muted);margin-top:12px}.pathway{background:var(--panel);padding:40px;border-radius:8px}.reading-list{margin-top:32px}.reading-item{display:grid;grid-template-columns:112px minmax(0,1fr) 24px;gap:24px;border-top:1px solid var(--line);padding:24px 0;align-items:start}.reading-item:hover{text-decoration:none}.reading-item:hover h3{text-decoration:underline}.reading-item p{color:var(--muted);font-size:15px;line-height:1.8;margin-top:8px}.reading-category{padding-top:4px}.reading-item>span:last-child{padding-top:4px}.faq{max-width:1000px}.faq details{border-bottom:1px solid var(--line)}summary{cursor:pointer;min-height:64px;padding:20px 32px 20px 0;font-weight:500;position:relative;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:4px;font-size:24px;line-height:1.2}details[open] summary:after{content:"−"}.faq details p{color:var(--muted);padding-bottom:24px;max-width:78ch}.closing{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:72px 0 96px}.closing h2{font-size:36px}.footer{padding:40px 0 32px;border-top:1px solid var(--line)}.footer-statement{font-family:var(--font-display);font-size:28px;margin-bottom:32px}.footer-bottom{display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:14px}.footer nav{display:flex;gap:24px;flex-wrap:wrap}.footer nav a{min-height:44px;align-content:center}.disclosure{font-size:12px;margin-top:16px;max-width:none}.article-shell{max-width:900px;padding-top:40px;padding-bottom:80px}.breadcrumb{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:14px;margin-bottom:24px}.article-head{padding-bottom:32px;border-bottom:1px solid var(--line);margin-bottom:32px}.article-head h1{font-size:clamp(30px,3.5vw,44px);line-height:1.5;margin-bottom:16px}.prose{max-width:740px;margin-inline:auto}.prose h2{font-size:26px;margin:40px 0 16px}.prose p{margin:18px 0;line-height:2}.prose a:not(.button){text-decoration:underline}.prose ul{padding-left:22px;line-height:2}.prose .button{margin-block:16px}.prose blockquote{border-left:3px solid var(--accent);padding:20px 28px;background:var(--panel);font-family:var(--font-serif);font-size:21px}.article-related{padding:1px 24px 16px;background:var(--panel);margin-top:48px}.article-related h2{font-size:22px}.article-index{min-height:68vh}.article-index h1{font-size:42px;margin:24px 0}.not-found{min-height:60vh}.not-found h1{font-size:40px}.not-found p{margin:24px 0}.not-found .text-link{margin-left:20px}.js-only{display:none}.js .js-only{display:inline-flex}
/* Garden: green-tinted paper, Chinese Song display, reading-forward rhythm. */
.garden{--paper:#f1f5ef;--panel:#e5ece1;--panel-alt:#d8e4d6;--ink:#20382d;--muted:#526859;--line:#becdbc;--accent:#315f48;--on-accent:#f8fbf5;--focus:#1c6847;--radius:3px;--font-display:var(--font-serif);--display:clamp(36px,4vw,58px)}.masthead{padding-top:16px}.mast-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);padding-bottom:12px;border-bottom:1px solid var(--line)}.mast-brand{text-align:center;padding:24px 0 18px}.mast-brand .brand{font-size:32px;font-family:var(--font-serif)}.mast-brand .brand small{font-family:var(--font-body);font-size:12px}.mast-brand img{width:44px;height:44px}.masthead>nav{display:flex;justify-content:center;gap:48px;padding:12px;border-block:1px solid var(--line);font-size:14px}.hero-garden{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);gap:88px;align-items:center;padding-block:72px}.garden-copy .intro-label{color:var(--accent)}.garden-copy h1{margin-bottom:24px;font-weight:600;letter-spacing:0}.garden-copy .lede{font-size:17px}.garden-note{position:relative;padding:32px;background:var(--panel);border-radius:4px 4px 80px 4px}.portrait-seal{width:142px;height:142px;border-radius:50%;overflow:clip;margin:-12px 0 24px auto}.portrait-seal img{width:100%;height:100%;object-position:50% 22%}.note-label{font-size:14px;color:var(--muted);margin-bottom:12px}.garden-note h2{font-size:24px;margin-bottom:16px}.garden-note>p:not(.fine):not(.note-label){font-family:var(--font-serif);font-size:20px;line-height:1.9}.garden-note .fine{font-size:12px;margin-top:24px}.garden-route{border-block:1px solid var(--line)}.garden-route .steps{margin-block:40px}.garden .steps li:before{font-family:var(--font-body);font-size:17px;top:2px}.setting{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.1fr);gap:80px}.setting p{color:var(--muted);margin:20px 0}.note-table>div{display:grid;grid-template-columns:100px minmax(0,1fr);padding:18px 0;border-bottom:1px solid var(--line);gap:20px}.note-table dt{font-weight:600;font-size:14px}.note-table dd{margin:0;color:var(--muted);font-size:15px}.garden .closing{display:block;text-align:center;border-top:1px solid var(--line);padding-block:64px}.garden .closing>p{margin:auto;color:var(--muted)}.garden .closing h2{margin:20px 0 28px;font-weight:500}.garden .footer-statement{font-family:var(--font-serif);font-size:22px}.garden .footer-bottom{font-size:12px}.garden .reading-item{grid-template-columns:112px minmax(0,1fr) 24px}.garden .reading-item h3{font-weight:600;font-size:23px}
/* Coral: useful entry index, fixed navigation rail, orange bookmark panel. */
.coral{--paper:#faf8f5;--panel:#f2ede7;--panel-alt:#f8e4d7;--ink:#30302c;--muted:#65635e;--line:#d8d2ca;--accent:#ae401e;--on-accent:#fff9f3;--focus:#ae401e;--radius:8px;--font-display:"Avenir Next","PingFang SC","Microsoft YaHei",sans-serif;--display:clamp(36px,4.4vw,60px);padding-left:236px}.coral .wrap{width:min(1040px,calc(100% - 80px))}.rail{position:fixed;inset:0 auto 0 0;width:236px;padding:36px 24px;border-right:1px solid var(--line);background:var(--paper);display:flex;flex-direction:column}.rail .brand{font-size:23px;gap:10px}.rail nav{display:flex;flex-direction:column;gap:8px;margin-top:56px}.rail nav a{padding:10px 12px;border-radius:6px;min-height:44px;font-size:15px}.rail nav a:hover{background:var(--panel);text-decoration:none}.rail nav a[aria-current=page]{background:var(--panel-alt);color:var(--accent);font-weight:600}.rail-note{margin-top:auto;font-size:13px;color:var(--muted)}.rail-note span{font-size:15px;color:var(--ink)}.portal-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:40px;align-items:end;padding-top:80px;padding-bottom:48px}.portal-heading h1{margin-bottom:24px}.portal-heading .lede{font-size:16px}.entry-panel{padding:28px;background:var(--panel-alt);border-radius:14px}.entry-top{display:flex;gap:12px;align-items:center}.entry-top h2{font-size:21px}.entry-top p{font-size:12px;color:var(--muted);margin-top:4px}.entry-panel>.button{display:flex;width:100%;margin-top:28px;justify-content:space-between}.entry-note{font-size:12px;color:var(--muted);margin-top:14px}.bookmark-bar{background:var(--panel);padding:24px 28px;display:flex;gap:20px;align-items:center;flex-wrap:wrap;border-radius:8px}.bookmark-bar>div{flex:1;min-width:200px}.bookmark-bar h2{font-size:18px;font-weight:600}.bookmark-bar #site-address{color:var(--muted);font-size:14px;word-break:break-all;margin-top:4px}.bookmark-bar .copy-status{width:100%;margin:0;min-height:0}.bookmark-bar .copy-status:empty{display:none}.coral .section{padding-block:48px}.coral h2{font-size:28px}.quick-index{margin-top:12px}.index-row{display:grid;grid-template-columns:125px minmax(0,1fr) 20px;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.index-row>span:first-child{font-size:14px;color:var(--muted)}.index-row strong{font-size:18px;font-weight:500}.index-row:hover{text-decoration:none}.index-row:hover strong{text-decoration:underline}.trouble{border-top:1px solid var(--line)}.trouble>p{color:var(--muted);font-size:15px}.issue-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.issue{background:var(--clear);border:1px solid var(--line);padding:10px 16px;border-radius:6px;min-height:44px;font-size:14px;white-space:nowrap}.issue[aria-pressed=true]{border-color:var(--accent);background:var(--panel-alt);color:var(--accent)}.issue-result{padding:24px 0;min-height:170px}.issue-result h3{font-size:20px;margin-bottom:10px}.issue-result p{color:var(--muted);font-size:15px;max-width:none}.coral .reading-item{grid-template-columns:90px minmax(0,1fr) 20px}.coral .reading-item h3{font-size:19px}.coral .footer-statement{font-size:20px}.coral .footer-bottom{display:block;font-size:12px}.coral .footer-bottom nav{margin-top:12px}.coral .article-head h1{font-size:36px}.coral .article-shell{padding-top:52px}.coral .article-head .lede{font-size:17px}
@media(min-width:1600px){.hero-night{padding-top:72px;padding-bottom:96px}.hero-garden{padding-block:96px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.topbar nav{gap:20px}.hero-night{gap:28px}.hero-garden{gap:48px}.garden-copy h1{font-size:44px}.setting{gap:40px}.coral{padding-left:200px}.rail{width:200px;padding:28px 18px}.rail .brand{font-size:20px}.coral .wrap{width:calc(100% - 56px)}.portal-hero{grid-template-columns:minmax(0,1fr);align-items:start;gap:28px;padding-top:52px}.portal-heading h1 br{display:none}.entry-panel{max-width:500px}.entry-top h2{font-size:22px}.coral .reading-item{grid-template-columns:minmax(0,1fr) 20px}.coral .reading-category{grid-column:1/-1}.coral .reading-item>div{grid-column:1}.coral .reading-item{gap:8px}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.topbar{flex-wrap:wrap;gap:12px;padding-block:20px}.topbar .brand{font-size:23px}.topbar nav{order:3;width:100%;justify-content:flex-start;gap:28px;padding-top:12px}.hero-night{grid-template-columns:minmax(0,1fr);padding-top:28px;gap:20px}.night-copy{padding:0}.night-copy h1{font-size:48px}.character-stage{width:min(480px,100%);justify-self:end;margin-top:12px;padding-left:20px}.character-stage img{aspect-ratio:1.25;object-position:50% 32%;border-radius:100px 4px 4px 4px}.character-stage:before{right:0}.stage-title{right:14px}.hero-night .actions{gap:16px}.scene-layout{grid-template-columns:minmax(0,1fr)}.scene-choices{flex-direction:row;gap:8px}.scene-choice{padding:12px;font-size:16px;flex:1;min-width:0}.scene-choice span{display:none}.scene-paper{padding:24px}.scene-paper blockquote{min-height:130px}.steps{grid-template-columns:minmax(0,1fr);gap:28px}.steps li{padding-left:48px}.steps p{margin-top:8px}.pathway{padding:28px}.section{padding-block:44px}.reading-item,.garden .reading-item{grid-template-columns:minmax(0,1fr) 20px;gap:8px}.reading-category{grid-column:1/-1}.reading-item>div{grid-column:1}.closing{display:block;padding-block:48px}.closing h2{margin-bottom:28px}.footer-bottom{display:block}.footer nav{margin-top:12px}.masthead>nav{gap:28px}.hero-garden{padding-block:44px;gap:32px;grid-template-columns:minmax(0,1fr)}.garden-copy h1{font-size:44px}.garden-note{max-width:520px;padding:28px}.portrait-seal{float:right;width:120px;height:120px;margin:0 0 16px 20px}.garden-note .fine{clear:both;padding-top:16px}.garden-note h2{max-width:280px}.setting{grid-template-columns:minmax(0,1fr);gap:24px}.note-table>div{grid-template-columns:80px minmax(0,1fr);gap:16px}.garden-route .steps{margin:28px 0}.coral{padding-left:0}.rail{position:static;width:auto;padding:20px;border-right:0;border-bottom:1px solid var(--line)}.rail nav{margin-top:16px;flex-direction:row;flex-wrap:wrap;gap:4px 16px}.rail nav a{padding:8px 0;font-size:14px}.rail nav a[aria-current=page]{background:var(--clear);text-decoration:underline}.rail-note{display:none}.coral .wrap{width:calc(100% - 40px)}.portal-hero{padding-top:36px}.portal-heading h1{font-size:44px}.portal-heading h1 br{display:block}.entry-panel{max-width:none}.bookmark-bar{padding:22px}.coral .section{padding-block:36px}.coral .article-head h1{font-size:32px}.article-shell{padding-top:24px}.article-head .lede{font-size:17px}.prose h2{font-size:24px}.article-head h1{font-size:32px}.article-index h1{font-size:36px}.prose p{line-height:1.9}.index-row{grid-template-columns:minmax(0,1fr) 20px;gap:8px}.index-row>span:first-child{grid-column:1/-1}.index-row strong{font-size:17px}.footer-statement{font-size:23px}}
@media(max-width:430px){:root{--title-size:27px;--subhead:20px}.wrap,.coral .wrap{width:calc(100% - 36px)}.topbar .button{font-size:12px;padding:9px 10px;gap:10px}.topbar .brand{font-size:21px}.brand img{width:32px;height:32px}.topbar nav{gap:24px;font-size:14px}.night-copy h1{font-size:40px}.night-copy .lede{font-size:16px}.intro-label{font-size:12px}.hero-night{padding-bottom:28px}.character-stage{padding-left:12px}.character-stage img{aspect-ratio:1.12}.scene-paper blockquote{font-size:21px;min-height:155px}.scene-choice{padding:10px 8px;font-size:14px;white-space:nowrap}.scene-layout{gap:16px}.scene-paper{padding:24px 20px}.scene-paper>.text-link{font-size:12px}.reading-item h3{font-size:20px}.reading-item p{font-size:14px}.section h2{font-size:26px}.masthead>nav{gap:22px;padding-inline:0;font-size:13px}.mast-meta{font-size:11px}.mast-brand{padding-block:18px}.garden-copy h1{font-size:36px}.garden-copy .lede{font-size:15px}.garden-copy .lede br{display:none}.garden-note{padding:24px}.garden-note h2{font-size:22px}.portrait-seal{width:84px;height:84px;margin-left:12px}.garden-note>p:not(.fine):not(.note-label){font-size:17px}.garden .reading-item h3{font-size:21px}.closing h2,.garden .closing h2{font-size:30px}.footer nav{gap:20px;font-size:13px}.footer-statement{font-size:21px}.footer-bottom{font-size:12px}.portal-heading h1{font-size:40px}.portal-heading .lede br{display:none}.entry-panel{padding:24px}.entry-top h2{font-size:20px}.bookmark-bar h2{font-size:18px}.bookmark-bar .button{font-size:14px}.issue-buttons{gap:8px}.issue{padding:10px 12px;font-size:13px}.coral .article-head h1,.article-head h1{font-size:29px}.article-head .lede{font-size:16px}.prose blockquote{padding:16px 20px;font-size:19px}.prose h2{font-size:23px}.prose .button{font-size:14px;gap:14px;padding-inline:18px}.not-found h1{font-size:32px}.not-found .text-link{display:block;margin:16px 0}.coral .reading-item h3{font-size:19px}}
@media(max-width:350px){.night-copy h1{font-size:34px}.garden-copy h1{font-size:32px}.masthead>nav{gap:15px;font-size:12px}.hero-night .actions,.garden-copy .actions{gap:12px}.scene-paper>.text-link{font-size:11px}.scene-paper blockquote{font-size:20px}.garden-note h2{font-size:20px}.portrait-seal{width:72px;height:72px}.rail nav{gap:4px 12px}.rail nav a{font-size:13px}.coral .article-head h1{font-size:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.button:hover,.button:active{transform:none}}

/* Progressive enhancement: show action-only controls when handlers are available. */
.scene-choices,.issue-buttons{display:none}.js .scene-choices,.js .issue-buttons{display:flex}.scene-choice:hover,.issue:hover{background:var(--panel)}.scene-choice:active,.issue:active{background:var(--panel-alt)}

/* Article expansion: readable contents, related links, and anchor offsets. */
.article-toc{background:var(--panel);padding:8px 24px 20px;margin-block:24px 36px;border-radius:var(--radius)}.article-toc h2{margin:16px 0 8px;font-size:21px}.article-toc ol{padding-left:22px;margin:0}.article-toc li{margin:8px 0}.article-toc a{white-space:normal;overflow-wrap:anywhere}.article-sources{margin-top:40px;font-size:14px}.article-sources h2{font-size:21px}.prose section[id]{scroll-margin-top:24px}.article-related li{margin-block:8px}.article-index .reading-category{white-space:nowrap}@media(max-width:430px){.article-toc{padding-inline:20px}.article-toc a{font-size:15px}}
