:root{color-scheme:light;--paper:#f7f2e9;--paper-deep:#ece1d3;--card:#fffcf6ad;--ink:#28241e;--muted:#6d665c;--accent:#9c4f3d;--accent-soft:#ead2c7;--line:#d8cabb;--shadow:0 18px 50px #40302212;--serif:"Noto Serif TC", "Source Han Serif TC", "Songti TC", Georgia, serif;--sans:Inter, "Noto Sans TC", system-ui, sans-serif;font-family:var(--serif);background:var(--paper);color:var(--ink)}:root[data-theme=dark]{color-scheme:dark;--paper:#1f1c18;--paper-deep:#2b2620;--card:#2f2922b8;--ink:#f1e8dc;--muted:#b7aa9a;--accent:#dc8d75;--accent-soft:#55352e;--line:#4b4238;--shadow:0 18px 50px #0000003d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 82% 0%, var(--paper-deep) 0, transparent 31rem), var(--paper);min-height:100vh;color:var(--ink);text-rendering:optimizelegibility;margin:0;line-height:1.7}a{color:inherit;text-underline-offset:.2em}img{max-width:100%;height:auto}button,input,select{font:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:20;background:var(--ink);color:var(--paper);padding:.6rem .9rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:none}.site-header{z-index:5;border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:2rem;max-width:1160px;margin:auto;padding:1.35rem 2rem;display:grid;position:relative}.brand{letter-spacing:.04em;white-space:nowrap;font-weight:800;text-decoration:none}.brand span{color:var(--muted);font-weight:500}nav{gap:1.35rem;display:flex}nav a{color:var(--muted);text-decoration:none}nav a:hover{color:var(--accent)}.theme-control select{width:2.5rem;min-height:2.5rem;color:var(--ink);border:1px solid var(--line);background:var(--card);text-indent:3rem;cursor:pointer;background-image:radial-gradient(circle, var(--accent) 0 4px, transparent 5px), radial-gradient(circle, transparent 0 7px, var(--accent) 8px 9px, transparent 10px);background-position:50%;background-repeat:no-repeat;border-radius:999px}.section-shell{width:min(1080px,100% - 4rem);margin-inline:auto}.home{flex-direction:column;justify-content:center;max-width:1120px;min-height:71vh;margin:auto;padding:clamp(5rem,11vw,8.5rem) 2rem 5rem;display:flex}.eyebrow{color:var(--accent);font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:800}h1,h2,h3{line-height:1.22}.home h1{letter-spacing:-.05em;max-width:800px;margin:1rem 0 1.5rem;font-size:clamp(3rem,7vw,6rem);line-height:1.06}.intro{max-width:650px;color:var(--muted);margin:0;font-size:clamp(1.05rem,2vw,1.24rem);line-height:1.9}.entry-link{border:1px solid var(--accent);color:var(--accent);border-radius:999px;align-self:flex-start;margin-top:2rem;padding:.8rem 1.15rem;text-decoration:none;transition:all .2s;display:inline-flex}.entry-link:hover{background:var(--accent);color:var(--paper);transform:translateY(-2px)}.latest-section{border-top:1px solid var(--line);padding:5rem 0}.section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem;display:flex}.section-heading h2,.explore-section h2{margin:.5rem 0 0;font-size:clamp(2rem,4vw,3.1rem)}.section-heading>a{color:var(--accent);font-family:var(--sans);font-size:.9rem}.post-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.post-card{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:3px;padding:1.55rem}.post-card h2{margin:.55rem 0 .75rem;font-size:1.45rem}.post-card h2 a{text-decoration:none}.post-card h2 a:hover{color:var(--accent)}.post-card>p:not(.post-meta){color:var(--muted)}.post-meta,.article-meta{color:var(--muted);font:.82rem/1.5 var(--sans);flex-wrap:wrap;gap:.45rem;display:flex}.post-card-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-top:1.2rem;display:flex}.category-pill{background:var(--accent-soft);width:fit-content;color:var(--accent);font:700 .78rem/1.5 var(--sans);border-radius:999px;padding:.22rem .6rem;text-decoration:none;display:inline-flex}.tag-row{flex-wrap:wrap;gap:.65rem;display:flex}.tag-row a{color:var(--muted);font:.78rem/1.5 var(--sans);text-decoration:none}.tag-row a:hover{color:var(--accent)}.explore-section{grid-template-columns:.9fr 1.1fr;align-items:start;gap:clamp(3rem,8vw,7rem);padding:5rem 0 6rem;display:grid}.explore-section>div>p:last-child{color:var(--muted)}.category-list{border-top:1px solid var(--line)}.category-list a{border-bottom:1px solid var(--line);justify-content:space-between;padding:1rem .2rem;text-decoration:none;display:flex}.category-list a:hover span{color:var(--accent)}.category-list strong{color:var(--accent);font-family:var(--sans)}.page-heading{padding:5.5rem 0 3rem}.page-heading h1,.about-shell h1,.not-found h1{letter-spacing:-.04em;margin:.6rem 0 1rem;font-size:clamp(2.7rem,6vw,5rem)}.page-heading>p:last-child{max-width:620px;color:var(--muted);font-size:1.1rem}.back-link{color:var(--muted);font-family:var(--sans);margin-bottom:2rem;font-size:.85rem;display:inline-block}.post-list{gap:1rem;padding-bottom:6rem;display:grid}.post-list .post-card{grid-template-columns:minmax(0,1fr) auto;column-gap:2rem;display:grid}.post-list .post-card>*{grid-column:1}.post-list .post-card-footer{flex-direction:column;grid-area:1/2/span 3;align-self:center;align-items:flex-end}.taxonomy-grid{grid-template-columns:repeat(2,1fr);gap:1rem;padding-bottom:6rem;display:grid}.taxonomy-grid>a{border:1px solid var(--line);background:var(--card);flex-direction:column;min-height:200px;padding:2rem;text-decoration:none;display:flex}.taxonomy-grid h2{margin:0;font-size:1.8rem}.taxonomy-grid p{color:var(--muted)}.taxonomy-grid span{color:var(--accent);font-family:var(--sans);margin-top:auto;font-size:.85rem}.tag-cloud{flex-wrap:wrap;gap:.75rem;padding-bottom:7rem;display:flex}.tag-cloud a{border:1px solid var(--line);background:var(--card);border-radius:999px;gap:.65rem;padding:.55rem .85rem;text-decoration:none;display:inline-flex}.tag-cloud a:hover{border-color:var(--accent);color:var(--accent)}.tag-cloud small{color:var(--muted)}.article-shell{width:min(1100px,100% - 4rem);margin:auto;padding:5.5rem 0 7rem}.article-header{max-width:820px}.article-header h1{letter-spacing:-.045em;margin:1rem 0;font-size:clamp(2.6rem,6vw,5rem)}.article-deck{max-width:720px;color:var(--muted);font-size:1.2rem}.article-header .tag-row{margin-top:1.2rem}.article-layout{grid-template-columns:minmax(0,760px) 220px;align-items:start;gap:clamp(3rem,8vw,7rem);margin-top:4rem;display:grid}.prose{font-size:1.08rem;line-height:2}.prose h2{margin:3.2rem 0 .8rem;scroll-margin-top:2rem;font-size:1.85rem}.prose h3{margin-top:2.3rem;scroll-margin-top:2rem}.prose p,.prose ul,.prose ol{margin-block:1.2rem}.prose a{color:var(--accent)}.prose blockquote{border-left:3px solid var(--accent);color:var(--muted);background:var(--card);margin:2rem 0;padding:.4rem 1.4rem}.prose pre{box-shadow:var(--shadow);border-radius:4px;margin:2rem 0;padding:1.25rem;font-size:.9rem;line-height:1.7;overflow-x:auto}.prose :not(pre)>code,.note code{background:var(--paper-deep);color:var(--accent);border-radius:3px;padding:.12em .35em;font-family:ui-monospace,monospace;font-size:.9em}.toc{border-left:1px solid var(--line);font-family:var(--sans);padding-left:1rem;font-size:.83rem;position:sticky;top:2rem}.toc strong{color:var(--ink)}.toc ol{margin:.8rem 0 0;padding:0;list-style:none}.toc li{margin:.5rem 0}.toc .depth-3{padding-left:.8rem}.toc a{color:var(--muted);text-decoration:none}.toc a:hover{color:var(--accent)}.post-nav{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1rem;margin-top:5rem;padding-top:2rem;display:grid}.post-nav a{flex-direction:column;text-decoration:none;display:flex}.post-nav .next{text-align:right}.post-nav small{color:var(--muted);font-family:var(--sans)}.post-nav span{color:var(--accent)}.search-shell{min-height:45vh;padding-bottom:6rem}.search-shell label{margin-bottom:.6rem;font-weight:700;display:block}.search-shell input{border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink);font-family:var(--sans);border-radius:4px;padding:1rem 1.1rem;font-size:1.05rem}#search-status{color:var(--muted);font-family:var(--sans);font-size:.9rem}.search-results{gap:.8rem;display:grid}.search-results article{border-top:1px solid var(--line);padding:1.2rem 0}.search-results h2{margin:0 0 .4rem}.search-results h2 a{text-decoration:none}.search-results p{color:var(--muted);margin:0}.about-shell{width:min(760px,100% - 4rem);margin:auto;padding:6rem 0 8rem}.about-shell .lead{color:var(--muted);font-size:1.28rem;line-height:1.9}.about-shell h2{margin-top:3rem;font-size:1.8rem}.note{border:1px solid var(--line);background:var(--card);color:var(--muted);margin-top:3rem;padding:1.2rem}.not-found{width:min(900px,100% - 4rem);min-height:68vh;margin:auto;padding:7rem 0}.not-found>p:not(.eyebrow){color:var(--muted);font-size:1.15rem}.site-footer{border-top:1px solid var(--line);max-width:1080px;color:var(--muted);font:.78rem/1.7 var(--sans);grid-template-columns:1fr 1.3fr auto;gap:1.5rem;margin:auto;padding:2rem 0 3rem;display:grid}.site-footer p{margin:0}.site-footer a{color:var(--accent)}@media (width<=900px){.site-header{grid-template-columns:1fr auto;gap:1rem}.site-header nav{grid-area:2/1/auto/-1;justify-content:space-between}.theme-control{grid-area:1/2}.post-grid,.explore-section,.article-layout{grid-template-columns:1fr}.toc{border:1px solid var(--line);background:var(--card);grid-row:1;padding:1rem;position:static}.site-footer{grid-template-columns:1fr;width:calc(100% - 4rem)}}@media (width<=620px){.site-header{padding-inline:1.2rem}.brand span{display:none}.site-header nav{justify-content:flex-start;gap:.85rem;padding-bottom:.2rem;font-size:.88rem;overflow-x:auto}.section-shell,.article-shell,.about-shell,.not-found{width:min(100% - 2.4rem,1080px)}.home{min-height:65vh;padding:4rem 1.2rem}.section-heading{flex-direction:column;align-items:start}.post-list .post-card{display:block}.post-list .post-card-footer{align-items:flex-start}.taxonomy-grid{grid-template-columns:1fr}.article-shell{padding-top:4rem}.article-layout{margin-top:3rem}.post-nav{grid-template-columns:1fr}.post-nav .next{text-align:left}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
