@font-face{font-family:Keepbx Serif;src:url(/fonts/keepbx-serif.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Keepbx Kai;src:url(/fonts/keepbx-kai.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{color-scheme:light;--paper:oklch(96.2% .018 84);--field:oklch(93.6% .022 82);--ink:oklch(22.5% .019 62);--ink-2:oklch(40% .021 62);--ink-3:oklch(53% .02 66);--accent:oklch(57.5% .205 30);--accent-strong:oklch(47% .17 29);--rule:oklch(85.8% .02 80);--rule-strong:oklch(78% .02 78);--select-bg:oklch(86% .09 80);--cover:oklch(22.5% .018 62);--on-cover:oklch(93% .022 86);--on-cover-2:oklch(78% .025 85);--code-bg:oklch(22.5% .018 62);--code-fg:oklch(93% .022 86);--code-border:transparent;--glow:oklch(99.5% .018 92/.95);--shade:oklch(42% .03 70/.045);--grain-blend:multiply;--grain-opacity:.26;--cover-grain-blend:screen;--cover-grain-opacity:.14;--image-shadow:none;--image-opacity:1;--font-display:"Keepbx Serif", "Songti SC", "Noto Serif CJK SC", "Source Han Serif SC", "STSong", "SimSun", serif;--font-serif:"Songti SC", "Noto Serif CJK SC", "Source Han Serif SC", "STSong", "SimSun", serif;--font-kai:"Keepbx Kai", "Kaiti SC", "STKaiti", "KaiTi", "AR PL UKai CN", "Noto Serif CJK SC", serif;--font-latin:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--fs-micro:.75rem;--fs-meta:.875rem;--fs-note:1rem;--fs-body:1.0625rem;--fs-read:1.125rem;--fs-lead:1.25rem;--fs-h3:1.375rem;--fs-h2:1.75rem;--fs-title:clamp(1.75rem, 3.2vw, 2.25rem);--fs-h1:clamp(1.9rem, 3.6vw, 2.875rem);--lh-read:1.9;--lh-title:1.32;--ease:cubic-bezier(.16, 1, .3, 1);--page-max:1120px;--gutter:clamp(20px, 4.6vw, 64px)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--paper:oklch(20.5% .014 70);--field:oklch(24.5% .014 72);--ink:oklch(90.5% .02 86);--ink-2:oklch(73.5% .022 84);--ink-3:oklch(60% .02 80);--accent:oklch(66.5% .185 31);--accent-strong:oklch(73% .16 33);--rule:oklch(32% .014 74);--rule-strong:oklch(42% .016 76);--select-bg:oklch(42% .07 62);--cover:oklch(15% .01 66);--on-cover:oklch(90% .02 84);--on-cover-2:oklch(70% .02 82);--code-bg:oklch(15% .01 66);--code-fg:oklch(90% .02 84);--code-border:var(--rule);--glow:oklch(36% .028 64/.55);--shade:oklch(10% .01 60/.7);--grain-blend:soft-light;--grain-opacity:.5;--cover-grain-blend:soft-light;--cover-grain-opacity:.4;--image-shadow:0 18px 48px oklch(6% .01 60/.55);--image-opacity:.86}}:root[data-theme=dark]{color-scheme:dark;--paper:oklch(20.5% .014 70);--field:oklch(24.5% .014 72);--ink:oklch(90.5% .02 86);--ink-2:oklch(73.5% .022 84);--ink-3:oklch(60% .02 80);--accent:oklch(66.5% .185 31);--accent-strong:oklch(73% .16 33);--rule:oklch(32% .014 74);--rule-strong:oklch(42% .016 76);--select-bg:oklch(42% .07 62);--cover:oklch(15% .01 66);--on-cover:oklch(90% .02 84);--on-cover-2:oklch(70% .02 82);--code-bg:oklch(15% .01 66);--code-fg:oklch(90% .02 84);--code-border:var(--rule);--glow:oklch(36% .028 64/.55);--shade:oklch(10% .01 60/.7);--grain-blend:soft-light;--grain-opacity:.5;--cover-grain-blend:soft-light;--cover-grain-opacity:.4;--image-shadow:0 18px 48px oklch(6% .01 60/.55);--image-opacity:.86}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-gutter:stable}body{background-color:var(--paper);background-image:radial-gradient(58rem 40rem at 4% -10%, var(--glow), transparent 62%), radial-gradient(46rem 38rem at 100% 104%, var(--shade), transparent 72%);min-height:100vh;color:var(--ink);font-family:var(--font-serif);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;line-height:1.8;display:flex;overflow-x:hidden}body:before{content:"";z-index:50;opacity:var(--grain-opacity);mix-blend-mode:var(--grain-blend);pointer-events:none;background-image:url(/grain.svg);background-size:240px 240px;position:fixed;inset:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:.01em;text-wrap:balance;margin:0;font-weight:600;line-height:1.35}p{margin:0}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}::selection{background:var(--select-bg);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}.svg-defs{width:0;height:0;position:absolute;overflow:hidden}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--ink);color:var(--paper);font-family:var(--font-kai);letter-spacing:.12em;padding:.65rem 1.1rem;font-size:.9375rem;position:absolute;top:0;left:-9999px}.skip:focus{left:var(--gutter);top:.75rem}.page{z-index:1;width:100%;max-width:var(--page-max);padding-inline:var(--gutter);flex:1 0 auto;margin-inline:auto;position:relative}.masthead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 1.5rem;padding-block:clamp(1.3rem,3vw,2.2rem) clamp(1.8rem,4vw,3.2rem);display:flex}.brand{align-items:center;gap:clamp(.8rem,1.5vw,1.2rem);display:inline-flex}.wordmark{font-family:var(--font-latin);letter-spacing:.09em;color:var(--ink);white-space:nowrap;font-size:1rem}.wordmark .tld{color:var(--accent-strong)}.masthead-tools{align-items:center;gap:clamp(.7rem,1.8vw,1.4rem);margin-left:auto;display:flex}.backlink{font-family:var(--font-kai);letter-spacing:.18em;color:var(--ink-2);white-space:nowrap;transition:border-color .25s var(--ease), color .25s var(--ease);border-bottom:1px solid #0000;align-items:center;gap:.5em;padding-block:.4rem;font-size:.875rem;display:inline-flex}.backlink:hover{color:var(--ink);border-bottom-color:var(--ink)}.theme-switch{font-family:var(--font-kai);font-size:var(--fs-meta);letter-spacing:.12em;color:var(--ink-2);align-items:center;gap:.2rem;display:none}html.js .theme-switch{display:inline-flex}.theme-option{color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;transition:color .2s var(--ease), border-color .2s var(--ease);background:0 0;border:0;border-bottom:1px solid #0000;border-radius:0;padding:.62rem .34rem;line-height:1}.theme-option:hover,.theme-option[aria-pressed=true]{color:var(--ink)}.theme-option[aria-pressed=true]{border-bottom-color:var(--ink)}@media (width<=560px){.masthead{gap:.8rem 1rem}.masthead .seal{width:52px;height:52px}.masthead .brand{gap:.7rem}.wordmark{font-size:.9375rem}.masthead-tools{gap:.8rem}.backlink{letter-spacing:.14em;font-size:.8125rem}.theme-switch{letter-spacing:.1em;font-size:.8125rem}.theme-option{min-width:2.4em;padding:.56rem .28rem}}@media (width<=380px){.masthead .seal{width:46px;height:46px}.wordmark{font-size:.875rem}.theme-switch{font-size:.75rem}}.seal{width:var(--seal-size,64px);height:var(--seal-size,64px);transform:rotate(var(--seal-rotate,-5deg));flex:none;display:inline-flex}.seal svg{width:100%;height:100%}.hero{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:clamp(2rem,5vw,5rem);padding-bottom:clamp(2.75rem,6vw,5rem);display:grid}.hero-copy{flex-direction:column;min-width:0;display:flex}.signature{letter-spacing:.01em;text-wrap:balance;margin:0;font-size:clamp(1.75rem,8.4vw,4.9rem);font-weight:600;line-height:1.32}.signature .line{display:block}.signature .line+.line{padding-left:1.5em}.note{font-family:var(--font-kai);font-size:var(--fs-body);letter-spacing:.04em;color:var(--ink-2);margin-top:clamp(1.3rem,2.6vw,2rem);line-height:1.9}.imprint{font-family:var(--font-kai);font-size:var(--fs-meta);letter-spacing:.16em;color:var(--ink-2);margin-top:clamp(1.4rem,3vw,2.4rem)}.note-wave{width:min(10.5em,70vw);height:7px;color:var(--accent);opacity:.9;margin-top:.5rem}.vertical{font-family:var(--font-display);writing-mode:vertical-rl;letter-spacing:.3em;color:var(--ink);user-select:none;place-self:start end;margin:0;padding-top:.12em;font-size:clamp(3.2rem,7.4vw,6.4rem);font-weight:600;line-height:1}.vertical .heart{color:var(--accent)}@media (width<=1023px){.hero{grid-template-columns:minmax(0,1fr);gap:0}.vertical{writing-mode:horizontal-tb;letter-spacing:.42em;order:-1;justify-self:start;margin-bottom:clamp(1.5rem,4vw,2rem);padding-top:0;font-size:1.5rem}.signature .line+.line{padding-left:1.1em}}@media (width>=1024px) and (height<=960px){.masthead{padding-block:1.4rem 2.2rem}.hero{padding-bottom:2.75rem}.vertical{font-size:clamp(3.2rem,6.4vw,5.2rem)}}@media (width>=1024px) and (height<=820px){.masthead{padding-block:1.1rem 1.8rem}.hero{padding-bottom:2rem}.vertical{font-size:clamp(2.8rem,5.2vw,4.4rem)}.contents{padding-top:1.1rem}.lead-link{padding-block:1.1rem 1.6rem}}.contents{border-top:1px solid var(--rule);padding-top:clamp(1.4rem,2.6vw,2rem);padding-bottom:clamp(3.5rem,8vw,7rem)}.contents-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:clamp(.6rem,1.4vw,1rem);display:flex}.contents-title{font-family:var(--font-kai);letter-spacing:.3em;color:var(--ink);font-size:1.0625rem;font-weight:400}.contents-count{font-family:var(--font-kai);font-size:var(--fs-meta);letter-spacing:.08em;color:var(--ink-2);font-variant-numeric:tabular-nums}.index{margin:0;padding:0;list-style:none}.index-lead{border-bottom:1px solid var(--rule)}.lead-link{padding-block:clamp(1.5rem,3vw,2.1rem) clamp(1.8rem,3.6vw,2.5rem);display:block}.lead-meta{font-family:var(--font-kai);font-size:var(--fs-meta);letter-spacing:.06em;color:var(--ink-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:.6em;margin-bottom:.8rem;display:flex}.lead-title{font-size:var(--fs-title);letter-spacing:.01em;word-break:keep-all;overflow-wrap:anywhere;line-height:1.32}.lead-summary{max-width:44ch;font-size:var(--fs-note);color:var(--ink-2);text-wrap:pretty;margin-top:.85rem;line-height:1.8}.index-item{border-bottom:1px solid var(--rule)}.index-link{justify-content:space-between;align-items:baseline;gap:1.5rem;padding-block:clamp(.95rem,2vw,1.25rem);display:flex}.index-title{font-family:var(--font-display);letter-spacing:.01em;font-size:1.1875rem;font-weight:600;line-height:1.5}.index-date{font-family:var(--font-kai);font-size:var(--fs-meta);letter-spacing:.04em;color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;transition:color .25s var(--ease);flex:none;line-height:1.6}.index-link:hover .index-date,.index-link:focus-visible .index-date,.lead-link:hover .lead-meta,.lead-link:focus-visible .lead-meta{color:var(--accent-strong)}.title-text{background-image:linear-gradient(var(--ink), var(--ink));transition:background-size .3s var(--ease);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;padding-bottom:.06em;display:inline}.lead-link:hover .title-text,.lead-link:focus-visible .title-text,.index-link:hover .title-text,.index-link:focus-visible .title-text{background-size:100% 1px}.mark-new{vertical-align:.14em;background:var(--accent-strong);width:1.55em;height:1.55em;color:var(--paper);font-family:var(--font-kai);border-radius:2px;justify-content:center;align-items:center;margin-left:.4em;font-size:max(.42em,12px);font-weight:700;line-height:1;display:inline-flex;transform:rotate(-4deg)}.empty{border-bottom:1px solid var(--rule);padding-block:clamp(2.5rem,5vw,4rem)}.empty p{font-family:var(--font-kai);letter-spacing:.06em;color:var(--ink-2);font-size:1.0625rem}.empty .note-wave{color:var(--rule);opacity:1}@media (width<=380px){.article-meta .sep,.lead-meta .sep{display:none}.article-meta{gap:.9em}}@media (width<=639px){.index-link{grid-template-columns:minmax(0,1fr);gap:.35rem;padding-block:1.05rem;display:grid}.index-date{text-align:left;order:-1}.index-title{font-size:1.125rem}.lead-meta{letter-spacing:.04em}}.colophon{background:var(--cover);color:var(--on-cover);position:relative;overflow:hidden}.colophon-tear{z-index:2;pointer-events:none;width:100%;height:26px;position:absolute;top:0;left:0}.colophon:before{content:"";opacity:var(--cover-grain-opacity);mix-blend-mode:var(--cover-grain-blend);pointer-events:none;background-image:url(/grain.svg);background-size:240px 240px;position:absolute;inset:0}.colophon-inner{z-index:1;max-width:var(--page-max);padding:clamp(3.6rem, 7vw, 5.25rem) var(--gutter) clamp(3rem, 6.5vw, 4.75rem);text-align:center;flex-direction:column;align-items:center;margin-inline:auto;display:flex;position:relative}.colophon-title{font-family:var(--font-kai);letter-spacing:.5em;color:var(--on-cover);margin-top:1.15rem;padding-left:.6em;font-size:1.0625rem;font-weight:400}.colophon-domain{font-family:var(--font-latin);font-size:var(--fs-meta);letter-spacing:.26em;text-transform:uppercase;color:var(--on-cover-2);margin-top:.45rem}.colophon-rule{width:3.5rem;height:7px;color:var(--on-cover-2);opacity:.8;margin:1.4rem 0}.colophon-meta{font-size:var(--fs-micro);letter-spacing:.08em;color:var(--on-cover-2);margin-top:1.75rem;line-height:2}.colophon-links{font-size:var(--fs-micro);letter-spacing:.08em;color:var(--on-cover-2);margin-top:.9rem;line-height:2}.colophon-meta a,.colophon-links a{transition:border-color .25s var(--ease);border-bottom:1px solid #0000}.colophon-meta a:hover,.colophon-links a:hover{border-bottom-color:currentColor}.colophon-meta .sep,.colophon-links .sep{opacity:.5;margin-inline:.5em}.colophon-top{font-family:var(--font-kai);letter-spacing:.18em;color:var(--on-cover-2);transition:color .25s var(--ease), border-color .25s var(--ease);border-bottom:1px solid #0000;margin-top:1.65rem;padding:.35rem .4rem;font-size:.875rem}.colophon-top:hover{color:var(--on-cover);border-bottom-color:var(--on-cover)}.colophon a:focus-visible,.colophon .colophon-top:focus-visible{outline-color:var(--on-cover)}@media (width<=639px){.colophon-meta .sep{opacity:0;height:0;margin:0;display:block}}.article{--measure:calc(40 * var(--fs-read));width:100%;max-width:var(--measure);margin-inline:auto;padding-bottom:clamp(3.5rem,8vw,7rem)}.article-head{border-bottom:1px solid var(--rule);margin-bottom:clamp(2rem,4.5vw,3.25rem);padding-bottom:clamp(1.8rem,3.5vw,2.6rem)}.article-title{font-size:var(--fs-h1);line-height:var(--lh-title);letter-spacing:.01em;word-break:keep-all;overflow-wrap:anywhere;max-width:24em}.article-meta{font-family:var(--font-kai);font-size:var(--fs-meta);letter-spacing:.05em;color:var(--ink-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:.55em;margin-top:1.1rem;display:flex}.article-meta .sep{color:var(--ink-3)}.prose{font-size:var(--fs-read);line-height:var(--lh-read);color:var(--ink);overflow-wrap:break-word}.prose>*+*{margin-top:1em}.prose>p:first-child{font-size:var(--fs-lead);color:var(--ink);line-height:1.8}.prose p{text-indent:2em;text-wrap:pretty;margin:0}.prose>p:first-child,.prose li p,.prose blockquote p,.prose td p,.prose th p{text-indent:0}.prose>p+p{margin-top:.85em}.prose h2{font-size:var(--fs-h2);letter-spacing:.02em;margin-top:2.4em;line-height:1.4}.prose h2:before{content:"";vertical-align:.24em;background:var(--accent);width:.32em;height:.32em;margin-right:.6em;display:inline-block;transform:rotate(45deg)}.prose h3{font-size:var(--fs-h3);margin-top:2em;line-height:1.5}.prose h2+*,.prose h3+*{margin-top:.75em}.prose a{text-underline-offset:.2em;text-decoration:underline 1px;text-decoration-color:var(--rule-strong);transition:text-decoration-color .25s var(--ease)}.prose a:hover{text-decoration-color:var(--accent)}.prose blockquote{border-left:1px solid var(--rule-strong);color:var(--ink-2);margin:2em 0;padding-left:1.35em;font-size:1.0625rem;line-height:1.9}.prose blockquote p+p{margin-top:.7em}.prose ul,.prose ol{margin:0;padding-left:1.6em}.prose li+li{margin-top:.35em}.prose li::marker{color:var(--ink-3)}.prose hr{background:var(--rule);border:0;height:1px;margin:3em 0}.prose code{font-family:var(--font-mono);background:var(--field);border:1px solid var(--rule);border-radius:3px;padding:.12em .36em;font-size:.86em}.prose pre{background:var(--code-bg);color:var(--code-fg);border:1px solid var(--code-border);border-radius:3px;padding:1.15em 1.3em;font-size:.875rem;line-height:1.7;overflow-x:auto}.prose pre code{color:inherit;background:0 0;border:0;padding:0}.prose img{border:1px solid var(--rule);width:auto;opacity:var(--image-opacity);box-shadow:var(--image-shadow);margin:2em 0}.prose figure img{margin:0}.prose figure svg{border:1px solid var(--rule);width:auto;max-width:100%;opacity:var(--image-opacity);box-shadow:var(--image-shadow);margin:0}.prose figure{margin:2em 0}.prose figcaption{font-family:var(--font-kai);font-size:var(--fs-meta);letter-spacing:.04em;color:var(--ink-2);text-indent:0;margin-top:.6em}.prose table{border-collapse:collapse;width:100%;font-size:var(--fs-note);line-height:1.7}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--rule);padding:.55em .8em}.prose th{font-family:var(--font-display);font-weight:600}.prose strong{font-weight:600}.prose em{text-emphasis:filled dot var(--ink-2);font-style:normal;text-emphasis-position:under}.article-foot{padding-top:clamp(2.5rem,5vw,4rem)}.article-foot .backlink{letter-spacing:.16em}.lost{padding-block:clamp(2.5rem,7vw,6rem) clamp(4rem,10vw,9rem)}.lost-title{font-size:var(--fs-h1);line-height:var(--lh-title)}.lost-note{text-wrap:pretty;max-width:32em;font-family:var(--font-kai);color:var(--ink-2);margin-top:1.1rem;font-size:1.0625rem;line-height:1.9}.lost .backlink{margin-top:2rem}@media (prefers-reduced-motion:no-preference){.masthead{animation:settle .5s var(--ease) both}.seal{animation:.55s cubic-bezier(.2,.8,.2,1) both stamp}.vertical{animation:hang .8s var(--ease) both .1s}.signature .line:first-child{animation:rise .7s var(--ease) both 60ms}.signature .line:last-child{animation:rise .7s var(--ease) both .14s}.note{animation:rise .7s var(--ease) both .24s}.contents-head{animation:rise .6s var(--ease) both .3s}.index-lead,.index-item{animation:rise .6s var(--ease) both}.index-lead{animation-delay:.36s}.index-item:nth-child(2){animation-delay:.44s}.index-item:nth-child(3){animation-delay:.52s}.index-item:nth-child(n+4){animation-delay:.58s}.colophon{animation:rise .7s var(--ease) both .45s}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes hang{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}@keyframes settle{0%{opacity:0}to{opacity:1}}@keyframes stamp{0%{opacity:0;transform:scale(1.18) rotate(calc(var(--seal-rotate,-5deg) - 4deg))}to{opacity:1;transform:scale(1) rotate(var(--seal-rotate,-5deg))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}@media print{:root,:root:not([data-theme=light]),:root[data-theme=dark]{color-scheme:light;--paper:oklch(100% 0 0);--ink:oklch(20% .01 60);--ink-2:oklch(45% .01 60);--ink-3:oklch(60% .01 60);--rule:oklch(85% .005 70);--rule-strong:oklch(70% .005 70);--accent:oklch(50% .17 29);--accent-strong:oklch(45% .16 29);--field:oklch(96% 0 0);--code-bg:oklch(96% 0 0);--code-fg:oklch(20% .01 60);--code-border:var(--rule);--image-opacity:1;--image-shadow:none}body{background:0 0}body:before,.colophon,.skip,html.js .theme-switch,.theme-switch{display:none}}.seal-char[data-astro-cid-lojqx2gf]{font-family:var(--font-kai);fill:var(--paper);letter-spacing:0;font-size:40px;font-weight:700}
