:root{--pine-900: #0b1a14;--pine-800: #152922;--pine-700: #1f3b31;--pine-600: #2a4c3f;--pine-500: #3a614f;--pine-400: #5c8270;--pine-300: #8aa898;--pine-200: #bccfc5;--pine-100: #e2eae5;--shu-700: #8f3423;--shu-600: #b5442e;--shu-500: #c75940;--shu-100: #f6e3dd;--brass-700: #8a6f3c;--brass-600: #a98b4f;--brass-400: #c4ac7c;--brass-200: #e6dbc2;--washi-50: #f8faf9;--washi-100: #eef1ef;--washi-200: #e6ebe8;--washi-300: #d5dcd8;--ink-900: #1b2621;--ink-600: #4f5a55;--ink-400: #7d8a85;--bg: var(--washi-100);--bg-raised: var(--washi-50);--bg-sunken: var(--washi-200);--ink: var(--ink-900);--ink-soft: var(--ink-600);--on-dark: var(--washi-100);--on-dark-soft: var(--pine-300);--hairline: rgba(27, 38, 33, .16);--hairline-card: rgba(27, 38, 33, .12);--hairline-on-dark: rgba(238, 241, 239, .16);--dark-gradient: linear-gradient(120deg, rgba(11, 26, 20, .94) 0%, rgba(11, 26, 20, .82) 100%);--font-body-serif: "Songti SC", "Noto Serif SC", serif;--font-display: "Cormorant", "Shippori Mincho", "Songti SC", serif;--font-serif: "Shippori Mincho", "Cormorant", "Songti SC", "Noto Serif SC", serif;--font-sans: "Zen Kaku Gothic New", system-ui, -apple-system, "PingFang SC", "Hiragino Sans", "Microsoft YaHei", sans-serif;--measure: 82rem;--measure-narrow: 44rem;--gutter: clamp(1.25rem, 5vw, 4rem);--section-y: clamp(4rem, 9vw, 8rem)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh}::selection{background:var(--shu-100);color:var(--ink-900)}main{flex:1 0 auto}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:400;line-height:1.28;letter-spacing:.02em;color:var(--ink-900);margin:0 0 .6em;text-wrap:balance}h1{font-size:clamp(2.1rem,5.4vw,3.8rem);line-height:1.2;letter-spacing:.01em}h2{font-size:clamp(1.4rem,2.6vw,1.9rem)}h3{font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.45}p{margin:0 0 1.4em}p:last-child{margin-bottom:0}a{color:var(--pine-600);text-decoration-color:var(--brass-400);text-underline-offset:.28em;text-decoration-thickness:1px;transition:color .2s ease,text-decoration-color .2s ease}a:hover{color:var(--pine-700);text-decoration-color:var(--brass-600)}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--shu-600);outline-offset:3px;border-radius:2px}img{max-width:100%;height:auto;display:block}hr{border:0;border-top:1px solid var(--hairline);margin:var(--section-y) 0}.wrap{width:100%;max-width:var(--measure);margin-inline:auto;padding-inline:var(--gutter)}.wrap--narrow{max-width:var(--measure-narrow)}.section{padding-block:var(--section-y)}.section--raised{background:var(--bg-raised)}.section--sunken{background:var(--bg-sunken)}.eyebrow{font-family:var(--font-display);font-size:clamp(.82rem,1.3vw,.98rem);font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--shu-600);margin:0 0 1.2em}.lead{font-family:var(--font-serif);font-size:clamp(1rem,1.5vw,1.22rem);line-height:1.95;color:var(--ink-600);max-width:32em;text-wrap:pretty}.rule{width:3.5rem;height:1px;background:var(--hairline);border:0;margin:0 0 2rem}.muted{color:var(--ink-600);font-size:.9rem}.btn{display:inline-flex;align-items:center;gap:.6em;padding:1.05em 2.6em;font-family:var(--font-sans);font-size:.84rem;font-weight:500;letter-spacing:.16em;text-decoration:none;border:1px solid var(--shu-600);background:var(--shu-600);color:var(--washi-50);transition:background .2s ease,color .2s ease,border-color .2s ease}.btn:hover{background:var(--shu-700);border-color:var(--shu-700);color:var(--washi-50)}.btn--ghost{background:transparent;color:var(--ink-900);border-color:var(--brass-600)}.btn--ghost:hover{background:#a98b4f26;border-color:var(--brass-600);color:var(--ink-900)}.btn--on-dark{background:transparent;color:var(--washi-100);border-color:var(--brass-600)}.btn--on-dark:hover{background:#a98b4f26;border-color:var(--brass-400);color:var(--washi-50)}.on-dark{background:var(--dark-gradient);color:var(--on-dark)}.on-dark h1,.on-dark h2,.on-dark h3{color:var(--washi-100)}.on-dark .eyebrow{color:#fff}.on-dark .lead{color:#eef1efe6}.on-dark .rule{background:var(--hairline-on-dark)}.on-dark .muted{color:var(--pine-300)}.on-dark a{color:var(--washi-100);text-decoration-color:#c4ac7c99}.on-dark a:hover{color:var(--washi-50);text-decoration-color:var(--brass-400)}.on-pine-800{background:var(--pine-800);color:var(--pine-300)}.prose{font-size:1.02rem;line-height:2;color:var(--ink-900)}.prose p,.prose ul,.prose ol{font-family:var(--font-body-serif);font-size:.96rem;color:var(--ink-600);line-height:1.9}.prose>*+*{margin-top:1.5em}.prose h2{margin-top:2.4em}.prose h3{margin-top:2em}.prose img{margin-block:2.5em}.prose blockquote{margin:2.5em 0;padding-left:1.5em;border-left:1px solid var(--hairline);font-family:var(--font-serif);color:var(--ink-600)}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.5em}.prose li::marker{color:var(--ink-400)}.prose code{font-size:.9em;background:var(--washi-200);padding:.15em .4em;border-radius:2px}.prose pre{overflow-x:auto;padding:1.2em;background:var(--pine-900);color:var(--washi-100)}.prose pre code{background:none;padding:0}.prose table{width:100%;border-collapse:collapse}.prose th,.prose td{text-align:left;padding:.7em .8em;border-bottom:1px solid var(--hairline)}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--pine-700);color:var(--washi-100);padding:.8em 1.4em;text-decoration:none}.skip-link:focus{left:0}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}html[lang^=zh]{--font-serif: "Songti SC", "Noto Serif SC", "Source Han Serif SC", "SimSun", serif;--font-body-serif: "Songti SC", "Noto Serif SC", serif;--font-sans: "PingFang SC", "Noto Sans SC", "Hiragino Sans GB", sans-serif}html[lang^=ja]{--font-body-serif: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif}html[lang^=en]{--font-serif: "Cormorant", "Shippori Mincho", serif}
