:root{--paper:#f4efe5;--paper-deep:#e9dfd0;--ink:#1c211d;--muted:#687069;--moss:#244c3d;--moss-bright:#347259;--rust:#d86f45;--line:#1c211d2e;--serif:"Newsreader", Georgia, serif;--sans:"IBM Plex Sans", "Noto Sans TC", sans-serif;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(90deg, transparent 49.8%, #244c3d09 50%, transparent 50.2%), var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.65;overflow-x:clip}img{max-width:100%;display:block}a{color:inherit;text-decoration-color:var(--rust);text-underline-offset:.2em}a:hover{color:var(--moss-bright)}.shell{width:min(1180px,100% - 48px);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;width:min(1380px,100% - 48px);height:82px;margin-inline:auto;display:flex}.wordmark{font-family:var(--serif);align-items:center;gap:.65rem;font-size:1.2rem;font-weight:600;text-decoration:none;display:inline-flex}.wordmark-dot{background:var(--rust);border-radius:50%;width:.7rem;height:.7rem}.site-header nav{gap:clamp(1rem,3vw,2.6rem);display:flex}.site-header nav a{letter-spacing:.04em;font-size:.84rem;font-weight:500;text-decoration:none}.eyebrow{color:var(--moss);letter-spacing:.18em;text-transform:uppercase;margin:0 0 1.4rem;font-size:.72rem;font-weight:600}.hero{min-height:calc(100vh - 82px);padding-block:clamp(5rem,12vh,9rem) 4rem;position:relative;overflow:clip}.hero:before{border:1px solid var(--line);content:"";pointer-events:none;border-radius:50%;width:clamp(240px,35vw,520px);height:clamp(240px,35vw,520px);position:absolute;top:8%;right:-10%}.hero:after{background:var(--rust);content:"";border-radius:50%;width:16px;height:16px;position:absolute;top:18%;right:7%}.hero h1,.page-intro h1,.article-header h1,.about-page h1,.not-found h1{font-family:var(--serif);letter-spacing:-.045em;margin:0;font-weight:400;line-height:.92}.hero h1{max-width:1050px;font-size:clamp(4.2rem,10vw,9rem)}.hero h1 em{color:var(--moss);font-weight:400}.hero-intro{font-family:var(--serif);max-width:560px;margin:3rem 0 0 auto;font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.3}.hero-actions{flex-wrap:wrap;align-items:center;gap:1.6rem;max-width:560px;margin:2.5rem 0 0 auto;display:flex}.button{background:var(--moss);color:#fff;border-radius:999px;padding:.85rem 1.35rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-block}.button:hover{background:var(--moss-bright);color:#fff}.text-link{font-size:.85rem;font-weight:600}.currently{border-left:1px solid var(--line);gap:.25rem;max-width:420px;padding-left:1rem;display:grid;position:absolute;bottom:3rem;left:0}.currently span,.about-label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.currently strong{font-family:var(--serif);font-size:1.05rem;font-weight:400}.home-section{border-top:1px solid var(--line);grid-template-columns:minmax(220px,.8fr) minmax(0,2fr);gap:3rem;padding-block:clamp(5rem,9vw,8rem);display:grid}.section-heading{align-self:start;position:sticky;top:2rem}.section-heading h2{font-family:var(--serif);margin:0 0 2rem;font-size:clamp(2.3rem,4.5vw,4.4rem);font-weight:400;line-height:1}.featured-posts{gap:2.5rem;display:grid}.post-card{border-top:1px solid var(--line);grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);gap:1.5rem;padding-top:1.5rem;display:grid}.post-card:first-child{border-top:0;padding-top:0}.post-card[hidden]{display:none}.cover-frame{background:var(--paper-deep);display:block;position:relative;overflow:hidden}.cover-frame img{object-fit:cover;width:100%;height:100%}.cover-overlay{color:#fff;background:linear-gradient(#1c211d05 25%,#1c211dc7 100%);flex-direction:column;justify-content:flex-end;gap:.45rem;padding:clamp(1rem,3vw,2rem);display:flex;position:absolute;inset:0}.cover-label{color:#dce9df;letter-spacing:.16em;text-transform:uppercase;font-size:.68rem;font-weight:600}.cover-overlay strong{font-family:var(--serif);max-width:14ch;font-size:clamp(1.35rem,3vw,2.8rem);font-weight:400;line-height:.98}.post-cover{aspect-ratio:16/9;align-self:start}.post-cover img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.post-card:hover .post-cover img{transform:scale(1.025)}.post-card-body h2{font-family:var(--serif);margin:1rem 0;font-size:clamp(1.8rem,3.2vw,3.1rem);font-weight:400;line-height:1.05}.post-card-body h2 a{text-decoration:none}.post-card-body>p{color:var(--muted);max-width:64ch;margin:0 0 1.1rem}.post-meta{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;gap:.9rem;font-size:.72rem;font-weight:500;display:flex}.post-meta>*+:before{content:"·";margin-right:.9rem}.post-meta a{text-decoration:none}.tag-list{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.tag-list a{border:1px solid var(--line);border-radius:999px;padding:.15rem .55rem;font-size:.7rem;text-decoration:none;display:inline-block}.topic-band{background:var(--moss);color:#fff}.topic-band-inner{padding-block:clamp(2.25rem,4vw,3.5rem)}.topic-band .eyebrow{color:#b9d1c2}.topic-band ul{flex-wrap:wrap;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.topic-band a{font-family:var(--serif);border:1px solid #ffffff59;border-radius:999px;padding:.3rem .8rem;font-size:clamp(1.05rem,2vw,1.65rem);text-decoration:none;display:block}.topic-band a:hover{color:var(--moss);background:#fff}.about-teaser blockquote{font-family:var(--serif);margin:0;font-size:clamp(2.2rem,5vw,5rem);line-height:1.05}.about-teaser>p:last-child{color:var(--muted);max-width:560px;font-size:1.1rem}.page-intro{padding-block:clamp(5rem,10vw,9rem) 4rem}.page-intro h1,.about-page h1,.not-found h1{font-size:clamp(4rem,9vw,8rem)}.page-intro>p:last-child{font-family:var(--serif);max-width:680px;font-size:1.4rem}.post-list{padding-bottom:8rem}.post-list .post-card{margin-bottom:3rem}.article-shell{width:min(1180px,100%);margin-inline:auto;padding:clamp(5rem,9vw,8rem) 24px}.article-header{max-width:920px;margin-inline:auto}.back-link{margin-bottom:4rem;font-size:.8rem;display:inline-block}.article-header h1{margin-block:1.5rem;font-size:clamp(3.5rem,7vw,7rem)}.article-header>p{color:var(--muted);font-family:var(--serif);max-width:780px;font-size:clamp(1.3rem,2.5vw,2rem);line-height:1.35}.article-cover{aspect-ratio:16/9;width:100%;margin-block:4rem}.article-grid{grid-template-columns:220px minmax(0,720px);justify-content:center;gap:4rem;display:grid}.article-toc{border-top:1px solid var(--line);align-self:start;font-size:.75rem;position:sticky;top:2rem}.article-toc>span{letter-spacing:.08em;text-transform:uppercase;padding-block:1rem;font-weight:600;display:block}.article-toc ol{margin:0;padding:0;list-style:none}.article-toc li{margin-bottom:.45rem}.article-toc li.depth-3{padding-left:.8rem}.article-toc a{color:var(--muted);text-decoration:none}.prose{font-family:var(--serif);min-width:0;font-size:1.16rem;line-height:1.75}.prose h2,.prose h3{color:var(--moss);font-family:var(--sans);scroll-margin-top:2rem;line-height:1.2}.prose h2{border-top:1px solid var(--line);margin:4rem 0 1.2rem;padding-top:1.2rem;font-size:1.8rem}.prose h3{margin:2.5rem 0 1rem;font-size:1.25rem}.prose p{margin-block:1.25rem}.prose img{margin-block:2.5rem}.prose blockquote{border-left:3px solid var(--rust);color:var(--moss);margin:2rem 0;padding-left:1.4rem;font-size:1.35rem}.prose pre{color:#eff5ee;background:#18211d;border-radius:4px;padding:1.2rem;font-family:ui-monospace,monospace;font-size:.85rem;line-height:1.55;overflow-x:auto}.prose code:not(pre code){background:var(--paper-deep);border-radius:3px;padding:.1em .3em;font-family:ui-monospace,monospace;font-size:.86em}.prose hr{border:0;border-top:1px solid var(--line);margin-block:3rem}.prose figcaption{color:var(--muted);font-family:var(--sans);text-align:center;font-size:.78rem}.about-page{padding-block:clamp(5rem,10vw,9rem)}.about-grid{border-top:1px solid var(--line);grid-template-columns:260px minmax(0,720px);gap:4rem;margin-top:4rem;padding-top:2rem;display:grid}.about-grid aside strong{font-family:var(--serif);margin-bottom:2rem;font-size:1.3rem;font-weight:400;display:block}.about-label{margin-bottom:0}.archive{padding-bottom:8rem}.archive section{border-top:1px solid var(--line);grid-template-columns:180px 1fr;padding-block:2rem;display:grid}.archive h2{font-family:var(--serif);margin:0;font-size:3rem;font-weight:400}.archive ol{margin:0;padding:0;list-style:none}.archive li{grid-template-columns:130px 1fr;gap:1rem;padding-block:.7rem;display:grid}.archive time{color:var(--muted);font-size:.75rem}.archive a{font-family:var(--serif);font-size:1.15rem}.taxonomy{flex-wrap:wrap;gap:.8rem;padding-bottom:8rem;padding-left:0;list-style:none;display:flex}.taxonomy a{border:1px solid var(--line);font-family:var(--serif);border-radius:999px;padding:.4rem 1rem;font-size:clamp(1.5rem,3vw,3rem);text-decoration:none;display:block}.search-box{letter-spacing:.08em;text-transform:uppercase;gap:.5rem;margin-top:3rem;font-size:.75rem;font-weight:600;display:grid}.search-box input{border:0;border-bottom:1px solid var(--ink);color:var(--ink);font-family:var(--serif);background:0 0;outline:0;width:100%;max-width:760px;padding:.6rem 0;font-size:clamp(1.5rem,3vw,2.5rem)}.empty-state{padding-bottom:8rem}.not-found{min-height:70vh;padding-block:8rem}.not-found .button{margin-top:3rem}.site-footer{border-top:1px solid var(--line);justify-content:space-between;width:min(1380px,100% - 48px);margin-inline:auto;padding-block:2rem;font-size:.75rem;display:flex}.site-footer p{margin:0}@media (width<=820px){.site-header{height:70px}.site-header nav a:last-child{display:none}.hero{min-height:auto;padding-bottom:10rem}.hero:before{right:-32%}.hero-intro,.hero-actions{margin-left:0}.currently{bottom:3rem}.home-section,.about-grid,.article-grid,.archive section{grid-template-columns:1fr}.section-heading{position:static}.post-card{grid-template-columns:1fr}.article-toc{display:none}.archive li{grid-template-columns:105px 1fr}}@media (width<=520px){.shell,.site-header,.site-footer{width:min(100% - 28px,1180px)}.wordmark{font-size:1rem}.site-header nav{gap:1rem}.hero h1{font-size:clamp(3.3rem,17vw,5.2rem)}.page-intro h1,.about-page h1,.not-found h1{font-size:3.7rem}.article-shell{padding-inline:14px}.article-header h1{font-size:3.25rem}.article-cover{width:calc(100% + 28px);max-width:none;margin-inline:-14px}.site-footer{gap:.4rem;display:grid}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}
