:root{color-scheme:light dark;--ink:#26303d;--muted:#64748b;--faint:#8b97a8;--paper:#fdfaf4;--line:#ece5da;--accent:#1f2937;--code-bg:#f7f2ea;--shadow:#26303d1f;font-family:Georgia,Times New Roman,Songti SC,STSong,serif}[data-theme=dark]{--ink:#e7ebf0;--muted:#a6b2c3;--faint:#7f8b9b;--paper:#151719;--line:#303640;--accent:#f2f4f7;--code-bg:#20242b;--shadow:#00000059}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink)}body{text-rendering:optimizelegibility;min-width:320px;margin:0;font-size:16px;line-height:1.5}body>canvas[id^=c_n]{pointer-events:none}.site-header,.site-footer,main{z-index:1;position:relative}a{color:var(--ink);border-bottom:1px solid #ccc;text-decoration:none}a:hover{border-bottom-color:var(--ink)}.site-header,.site-footer,main{width:min(960px,100% - 64px);margin:0 auto}.site-header{justify-content:space-between;align-items:center;gap:24px;padding:42px 0 26px;display:flex}.site-header-home{justify-content:flex-end}.brand-home{color:var(--muted);border:0;font-size:1rem;font-weight:700;line-height:1;transition:color .18s}.brand-home:hover,.brand-home:focus-visible{color:var(--ink)}.brand-home:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.header-actions{align-items:center;gap:18px;display:flex}.site-nav{color:var(--muted);flex-wrap:wrap;gap:16px;font-size:1rem;display:flex}.site-nav a{color:var(--muted);border:0;padding-bottom:3px;transition:color .18s;position:relative}.site-nav a:hover,.site-nav a:focus-visible,.site-nav a.is-active{color:var(--ink)}.site-nav a:after{content:"";opacity:0;background:currentColor;border-radius:999px;height:2px;transition:opacity .18s,transform .18s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(.55)}.site-nav a:hover:after,.site-nav a:focus-visible:after,.site-nav a.is-active:after{opacity:1;transform:scaleX(1)}.site-nav a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.icon-button{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover,.icon-button:focus-visible{color:var(--ink)}.icon-button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.theme-toggle{border:1px solid var(--line);background:var(--code-bg);width:56px;height:30px;box-shadow:inset 0 1px 2px var(--shadow);border-radius:999px;transition:background .22s,border-color .22s,color .22s;position:relative}.theme-toggle:hover,.theme-toggle:focus-visible{border-color:var(--ink)}.theme-toggle-track{border-radius:inherit;position:absolute;inset:3px}.theme-toggle-thumb{background:var(--paper);width:22px;height:22px;box-shadow:0 2px 8px var(--shadow);color:var(--accent);border:1px solid #26303d1a;border-radius:50%;justify-content:center;align-items:center;transition:transform .22s,background .22s,color .22s,border-color .22s;display:flex;transform:translate(0)}[data-theme=dark] .theme-toggle{background:#20242b}[data-theme=dark] .theme-toggle-thumb{color:#1f2937;background:#f2f4f7;border-color:#e7ebf01f;transform:translate(26px)}.theme-toggle-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:15px;height:15px;display:block}.theme-icon-moon{display:none}[data-theme=dark] .theme-icon-moon{display:block}[data-theme=dark] .theme-icon-sun{display:none}@media (prefers-reduced-motion:reduce){.theme-toggle,.theme-toggle-thumb{transition:none}}main{min-height:58vh}.page-heading{padding:56px 0 34px}.not-found-page{grid-template-columns:minmax(150px,230px) minmax(0,520px);justify-content:center;align-items:center;gap:clamp(34px,7vw,72px);min-height:min(58vh,620px);padding:clamp(44px,8vw,88px) 0 70px;display:grid}.not-found-portrait{justify-self:end;width:min(100%,210px);margin:0}.not-found-portrait img{filter:drop-shadow(0 16px 28px #26303d1f);width:100%;height:auto;display:block}[data-theme=dark] .not-found-portrait img{filter:drop-shadow(0 18px 28px #00000059)}.not-found-copy{color:var(--ink);align-self:center}.not-found-copy h1{color:var(--ink);margin:0;font-size:clamp(4.6rem,12vw,8rem);font-weight:700;line-height:.85}.not-found-label,.not-found-message{max-width:440px;color:var(--muted);margin:0}.not-found-label{color:var(--ink);margin-top:12px;font-size:clamp(1.7rem,4vw,2.7rem);font-weight:700;line-height:1.1}.not-found-message{margin-top:14px;font-size:clamp(1rem,1.8vw,1.18rem);line-height:1.6}.not-found-actions{flex-wrap:wrap;gap:16px;margin-top:30px;font-size:.95rem;font-weight:700;display:flex}.not-found-actions a{color:var(--muted);border:0;border-bottom:1px solid #ccc;transition:border-color .18s,color .18s}.not-found-actions a:hover,.not-found-actions a:focus-visible{border-bottom-color:var(--ink);color:var(--ink)}.not-found-actions a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.not-found-locale[data-not-found-lang=zh],html[data-not-found-lang=zh] .not-found-locale[data-not-found-lang=en]{display:none}html[data-not-found-lang=zh] .not-found-locale[data-not-found-lang=zh]{display:block}.about-hero{grid-template-columns:minmax(150px,190px) minmax(0,720px);align-items:start;gap:clamp(34px,7vw,34px);display:grid}h1,h2,h3{margin:0;font-weight:500;line-height:1.35}h1{font-size:clamp(2rem,7vw,3.2rem)}h2{font-size:1.5rem}h3{font-size:1.2rem}.page-heading p,.about-copy p{max-width:640px;color:var(--muted)}.about-copy p{max-width:700px}.about-copy{align-self:center;transform:translateY(-18px)}.about-media{justify-items:center;gap:18px;width:clamp(132px,13vw,168px);padding-top:8px;display:grid}.about-copy h1{margin-bottom:12px}.about-copy p:first-of-type{margin-top:0}.about-copy p:last-child{margin-bottom:0}.about-portrait{width:100%;margin:0}.about-portrait img{aspect-ratio:1;border:1px solid var(--line);object-fit:cover;border-radius:24px;width:100%;height:auto;display:block;box-shadow:0 16px 36px #26303d14}.social-icon-links{grid-column:1;gap:12px;padding-top:0;display:flex}.about-media .social-icon-links{grid-column:auto;justify-content:center}.social-icon-link{width:26px;height:26px;color:var(--faint);border:0;border-radius:8px;justify-content:center;align-items:center;transition:transform .18s,color .18s,background .18s;display:inline-flex}.social-icon-link:hover,.social-icon-link:focus-visible{background:var(--code-bg);color:var(--ink);transform:translateY(-1px)}.social-icon-link:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.social-icon-link svg{width:var(--social-icon-size,17px);height:var(--social-icon-size,17px);fill:currentColor}.social-icon-link--instagram{--social-icon-size:19px}.social-icon-link--email{--social-icon-size:20px}.about-profile{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:72px;padding:34px 0 56px;display:grid}.about-lede h3{margin-bottom:18px}.about-lede p,.about-facts{color:var(--muted)}.about-facts{border-left:1px solid var(--line);align-self:start;gap:26px;margin:0;padding:2px 0 2px 26px;list-style:none;display:grid}.about-facts li{padding:0;line-height:1.65}.about-facts span{color:var(--ink);margin-bottom:6px;font-size:1.2rem;font-weight:700;line-height:1.25;display:block}.about-facts .country-flags{color:inherit;word-break:break-word;margin:4px 0 6px;font-size:1.1rem;font-weight:400;line-height:1.45}.podcast-section{padding:58px 0 88px}.podcast-toolbar{justify-content:flex-end;margin-bottom:30px;display:flex}.podcast-sort-button{border:1px solid var(--line);min-height:32px;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0 13px;font-size:.78rem;font-weight:700;transition:border-color .18s,color .18s,box-shadow .18s,transform .18s;display:inline-flex}.podcast-sort-button:hover,.podcast-sort-button:focus-visible{border-color:var(--ink);box-shadow:0 8px 18px var(--shadow);color:var(--ink);transform:translateY(-1px)}.podcast-sort-button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.podcast-list{margin:0;padding:0;list-style:none}.podcast-title-line p{color:var(--muted);margin:0;font-size:.72rem;font-weight:400;line-height:1.45}.archive-page{padding:58px 40px 88px}.archive-page h1{font-size:clamp(2rem,4vw,2.55rem);font-weight:700;line-height:1.2}.archive-page .post-list{gap:10px;display:grid}.archive-page .post-card{grid-template-columns:minmax(0,1fr) max-content;align-items:baseline;gap:40px;padding:0;display:grid}.post-title-line{min-width:0;color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:0 10px;display:flex}.post-card h2,.post-card h3{margin:0;font-size:clamp(.88rem,1.4vw,1.08rem);font-weight:500;line-height:1.5}.post-card h2 a,.post-card h3 a{border:0}.post-kind{color:var(--muted);letter-spacing:0;white-space:nowrap;font-size:.72rem;font-weight:500}.empty-state{min-height:min(48vh,420px);color:var(--faint);text-align:center;justify-content:center;align-items:center;margin:0;font-size:1.15rem;font-weight:600;display:flex}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.button{border:1px solid var(--line);min-height:38px;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-weight:700;transition:border-color .18s,color .18s,box-shadow .18s,transform .18s;display:inline-flex}.button:hover,.button:focus-visible{border-color:var(--ink);box-shadow:0 8px 18px var(--shadow);color:var(--ink);transform:translateY(-1px)}.button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.button.primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.eyebrow{color:var(--faint);margin:0;font-size:.85rem}.post-meta{color:var(--faint);flex-wrap:wrap;gap:8px 14px;font-size:.8rem;font-weight:400;display:flex}.post-card footer{color:var(--faint);white-space:nowrap;flex-wrap:wrap;justify-content:end;gap:8px 14px;font-size:.76rem;font-weight:400;display:flex}.post-shell{width:min(760px,100%);margin:0 auto;padding:38px 0 64px}.post-outline-panel{display:none}.post-outline-toggle{width:28px;min-width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:2px;flex:0 0 28px;justify-content:center;align-items:center;padding:0;transition:color .18s;display:inline-flex}.post-outline-toggle span{border-bottom:1.5px solid;border-right:1.5px solid;width:8px;height:8px;transition:transform .18s;transform:translateY(-2px)rotate(45deg)}.post-outline-toggle:hover,.post-outline-toggle:focus-visible{color:var(--ink)}.post-outline-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.post-outline{opacity:1;min-width:0;transition:opacity .22s,transform .22s;transform:translate(0)}.post-outline p{color:var(--faint);opacity:1;margin:0 0 12px;font-size:.78rem;font-weight:700;transition:opacity .18s,transform .18s;transform:translate(0)}.post-outline ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.post-outline li{opacity:1;transition:opacity .22s,transform .22s;transition-delay:calc(55ms + var(--outline-index,0) * 45ms);transform:translate(0)}.post-outline a{color:var(--muted);text-overflow:ellipsis;border:0;font-size:.82rem;line-height:1.35;transition:color .18s,font-weight .18s;display:block;position:relative;overflow:hidden}.post-outline a:hover,.post-outline a:focus-visible,.post-outline a.is-active{color:var(--ink)}.post-outline a.is-active{font-weight:700}.post-outline a.is-active:before{background:var(--ink);content:"";width:2px;position:absolute;top:.2em;bottom:.2em;left:-10px}.post-outline a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.post-outline-depth-3{padding-left:10px}.post-outline-panel[data-collapsed=true] .post-outline{opacity:0;pointer-events:none;transform:translate(-6px)}.post-outline-panel[data-collapsed=true] .post-outline p,.post-outline-panel[data-collapsed=true] .post-outline li{opacity:0;transition-delay:0s;transform:translate(-8px)}.post-outline-panel[data-collapsed=true] .post-outline-toggle span{transform:translate(-2px)rotate(-45deg)}.eyebrow-link{color:var(--muted);border:0;margin-bottom:20px;font-size:.75rem;display:inline-block}.post-hero{border-bottom:1px solid var(--line);padding-bottom:26px;position:relative}.post-hero h1{font-size:clamp(2rem,6vw,3rem)}.post-content{padding-top:30px;font-size:14px}.post-content h2,.post-content h3{scroll-margin-top:28px}.post-content h1,.post-content h2,.post-content h3{margin:2em 0 .65em}.post-content p,.post-content li,.post-content blockquote{color:var(--ink)}.post-content blockquote{border-left:3px solid var(--line);margin:24px 0;padding:0 0 0 18px}.post-content code{background:var(--code-bg);border-radius:3px;padding:.12em .32em;font-size:.92em}.post-content pre{border:1px solid var(--line);background:var(--code-bg);border-radius:2px;margin:22px 0;padding:16px;overflow-x:auto}.post-content pre code{background:0 0;padding:0}.site-footer{color:var(--faint);justify-content:space-between;align-items:center;gap:20px;padding:30px 0 42px;font-size:.92rem;display:flex}.site-footer p{margin:0}.language-switch{color:var(--muted);border:0;flex:none;align-items:baseline;gap:7px;font-size:.92rem;font-weight:700;line-height:1;transition:color .18s;display:inline-flex}.language-switch:hover,.language-switch:focus-visible{color:var(--ink)}.language-switch:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.language-switch-active{color:var(--ink)}@media (width<=680px){.site-footer{flex-direction:column;align-items:flex-start}.site-header,.site-footer,main{width:min(100% - 28px,1160px)}.site-header{align-items:center;gap:14px;padding:26px 0 20px}.header-actions{flex:auto;justify-content:flex-end;gap:14px;min-width:0}.site-header-home .header-actions{justify-content:space-between;width:100%}.site-nav{gap:13px;font-size:.98rem}.page-heading{padding-top:34px}.not-found-page{text-align:center;grid-template-columns:1fr;gap:18px;padding:34px 20px 46px}.not-found-portrait{justify-self:center;width:min(62vw,220px)}.not-found-label,.not-found-message{margin-left:auto;margin-right:auto}.not-found-actions{justify-content:center}.about-hero{grid-template-columns:1fr;gap:20px}.about-copy{transform:none}.about-media{justify-self:start;width:118px;margin-bottom:0;padding-top:0}.social-icon-links{grid-column:1;padding-top:0}.about-profile{grid-template-columns:1fr;gap:28px;padding-top:34px}.about-facts{border-top:1px solid var(--line);border-left:0;gap:18px;padding:22px 0 0}.about-facts li+li{border-top:1px solid var(--line);padding-top:18px}.archive-page{grid-template-columns:1fr;gap:28px;padding:34px 0 72px}.archive-page .post-card{grid-template-columns:1fr;gap:4px}.post-card footer{justify-content:start;font-size:.76rem}.post-shell{padding:28px 0 56px}.post-content{overflow-wrap:break-word;padding-top:24px}.post-content a,.post-content code{overflow-wrap:anywhere}}@media (width<=1219px){.post-outline-panel{--outline-mobile-offset:40vh;right:max(14px, env(safe-area-inset-right));z-index:20;justify-items:end;width:min(320px,100%);display:grid;position:fixed;transform:translateY(-50%)}.post-outline-toggle{border:1px solid var(--line);background:var(--paper);width:44px;min-width:44px;height:34px;box-shadow:0 10px 24px var(--shadow);border-radius:4px;order:1}.post-outline-toggle span{background:currentColor;border:0;border-radius:999px;width:17px;height:1.5px;position:relative;transform:none}.post-outline-toggle span:before,.post-outline-toggle span:after{border-radius:inherit;content:"";background:currentColor;width:17px;height:1.5px;position:absolute;left:0}.post-outline-toggle span:before{top:-6px}.post-outline-toggle span:after{top:6px}.post-outline{width:min(320px,100vw - 28px);max-height:min(calc(100vh - var(--outline-mobile-offset) - 72px), 480px);border:1px solid var(--line);background:var(--paper);box-shadow:0 18px 44px var(--shadow);border-radius:6px;order:2;padding:16px;position:absolute;top:44px;right:0;overflow-y:auto;transform:translateY(0)}.post-outline-panel[data-collapsed=true] .post-outline{visibility:hidden;transform:translateY(-4px)}.post-outline-panel[data-collapsed=true] .post-outline-toggle span{transform:none}}@media (width>=1220px){.post-outline-panel{z-index:2;grid-template-columns:160px 28px;align-items:start;gap:12px;width:200px;max-height:calc(100vh - 56px);display:grid;position:fixed;top:50%;left:calc(50vw - 600px);transform:translateY(-50%)}.post-outline{max-height:calc(100vh - 56px);padding:2px 0 8px;overflow-y:auto}}@media (prefers-reduced-motion:reduce){.post-outline,.post-outline p,.post-outline li,.post-outline-toggle span{transition:none}}@media (width<=360px){.site-header,.site-footer,main{width:min(100% - 24px,1160px)}.site-nav{gap:10px;font-size:.94rem}.header-actions{gap:10px}}
