:root{--bg:#f4f6f8;--bg-raised:#fff;--ink:#1c1915;--ink-soft:#5e584e;--line:#e0d8c8;--accent:#8f2d14;--code-bg:#ebe3d4;--sans:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--serif:"Songti SC", "STSong", "Noto Serif SC", "Iowan Old Style", "Palatino Linotype", serif;--mono:"Sarasa Mono SC", "JetBrains Mono", "Cascadia Code", Consolas, "PingFang SC", monospace;color-scheme:light}html[data-theme=dark]{--bg:#141311;--bg-raised:#1d1b18;--ink:#f3efe6;--ink-soft:#b7b0a4;--line:#34302a;--accent:#f0b09a;--code-bg:#2a261f;color-scheme:dark}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);min-height:100vh;color:var(--ink);font-family:var(--sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;font-size:16px;line-height:1.7;display:flex}::selection{color:#1a1714;background:#efd2c6}html[data-theme=dark] ::selection{color:#f6f1e7;background:#5c3328}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button,input{font:inherit;color:inherit}a{color:inherit}.skip{background:var(--bg);z-index:30;padding:.4rem .7rem;position:absolute;top:-3rem;left:1rem}.skip:focus{top:.75rem}.wrap{width:min(100% - 2rem,68rem);margin-inline:auto}@media (width>=720px){.wrap{width:min(100% - 4rem,68rem)}}main.wrap{flex:1;padding-bottom:3rem}.site-header{z-index:20;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0}.bar{flex-wrap:wrap;align-items:center;gap:.8rem 1rem;min-height:3.75rem;padding:.45rem 0;display:flex}.mark{color:inherit;align-items:center;gap:.55rem;font-weight:600;text-decoration:none;display:inline-flex}.seal{border:1.5px solid var(--accent);width:1.65rem;height:1.65rem;color:var(--accent);font-family:var(--serif);place-items:center;font-size:.95rem;line-height:1;display:inline-grid}.word{letter-spacing:.04em;font-size:1.05rem}.site-nav{flex-wrap:wrap;gap:.35rem 1.1rem;min-width:0;margin-left:auto;display:flex}.site-nav a{color:var(--ink-soft);text-decoration:none}.site-nav a[aria-current=page]{color:var(--ink);font-weight:600}.theme-toggle{border:1px solid var(--line);cursor:pointer;color:var(--ink-soft);background:0 0;border-radius:999px;padding:.12rem .7rem}.theme-toggle:hover{border-color:var(--ink-soft);color:var(--ink)}html[data-theme=dark] .when-light,html[data-theme=light] .when-dark{display:none}.hero{max-width:40rem;padding:3rem 0 2.25rem}.hero.verse{max-width:none}@media (width>=800px){.hero{padding:4.75rem 0 3.25rem}.hero.verse{padding-bottom:2.75rem}}.hero h1,.page-head h1,.article-body h1{letter-spacing:0;font-weight:600}.hero h1{margin:.55rem 0 1rem;font-size:clamp(2rem,5vw,3rem);line-height:1.3}.verse h1{font-family:var(--serif);margin:0;font-size:clamp(1.85rem,7vw,4.25rem);font-weight:500;line-height:1.45}.verse h1 span{display:block}.home-cats{padding-bottom:1rem}.cat-list{margin:0;padding:0;list-style:none}.cat-list a{border-bottom:1px solid var(--line);color:inherit;justify-content:space-between;align-items:baseline;gap:1rem;padding:1.05rem 0;text-decoration:none;display:flex}.cat-name{font-size:clamp(1.2rem,2vw,1.45rem);font-weight:600;line-height:1.4}.cat-list a:hover .cat-name{color:var(--accent)}.cat-list .count{color:var(--ink-soft);font-size:.95rem}.eyebrow{color:var(--accent);margin:0;font-size:.92rem}.lede,.page-head p{color:var(--ink-soft);margin:0;font-size:1.05rem;line-height:1.75}.section-label{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:baseline;gap:1rem;margin:0 0 .25rem;padding-bottom:.45rem;display:flex}.section-label h2{margin:0;font-size:1.25rem;font-weight:600}.section-label a{color:var(--ink-soft);text-decoration:none}.section-label a:hover{color:var(--accent)}.page-head{max-width:40rem;padding:2.6rem 0 1.4rem}.page-head h1{margin:.35rem 0 .65rem;font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.3}.essay-head h1{font-family:var(--serif);font-weight:500}.page-head .eyebrow a{color:inherit;border-bottom:1px solid;text-decoration:none}.post-list{margin:0;padding:0;list-style:none}.post-list>li{border-bottom:1px solid var(--line);padding:1rem 0}.post-list>li[hidden],section[hidden]{display:none!important}.post-link{color:inherit;grid-template-columns:6.5rem minmax(0,1fr);align-items:baseline;gap:.35rem .75rem;text-decoration:none;display:grid}.post-link.has-kind{grid-template-columns:6.5rem 3.2rem minmax(0,1fr)}@media (width<=640px){.post-link,.post-link.has-kind{grid-template-columns:1fr;gap:.1rem}}time{font-variant-numeric:tabular-nums}.post-link time,.post-kind{color:var(--ink-soft);font-size:.88rem}.post-title{font-weight:600;line-height:1.45}.post-title.serif{font-family:var(--serif);font-weight:500}.post-link:hover .post-title{color:var(--accent)}.post-desc{color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.35rem 0 0;font-size:.95rem;display:-webkit-box;overflow:hidden}.filters{flex-wrap:wrap;gap:.5rem;margin:.4rem 0 .2rem;display:flex}.filters a{color:var(--ink-soft);border:1px solid var(--line);background:var(--bg-raised);border-radius:999px;padding:.18rem .7rem;text-decoration:none}.filters a[aria-current=page]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.count{font-variant-numeric:tabular-nums;margin-left:.15rem;font-size:.82rem}.empty{color:var(--ink-soft)}.reading{width:min(100%,53.5rem);margin-inline:auto}.article-frame{grid-template-columns:1fr;gap:1.25rem;padding-top:2.5rem;display:grid}@media (width>=860px){.article-frame{grid-template-columns:11rem minmax(0,1fr);gap:2.5rem;padding-top:3rem}}.article-aside{color:var(--ink-soft);font-size:.92rem}@media (width>=860px){.article-aside{align-self:start;position:sticky;top:5rem}}@media (width<=859px){.article-aside{flex-wrap:wrap;align-items:baseline;gap:.25rem .9rem;display:flex}.article-aside .tag-list{width:100%}}.article-aside p{margin:.3rem 0}.article-aside a{color:inherit}.aside-kicker{color:var(--ink);margin:0 0 .35rem;font-weight:600}.aside-kicker a{border-bottom:1px solid var(--line);text-decoration:none}.draft-flag{color:var(--accent)}.tag-list{flex-wrap:wrap;gap:.35rem .7rem;margin:.45rem 0 0;padding:0;list-style:none;display:flex}.tag-list a{border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.article-body{min-width:0}.article-body h1{margin:0 0 .75rem;font-size:clamp(1.85rem,4vw,2.65rem);line-height:1.28}.article-body.essay h1,.prose.essay h2,.prose.essay h3{font-family:var(--serif);font-weight:500}.dek{color:var(--ink-soft);margin:0 0 1.6rem;font-size:1.05rem;line-height:1.7}.prose{overflow-wrap:anywhere;font-size:1.0625rem;line-height:1.85}.prose.essay{font-family:var(--serif);font-size:1.125rem;line-height:1.95}.page-prose{max-width:40rem}.prose>:first-child{margin-top:0}.prose h2,.prose h3{scroll-margin-top:5rem;line-height:1.4}.prose h2{margin:2.2rem 0 .7rem;font-size:1.35rem}.prose h3{margin:1.6rem 0 .5rem;font-size:1.12rem}.prose p{margin:1rem 0}.prose a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px}.prose a:visited{color:var(--accent)}.prose a:hover{color:var(--ink)}.prose ul,.prose ol{padding-left:1.3rem}.prose li{margin:.35rem 0}.prose li::marker{color:var(--accent)}.prose blockquote{border-left:2px solid var(--accent);color:var(--ink-soft);margin:1.4rem 0;padding-left:1rem}.prose hr{border:0;border-top:1px solid var(--line);margin:2rem 0}.prose img{border-radius:8px;max-width:100%;height:auto;margin:1.2rem 0;display:block}.prose :not(pre)>code,.empty code{font-family:var(--mono);background:var(--code-bg);border-radius:4px;padding:.12em .38em;font-size:.9em}.prose pre{border:1px solid var(--line);border-radius:8px;max-width:100%;margin:1.25rem 0;padding:.95rem 1rem;font-size:.9rem;line-height:1.65;overflow-x:auto}.prose pre code{font-family:var(--mono);font-size:inherit;background:0 0;padding:0}.astro-code{background-color:#f7f3ea!important}html[data-theme=dark] .astro-code,html[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}.prose table{border-collapse:collapse;width:100%;font-size:.95rem}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;padding:.5rem .35rem}.prose th{font-weight:600}.pager{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1rem 1.5rem;margin:2.5rem 0 1rem;padding-top:1rem;display:grid}.pager a{color:inherit;flex-direction:column;gap:.2rem;text-decoration:none;display:flex}.pager a span{color:var(--ink-soft);font-size:.85rem}.pager a strong{font-weight:600;line-height:1.45}.pager a:hover strong{color:var(--accent)}.pager-next{text-align:right}.pager-next a{align-items:flex-end}@media (width<=640px){.pager{grid-template-columns:1fr}.pager-next{text-align:left}.pager-next a{align-items:flex-start}}.page-banner+.search,.page-banner+.cat-cloud{margin-top:1.2rem}.search{border:0;border-bottom:1px solid var(--ink);background:0 0;border-radius:0;outline:none;width:min(100%,28rem);margin:.2rem 0 .4rem;padding:.45rem 0;display:block}.search:focus{border-bottom-color:var(--accent)}.search::placeholder{color:var(--ink-soft)}#search-count{min-height:1.4rem;color:var(--ink-soft);margin:0;font-size:.9rem}.year-heading{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin:1.8rem 0 0;font-size:.95rem;font-weight:600}.tag-index{flex-wrap:wrap;gap:.75rem 1.1rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.tag-index a{color:var(--ink);border-bottom:1px solid var(--line);font-weight:600;text-decoration:none}.tag-index .count{color:var(--ink-soft)}.site-footer{border-top:1px solid var(--line);color:var(--ink-soft);margin-top:auto;padding:1.4rem 0 1.8rem;font-size:.92rem}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:.8rem 1.4rem;display:flex}.site-footer p{margin:0}.site-footer nav{gap:1rem;display:flex}.site-footer a{color:inherit}@media (width<=720px){.site-header .bar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.2rem .75rem;display:grid}.site-header .mark{grid-area:1/1;min-width:0}.site-header .theme-toggle{grid-area:1/2}.site-header .site-nav{flex-wrap:wrap;grid-area:2/1/auto/-1;gap:.35rem 1rem;width:auto;margin-left:0;display:flex}.hero h1,.lede,.page-head h1,.post-desc,.article-body h1{overflow-wrap:break-word}}@media print{.site-header,.site-footer,.theme-toggle,.skip,.pager{display:none!important}body{color:#000;background:#fff}.article-aside{position:static}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}body.nav-overlay .site-header{z-index:20;color:#fff;background:linear-gradient(#00000059,#0000);border-bottom:0;position:absolute;inset:0 0 auto}body.nav-overlay .site-nav a,body.nav-overlay .mark,body.nav-overlay .theme-toggle,body.nav-overlay .site-nav a[aria-current=page]{color:#fff}body.nav-overlay .seal{color:#fff;border-color:#fff}body.nav-overlay .theme-toggle{border-color:#ffffff73}.banner,.page-banner{color:#fff;text-align:center;background-color:#1d3d4f;background-image:image-set("/cover.webp" 1x type("image/webp"),"/cover.jpg" 1x type("image/jpeg"));background-position:50%;background-repeat:no-repeat;background-size:cover;place-items:center;width:100vw;margin-left:calc(50% - 50vw);display:grid}.banner{min-height:72vh;padding:6.5rem 1.25rem 4.5rem}.banner:after,.page-banner:after{content:"";background:var(--bg);border-radius:50% 50% 0 0/100% 100% 0 0;height:42px;position:absolute;bottom:-1px;left:0;right:0}.banner,.page-banner{position:relative}.page-banner{min-height:280px;padding:5.5rem 1.25rem 3.5rem}.banner h1,.page-banner h1{color:#fff;max-width:16em;font-family:var(--serif);text-shadow:0 2px 18px #00000073;margin:0;font-size:clamp(1.8rem,4.6vw,3.15rem);font-weight:500;line-height:1.45}.banner h1 span,.page-banner h1 span{display:block}.home-board{gap:1rem;margin-top:.4rem;display:grid}@media (width>=980px){.home-board{grid-template-columns:minmax(0,1fr) 17.5rem;align-items:start}.side-card{align-self:start;position:sticky;top:4.5rem}}.story{background:var(--bg-raised);color:inherit;border-radius:16px;margin-bottom:.9rem;padding:1.15rem 1.2rem;text-decoration:none;display:block;box-shadow:0 8px 24px #1c19150f}.story.featured{padding:0;display:grid;overflow:hidden}@media (width>=720px){.story.featured{grid-template-columns:1.05fr 1fr}}.story-cover{background-color:#1d3d4f;background-image:linear-gradient(160deg,#14283c26,#14283c73),image-set("/cover.webp" 1x type("image/webp"),"/cover.jpg" 1x type("image/jpeg"));background-position:50%;background-repeat:no-repeat;background-size:cover;min-height:180px}.story-copy{gap:.35rem;display:grid}.story.featured .story-copy{align-content:center;padding:1.2rem 1.25rem}.story strong{font-size:1.2rem;line-height:1.4}.story em{color:var(--ink-soft);font-size:.88rem;font-style:normal}.story-copy>span{color:var(--ink-soft)}.side-card{background:var(--bg-raised);border-radius:16px;padding:1.2rem 1.1rem 1.3rem;box-shadow:0 8px 24px #1c19150f}.side-seal{border:1.5px solid var(--accent);width:3.2rem;height:3.2rem;color:var(--accent);font-family:var(--serif);border-radius:50%;place-items:center;margin:0 auto .6rem;display:grid}.side-card h2,.side-card h3{text-align:center;margin:.2rem 0 .45rem;font-size:1.05rem}.side-card>p{text-align:center;color:var(--ink-soft);margin:0 0 .8rem}.side-stats{text-align:center;grid-template-columns:repeat(3,1fr);margin:0 0 .9rem;display:grid}.side-stats div{display:grid}.side-stats dt{color:var(--ink-soft);font-size:.82rem}.side-stats dd{margin:0;font-size:1.25rem;font-weight:600}.side-login{color:#fff;text-align:center;background:#3a332c;border-radius:8px;margin:0 0 1rem;padding:.45rem .8rem;text-decoration:none;display:block}.side-card .cat-list a{padding:.55rem 0}.timeline{border-left:2px solid #d5e2f2;margin-left:.35rem;padding-left:1.1rem}.timeline>li{position:relative}.timeline>li:before{content:"";width:.7rem;height:.7rem;box-shadow:0 0 0 4px var(--bg);background:#7eb6e6;border-radius:50%;position:absolute;top:1.35rem;left:-1.28rem}#add-category{margin:0 0 .8rem;font-size:.95rem;display:block}.cat-cloud{box-shadow:none;background:0 0;flex-wrap:wrap;justify-content:flex-start;gap:.85rem;margin:0 0 1.6rem;padding:0;list-style:none;display:flex}.cat-cloud li{border:1px solid var(--line);background:var(--bg-raised);border-radius:10px;align-items:center;gap:.15rem;margin:0;padding:.42rem .4rem .42rem .85rem;display:inline-flex}.cat-cloud a{color:var(--chip,var(--accent));user-select:none;align-items:baseline;gap:.4rem;font-size:1.05rem;font-weight:700;text-decoration:none;display:inline-flex}.cat-cloud a .count{opacity:.7;font-weight:500}.cat-remove{width:1.45rem;height:1.45rem;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:999px;margin-left:.15rem;font-size:1.05rem;line-height:1}.cat-remove:hover{color:var(--accent);background:#8f2d1414}.cat-rename{border:0;border-bottom:1px solid var(--accent);width:7.5rem;color:inherit;font:inherit;background:0 0;outline:none;padding:0;font-weight:700}.shelf-section>h2 .cat-remove{font-weight:400}.owner-edit{color:var(--ink-soft);font:inherit;cursor:pointer;text-underline-offset:.18em;background:0 0;border:0;margin-left:.45rem;padding:0;font-size:.82rem;text-decoration:underline}.tag-index li,.shelf-section>h2{flex-wrap:wrap;align-items:baseline;gap:.2rem .35rem;display:flex}.wall{margin-top:.4rem}.wall-profile{grid-template-columns:7.5rem minmax(0,1fr);align-items:start;gap:1.25rem 1.5rem;max-width:42rem;display:grid}.wall-avatar{justify-items:center;gap:.55rem;display:grid}.wall-face{border:1px solid var(--line);background:var(--bg-raised);border-radius:50%;place-items:center;width:7.5rem;height:7.5rem;display:grid;overflow:hidden}.wall-face img{object-fit:cover;width:100%;height:100%}.wall-face .seal{width:3.2rem;height:3.2rem;font-size:1.8rem}.wall-about h2{margin:.15rem 0 .35rem;font-size:1.45rem}.wall-about p{white-space:pre-wrap;margin:0}button.wall-owner,.wall-form>button[type=submit]{border:1px solid var(--line);background:var(--bg-raised);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:.22rem .85rem}.wall-about textarea,.wall-form textarea{border:1px solid var(--line);background:var(--bg-raised);width:100%;color:var(--ink);font:inherit;resize:vertical;border-radius:10px;margin:.7rem 0 .55rem;padding:.7rem .85rem;line-height:1.7}#wall-photos{margin:1.4rem 0 .4rem}#wall-photos[hidden]{display:none!important}.wall-photos{flex-wrap:wrap;gap:.85rem;margin:0 0 .85rem;padding:0;list-style:none;display:flex}.wall-photos li{border:1px solid var(--line);background:var(--bg-raised);border-radius:10px;width:8.6rem;height:8.6rem;position:relative;overflow:hidden}.wall-photos a,.wall-photos img{width:100%;height:100%;display:block}.wall-photos img{object-fit:cover}.wall-photos .cat-remove{background:var(--bg-raised);position:absolute;top:.3rem;right:.3rem}.list-pager{align-items:center;gap:.75rem;margin:.4rem 0 1.6rem;display:flex}.list-pager button{border:1px solid var(--line);background:var(--bg-raised);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:.2rem .85rem}.list-pager button:disabled{opacity:.4;cursor:default}.wall-form{max-width:42rem;margin:1.6rem 0 .4rem}.wall-form label{display:block}.wall-captcha{flex-wrap:wrap;align-items:end;gap:.65rem .8rem;margin:.75rem 0 .2rem;display:flex}.wall-captcha label{min-width:min(100%,14rem);color:var(--ink-soft);gap:.35rem;font-size:.95rem;display:grid}.wall-captcha input{border:0;border-bottom:1px solid var(--ink);background:0 0;border-radius:0;outline:none;width:6.5rem;padding:.35rem 0}.wall-captcha input:focus{border-bottom-color:var(--accent)}.wall-captcha button{border:1px solid var(--line);cursor:pointer;color:var(--ink-soft);background:0 0;border-radius:8px;padding:.35rem .75rem}.wall-captcha button:hover{border-color:var(--ink-soft);color:var(--ink)}.wall-honey{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.wall-status{min-height:1.4rem;color:var(--ink-soft);margin:.45rem 0 0;font-size:.92rem}.wall-hint{color:var(--ink-soft);margin:.55rem 0 0;font-size:.9rem}.wall-pending{border:1px solid var(--line);background:var(--bg-raised);border-radius:12px;max-width:42rem;margin:1.4rem 0 .6rem;padding:.95rem 1.05rem .55rem}.wall-pending h2{margin:0 0 .15rem;font-size:1.05rem}.wall-pending .wall-notes{margin-top:.2rem}.wall-pending .empty{margin:.55rem 0 .35rem}.wall-notes{max-width:42rem;margin:.4rem 0 0;padding:0;list-style:none}.wall-notes li{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.2rem .8rem;padding:.9rem 0;display:grid}.wall-notes.is-pending li{grid-template-columns:minmax(0,1fr) auto auto}.wall-notes p{white-space:pre-wrap;grid-column:1;margin:0}.wall-notes time{color:var(--ink-soft);grid-column:1;font-size:.85rem}.wall-notes .cat-remove{grid-area:1/2/span 2;align-self:center}.wall-notes .wall-approve{border:1px solid var(--line);background:var(--bg-raised);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;grid-area:1/2/span 2;align-self:center;padding:.2rem .75rem}.wall-notes.is-pending .cat-remove{grid-column:3}.wall-notes .wall-approve:hover{border-color:var(--ink-soft)}@media (width<=640px){.wall-profile{grid-template-columns:1fr}.wall-avatar{justify-items:start}}@media (width<=720px){body.nav-overlay .site-header{position:absolute}}
