:root{--page-nav-h:96px}@media (prefers-reduced-motion:no-preference){.page-fade{animation:page-fade-up var(--dur-slow) var(--ease-out-expo) both}.page-fade--delay{animation-delay:80ms}}@keyframes page-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.writing-page{padding-top:calc(var(--page-nav-h) + var(--gutter));padding-bottom:clamp(80px,12vh,140px)}.writing-wrap{max-width:860px}.writing-back{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);transition:color var(--dur-fast) ease;align-items:center;gap:6px;margin-bottom:40px;font-size:12px;text-decoration:none;display:inline-flex}.writing-back:hover{color:var(--accent)}.writing-header{margin-bottom:56px}.writing-meta{align-items:center;gap:8px;display:flex}.writing-meta__sep{opacity:.5}.writing-header h1{font-family:var(--font-serif);margin:14px 0 0;font-size:clamp(40px,6vw,72px);font-weight:400;line-height:1.05}.writing-header p{color:var(--ink-2);max-width:60ch;margin:18px 0 0;font-size:17px;line-height:1.6}.writing-article__contribution{font-family:var(--font-mono);color:var(--accent);margin:12px 0 0;font-size:12px}.writing-year{margin-bottom:8px}.writing-year__label{padding-top:28px;padding-bottom:6px;display:block}.writing-year__list{border-top:1px solid var(--hairline)}.writing-row__body{flex-direction:column;flex:auto;gap:4px;min-width:0;display:flex}.writing-row__attribution{font-family:var(--font-mono);color:var(--ink-3);font-size:12px}.writing-row__summary{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.4;overflow:hidden}.container.writing-article{max-width:calc(44rem + 2 * var(--gutter))}.writing-article__tags{flex-wrap:wrap;gap:8px;margin:0 0 40px;display:flex}.writing-article__body{color:var(--ink-2);font-size:19px;line-height:1.7}.writing-article__body p{margin:0 0 24px}.writing-article__body p:first-of-type:first-letter{float:left;font-family:var(--font-serif);color:var(--ink);padding:.08em .1em 0 0;font-size:3.4em;line-height:.82}.writing-article__body h2,.writing-article__body h3{font-family:var(--font-serif);color:var(--ink);margin:40px 0 16px;font-weight:400;line-height:1.25}.writing-article__body h2{font-size:clamp(24px,3vw,32px)}.writing-article__body h3{font-size:clamp(19px,2.2vw,24px)}.writing-article__body blockquote{border-left:2px solid var(--accent);font-family:var(--font-serif);color:var(--ink);margin:28px 0;padding:4px 0 4px 22px;font-size:1.15em}.writing-article__body code{font-family:var(--font-mono);background:var(--bg-elev);border:1px solid var(--hairline);border-radius:5px;padding:.1em .4em;font-size:.85em}.writing-article__body pre{background:var(--bg-elev);border:1px solid var(--hairline);border-radius:12px;margin:28px 0;padding:18px 20px;overflow-x:auto}.writing-article__body pre code{background:0 0;border:0;padding:0}.writing-article__body ul,.writing-article__body ol{margin:0 0 24px;padding-left:1.3em}.writing-article__body li{margin-bottom:8px}.writing-article__keypoints{margin:8px 0 40px}.writing-article__keypoints h2{font-family:var(--font-serif);color:var(--ink);margin:0 0 4px;font-size:clamp(22px,2.6vw,28px);font-weight:400}.writing-article__keypoints ul{border-top:1px solid var(--hairline);margin:0;padding:0;list-style:none}.writing-article__keypoints li{border-bottom:1px solid var(--hairline);color:var(--ink-2);margin:0;padding:18px 0 18px 26px;font-size:16px;line-height:1.65;position:relative}.writing-article__keypoints li:before{content:"—";color:var(--accent);position:absolute;left:0}.writing-article__takeaway{border-left:2px solid var(--accent);margin:0 0 48px;padding:4px 0 4px 24px}.writing-article__takeaway-label{margin-bottom:10px;display:block}.writing-article__takeaway p{font-family:var(--font-serif);color:var(--ink);margin:0;font-size:clamp(19px,2.2vw,23px);line-height:1.5}.writing-article__original{border-top:1px solid var(--hairline);margin-top:48px;padding-top:28px}.writing-article__lang-note{color:var(--ink-3);margin:12px 0 0;font-size:13px}.writing-article__related{background:var(--bg-elev);border:1px solid var(--hairline);border-radius:16px;margin-top:28px;padding:22px 24px}.writing-article__related-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px;font-size:11px;display:block}.writing-article__related-link{font-family:var(--font-serif);color:var(--ink);font-size:19px;text-decoration:none}.writing-article__related-link:hover{color:var(--accent)}@media (width<=640px){.writing-wrap{padding-inline:var(--gutter)}}.notfound{text-align:center;min-height:100svh;padding:calc(var(--page-nav-h) + var(--gutter)) var(--gutter) var(--gutter);flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex}.notfound__code{font-family:var(--font-serif);color:var(--ink);margin:0;font-size:clamp(120px,26vw,260px);font-weight:400;line-height:.9}.notfound__text{color:var(--ink-2);margin:0 0 8px;font-size:17px}.notfound__links{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}
