:root{color-scheme:light;color:#252a29;font-synthesis:none;text-rendering:optimizelegibility;--ink:#252a29;--muted:#69716f;--line:#e4e7e3;--paper:#fff;--ground:#edeeeb;--accent:#2d6463;--content-width:808px;--reading-width:700px;background:#edeeeb;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ground);min-width:320px;color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button,a{-webkit-tap-highlight-color:transparent}.skip-link{z-index:10;background:var(--ink);color:var(--paper);padding:.5rem .75rem;transition:transform .15s;position:absolute;top:0;left:1rem;transform:translateY(-120%)}.skip-link:focus{transform:translateY(0)}.site-header{color:#fff;text-align:center;background:linear-gradient(115deg,#afb8b6 0%,#c3c8c5 47%,#b2babb 100%);height:330px;position:relative;overflow:hidden}.site-header:before{content:"";opacity:.65;pointer-events:none;background:radial-gradient(at 24% 40%,#f7f7f330 0,#0000 46%),repeating-linear-gradient(125deg,#0000 0 85px,#2e454512 86px 87px,#0000 90px 142px),repeating-linear-gradient(35deg,#0000 0 118px,#ffffff17 120px 122px,#0000 124px 206px);position:absolute;inset:-150px -100px;transform:rotate(-4deg)}.site-header:after{content:"";filter:blur(24px);opacity:.55;pointer-events:none;border:1px solid #f7fcf735;border-radius:52% 48% 48% 52%;width:560px;height:380px;position:absolute;top:42px;left:calc(50% - 280px)}.header-inner{z-index:1;width:min(100% - 2.5rem,1040px);margin:0 auto;padding:30px 20px 0;position:relative}.avatar-link{background:#ffffffd9;border:1px solid #ffffff70;border-radius:50%;width:60px;height:60px;margin:0 auto 12px;padding:3px;display:block;box-shadow:0 8px 24px #28322e20}.avatar{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.brand{color:#fff;letter-spacing:-.07em;text-shadow:0 1px 1px #36454418;font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,6vw,64px);font-weight:600;line-height:1;display:inline-block}nav,.language-switcher{align-items:center;display:flex}nav{color:#fff;flex-wrap:wrap;justify-content:center;gap:clamp(20px,4vw,49px);margin-top:19px;font-size:.88rem;font-weight:600}nav a{border-bottom:1px solid #0000;padding:5px 0}nav a:hover,nav a.is-active{color:#fff;border-color:#ffffffb8}.language-switcher{gap:.35rem}.language-switcher a{opacity:.72}.language-switcher a.is-active,.language-switcher a:hover{opacity:1}#main-content.paper{z-index:2;width:min(calc(100% - 2.5rem), var(--content-width));background:var(--paper);margin:-70px auto 0;padding:47px 54px 42px;position:relative;box-shadow:0 14px 60px #28322e0d}#main-content.paper:before{content:"";background:#ffffffb5;height:3px;position:absolute;top:-3px;left:0;right:0}.home-section{padding:29px 0 30px}#main-content>.home-section:first-child{padding-top:4px}.home-section+.home-section{border-top:1px solid var(--line)}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:0;padding-bottom:13px;display:flex}.section-heading h2{letter-spacing:-.035em;margin:0;font-size:1.25rem;font-weight:680}.section-heading p,.section-link{color:var(--muted);margin:0;font-size:.8rem}.section-link{color:var(--accent)}.section-link:hover{text-underline-offset:.2em;text-decoration:underline}.project-grid{display:block}.project-card{border-bottom:1px solid var(--line);padding:22px 0}.project-card:last-child{border-bottom:0}.project-card-topline,.article-card-meta{justify-content:space-between;align-items:center;gap:1rem;display:flex}.eyebrow,.article-card-meta{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;font-size:.75rem;font-weight:700}.project-card h3{letter-spacing:-.035em;margin:8px 0 6px;font-size:1.2rem;font-weight:680}.project-card p{max-width:680px;color:var(--muted);margin:0;font-size:.92rem;line-height:1.7}.project-card-actions{color:var(--accent);gap:1rem;margin-top:11px;font-size:.78rem;display:flex}.project-card-actions a,.prose a{text-underline-offset:3px;text-decoration:underline #7faaa28a}.project-card-actions a:hover,.prose a:hover{color:var(--ink)}.article-list{border-top:1px solid var(--line)}.article-card{border-bottom:1px solid var(--line);padding:20px 0;transition:color .15s;display:block}.article-card:hover{color:var(--accent)}.article-card:hover p,.article-card:hover .article-card-meta{color:var(--muted)}.article-card-meta{letter-spacing:.02em;text-transform:none;justify-content:flex-start;font-weight:400}.article-card h3{letter-spacing:-.025em;margin:8px 0 4px;font-family:Georgia,Times New Roman,Songti SC,Noto Serif CJK SC,serif;font-size:1.42rem;font-weight:650;line-height:1.35}.article-card p{max-width:680px;color:var(--muted);margin:0;font-size:.9rem;line-height:1.7}.article-card.featured{padding:23px 0 29px}.article-card.featured h3{margin:12px 0 9px;font-size:clamp(1.8rem,4vw,2.3rem);line-height:1.3}.article-card.featured p{font-size:1rem;line-height:1.85}.empty-state{color:var(--muted);margin:0;padding:17px 0 4px;font-size:.9rem}.writing-empty{padding-bottom:14px}.blog-index{padding:5px 0 30px}.page-heading{border-bottom:1px solid var(--line);margin-bottom:0;padding-bottom:24px}.page-heading h1,.article-header h1{letter-spacing:-.05em;margin:9px 0 10px;font-family:Georgia,Times New Roman,Songti SC,Noto Serif CJK SC,serif;font-size:clamp(2.4rem,5.5vw,3.3rem);font-weight:650;line-height:1.08}.page-heading p,.article-header .article-description{max-width:680px;color:var(--muted);margin:0;font-size:1rem;line-height:1.8}.article-shell{max-width:var(--reading-width);margin:0 auto;padding:5px 0 31px}.back-link{color:var(--accent);margin-bottom:30px;font-size:.82rem;display:inline-block}.back-link:hover{text-underline-offset:.2em;text-decoration:underline}.article-header{margin-bottom:39px}.article-header h1{font-size:clamp(2.4rem,5.8vw,3.6rem)}.article-meta{color:var(--muted);margin:0;font-size:.82rem}.prose{overflow-wrap:anywhere;font-size:1.05rem;line-height:1.9}.prose>:first-child{margin-top:0}.prose h1,.prose h2,.prose h3,.prose h4{letter-spacing:-.04em;margin:2.5em 0 .7em;font-family:Georgia,Times New Roman,Songti SC,Noto Serif CJK SC,serif;line-height:1.25}.prose h1{font-size:2rem}.prose h2{font-size:1.6rem}.prose h3{font-size:1.3rem}.prose p,.prose ul,.prose ol,.prose blockquote,.prose table,.prose pre{margin:1.25em 0}.prose blockquote{border-left:2px solid var(--line);color:var(--muted);margin-left:0;padding-left:1.25rem}.prose code{background:#f1f3f0;border-radius:3px;padding:.15em .35em;font-size:.9em}.prose pre{border:1px solid var(--line);background:#f0f2ef;padding:1rem 1.1rem;line-height:1.55;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose img{max-width:100%;height:auto;margin:2rem auto;display:block}.prose table{border-collapse:collapse;white-space:nowrap;max-width:100%;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;padding:.55rem .8rem}.site-footer{width:min(calc(100% - 2.5rem), var(--content-width));background:var(--paper);color:var(--muted);margin:0 auto 60px;padding:24px 54px 35px;font-size:.8rem}.footer-inner{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding-top:22px;display:flex}.footer-inner a{color:var(--accent)}.footer-inner a:hover{text-underline-offset:.2em;text-decoration:underline}@media (width<=690px){.site-header{height:270px}.header-inner{width:calc(100% - 1.5rem);padding:25px 12px 0}.avatar-link{width:54px;height:54px;margin-bottom:10px}.brand{font-size:51px}nav{gap:20px;margin-top:16px;font-size:.82rem}#main-content.paper{width:calc(100% - 22px);margin-top:-45px;padding:31px 23px 29px}.home-section{padding:27px 0 28px}#main-content>.home-section:first-child{padding-top:3px}.section-heading{flex-direction:column;align-items:flex-start;gap:5px}.project-card{padding:20px 0}.article-card.featured h3{font-size:1.8rem}.blog-index,.article-shell{padding-top:4px;padding-bottom:28px}.article-shell{width:100%}.article-header{margin-bottom:32px}.site-footer{width:calc(100% - 22px);margin-bottom:30px;padding:21px 23px 29px}.footer-inner{flex-direction:column;align-items:flex-start;gap:.4rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
