@font-face{font-family:Smiley Sans;src:url(/fonts/smiley-sans/latin.woff2)format("woff2");font-display:swap;unicode-range:U+20-7E,U+A0-17F,U+2190-2199}@font-face{font-family:Smiley Sans;src:url(/fonts/smiley-sans/punctuation.woff2)format("woff2");font-display:swap;unicode-range:U+2013-2014,U+2018-2019,U+201C-201D,U+2022,U+2026}@font-face{font-family:Smiley Sans;src:url(/fonts/smiley-sans/cjk.woff2)format("woff2");font-display:swap;unicode-range:U+3000-303F,U+3400-4DBF,U+4E00-9FFF,U+FF00-FFEF}:root{--ground:#000;--text:#f2efe6;--accent:#5fbf7f;--raised:color-mix(in srgb, var(--text) 6%, var(--ground));--rule:color-mix(in srgb, var(--text) 22%, var(--ground));--guide:color-mix(in srgb, var(--text) 55%, var(--ground));--muted:color-mix(in srgb, var(--text) 62%, var(--ground));--soft:color-mix(in srgb, var(--text) 84%, var(--ground));--font:"Smiley Sans", "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Microsoft YaHei", sans-serif;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", "PingFang SC", "Noto Sans Mono CJK SC", monospace;--col:47.5rem;color-scheme:dark}@media (prefers-color-scheme:light){:root{--ground:#f1eee4;--text:#16231b;--accent:#2d6e45;--raised:color-mix(in srgb, var(--text) 5%, var(--ground));--rule:color-mix(in srgb, var(--text) 20%, var(--ground));--guide:color-mix(in srgb, var(--text) 72%, var(--ground));--muted:color-mix(in srgb, var(--text) 76%, var(--ground));--soft:color-mix(in srgb, var(--text) 88%, var(--ground));color-scheme:light}}*,:before,:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--ground);color:var(--text);font-family:var(--font);margin:0;font-size:1.125rem;line-height:1.5}img{max-width:100%;height:auto}a{color:var(--text);text-decoration:none}a:hover{color:var(--accent)}::selection{background:var(--accent);color:var(--ground)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3,h4{font-weight:400}:lang(zh-Hans) .prose,:lang(zh-Hans) .info,:lang(zh-Hans) .card__text{letter-spacing:.02em;line-height:1.8}.shell{flex-wrap:wrap;align-items:flex-start;gap:3.5rem 3rem;min-height:100vh;padding:2rem 2.5rem 2.5rem;display:flex}.shell__nav{flex-direction:column;flex:0 0 12.5rem;gap:1.75rem;display:flex}.shell__info{flex:18.75rem;max-width:23.75rem}.shell__info--sticky{max-height:calc(100vh - 4rem);position:sticky;top:2rem;overflow-y:auto}.shell__main{flex-direction:column;flex:999 35rem;align-items:center;min-width:0;display:flex}.shell__col{width:100%;max-width:var(--col);padding-top:4rem}.shell__footer{flex:100%;margin-top:7.5rem}.brand{letter-spacing:-.02em;font-size:1.875rem;line-height:.92;display:inline-block}.nav ul{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.nav a{text-transform:lowercase;padding:.375rem 0;font-size:1.875rem;line-height:2rem;display:block}.nav a[aria-current=page]{color:var(--accent)}.lang-switch{gap:1rem;margin:0;padding:0;font-size:1.125rem;list-style:none;display:flex}.lang-switch a{min-height:2.75rem;color:var(--muted);align-items:center;display:inline-flex}.lang-switch a[aria-current=true]{color:var(--accent)}.contact{flex-direction:column;gap:.25rem;font-size:1.0625rem;display:flex}.contact__title{margin:0 0 .25rem;font-size:1.875rem;line-height:1.1}.contact__links{flex-wrap:wrap;gap:0 1rem;margin:0;padding:0;list-style:none;display:flex}.contact a{align-items:center;min-height:2.75rem;display:inline-flex}.contact__links{align-items:center}.contact__icon{fill:currentColor;width:1.375rem;height:1.375rem}.contact__links a:has(.contact__icon){justify-content:center;min-width:2.75rem}.contact address{font-style:normal}@media (width>=77.5rem) and (height>=640px){.shell__footer{z-index:5;width:12.5rem;margin:0;position:fixed;bottom:5.25rem;left:2.5rem}.corner{left:2.5rem}}@media (width<=640px){.shell{row-gap:2.5rem;padding:1.25rem 1.25rem 2rem}.shell__nav{flex-basis:100%;gap:1rem}.nav ul{flex-flow:wrap;column-gap:1.125rem}.nav a{padding:.375rem 0;font-size:1.625rem}.shell__info--sticky{max-height:none;position:static}.shell__col{padding-top:0}.shell__footer{margin-top:4rem}}.info{flex-direction:column;gap:1.375rem;font-size:1.0625rem;line-height:1.5;display:flex}.info__title,.info__sub{margin:0}.info__title{font-size:1.5rem;line-height:1.15}.info__sub{color:var(--muted)}.info__text{text-wrap:pretty;margin:0}.facts{grid-template-columns:auto minmax(0,1fr);gap:.25rem .875rem;margin:0;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.links{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.links a{align-items:center;gap:.375rem;min-height:2.75rem;display:inline-flex}.links__note{color:var(--muted)}.hero{letter-spacing:-.01em;margin:0;font-size:clamp(3.5rem,7.5vw,7.5rem);line-height:.95}.hero__zh{letter-spacing:.02em;font-size:clamp(5.5rem,12vw,11.875rem);display:block}.hero__en{display:block}.hero--name{font-size:clamp(4.5rem,11vw,11rem);line-height:.92}.annotated{padding:1.625rem 0 0 2.125rem;display:block;position:relative}.annotated__index{color:var(--guide);font-size:1.25rem;line-height:1;position:absolute;top:0;left:0}.annotated:before{content:"";background:var(--guide);width:1px;position:absolute;top:1.125rem;bottom:0;left:1.375rem;transform:skew(-8deg)}.annotated__title{margin:0;font-size:clamp(2.5rem,4.6vw,4rem);line-height:1;display:block}.annotated__title--big{font-size:clamp(3rem,6vw,5.5rem)}.annotated__status{border-top:1px solid var(--guide);color:var(--guide);margin:.5rem 0 0 -1.25rem;padding:.5rem 0 0 1.25rem;font-size:1.125rem;line-height:1.3;display:block}.annotated--muted .annotated__title{color:var(--muted)}a.annotated:hover .annotated__title{color:var(--accent)}.annotated-list{flex-direction:column;gap:2.25rem;margin:8.75rem 0 0;padding:0;list-style:none;display:flex}.section{margin-top:6rem}.section:first-of-type{margin-top:8.75rem}.section__body{margin:2.5rem 0 0 2.125rem}@media (width<=640px){.annotated-list,.section:first-of-type{margin-top:5rem}.section__body{margin-left:0}}.cards{flex-direction:column;gap:1.25rem;margin:0;padding:0;list-style:none;display:flex}.card{border:1px solid var(--rule);background:var(--raised);padding:1.75rem;transition:border-color .15s;display:block}a.card:hover{border-color:var(--accent);color:var(--text)}.card__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;display:flex}.card__title{font-size:clamp(1.875rem,3vw,2.5rem);line-height:1.05}a.card:hover .card__title{color:var(--accent)}.card__meta{color:var(--guide);font-size:1.125rem}.card__text{max-width:34em;color:var(--soft);text-wrap:pretty;margin-top:.75rem;display:block}.card__cta{align-items:center;min-height:2.75rem;margin-top:1rem;display:inline-flex}.shell__mains{display:contents}.shell__wide{flex:100%;min-width:0}.shell__wide .section:first-of-type{margin-top:0}.shell__wide .section>:not(.ptl){max-width:var(--col)}@media (width>=77.5rem){.shell__wide{padding-left:15.5rem}}.ptl{--m:.75rem;--axis:3.5rem;height:calc(var(--months) * var(--m));margin-top:2.5rem;position:relative}.ptl__axis,.ptl__items{margin:0;padding:0;list-style:none}.ptl__year-row{left:0;right:0;top:calc(var(--top) * var(--m));height:calc(12 * var(--m));border-top:1px solid var(--rule);position:absolute}.ptl__year{color:var(--guide);padding-top:.25rem;font-size:.9375rem;display:block}.ptl__row{top:calc(var(--top) * var(--m));left:calc(var(--axis) + var(--track) * (100% - var(--axis)) / var(--tracks));width:calc((100% - var(--axis)) / var(--tracks));position:absolute}.ptl__summary{cursor:pointer;gap:.5rem;list-style:none;display:flex}.ptl__summary::-webkit-details-marker{display:none}.ptl__bar{width:.375rem;height:calc(var(--len) * var(--m));background:var(--text);flex:none;min-height:.5rem}.ptl__name{writing-mode:vertical-rl;white-space:nowrap;padding-top:.25rem;font-size:1.125rem;line-height:1}.ptl__summary:hover .ptl__bar,.ptl__item[open] .ptl__bar{background:var(--accent)}.ptl__summary:hover .ptl__name,.ptl__item[open] .ptl__name{color:var(--accent)}.ptl__card{z-index:3;border:1px solid var(--rule);background:var(--raised);width:min(17rem,70vw);padding:.875rem 1rem;position:absolute;top:0;left:2.75rem}.ptl__title{margin:0;font-size:1.125rem;line-height:1.25}.ptl__dates{color:var(--guide);margin:.25rem 0 0;font-size:.9375rem}.ptl__detail{color:var(--soft);margin:.25rem 0 0;font-size:.9375rem}@media (width<=640px){.ptl{--axis:2.75rem}.ptl__year{font-size:.8125rem}}.map-intro{max-width:36em;color:var(--soft);margin-top:3rem;font-size:1.375rem;line-height:1.5}.map-intro p{text-wrap:pretty;margin:0 0 1em}:lang(zh-Hans) .map-intro{line-height:1.8}.kmap{margin:5rem 0 0;padding:0 0 0 3rem;list-style:none;position:relative}.kmap:before{content:"";background:var(--guide);width:1px;position:absolute;top:1.25rem;bottom:1.25rem;left:.4375rem}.kmap__area{padding-bottom:4rem;position:relative}.kmap__area:last-child{padding-bottom:0}.kmap__node{background:var(--accent);border-radius:50%;width:.9375rem;height:.9375rem;position:absolute;top:1.0625rem;left:-3rem}.kmap__node:after{content:"";background:var(--guide);width:2.0625rem;height:1px;position:absolute;top:50%;left:100%}.kmap__area--open .kmap__node{background:var(--ground);border:1px dashed var(--guide)}.kmap__label{margin:0;font-size:clamp(2.5rem,4.6vw,4rem);line-height:1}.kmap__area--open .kmap__label{color:var(--muted)}.kmap__status{color:var(--guide);margin:.5rem 0 0;font-size:1.125rem}.kmap__item{margin-top:1.75rem}.kmap__title{font-size:clamp(1.5rem,2.4vw,1.875rem);line-height:1.15}.kmap__meta{color:var(--guide);margin:.375rem 0 0;font-size:1.125rem}.kmap__text{max-width:34em;color:var(--soft);text-wrap:pretty;margin:.75rem 0 0}:lang(zh-Hans) .kmap__text{line-height:1.8}.kmap__topics{flex-wrap:wrap;gap:.625rem;margin:1.25rem 0 0;padding:0;list-style:none;display:flex}.kmap__topics li{border:1px solid var(--guide);padding:.25rem .75rem;font-size:1.125rem;line-height:1.4}@media (width<=640px){.map-intro{font-size:1.1875rem}.kmap{margin-top:3.5rem;padding-left:2rem}.kmap__node{left:-2rem}.kmap__node:after{width:1.0625rem}}.corner{z-index:10;background:var(--ground);align-items:center;display:flex;position:fixed;bottom:1.25rem;left:1.25rem}.corner .lang-switch{gap:.75rem;padding:0 .5rem;font-size:.9375rem}.corner .lang-switch a[aria-current=true]{color:var(--text)}.corner .lang-switch+.view-toggle{border-left:1px solid var(--rule)}.view-toggle{gap:.75rem;padding:0 .5rem;display:flex}.view-toggle button{min-height:2.75rem;color:var(--muted);font:inherit;text-transform:lowercase;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-size:.9375rem;display:inline-flex}.view-toggle button[aria-pressed=true]{color:var(--text)}.view-toggle button:hover,.corner .lang-switch a:hover{color:var(--accent)}body:has(.corner){padding-bottom:4.5rem}.machine{font-family:var(--mono);display:none}html[data-view=machine] body:has(.machine) .shell{display:none}html[data-view=machine] .machine{max-width:56rem;margin:0 auto;padding:2rem 1.5rem 8rem;display:block}.machine__bar{border-bottom:1px solid var(--guide);color:var(--guide);justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;display:flex}.machine__path{color:var(--guide);overflow-wrap:anywhere}.machine__copy{border:1px solid var(--guide);min-height:2.75rem;color:var(--guide);font:inherit;cursor:pointer;background:0 0;padding:0 1rem}.machine__copy:hover{border-color:var(--accent);color:var(--accent)}.machine__text{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--soft);margin:1.5rem 0 0;font-size:.9375rem;line-height:1.7}.machine__text .md-h{color:var(--text)}.machine__text .md-q{color:var(--muted)}.machine__text .md-mark{color:var(--guide)}.machine__text .md-url{color:var(--muted)}@media (width<=640px){.corner{bottom:1rem;left:1rem}}@media print{.corner{display:none}}.button{border:1px solid var(--accent);background:var(--accent);min-height:3rem;color:var(--ground);justify-content:center;align-items:center;gap:.5rem;padding:0 1.5rem;font-size:1.125rem;display:inline-flex}.button:hover{background:var(--ground);color:var(--accent)}.button--outline{border-color:var(--text);color:var(--text);background:0 0}.button--outline:hover{border-color:var(--accent);background:0 0}.prose{overflow-wrap:break-word;counter-reset:section;font-size:1.25rem;line-height:1.55}.prose>:first-child{margin-top:0}.prose p{text-wrap:pretty;max-width:34em;margin:1rem 0 0}.prose h2{counter-increment:section;border-bottom:1px solid var(--guide);margin:6rem 0 0;padding:1.625rem 0 .5rem 2.125rem;scroll-margin-top:1.5rem;font-size:clamp(2.5rem,4.6vw,4rem);line-height:1;position:relative}.prose h2:before{content:counter(section, decimal-leading-zero);color:var(--guide);font-size:1.25rem;line-height:1;position:absolute;top:0;left:0}.prose h2:after{content:"";background:var(--guide);width:1px;position:absolute;top:1.125rem;bottom:-.5rem;left:1.375rem;transform:skew(-8deg)}.prose h3{margin:3rem 0 0;scroll-margin-top:1.5rem;font-size:clamp(1.75rem,2.6vw,2.125rem);line-height:1.15}.prose h4{color:var(--guide);margin:2.25rem 0 0;scroll-margin-top:1.5rem;font-size:1.5rem;line-height:1.25}.prose h5,.prose h6{color:var(--muted);margin:2rem 0 0;font-size:1.25rem;line-height:1.35}.prose strong{color:var(--accent);font-weight:400}.prose em{color:var(--soft);font-style:normal}.prose ul,.prose ol{max-width:34em;margin:1.25rem 0 0;padding-left:1.5em}.prose li{margin:.375rem 0 0}.prose li>ul,.prose li>ol{border-left:1px solid var(--rule);margin:.375rem 0 0;padding-left:1.125rem;list-style-position:inside}.prose ul>li::marker{content:"→  ";color:var(--guide)}.prose ol>li::marker{color:var(--guide)}.prose blockquote{border-left:1px solid var(--accent);color:var(--soft);margin:1.5rem 0 0;padding-left:1rem}.prose hr{border:0;border-top:1px solid var(--rule);margin:3rem 0}.prose code{background:var(--raised);border:1px solid var(--rule);padding:.1em .35em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8em}.prose pre{background:var(--raised);border:1px solid var(--rule);margin:1.5rem 0 0;padding:1rem;overflow-x:auto}.prose pre code{border:0;padding:0}.prose p>img:only-child{background:#fff;width:100%;margin:3rem 0;padding:.75rem;display:block}.prose p>img:not(:only-child),.prose li img{vertical-align:-.35em;background:#fff;width:auto;height:1.4em;margin:0 .25rem;padding:2px 8px;display:inline-block}.prose .table-scroll{border:1px solid var(--rule);margin:1.25rem 0 0;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;min-width:35rem;font-size:1.125rem;line-height:1.4}.prose th{text-align:left;color:var(--guide);background:var(--raised);padding:.75rem 1rem;font-weight:400}.prose td{border-top:1px solid var(--rule);vertical-align:top;padding:.75rem 1rem}@media (width<=640px){.prose{font-size:1.1875rem}.prose h2{margin-top:4.5rem}}.updated{color:var(--muted);margin:4rem 0 0}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
