.lightbox[data-astro-cid-utnzf2kr]{background:0 0;border:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh;padding:0;overflow:hidden}.lightbox[data-astro-cid-utnzf2kr]::backdrop{backdrop-filter:blur(2px);background:#0c0b0ae0}.lightbox__figure[data-astro-cid-utnzf2kr]{box-sizing:border-box;grid-template-rows:minmax(0,1fr) auto;place-items:center;gap:.75rem;width:100%;height:100%;margin:0;padding:clamp(1rem,4vw,3rem);display:grid}.lightbox__img[data-astro-cid-utnzf2kr]{object-fit:contain;border-radius:2px;max-width:100%;min-height:0;max-height:100%;box-shadow:0 20px 60px #00000073}.lightbox__caption[data-astro-cid-utnzf2kr]{color:#f4efe7d1;text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem 1rem;max-width:60ch;font-size:.85rem;line-height:1.6;display:flex}.lightbox__original[data-astro-cid-utnzf2kr]{min-height:44px;color:inherit;text-underline-offset:.2em;align-items:center;padding-inline:.5rem;display:inline-flex}.lightbox__original[data-astro-cid-utnzf2kr][hidden]{display:none}.lightbox__close[data-astro-cid-utnzf2kr]{z-index:2;color:#f4efe7;cursor:pointer;background:#0c0b0a66;border:1px solid #f4efe740;border-radius:50%;width:44px;height:44px;font-size:22px;line-height:1;position:fixed;top:1rem;right:1rem}.lightbox__nav[data-astro-cid-utnzf2kr]{z-index:2;color:#f4efe7;cursor:pointer;background:#0c0b0a59;border:1px solid #f4efe740;border-radius:50%;width:44px;height:44px;font-size:24px;line-height:1;position:fixed;top:50%;transform:translateY(-50%)}.lightbox__nav--prev[data-astro-cid-utnzf2kr]{left:1rem}.lightbox__nav--next[data-astro-cid-utnzf2kr]{right:1rem}.lightbox__close[data-astro-cid-utnzf2kr]:hover,.lightbox__nav[data-astro-cid-utnzf2kr]:hover{border-color:var(--accent);color:var(--accent)}.lightbox[data-astro-cid-utnzf2kr][data-single] .lightbox__nav[data-astro-cid-utnzf2kr]{display:none}@media (width<=640px){.lightbox__nav[data-astro-cid-utnzf2kr]{display:none}}:root{color-scheme:light;--paper:#f4efe7;--paper-2:#ece4d8;--ink:#1c1a17;--muted:#6b6459;--line:#1c1a1726;--accent:#9f3f2a;--seal-ink:#f4efe7;--accent-2:#5e6b52;--card:#fff6;--ink-soft:#3a352e;--line-strong:#1c1a174d;--accent-wash:#c4553b1a;--accent-2-wash:#5e6b521f;--paper-solid:#faf6ee;--shadow-sm:0 1px 2px #1c1a170a, 0 12px 30px -26px #1c1a1766;--shadow-md:0 24px 60px -42px #1c1a1799;--font-serif:"Songti SC", "STSong", "Source Han Serif SC", "Noto Serif SC", "Noto Serif CJK SC", "SimSun", Georgia, serif;--font-sans:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif;--font-mono:"SFMono-Regular", "Cascadia Code", "Roboto Mono", Consolas, monospace;--maxw:1180px;--gutter:clamp(1.25rem, 4vw, 3.5rem);--radius-sm:8px;--radius:14px;--radius-lg:24px;--header-h:76px;--ease:cubic-bezier(.22, .61, .36, 1)}html[data-theme=dark]{color-scheme:dark;--paper:#12110f;--paper-2:#191713;--ink:#e9e1d4;--muted:#a49b8c;--line:#e9e1d429;--accent:#e07a5f;--seal-ink:#14120f;--accent-2:#9aa88a;--card:#ffffff09;--ink-soft:#cfc6b7;--line-strong:#e9e1d44d;--accent-wash:#e07a5f21;--accent-2-wash:#9aa88a24;--paper-solid:#1b1915;--shadow-sm:0 1px 2px #0000004d, 0 14px 32px -28px #000c;--shadow-md:0 28px 70px -46px #000000e6}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{min-height:100vh;color:var(--ink);background-color:var(--paper);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.75;overflow-x:clip}body:not([data-page-id]){background-image:radial-gradient(ellipse 60% 45% at 12% -4%, #c4553b21, transparent 70%), radial-gradient(ellipse 52% 44% at 92% 4%, #5e6b521f, transparent 72%), radial-gradient(ellipse 70% 50% at 50% 108%, #1c1a170f, transparent 70%), linear-gradient(180deg, var(--paper) 0%, var(--paper-2) 100%);background-attachment:fixed}html[data-theme=dark] body:not([data-page-id]){background-image:radial-gradient(ellipse 60% 45% at 10% -6%, #e07a5f1f, transparent 70%), radial-gradient(ellipse 55% 45% at 94% 2%, #9aa88a1a, transparent 72%), radial-gradient(ellipse 70% 55% at 50% 110%, #00000073, transparent 70%), linear-gradient(180deg, var(--paper) 0%, var(--paper-2) 100%)}body:not([data-page-id]):before{content:"";z-index:0;pointer-events:none;opacity:.5;background-image:linear-gradient(#1c1a1709 1px,#0000 1px),linear-gradient(90deg,#1c1a1709 1px,#0000 1px);background-size:44px 44px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 78%);mask-image:linear-gradient(#000,#0000 78%)}html[data-theme=dark] body:not([data-page-id]):before{opacity:.35;background-image:linear-gradient(#e9e1d40a 1px,#0000 1px),linear-gradient(90deg,#e9e1d40a 1px,#0000 1px)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:600;line-height:1.2}p{margin:0}ul,ol{margin:0;padding:0}img,svg,video{max-width:100%;display:block}img{height:auto}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}hr{border:0;border-top:1px solid var(--line)}::selection{color:var(--paper-solid);background:var(--accent)}.site-header,main,.site-footer{z-index:1}main,.site-footer{position:relative}main{display:block}.container{width:100%;max-width:var(--maxw);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:clamp(3.5rem,8vw,6.5rem)}.section--line{border-top:1px solid var(--line)}.section--paper{background:color-mix(in srgb, var(--paper-solid) 55%, transparent);border-block:1px solid var(--line)}.skip-link{z-index:200;color:var(--paper-solid);background:var(--ink);transition:transform .16s var(--ease);border-radius:999px;padding:.6rem 1rem;font-size:.82rem;font-weight:600;text-decoration:none;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus-visible{outline-color:var(--accent);transform:translateY(0)}.eyebrow{color:var(--accent);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:.7rem;margin:0 0 1rem;font-size:.68rem;font-weight:500;display:inline-flex}.eyebrow:before{content:"";opacity:.7;background:currentColor;width:1.75rem;height:1px}.display{max-width:15ch;font-family:var(--font-serif);letter-spacing:-.05em;font-size:clamp(2.6rem,7vw,5.2rem);font-weight:500;line-height:1.04}.display em{color:var(--accent);font-style:italic;font-weight:400}.section-heading{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,.7fr);align-items:end;gap:1rem 3rem;margin-bottom:clamp(1.75rem,4vw,3rem);padding-bottom:1.25rem;display:grid}.section-heading__index{color:var(--accent);font-family:var(--font-mono);letter-spacing:.16em;margin-bottom:.65rem;font-size:.66rem;display:block}.section-heading__title{font-size:clamp(1.6rem,3.6vw,2.5rem);font-weight:600}.section-heading__description{max-width:40ch;color:var(--muted);font-size:.9rem;line-height:1.85}.btn{border:1px solid var(--ink);background:var(--ink);min-height:44px;color:var(--paper);font-family:var(--font-sans);white-space:nowrap;transition:background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease), transform .18s var(--ease);border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.65rem 1.25rem;font-size:.84rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn:hover{background:var(--accent);border-color:var(--accent);color:var(--paper-solid);transform:translateY(-2px)}.btn--ghost{color:var(--ink);border-color:var(--line-strong);background:0 0}.btn--ghost:hover{background:var(--accent-wash);border-color:var(--accent);color:var(--accent)}.text-link{min-height:0;color:var(--accent);letter-spacing:.02em;background:0 0;border:0;align-items:center;gap:.45rem;padding:0;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.text-link:after{content:"→";transition:transform .18s var(--ease)}.text-link:hover:after{transform:translate(4px)}.text-link:hover{color:var(--accent)}.site-header{z-index:80;isolation:isolate;background:color-mix(in srgb, var(--paper) 82%, transparent);backdrop-filter:saturate(140%)blur(14px);transition:border-color .2s var(--ease), background .2s var(--ease);border-bottom:1px solid #0000;position:sticky;top:0}.site-header.is-stuck,.site-header[data-stuck=true]{border-bottom-color:var(--line)}.header-inner{min-height:var(--header-h);justify-content:space-between;align-items:center;gap:1.25rem;display:flex}.brand{min-width:0;color:var(--ink);align-items:center;gap:.7rem;text-decoration:none;display:inline-flex}.brand:hover{color:var(--ink)}.brand__text{overflow-wrap:anywhere;flex-direction:column;gap:.1rem;min-width:0;line-height:1.1;display:flex}.brand__name{font-family:var(--font-serif);letter-spacing:.02em;font-size:1.02rem;font-weight:600}.brand__en{color:var(--muted);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;font-size:.54rem}.site-nav{align-items:center;gap:.15rem;margin-left:auto;display:flex}.site-nav a{color:var(--ink-soft);transition:color .16s var(--ease), background .16s var(--ease);border-radius:999px;padding:.5rem .75rem;font-size:.84rem;font-weight:500;text-decoration:none;display:inline-block;position:relative}.site-nav a:hover{color:var(--accent);background:var(--accent-wash)}.site-nav a[aria-current=page],.site-nav a[aria-current=true]{color:var(--accent)}.site-nav a[aria-current=page]:after{content:"";background:currentColor;border-radius:50%;width:3px;height:3px;position:absolute;bottom:.1rem;left:50%;transform:translate(-50%)}.header-tools{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.theme-toggle{width:44px;height:44px;color:var(--ink-soft);border:1px solid var(--line);background:var(--card);transition:color .16s var(--ease), border-color .16s var(--ease), transform .16s var(--ease);border-radius:50%;place-items:center;padding:0;display:inline-grid}.theme-toggle:hover{color:var(--accent);border-color:var(--line-strong);transform:translateY(-1px)}.theme-toggle svg{width:16px;height:16px}.theme-toggle .theme-toggle__sun,.theme-toggle .icon-sun{display:block}.theme-toggle .theme-toggle__moon,.theme-toggle .icon-moon,html[data-theme=dark] .theme-toggle .theme-toggle__sun,html[data-theme=dark] .theme-toggle .icon-sun{display:none}html[data-theme=dark] .theme-toggle .theme-toggle__moon,html[data-theme=dark] .theme-toggle .icon-moon{display:block}.menu-toggle{width:44px;height:44px;color:var(--ink-soft);border:1px solid var(--line);background:var(--card);border-radius:50%;place-items:center;padding:0;display:none}.menu-toggle:hover{color:var(--accent);border-color:var(--line-strong)}.menu-toggle__bars{width:15px;height:9px;display:block;position:relative}.menu-toggle__bars:before,.menu-toggle__bars:after{content:"";width:100%;height:1px;transition:transform .2s var(--ease), top .2s var(--ease);background:currentColor;position:absolute;left:0}.menu-toggle__bars:before{top:0}.menu-toggle__bars:after{top:8px}.site-header[data-open=true] .menu-toggle__bars:before{top:4px;transform:rotate(45deg)}.site-header[data-open=true] .menu-toggle__bars:after{top:4px;transform:rotate(-45deg)}.hero{isolation:isolate;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);align-items:center;gap:clamp(2rem,6vw,5rem);padding-block:clamp(3rem,8vw,7rem) clamp(3.5rem,8vw,6rem);display:grid;position:relative}.hero:after{content:"留";z-index:-1;color:var(--ink);opacity:.035;font-family:var(--font-serif);pointer-events:none;user-select:none;font-size:clamp(16rem,32vw,34rem);line-height:1;position:absolute;bottom:-.3em;right:-.08em}.hero__copy{max-width:720px;position:relative}.hero__title{font-family:var(--font-serif);letter-spacing:-.055em;font-size:clamp(2.8rem,7.4vw,5.6rem);font-weight:500;line-height:1.02}.hero__title em{color:var(--accent);font-style:italic;font-weight:400}.hero__lede{max-width:44ch;color:var(--ink-soft);margin-top:clamp(1.25rem,2.5vw,1.9rem);font-size:clamp(1rem,1.6vw,1.14rem);line-height:1.9}.hero__actions{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:clamp(1.75rem,3vw,2.4rem);display:flex}.hero__stats{border-top:1px solid var(--line);flex-wrap:wrap;gap:clamp(1.5rem,4vw,3rem);margin-top:clamp(2rem,4vw,3rem);padding-top:1.5rem;display:flex}.stat{flex-direction:column;gap:.2rem;display:flex}.stat__value{font-family:var(--font-serif);font-size:1.5rem;font-weight:500;line-height:1}.stat__label{color:var(--muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.6rem}.post-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.5vw,1.6rem);display:grid}.post-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);min-width:0;transition:transform .24s var(--ease), border-color .24s var(--ease), box-shadow .24s var(--ease);flex-direction:column;display:flex;overflow:hidden}.post-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm);transform:translateY(-4px)}.post-card__cover{border:0;border-bottom:1px solid var(--line);aspect-ratio:16/10;border-radius:0;display:block}.post-card__body{flex-direction:column;flex:1;gap:.65rem;padding:clamp(1.1rem,2.2vw,1.5rem);display:flex}.post-card__meta{color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:.35rem .7rem;font-size:.6rem;display:flex}.post-card__meta .dot{background:var(--line-strong);border-radius:50%;width:3px;height:3px}.post-card__index{color:var(--accent)}.post-card__title{font-family:var(--font-serif);letter-spacing:-.025em;font-size:clamp(1.18rem,2vw,1.45rem);font-weight:600;line-height:1.35}.post-card__title a{text-decoration:none}.post-card__description{color:var(--muted);font-size:.88rem;line-height:1.8}[hidden]{display:none!important}.page-head{border-bottom:1px solid var(--line);padding-block:clamp(2.75rem,7vw,5.5rem) clamp(1.5rem,3vw,2.5rem)}.page-head .display{max-width:18ch}.cta{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem 3rem;padding-block:clamp(2.5rem,6vw,4.5rem);display:grid}.cta__title{max-width:20ch;font-family:var(--font-serif);letter-spacing:-.04em;font-size:clamp(1.7rem,4vw,2.8rem);font-weight:500}.cta__mail{color:var(--accent);font-family:var(--font-mono);border-bottom:1px solid;align-items:center;gap:.5rem;padding-bottom:.2rem;font-size:.8rem;text-decoration:none;display:inline-flex}.cta__mail:hover{color:var(--ink)}.cta__note{color:var(--muted);margin-top:.8rem;font-size:.8rem}.prose>:first-child{margin-top:0}.prose p{margin:0 0 1.35em}.prose h2,.prose h3,.prose h4{color:var(--ink);font-family:var(--font-serif);letter-spacing:-.025em;scroll-margin-top:calc(var(--header-h) + 1rem);font-weight:600;line-height:1.35}.prose h2{border-top:1px solid var(--line);margin:2.4em 0 .75em;padding-top:.8em;font-size:clamp(1.45rem,2.8vw,1.95rem)}.prose h4{margin:1.6em 0 .5em;font-size:1.08rem}.prose strong{color:var(--ink);font-weight:600}.prose em{font-style:italic}.prose a{color:var(--accent);text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent)}.prose a:hover{text-decoration-color:var(--accent)}.prose li{margin-block:.35em}.prose blockquote{border-left:2px solid var(--accent);color:var(--ink);font-family:var(--font-serif);margin:1.9em 0;padding:.15em 0 .15em 1.35em;font-size:1.12em;line-height:1.8}.prose blockquote p:last-child{margin-bottom:0}.prose code{border:1px solid var(--line);background:var(--card);font-family:var(--font-mono);border-radius:4px;padding:.12em .35em;font-size:.84em}.prose pre{border-radius:var(--radius-sm);color:#e6e0d4;background:#16181a;border:1px solid #ffffff17;margin:1.7em 0;padding:1.1rem 1.25rem;font-size:.84rem;line-height:1.7;overflow-x:auto}.prose pre code{color:inherit;font-size:inherit;background:0 0;border:0;padding:0}.prose hr{border:0;border-top:1px solid var(--line-strong);width:3rem;margin:3em auto}.prose table{border-collapse:collapse;width:100%;margin:1.7em 0;font-size:.88rem}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;padding:.6rem .75rem}.prose th{color:var(--ink);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem}.prose img{border-radius:var(--radius-sm);margin:1.8em 0}.error-page{text-align:center;place-items:center;min-height:min(70vh,620px);padding-block:clamp(3rem,8vw,6rem);display:grid}.error-page h1{font-family:var(--font-serif);letter-spacing:-.03em;margin:1rem 0 .75rem;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:500}.error-page p{max-width:36ch;color:var(--muted);margin:0 auto 1.75rem;line-height:1.9}.error-page__actions{flex-wrap:wrap;justify-content:center;gap:.7rem;display:flex}.site-footer{border-top:1px solid var(--line);background:color-mix(in srgb, var(--paper-solid) 45%, transparent);margin-top:auto}.footer-main{grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr) minmax(0,.9fr);gap:clamp(1.75rem,4vw,3.5rem);padding-block:clamp(2.5rem,5vw,4rem);display:grid}.footer-brand .brand{margin-bottom:.9rem}.footer-brand p{max-width:34ch;color:var(--muted);font-size:.82rem;line-height:1.85}.footer-col__title{color:var(--muted);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .9rem;font-size:.58rem;font-weight:500}.footer-nav{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.footer-nav a{color:var(--ink-soft);font-size:.84rem;text-decoration:none}.footer-nav a:hover{color:var(--accent)}.footer-note{color:var(--muted);margin-top:.85rem;font-size:.76rem;line-height:1.8}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);letter-spacing:.05em;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1.5rem;padding-block:1.1rem 1.5rem;font-size:.58rem;display:flex}.footer-bottom p{margin:0}.footer-bottom__meta{flex-wrap:wrap;gap:.5rem 1.25rem;display:flex}.footer-bottom a{text-decoration:none}.footer-bottom a:hover{color:var(--accent)}@media (width<=980px){.hero{grid-template-columns:1fr;gap:clamp(2rem,5vw,3rem)}.hero:after{font-size:20rem}.section-heading{grid-template-columns:1fr;align-items:start;gap:.6rem}.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.principles{grid-template-columns:1fr}.principle+.principle{border-left:0}.footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:span 2}.cta{grid-template-columns:1fr;align-items:start}}@media (width<=720px){:root{--header-h:64px}.brand__en{display:none}.menu-toggle{display:inline-grid}.site-nav{z-index:79;max-height:calc(100dvh - var(--header-h));padding:.5rem var(--gutter) 1.5rem;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper) 96%, transparent);backdrop-filter:blur(18px);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .2s var(--ease), transform .2s var(--ease), visibility 0s linear .2s;flex-direction:column;align-items:stretch;gap:0;display:flex;position:absolute;top:100%;left:0;right:0;overflow-y:auto;transform:translateY(-8px)}.site-header[data-open=true] .site-nav,.site-header.is-open .site-nav{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .2s var(--ease), transform .2s var(--ease), visibility 0s;transform:translateY(0)}.site-nav a{border-bottom:1px solid var(--line);border-radius:0;padding:.95rem .25rem;font-size:.95rem}.site-nav a[aria-current=page]:after{display:none}.site-nav a:hover{background:0 0}body.nav-open{overflow:hidden}.hero{padding-block:2.25rem 2.75rem}.hero__title{font-size:clamp(2.4rem,11vw,3.4rem)}.hero__stats{gap:1.4rem}.display{font-size:clamp(2.2rem,10vw,3.2rem)}.post-grid{grid-template-columns:1fr}.filters{gap:.35rem}.footer-main{grid-template-columns:1fr;gap:1.75rem}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;align-items:flex-start}.error-page{min-height:58vh}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.post-card:hover,.btn:hover{transform:none}}@media print{body:before,.site-header,.site-footer,.skip-link,.filters{display:none!important}body{color:#000;background:#fff}}body[data-page-id] main{--maxw:1040px;--reading-size:1.125rem;--reading-measure:calc(var(--reading-size) * 34)}.post-head__inner{max-width:var(--reading-measure)}.article-layout{grid-template-columns:minmax(0,1fr) 232px;align-items:start;gap:clamp(2rem,5vw,4.5rem);padding-bottom:clamp(3rem,6vw,5rem);display:grid}.article-layout--solo{grid-template-columns:minmax(0,1fr)}.article-main{max-width:68ch}.article-aside{top:calc(var(--header-h) + 2rem);min-width:0;max-width:var(--reading-measure);gap:1.25rem;display:grid;position:sticky}.toc{gap:.85rem;display:grid}.toc__list{border-left:1px solid var(--line);gap:.1rem;margin:0;padding:0;list-style:none;display:grid}.toc__item a{color:var(--muted);transition:color .2s var(--ease), border-color .2s var(--ease);border-left:2px solid #0000;margin-left:-1px;padding:.34rem .75rem;font-size:.845rem;line-height:1.45;text-decoration:none;display:block}.toc__item--h3 a{padding-left:1.5rem;font-size:.8rem}.toc__item a:hover{color:var(--ink)}.toc__item a.is-active{color:var(--accent);border-left-color:var(--accent)}.toc__progress{background:var(--line);border-radius:2px;height:2px;overflow:hidden}.toc__progress span{background:var(--accent);transform-origin:0;width:100%;height:100%;transition:transform .15s linear;display:block;transform:scaleX(0)}.back-link{min-height:28px;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.4rem;margin:clamp(1.5rem,3vw,2.25rem) 0 0;font-size:.74rem;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--accent)}.post-head{padding:clamp(1.5rem, 3vw, 2.5rem) var(--gutter) clamp(2rem, 4vw, 3rem);gap:clamp(1.5rem,3vw,2.5rem);display:grid}.post-head h1{font-family:var(--font-serif);letter-spacing:0;margin:.75rem 0 0;font-size:clamp(1.875rem,3vw,2.5rem);font-weight:500;line-height:1.35}.post-meta{border-top:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted);flex-wrap:wrap;align-items:center;gap:.55rem 1.1rem;margin-top:1.5rem;padding-top:1.05rem;font-size:.75rem;display:flex}.post-card__cover{text-decoration:none;display:block}.post-card__title a{color:inherit;text-decoration:none}.post-card__title a:hover{color:var(--accent)}.tag{border:1px solid var(--line-strong);font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-soft);background:0 0;border-radius:999px;align-items:center;padding:.18rem .5rem;font-size:.66rem;text-decoration:none;display:inline-flex}.tag:hover{border-color:var(--accent);color:var(--accent)}.tag--ghost{border-style:dashed;border-color:var(--line);color:var(--muted)}.page-head{padding:clamp(2rem, 4vw, 3rem) var(--gutter) clamp(1rem, 2vw, 1.5rem);gap:.6rem;display:grid}.page-head__lede{max-width:56ch;color:var(--muted);margin:0;line-height:1.7}.archive{gap:clamp(1.75rem,4vw,3rem);padding-bottom:clamp(3rem,6vw,5rem);display:grid}.archive__list{gap:.1rem;margin:0;padding:0;list-style:none;display:grid}.archive__item a{color:inherit;border-bottom:1px solid var(--line);transition:background .18s var(--ease), padding-left .18s var(--ease);grid-template-columns:5.6rem minmax(0,1fr) auto;align-items:baseline;gap:1rem;padding:.7rem .4rem;text-decoration:none;display:grid}.archive__item a:hover{background:var(--accent-wash);padding-left:.7rem}.archive__date{font-family:var(--font-mono);color:var(--muted);font-size:.72rem}.archive__title{font-family:var(--font-serif);font-size:1rem;line-height:1.5}.archive__cats{font-family:var(--font-mono);color:var(--muted);white-space:nowrap;font-size:.68rem}@media (width<=900px){.article-layout{grid-template-columns:minmax(0,1fr)}.article-aside{order:-1;padding-bottom:1rem;position:static}}@media (width<=620px){.archive__item a{grid-template-columns:5.2rem minmax(0,1fr);gap:.65rem}.archive__cats{display:none}}.post-card__img{aspect-ratio:16/10;object-fit:cover;background:var(--paper-2);width:100%;transition:transform .6s cubic-bezier(.22, .61, .36, 1), filter .3s var(--ease);display:block}.typo-cover{aspect-ratio:16/10;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:linear-gradient(180deg, var(--paper-solid), var(--paper-2)), var(--paper-2);display:block;position:relative;overflow:hidden}.typo-cover__glyph{font-family:var(--font-serif);color:var(--ink);opacity:.11;pointer-events:none;font-size:clamp(9rem,16vw,13rem);line-height:1;position:absolute;bottom:-.28em;right:-.12em}.typo-cover__cat{font-family:var(--font-mono);letter-spacing:.14em;color:var(--accent);font-size:.72rem;position:absolute;top:.9rem;left:1rem}.typo-cover__num{font-family:var(--font-mono);letter-spacing:.1em;color:var(--muted);font-size:.68rem;position:absolute;bottom:.85rem;right:1rem}.article-main.prose img{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;max-width:100%;height:auto;margin:1.6rem 0;display:block}.timeline-wrap{padding-bottom:clamp(3rem,6vw,5rem)}.timeline__group{grid-template-columns:5.5rem minmax(0,1fr);gap:clamp(1rem,3vw,2.5rem);margin-bottom:clamp(2rem,4vw,3rem);display:grid}.timeline__year{font-family:var(--font-mono);letter-spacing:.18em;color:var(--accent);margin:0;padding-top:.35rem;font-size:.9rem}.timeline{--tl-date:3.6rem;--tl-rail:1rem;--tl-gap:clamp(.6rem, 1.5vw, 1rem);margin:0;padding:0;list-style:none;position:relative}.timeline:before{content:"";left:calc(var(--tl-date) + var(--tl-gap) + (var(--tl-rail) / 2) - .5px);background:var(--line-strong);width:1px;position:absolute;top:.55rem;bottom:0}.timeline__item{grid-template-columns:var(--tl-date) var(--tl-rail) minmax(0, 1fr);gap:0 var(--tl-gap);padding-bottom:clamp(1.75rem,3.5vw,2.75rem);display:grid;position:relative}.timeline__date{font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);text-align:right;padding-top:.32rem;font-size:.74rem}.timeline__rail{justify-content:center;display:flex;position:relative}.timeline__dot{background:var(--paper);border:1.5px solid var(--accent);z-index:1;border-radius:50%;width:9px;height:9px;margin-top:.62rem;display:block;position:relative}.timeline__content{overflow-wrap:anywhere;gap:.45rem;min-width:0;max-width:62ch;display:grid}.timeline__title{font-family:var(--font-serif);margin:0;font-size:clamp(1.02rem,1.7vw,1.22rem);line-height:1.45}.timeline__text{color:var(--ink-soft);margin:0;font-size:.96rem;line-height:1.85}.timeline--compact .timeline__item{padding-bottom:clamp(1.25rem,2.5vw,1.75rem)}@media (width<=760px){.timeline__group{grid-template-columns:1fr;gap:.5rem}.timeline{--tl-date:3.1rem;--tl-rail:.9rem}}.typo-cover:after{content:"";border:1px solid var(--line);pointer-events:none;border-radius:2px;position:absolute;inset:.55rem}.term-chips{border-top:1px solid var(--line);flex-wrap:wrap;gap:.5rem;margin-top:.5rem;padding-top:.5rem;display:flex}.term-chips a{text-decoration:none}.term-chips a:hover{border-color:var(--accent);color:var(--accent)}.term-chips--page{border-top:0;padding-bottom:clamp(3rem,6vw,5rem)}.topic-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:clamp(.75rem,1.5vw,1rem);padding-bottom:clamp(3rem,6vw,5rem);display:grid}.topic-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:inherit;transition:border-color .18s var(--ease), transform .18s var(--ease);justify-content:space-between;align-items:baseline;gap:1rem;padding:1.1rem 1.15rem;text-decoration:none;display:flex}.topic-card:hover{border-color:var(--accent);transform:translateY(-2px)}.topic-card__name{font-family:var(--font-serif);font-size:1.05rem}.topic-card__count{font-family:var(--font-mono);color:var(--muted);white-space:nowrap;flex:none;font-size:.72rem}@media (width<=620px){.topic-grid--categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.topic-grid--categories .topic-card{gap:.5rem;padding:.85rem .9rem}.topic-grid--categories .topic-card__name{font-size:.95rem}}.article-terms{flex-wrap:wrap;gap:.45rem;padding:0 0 clamp(2.5rem,5vw,4rem);display:flex}.article-terms a{text-decoration:none}.article-terms a:hover{border-color:var(--accent);color:var(--accent)}.pager{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;margin:clamp(1.75rem,4vw,3rem) 0 0;padding-top:clamp(1rem,2vw,1.5rem);display:flex}.pager__link{min-height:44px;font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-soft);border:1px solid var(--line);transition:border-color .18s var(--ease), color .18s var(--ease);border-radius:999px;justify-content:center;align-items:center;padding:.35rem .9rem;font-size:.78rem;text-decoration:none;display:inline-flex}.pager__link:hover{border-color:var(--accent);color:var(--accent)}.pager__link--off{opacity:.32;border-style:dashed}.pager__status{font-family:var(--font-mono);color:var(--muted);letter-spacing:.08em;font-size:.74rem}.crumbs{font-family:var(--font-mono);letter-spacing:.08em;color:var(--muted);align-items:center;gap:.45rem;margin-bottom:.35rem;font-size:.72rem;display:flex}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--accent)}.crumbs span[aria-current=page]{color:var(--ink-soft)}.search-result{padding:1.45rem 0 1.3rem}.search-result:first-child{border-top:0;padding-top:.6rem}.search-result__title{margin-bottom:.1rem;display:inline-block}.search-result__meta{margin:.45rem 0 .55rem}.timeline__foot{margin-top:.45rem}.series-nav{max-width:var(--reading-measure);border-block:1px solid var(--line);margin:0 0 clamp(1rem,2.5vw,1.75rem);padding-block:.75rem}.series-nav__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;display:flex}.series-nav__label{font-family:var(--font-mono);letter-spacing:.08em;color:var(--muted);margin:0;font-size:.74rem}.series-nav__label a{color:var(--accent);text-decoration:none}.series-nav__label a:hover{text-decoration:underline}.series-nav__meta{font-family:var(--font-mono);color:var(--muted);margin:0;font-size:.72rem}.series-nav__details{margin-top:.15rem}.series-nav__details summary{cursor:pointer;min-height:44px;font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);align-items:center;font-size:.72rem;list-style:none;display:flex}.series-nav__details summary::-webkit-details-marker{display:none}.series-nav__details summary:before{content:"▸ ";color:var(--accent)}.series-nav__details[open] summary:before{content:"▾ "}.series-nav__list{gap:.1rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.series-nav__list li{border-bottom:1px dashed var(--line);grid-template-columns:2.2rem minmax(0,1fr);align-items:baseline;gap:.6rem;padding:.28rem 0;display:grid}.series-nav__list li:last-child{border-bottom:0}.series-nav__num{font-family:var(--font-mono);color:var(--muted);font-size:.7rem}.series-nav__title{color:var(--ink-soft);font-size:.9rem;line-height:1.5;text-decoration:none}a.series-nav__title:hover{color:var(--accent)}.series-nav__list li.is-current .series-nav__title{color:var(--accent);font-weight:600}.series-nav__list li.is-current .series-nav__num{color:var(--accent)}.series-list{gap:.1rem;margin:0;padding:0;list-style:none;display:grid}.series-list__item{border-bottom:1px solid var(--line);transition:background .18s var(--ease), padding-left .18s var(--ease);grid-template-columns:2.6rem minmax(0,1fr) auto;align-items:baseline;gap:.9rem;padding:.66rem .4rem;display:grid}.series-list__item:hover{background:var(--accent-wash);padding-left:.7rem}.series-list__num{font-family:var(--font-mono);color:var(--accent);font-size:.72rem}.series-list__title{font-family:var(--font-serif);color:inherit;font-size:1rem;line-height:1.5;text-decoration:none}.series-list__date{font-family:var(--font-mono);color:var(--muted);white-space:nowrap;font-size:.7rem}.filters{flex-wrap:wrap;align-items:center;gap:.45rem;padding:0 0 .75rem;display:flex}.archive-links{border-bottom:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.04em;flex-wrap:wrap;gap:.45rem 1.5rem;padding:.2rem 0 1.25rem;font-size:.72rem;display:flex}.archive-links a{min-height:24px;color:var(--accent);align-items:center;text-decoration:none;display:inline-flex}.archive-links a:hover{text-decoration:underline}.filters__label{font-family:var(--font-mono);letter-spacing:.12em;color:var(--muted);margin-right:.35rem;font-size:.68rem}.chip{border:1px solid var(--line-strong);color:var(--ink-soft);transition:border-color .18s var(--ease), color .18s var(--ease), background .18s var(--ease);border-radius:999px;align-items:center;padding:.24rem .62rem;font-size:.78rem;text-decoration:none;display:inline-flex}.chip:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-wash)}.chip--plain{color:var(--muted);border-style:dashed}.prose h2,.prose h3{scroll-margin-top:calc(var(--header-h) + 1.6rem);text-wrap:balance}.heading-anchor{font-family:var(--font-mono);color:var(--accent);opacity:0;transition:opacity .15s var(--ease);margin-left:.4rem;font-size:.7em;text-decoration:none}.prose h2:hover .heading-anchor,.prose h3:hover .heading-anchor,.heading-anchor:focus-visible{opacity:1}@media (width<=640px){.series-list__item{grid-template-columns:2rem minmax(0,1fr)}.series-list__date{display:none}}.series-foot{border-top:1px solid var(--line);justify-content:space-between;gap:clamp(.75rem,2vw,1.25rem);margin-top:clamp(1.5rem,3vw,2rem);padding:clamp(1.5rem,3vw,2.25rem) 0 clamp(3rem,6vw,4.5rem);display:flex}.series-foot__link{max-width:48%;color:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);transition:border-color .18s var(--ease), background .18s var(--ease);flex:1 1 0;gap:.3rem;padding:1rem 1.15rem;text-decoration:none;display:grid}.series-foot__link:hover{border-color:var(--accent);background:var(--accent-wash)}.series-foot__link:hover .series-foot__name{color:var(--accent)}.series-foot__link--next{text-align:right;justify-items:end;margin-left:auto}.series-foot__link--off{font-family:var(--font-mono);color:var(--muted);border-style:dashed;align-content:center;font-size:.72rem}.series-foot__dir{font-family:var(--font-mono);letter-spacing:.12em;color:var(--muted);font-size:.66rem}.series-foot__name{font-family:var(--font-serif);color:var(--ink);font-size:1.02rem;line-height:1.45}.series-foot__meta{font-family:var(--font-mono);letter-spacing:.05em;color:var(--muted);font-size:.66rem}@media (width<=640px){.series-foot{flex-direction:column}.series-foot__link{max-width:100%}}.post-card__foot{align-items:center;gap:.6rem;margin-top:auto;padding-top:.75rem;display:flex}.post-card__cats{min-width:0;color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.64rem;overflow:hidden}.post-card__stats{flex:none;align-items:center;gap:.45rem;margin-left:auto;display:flex}.header-search{width:30px;height:30px;color:var(--muted);transition:color .18s var(--ease), background .18s var(--ease);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.header-search:hover{color:var(--accent);background:var(--accent-wash)}.header-search svg{width:17px;height:17px}.read-progress{z-index:60;pointer-events:none;width:100%;height:2px;position:fixed;top:0;left:0}.read-progress span{background:var(--accent);transform-origin:0;width:100%;height:100%;transition:transform .1s linear;display:block;transform:scaleX(0)}.to-top{z-index:55;border:1px solid var(--line-strong);background:var(--paper-solid);width:42px;height:42px;color:var(--ink-soft);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s var(--ease), transform .2s var(--ease), border-color .2s var(--ease);box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:fixed;bottom:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem);transform:translateY(8px)}.to-top.is-visible{opacity:1;pointer-events:auto;transform:none}.to-top:hover{border-color:var(--accent);color:var(--accent)}.toc-box{border-top:1px solid var(--line);padding-top:.9rem}.toc-box__summary{cursor:pointer;min-height:44px;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.5rem;font-size:.7rem;list-style:none;display:flex}.toc-box__summary::-webkit-details-marker{display:none}.toc-box__summary:before{content:"▸";color:var(--accent)}.toc-box[open]>.toc-box__summary:before{content:"▾"}.toc-box__hint{margin-left:auto;font-size:.66rem}.toc-box .toc{margin-top:.75rem}.prose p{text-wrap:pretty}.prose a{text-underline-offset:.18em;text-decoration-thickness:1px}@media (width<=620px){.post-meta{gap:.35rem .7rem}.post-meta__author{display:none}}.related{border-top:1px solid var(--line);margin-top:clamp(1.5rem,3vw,2.5rem);padding:clamp(2rem,4vw,3rem) 0 clamp(1rem,2vw,1.5rem)}.related__label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 1rem;font-size:.7rem}.related__list{gap:.15rem;margin:0;padding:0;list-style:none;display:grid}.related__item a{border-bottom:1px dashed var(--line);color:inherit;transition:background .16s var(--ease), padding-left .16s var(--ease);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:1rem;padding:.62rem .3rem;text-decoration:none;display:grid}.related__item a:hover{background:var(--accent-wash);padding-left:.55rem}.related__title{font-family:var(--font-serif);font-size:.97rem;line-height:1.5}.related__meta{font-family:var(--font-mono);color:var(--muted);white-space:nowrap;font-size:.68rem}@media (width<=620px){.related__item a{grid-template-columns:1fr;gap:.2rem}}.views{font-family:var(--font-mono);color:var(--muted);letter-spacing:.02em;align-items:center;gap:.32rem;font-size:.72rem;display:inline-flex}.views svg{opacity:.8;width:14px;height:14px}.views--sm{font-size:.66rem}.views--sm svg{width:12px;height:12px}.post-card__stats .views{margin:0}.prose img.is-zoomable{cursor:zoom-in;transition:filter .2s var(--ease)}.prose img.is-zoomable:hover{filter:brightness(.97)}body:has(dialog[open]){overflow:hidden}.prose--narrow{max-width:42rem;margin-inline:auto;padding-bottom:clamp(3rem,6vw,5rem)}::selection{background:color-mix(in srgb, var(--accent) 22%, transparent);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.prose pre{position:relative}.copy-code{color:#f4efe7bf;min-width:44px;min-height:30px;font-family:var(--font-mono);letter-spacing:.06em;cursor:pointer;opacity:0;transition:opacity .16s var(--ease), color .16s var(--ease);background:#0c0b0a59;border:1px solid #f4efe740;border-radius:999px;justify-content:center;align-items:center;padding:.35rem .65rem;font-size:.66rem;display:inline-flex;position:absolute;top:.55rem;right:.55rem}.prose pre:hover .copy-code,.copy-code:focus-visible{opacity:1}@media (hover:none){.copy-code{opacity:.85}}.copy-code:hover{color:var(--paper);border-color:var(--accent)}.copy-code.is-done{color:var(--accent);border-color:var(--accent);opacity:1}.prose table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.prose table thead,.prose table tbody{width:100%;display:table}.prose a[href^=http]:after{content:"↗";opacity:.55;margin-left:.15em;font-size:.78em;text-decoration:none}.prose a[href^=http]:has(img):after,.prose pre a[href^=http]:after{content:none}.prose pre a{color:#f0a890;text-decoration-color:#f0a89073}.prose pre a:hover{color:#ffd2c2;text-decoration-color:currentColor}.prose sup a{font-family:var(--font-mono);font-size:.7em;text-decoration:none}.prose .footnotes{border-top:1px solid var(--line);color:var(--muted);margin-top:3rem;padding-top:1.2rem;font-size:.86rem}:root[data-theme=dark] .prose img{background:#fff;border-radius:2px}.toc-fab{z-index:55;border:1px solid var(--line-strong);background:var(--paper-solid);width:42px;height:42px;color:var(--ink-soft);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;display:none;position:fixed;bottom:calc(clamp(1rem,3vw,2rem) + 52px);right:clamp(1rem,3vw,2rem)}@media (width<=900px){.toc-fab{display:inline-flex}}.toc-fab:hover{color:var(--accent);border-color:var(--accent)}@media (prefers-reduced-motion:reduce){.prose img,.post-card__img{transition:none}}.archive-years{padding-bottom:clamp(3rem,6vw,5rem)}.archive-year{border-top:1px solid var(--line);grid-template-columns:9rem minmax(0,1fr);gap:clamp(1rem,3vw,2.5rem);padding:clamp(1.2rem,2.5vw,2rem) 0;display:grid}.archive-year:first-child{border-top:0}.archive-year__label{top:calc(var(--header-h) + 1.5rem);align-content:start;gap:.2rem;margin:0;display:grid;position:sticky}.archive-year__num{font-family:var(--font-serif);color:var(--ink);font-size:clamp(1.6rem,3vw,2.2rem);line-height:1}.archive-year__count{font-family:var(--font-mono);letter-spacing:.08em;color:var(--muted);font-size:.68rem}.archive-year__list{gap:.1rem;margin:0;padding:0;list-style:none;display:grid}.archive-year__item a{border-bottom:1px dashed var(--line);color:inherit;transition:background .16s var(--ease), padding-left .16s var(--ease);grid-template-columns:6.2rem minmax(0,1fr) auto;align-items:baseline;gap:1rem;padding:.5rem .35rem;text-decoration:none;display:grid}.archive-year__item a:hover{background:var(--accent-wash);padding-left:.6rem}.archive-year__date{font-family:var(--font-mono);color:var(--muted);white-space:nowrap;font-size:.72rem}.archive-year__title{font-family:var(--font-serif);font-size:.98rem;line-height:1.5}.archive-year__cat{color:var(--muted);white-space:nowrap;font-size:.72rem}@media (width<=760px){.archive-year{grid-template-columns:1fr;gap:.6rem}.archive-year__label{align-items:baseline;gap:.6rem;display:flex;position:static}.archive-year__item a{grid-template-columns:1fr;gap:.15rem}.archive-year__cat{display:none}}.comments__count{color:var(--accent);margin-left:.35rem}@media print{.site-header,.site-footer,.article-aside,.to-top,.toc-fab,.read-progress,.comments,.related,.series-foot,.resume-toast,.post-card__foot,.crumbs{display:none!important}html,body{color:#000!important;background:#fff!important}.article-layout{padding:0!important;display:block!important}.prose{font-size:11.5pt;line-height:1.75;color:#000!important;max-width:none!important}.prose a{text-decoration:underline;color:#000!important}.prose a[href^=http]:after{content:" (" attr(href) ")";color:#444;font-size:9pt}.prose img{page-break-inside:avoid;max-width:100%!important}h1,h2,h3{page-break-after:avoid}}.hero__rail{border-left:1px solid var(--line);min-width:0;padding-left:clamp(1rem,3vw,2rem);position:relative}.hero__rail-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 1rem;font-size:.7rem}.hero__list{gap:.1rem;margin:0;padding:0;list-style:none;display:grid}.hero__list a{border-bottom:1px dashed var(--line);color:inherit;transition:background .16s var(--ease), padding-left .16s var(--ease);grid-template-columns:2rem minmax(0,1fr);align-items:baseline;gap:.05rem .6rem;padding:.62rem .3rem;text-decoration:none;display:grid}.hero__list a:hover{background:var(--accent-wash);padding-left:.55rem}.hero__num{font-family:var(--font-mono);color:var(--accent);font-size:.7rem}.hero__rail-title{font-family:var(--font-serif);overflow-wrap:anywhere;font-size:1rem;line-height:1.5}.hero__rail-meta{font-family:var(--font-mono);color:var(--muted);grid-column:2;font-size:.66rem}.hero__rail-foot{font-family:var(--font-mono);margin:1rem 0 0;font-size:.72rem}.hero__rail-foot a{color:var(--accent);text-decoration:none}.hero__rail-foot a:hover{text-decoration:underline}@media (width<=900px){.hero__rail{border-left:0;border-top:1px solid var(--line);padding-top:1.4rem;padding-left:0}}.hero__motto{font-family:var(--font-serif);color:var(--ink);max-width:34em;font-size:clamp(1.05rem,1.9vw,1.28rem);line-height:1.85}.hero__neg{color:var(--muted)}.about-motto{border-left:2px solid var(--accent);font-family:var(--font-serif);color:var(--ink);margin:1.4rem 0 1.6rem;padding:.85rem 0 .85rem 1.1rem;font-size:1.1rem;line-height:1.8}.page-head--narrow{max-width:calc(42rem + 2 * var(--gutter));margin-inline:auto}@media (hover:hover){.post-card:hover .post-card__img{transform:scale(1.025)}.btn span[aria-hidden],.cta__mail span[aria-hidden]{transition:transform .22s var(--ease)}.btn:hover span[aria-hidden],.cta__mail:hover span[aria-hidden]{transform:translate(3px)}.series-foot__link:hover,.hero__list a:hover{transform:translate(2px)}.series-foot__link,.hero__list a{transition:transform .22s var(--ease), border-color .18s var(--ease), background .18s var(--ease), padding-left .18s var(--ease)}}@media (prefers-reduced-motion:reduce){.post-card__img,.btn span[aria-hidden]{transition:none}}.post-sticky{top:calc(var(--header-h) - 1px);z-index:70;background:color-mix(in srgb, var(--paper-solid) 88%, transparent);backdrop-filter:blur(10px)saturate(1.1);border-bottom:1px solid var(--line);opacity:0;transition:transform .26s cubic-bezier(.22, .61, .36, 1), opacity .2s var(--ease);position:fixed;left:0;right:0;transform:translateY(-102%)}.post-sticky.is-visible{opacity:1;transform:none}.post-sticky__inner{justify-content:space-between;align-items:baseline;gap:1rem;padding-block:.55rem;display:flex}.post-sticky__title{font-family:var(--font-serif);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;line-height:1.4;overflow:hidden}.post-sticky__meta{font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);white-space:nowrap;font-size:.68rem}.post-sticky__bar{background:0 0;height:2px}.post-sticky__bar span{background:var(--accent);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}@media (width<=620px){.post-sticky__meta{display:none}}.copy-heading{z-index:60;border:1px solid var(--line-strong);background:var(--paper-solid);color:var(--ink-soft);font-family:var(--font-mono);letter-spacing:.04em;box-shadow:var(--shadow-sm);opacity:0;transition:opacity .2s var(--ease), transform .2s var(--ease);border-radius:999px;padding:.45rem .9rem;font-size:.72rem;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%,8px)}.copy-heading.is-visible{opacity:1;transform:translate(-50%)}.prose{min-width:0;font-size:var(--reading-size,1.125rem);line-break:strict;word-break:normal;overflow-wrap:break-word;font-kerning:normal;max-width:var(--reading-measure,34em);letter-spacing:.012em;color:var(--ink-soft);line-height:1.95}.prose>p{margin:0 0 1.55em}.prose h2{letter-spacing:.01em;border-top:0;margin:2.7em 0 .85em;padding-top:0;font-size:clamp(1.38rem,2.3vw,1.66rem)}.prose h2:before{content:"";background:var(--accent);opacity:.5;width:26px;height:2px;margin-bottom:.75rem;display:block}.prose h3{margin:2.2em 0 .6em;font-size:1.2rem}.prose h4{color:var(--ink-soft);font-size:1.05rem}.prose blockquote{border-left:2px solid var(--accent);font-family:var(--font-serif);color:var(--ink-soft);margin:2em 0;padding:.15em 0 .15em 1.25em;font-size:1.02em;font-style:normal}.prose ul,.prose ol{margin:0 0 1.55em;padding-left:1.3em}.prose li{margin-bottom:.5em}.prose li::marker{color:var(--accent)}.prose figure{margin:2.2em 0}.prose img{transition:opacity .25s var(--ease);border-radius:3px}.prose figure img{margin:0;box-shadow:0 1px 2px #1c1a170d,0 14px 36px -28px #1c1a1773}.prose figcaption{letter-spacing:.02em;color:var(--muted);text-align:center;margin:.85em 0 1.6rem;font-size:.78rem;line-height:1.7}.post-meta,.post-meta time,.stat__value,.archive__date,.archive-year__date,.series-list__date,.timeline__date,.post-card__meta{font-variant-numeric:tabular-nums}.toc a{transition:color .18s var(--ease);padding-left:.7rem;position:relative}.toc .toc__item--h3 a{padding-left:1.5rem}.toc a:before{content:"";transform-origin:top;width:2px;transition:background .18s var(--ease), transform .12s linear;background:0 0;position:absolute;top:.35em;bottom:.35em;left:0;transform:scaleY(0)}.toc a.is-active:before{background:var(--accent);transform:scaleY(var(--p,0))}@media (width<=760px){body[data-page-id] main{--reading-size:1.0625rem}.prose{font-size:var(--reading-size,1.0625rem);line-height:1.9}.prose h2{margin-top:2.2em}}.eyebrow--kicker{letter-spacing:.16em;text-transform:uppercase;font-size:.72rem}.eyebrow--kicker a{color:var(--accent);text-decoration:none}.eyebrow--kicker a:hover{text-decoration:underline}@media (width<=760px){.post-meta{gap:.5rem}}.post-meta>span,.post-meta>time,.post-meta>button,.post-meta>a{white-space:nowrap}.post-sticky__toc{border:1px solid var(--line-strong);min-width:44px;min-height:44px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;flex:none;justify-content:center;align-items:center;margin-left:.5rem;padding:.18rem .55rem;font-size:.66rem;display:none}.post-sticky__toc:hover{color:var(--accent);border-color:var(--accent)}@media (width<=900px){.post-sticky__toc{display:inline-flex}.toc-fab{display:none}}.note{border-left:2px solid color-mix(in srgb, var(--accent) 45%, transparent);color:var(--muted);margin:2em 0;padding:.15em 0 .15em 1.1em;font-size:.9em;line-height:1.85;position:relative}.note__label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);vertical-align:.08em;margin-right:.5em;font-size:.72em;display:inline-block}.note__body{margin:0;display:inline}.prose .note p{margin:0}.fig-num{font-family:var(--font-mono);letter-spacing:.08em;color:var(--accent);margin-right:.55em;font-size:.72em}.prose figure:not(:has(figcaption)){margin:1.7em 0}@media (width<=640px){.series-foot__link{max-width:100%}}.header-search,.to-top{width:44px;height:44px}.toc-box,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6,.prose [id]{scroll-margin-top:calc(var(--header-h) + 80px)}.resume-toast{width:100%;color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.8rem;display:flex;position:static}.resume-toast__go,.resume-toast__close{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper-solid);min-width:44px;min-height:44px;color:var(--ink);cursor:pointer}@media (hover:none){.copy-code{opacity:1;min-width:44px;min-height:44px}}@media print{.prose{font-size:11.5pt;line-height:1.75;max-width:none!important}.post-sticky,.resume-toast{display:none!important}}.like-btn,.copy-code{min-width:44px;min-height:44px}.heading-anchor:focus-visible{opacity:1}
