:root{color-scheme:light;--color-background:#f5f2ea;--color-surface:#fbfaf6;--color-text:#202523;--color-muted:#59615d;--color-border:#d2cec3;--color-accent:#145c58;--color-accent-strong:#0d4542;--color-focus:#963d20;--color-code:#e9e6dc;--color-on-accent:#fff;--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-serif:"Iowan Old Style", "Palatino Linotype", "Songti SC", "STSong", "SimSun", serif;--font-mono:ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:clamp(1.0625rem, 1rem + .2vw, 1.1875rem);--font-size-xl:clamp(1.25rem, 1.125rem + .45vw, 1.5rem);--font-size-2xl:clamp(1.75rem, 1.45rem + 1vw, 2.25rem);--font-size-display:clamp(2.25rem, 1.65rem + 2.5vw, 4rem);--line-height-body:1.75;--line-height-heading:1.2;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--container-width:75rem;--prose-width:70ch;--gutter:clamp(1rem, 4vw, 2.5rem);--radius:.25rem;--transition-fast:.14s ease}.prose{max-width:var(--prose-width);font-size:var(--font-size-lg);overflow-wrap:break-word;line-height:1.85}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose h2,.prose h3,.prose h4{font-family:var(--font-serif);line-height:var(--line-height-heading);text-wrap:balance}.prose h2{font-size:var(--font-size-2xl);margin:2.5em 0 .75em}.prose h3{font-size:var(--font-size-xl);margin:2em 0 .65em}.prose h4{font-size:var(--font-size-lg);margin:1.75em 0 .5em}.prose p,.prose ul,.prose ol,.prose pre,.prose table,.prose figure{margin-bottom:1.5em}.prose ul,.prose ol{padding-left:1.5em}.prose li+li{margin-top:.5em}.prose li::marker{color:var(--color-accent)}.prose strong{font-weight:650}.prose blockquote{border-left:3px solid var(--color-accent);color:var(--color-muted);margin:2em 0;padding:.25em 0 .25em 1.25em}.prose blockquote>:last-child{margin-bottom:0}.prose code{border-radius:var(--radius);background:var(--color-code);font-family:var(--font-mono);padding:.12em .35em;font-size:.88em}.prose pre{max-width:100%;padding:var(--space-5);border-radius:var(--radius);background:var(--color-text);color:var(--color-background);font-size:var(--font-size-sm);tab-size:2;line-height:1.7;overflow:auto}.prose pre code{color:inherit;font-size:inherit;background:0 0;padding:0}.prose table{border-collapse:collapse;max-width:100%;font-size:var(--font-size-sm);display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--color-border);text-align:left;vertical-align:top;padding:.65em .8em}.prose th{background:var(--color-surface);font-weight:650}.prose figure{margin-top:2em;margin-left:0;margin-right:0}.prose figure img{margin-inline:auto}.prose img{margin-inline:auto;display:block}@media (width<=640px){.prose p:has(>img){-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding-bottom:var(--space-2);overflow-x:auto}.prose p:has(>img)>img{min-width:640px;max-width:none}.prose .figure-caption:after{content:"（可左右滑动查看完整图示）";font-style:normal}:lang(en) .prose .figure-caption:after{content:" (swipe sideways to see the full diagram)";font-style:normal}}.prose .figure-caption{margin-top:calc(-1 * var(--space-3));margin-bottom:var(--space-8);padding-top:var(--space-2);border-top:1px solid var(--color-border);color:var(--color-muted);font-family:var(--font-serif);font-size:var(--font-size-sm);font-style:italic;line-height:1.5}.prose figcaption{margin-top:var(--space-3);color:var(--color-muted);font-size:var(--font-size-sm);text-align:center}.prose hr{border:0;border-top:1px solid var(--color-border);margin:3em 0}*,:before,:after{box-sizing:border-box}html{background:var(--color-background);color:var(--color-text);font-family:var(--font-sans);text-size-adjust:100%;font-size:100%}body{min-width:0;min-height:100vh;font-size:var(--font-size-base);line-height:var(--line-height-body);flex-direction:column;margin:0;display:flex}main{flex:1}.site-main{padding-block:clamp(2rem, 5vw, 4rem) var(--space-16)}h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin-top:0}img,svg,video,canvas{max-width:100%}img{height:auto}button,input,select,textarea{font:inherit}a{color:var(--color-accent);text-underline-offset:.18em;transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);text-decoration-thickness:.08em}a:hover{color:var(--color-accent-strong)}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}::selection{background:var(--color-accent);color:var(--color-on-accent)}.container{width:min(var(--container-width), calc(100% - var(--gutter) - var(--gutter)));margin-inline:auto}.section{padding-block:var(--space-12)}.section+.section{border-top:1px solid var(--color-border)}.grid{gap:var(--space-6);display:grid}.grid--cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}.skip-link{top:var(--space-4);left:var(--space-4);z-index:100;padding:var(--space-2) var(--space-4);background:var(--color-text);color:var(--color-background);transform:translateY(calc(-100% - var(--space-8)));position:fixed}.skip-link:focus{color:var(--color-background);transform:translateY(0)}.site-header{border-top:1px solid var(--color-accent);border-bottom:1px solid var(--color-border);background:var(--color-background)}.masthead-bar{border-bottom:1px solid var(--color-border)}.masthead-bar__inner{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;min-height:2.5rem;display:flex}.site-nav{gap:0 var(--space-5);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.site-nav a{min-height:2.5rem;padding-block:var(--space-1);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.12em;border-bottom:2px solid #0000;align-items:center;text-decoration:none;display:inline-flex}.site-nav a:hover{color:var(--color-accent)}.site-nav a[aria-current=page]{border-bottom-color:var(--color-accent);color:var(--color-text);font-weight:650}.lang-switch{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.08em;display:inline-flex}.lang-switch a{padding-block:var(--space-1);color:var(--color-muted);text-decoration:none}.lang-switch a:hover{color:var(--color-accent)}.lang-switch a[aria-current=page]{color:var(--color-text);font-weight:650}.lang-switch__divider{color:var(--color-border)}.masthead{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(.75rem,2vw,2rem);padding-block:clamp(1rem,2.5vw,2rem);display:grid}.masthead__ornament{color:var(--color-accent);opacity:.85;justify-self:end}.masthead__ornament svg{width:clamp(2rem,4vw,2.75rem);height:auto;display:block}.masthead__ornament--end{justify-self:start;transform:scaleX(-1)}.masthead__brand{align-items:center;gap:var(--space-1);color:var(--color-text);text-align:center;flex-direction:column;text-decoration:none;display:flex}.masthead__brand:hover{color:var(--color-accent)}.masthead__title{font-family:var(--font-serif);letter-spacing:.02em;text-wrap:balance;font-size:clamp(1.5rem,1rem + 2.4vw,2.75rem);font-weight:700;line-height:1.1}.masthead__subtitle{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.26em;text-transform:uppercase;line-height:1.4}@media (width<=34rem){.masthead__ornament svg{width:1.5rem}}@media (width<=40rem){.magazine-hero__divider{display:none}.magazine-hero__location{flex-basis:100%}}.page-header{border-bottom:1px solid var(--color-border);margin-bottom:clamp(2rem,5vw,4rem);padding-bottom:clamp(2.25rem,5vw,4rem)}.page-header h1{max-width:24ch;font-family:var(--font-serif);font-size:var(--font-size-display);letter-spacing:-.02em;font-weight:700;line-height:var(--line-height-heading);text-wrap:balance;margin-bottom:0}html[lang=zh-CN] .page-header h1{max-width:26em}@media (width<=48rem){.page-header h1{font-size:clamp(1.625rem,1.35rem + 1.3vw,2.25rem)}}.eyebrow{margin-bottom:var(--space-4);color:var(--color-accent);font-family:var(--font-mono);font-size:var(--font-size-sm);letter-spacing:.08em;font-weight:650}.page-header__intro{max-width:65ch;margin:var(--space-6) 0 0;color:var(--color-muted);font-size:var(--font-size-lg)}.page-header__meta{margin-top:var(--space-5);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--font-size-sm)}.page-header__actions{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.button{min-height:2.75rem;padding:var(--space-2) var(--space-5);border:1px solid var(--color-accent);border-radius:var(--radius);background:var(--color-accent);color:var(--color-on-accent);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-items:center;font-weight:650;text-decoration:none;display:inline-flex}.button:hover{border-color:var(--color-accent-strong);background:var(--color-accent-strong);color:var(--color-on-accent)}.home-magazine{flex-direction:column;gap:clamp(2rem,5vw,3.5rem);display:flex}.magazine-hero{gap:var(--space-6);border-bottom:1px solid var(--color-border);align-items:center;padding-bottom:clamp(2rem,5vw,3.5rem);display:grid}.magazine-hero__lead{min-width:0}.magazine-hero__title{max-width:24ch;margin-bottom:var(--space-5);font-family:var(--font-serif);letter-spacing:-.02em;text-wrap:balance;font-size:clamp(1.9rem,1.2rem + 2.8vw,3.5rem);font-weight:700;line-height:1.14}.magazine-hero__intro{max-width:54ch;color:var(--color-muted);font-size:var(--font-size-lg);margin-bottom:0;line-height:1.8}.magazine-hero__contact{align-items:baseline;gap:var(--space-2) var(--space-3);margin:var(--space-6) 0 0;padding-top:var(--space-3);border-top:1px solid var(--color-border);font-family:var(--font-mono);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.magazine-hero__contact a{font-weight:650;text-decoration:none}.magazine-hero__divider{color:var(--color-border)}.magazine-hero__location{color:var(--color-muted)}.magazine-hero__art,.magazine-feature__art{border:1px solid var(--color-border);background:var(--color-surface);margin:0;padding:clamp(.5rem,1.5vw,1rem)}.magazine-hero__art svg,.magazine-feature__art svg{width:100%;height:auto;display:block}.magazine-feature{gap:var(--space-6);border-bottom:1px solid var(--color-border);align-items:center;padding-bottom:clamp(2rem,5vw,3.5rem);display:grid}.magazine-feature__title{margin-bottom:var(--space-4);font-family:var(--font-serif);letter-spacing:-.01em;text-wrap:balance;font-size:clamp(1.5rem,1.1rem + 1.6vw,2.25rem);font-weight:700;line-height:1.22}.magazine-feature__title a{color:inherit;text-decoration:none}.magazine-feature__title a:hover,.magazine-feature__title a:focus-visible{color:var(--color-accent);text-decoration:underline}.magazine-feature__summary{max-width:58ch;color:var(--color-muted);font-size:var(--font-size-lg);margin-bottom:0}.magazine-feature__link{margin:var(--space-5) 0 0;font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:650}.magazine-feature__link a{text-decoration:none}.magazine-index{display:grid}.magazine-index__row{gap:var(--space-2);padding-block:var(--space-5);border-top:1px solid var(--color-border);display:grid}.magazine-index__row:first-child{border-top:0;padding-top:0}.magazine-index__row:last-child{padding-bottom:0}.magazine-index__label{font-family:var(--font-serif);font-size:var(--font-size-xl);margin-bottom:0;line-height:1.25}.magazine-index__desc{color:var(--color-muted);font-size:var(--font-size-sm);margin-bottom:0}.magazine-index__link{font-family:var(--font-mono);font-size:var(--font-size-sm);white-space:nowrap;justify-self:start;font-weight:650;text-decoration:none}.magazine-index__link:after{content:" →"}.content-card{gap:var(--space-3);min-width:0;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);flex-direction:column;display:flex}.content-card__meta{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.04em;order:-1;margin-bottom:0}.content-card__title{font-family:var(--font-serif);font-size:var(--font-size-xl);line-height:var(--line-height-heading);overflow-wrap:anywhere;margin-bottom:0}.content-card__title a{color:var(--color-text);text-decoration:none}.content-card__title a:hover,.content-card__title a:focus-visible{color:var(--color-accent);text-decoration:underline}.content-card__summary{color:var(--color-muted);overflow-wrap:anywhere;margin-bottom:0}.empty-state{padding:var(--space-8);border:1px dashed var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.empty-state h2,.empty-state h3{margin-bottom:var(--space-3);font-family:var(--font-serif);font-size:var(--font-size-xl)}.empty-state p{max-width:60ch;color:var(--color-muted);margin-bottom:0}.site-footer{border-top:1px solid var(--color-border)}.site-footer__inner{gap:var(--space-6);padding-block:var(--space-8);display:grid}.site-footer__motto{max-width:60ch;margin-bottom:var(--space-1)}.site-footer__motto--en{color:var(--color-muted);font-size:var(--font-size-sm)}.site-footer__links{gap:var(--space-2) var(--space-5);margin:var(--space-3) 0 0;font-family:var(--font-mono);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.site-footer__links a{font-weight:650;text-decoration:none}.site-footer__meta{color:var(--color-muted);font-size:var(--font-size-sm);margin-bottom:0}@media (width>=48rem){.section{padding-block:var(--space-16)}.site-footer__inner{align-items:end;gap:var(--space-10);grid-template-columns:minmax(0,1fr) auto}.site-footer__meta{text-align:right}}@media (width>=60rem){.magazine-hero{grid-template-columns:minmax(0,62fr) minmax(0,38fr);gap:clamp(2rem,4vw,4rem)}.magazine-feature{grid-template-columns:minmax(0,46fr) minmax(0,54fr);gap:clamp(2rem,4vw,3.5rem)}.magazine-index__row{align-items:baseline;gap:var(--space-5);grid-template-columns:12rem minmax(0,1fr) auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
