:root{--forest:#164c38;--forest-deep:#0d3527;--moss:#5f7f65;--leaf:#dce8d7;--paper:#f6f7f1;--white:#ffffff;--ink:#15211b;--muted:#69776f;--line:#d8ded7;--yellow:#e4bd54;--shadow:0 18px 60px rgba(22,76,56,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:DM Sans,Microsoft YaHei,sans-serif}body.dark{--paper:#111a15;--white:#18251e;--ink:#eff5ed;--muted:#a7b5ab;--line:#314239;--leaf:#263c30;--shadow:0 18px 60px rgba(0,0,0,.25)}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.site-header{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;height:76px;padding:0 max(24px,calc((100vw - 1240px) / 2));border-bottom:1px solid transparent;transition:background .35s,border-color .35s,height .35s}.site-header.scrolled{height:64px;background:color-mix(in srgb,var(--paper) 88%,transparent);border-color:var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:13px;letter-spacing:.16em}.brand-dot{width:11px;height:11px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 5px color-mix(in srgb,var(--yellow) 18%,transparent)}.top-nav{margin-left:auto;display:flex;align-items:center;gap:26px;font-size:14px}.nav-link,.top-nav a{color:var(--muted);transition:color .2s}.nav-link:hover,.top-nav a:hover{color:var(--forest)}.nav-link{padding:0;background:transparent;border:0;cursor:pointer}.icon-button{display:grid;place-items:center;width:38px;height:38px;padding:0;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:50%;cursor:pointer}.primary-button,.publish-button{display:inline-flex;align-items:center;gap:8px;padding:11px 17px;color:white;background:var(--forest);border:0;border-radius:4px;font-weight:600;cursor:pointer;transition:transform .2s,background .2s}.primary-button:hover,.publish-button:hover{transform:translateY(-2px);background:var(--forest-deep)}.compact-profile{display:flex;align-items:center;gap:10px;max-width:0;margin-left:0;overflow:hidden;opacity:0;font-family:"Noto Serif SC",serif;font-weight:600;white-space:nowrap;transition:max-width .35s,opacity .3s,margin .35s}.compact-profile img{width:38px;height:38px;border-radius:50%;object-fit:cover}.site-header.scrolled .compact-profile{max-width:120px;margin-left:24px;opacity:1}main{--collapse:0;overflow:clip}.hero-stage{position:relative;height:116vh;min-height:760px}.hero{--collapse:0;position:-webkit-sticky;position:sticky;top:0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);align-items:center;min-height:min(820px,94vh);max-width:1240px;margin:0 auto;padding:116px 24px 56px;grid-gap:8vw;gap:8vw;overflow:hidden}.hero-copy{transform:translate3d(calc(var(--collapse) * 72vw),calc(var(--collapse) * -46px),0) scale(calc(1 - var(--collapse) * .8));transform-origin:top left;opacity:clamp(0,calc((1 - var(--collapse)) * 5),1);will-change:transform}.hero-copy .eyebrow,.hero-copy .hero-actions,.hero-copy .intro,.hero-copy .small-note{opacity:clamp(0,calc(1 - var(--collapse) * 2.2),1);transform:translateY(calc(var(--collapse) * -18px));will-change:transform,opacity}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 22px;color:var(--moss);font-size:11px;font-weight:600;letter-spacing:.15em}.eyebrow span{display:block;width:24px;height:1px;background:var(--moss)}.hero h1{margin:0;font-family:"Noto Serif SC",serif;font-size:clamp(64px,8vw,114px);line-height:1.08;letter-spacing:0;font-weight:600}.hero h1 em{color:var(--forest);font-style:normal}.intro{max-width:620px;margin:34px 0 0;color:var(--muted);font-family:"Noto Serif SC",serif;font-size:18px;line-height:2}.hero-actions{gap:28px;margin-top:34px}.hero-actions,.primary-link{display:flex;align-items:center}.primary-link{gap:22px;padding:14px 18px;color:white;background:var(--forest);border-radius:4px;font-weight:600}.primary-link span{color:var(--yellow)}.project-link{display:flex;align-items:center;gap:22px;padding:13px 17px;color:var(--forest);background:transparent;border:1px solid var(--forest);border-radius:4px;font-weight:600;cursor:pointer;transition:color .2s,background .2s,transform .2s}.project-link:hover{color:white;background:var(--forest);transform:translateY(-2px)}.project-link span{font-size:20px}.small-note{display:flex;align-items:center;gap:9px;margin-top:52px;color:var(--muted);font-size:13px}.status-dot{width:7px;height:7px;border-radius:50%;background:#4dad6d;box-shadow:0 0 0 4px rgba(77,173,109,.15)}.portrait-wrap{width:min(100%,500px);margin-left:auto;transform:translate3d(calc(var(--collapse) * 12px),calc(var(--collapse) * -92px),0) scale(calc(1 - var(--collapse) * .9));transform-origin:top right;opacity:clamp(0,calc((1 - var(--collapse)) * 5),1);will-change:transform,opacity}.portrait-frame{position:relative;aspect-ratio:4/5;padding:16px;background:var(--leaf)}.portrait-frame:before{content:"";position:absolute;inset:9% -14px auto auto;width:28px;height:110px;background:var(--yellow);z-index:-1}.portrait-frame:after{content:"写";position:absolute;left:-26px;bottom:40px;display:grid;place-items:center;width:52px;height:52px;color:white;background:var(--forest);font-family:"Noto Serif SC",serif;font-size:22px}.portrait-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.88)}.portrait-caption{display:flex;justify-content:space-between;margin-top:12px;color:var(--muted);font-size:10px;letter-spacing:.14em}@media (min-width:1200px){.hero{grid-template-columns:minmax(0,1.15fr) minmax(460px,.85fr);min-height:min(940px,96vh);max-width:1540px;padding-inline:40px;gap:6vw}.hero h1{font-size:clamp(114px,7vw,144px)}.intro{max-width:700px;font-size:20px}.portrait-wrap{width:min(100%,600px)}.primary-link{padding:16px 22px}}.notes-strip{position:relative;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:-48vh;padding:34px max(24px,calc((100vw - 1240px) / 2));color:white;background:var(--forest);opacity:clamp(0,calc((var(--collapse) - .48) * 2.4),1);transform:translateY(calc((1 - var(--collapse)) * 120px));will-change:transform,opacity}.notes-strip p{max-width:560px;margin:0;font-family:"Noto Serif SC",serif;font-size:18px;line-height:1.8}.tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.tags span{padding:7px 12px;border:1px solid rgba(255,255,255,.28);font-size:12px}.projects-panel{position:fixed;z-index:40;inset:0;overflow-x:hidden;overflow-y:auto;background:var(--paper);transform:translateX(100%);visibility:hidden;transition:transform .55s cubic-bezier(.22,.8,.22,1),visibility 0s linear .55s;overscroll-behavior:contain}.projects-panel.open{transform:translateX(0);visibility:visible;transition:transform .55s cubic-bezier(.22,.8,.22,1)}body.projects-open{overflow:hidden}.projects-back{position:-webkit-sticky;position:sticky;z-index:5;top:20px;display:flex;align-items:center;gap:12px;margin:20px 24px 0;padding:11px 15px;color:var(--forest);background:color-mix(in srgb,var(--paper) 88%,transparent);border:1px solid var(--line);border-radius:4px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer}.projects-back span{font-size:18px}.projects-manage-button{position:fixed;z-index:6;top:20px;right:24px;padding:11px 16px;color:white;background:var(--forest);border:0;border-radius:4px;font-weight:600;cursor:pointer}.projects-section{max-width:1440px;margin:0 auto;padding:72px 24px 120px;background:var(--paper)}.projects-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:48px}.projects-heading .eyebrow{margin-bottom:12px}.projects-heading h2{margin:0;font-family:"Noto Serif SC",serif;font-size:50px;font-weight:600}.projects-heading>p{max-width:360px;margin:0;color:var(--muted);line-height:1.8}.projects-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:repeat(2,minmax(260px,auto));grid-gap:22px;gap:22px}.project-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--white);border:1px solid var(--line);box-shadow:0 12px 34px rgba(22,76,56,.07);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.project-card:hover{z-index:2;transform:scale(1.025);border-color:var(--moss);box-shadow:0 24px 60px rgba(22,76,56,.17)}.project-card-1{grid-row:span 2;flex-direction:column}.project-image{position:relative;min-height:250px;overflow:hidden;background:var(--leaf)}.project-card-1 .project-image{min-height:480px}.project-image img{object-fit:cover;object-position:top center;transition:transform .38s ease}.project-card:hover .project-image img{transform:scale(1.035)}.project-card-2 .project-image img{object-position:center}.project-info{position:relative;padding:26px}.project-info span{color:var(--moss);font-size:10px;font-weight:600;letter-spacing:.12em}.project-info h3{margin:12px 0 10px;font-family:"Noto Serif SC",serif;font-size:26px;font-weight:600}.project-info p{margin:0;color:var(--muted);line-height:1.75}.project-info strong{position:absolute;right:22px;bottom:18px;display:grid;place-items:center;width:38px;height:38px;color:var(--forest);border:1px solid var(--line);border-radius:50%;font-weight:400;transition:color .2s,background .2s,transform .2s}.project-card:hover .project-info strong{color:white;background:var(--forest);transform:rotate(-35deg)}.projects-grid.layout-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto}.projects-grid.layout-grid .project-card-1{grid-row:auto}.projects-grid.layout-grid .project-card-1 .project-image{min-height:250px}.projects-grid.layout-compact{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto;gap:14px}.projects-grid.layout-compact .project-card-1{grid-row:auto}.projects-grid.layout-compact .project-card-1 .project-image,.projects-grid.layout-compact .project-image{min-height:180px}.projects-grid.layout-compact .project-info{padding:18px}.projects-grid.layout-compact .project-info h3{font-size:20px}.projects-grid.layout-compact .project-info p{font-size:13px}.projects-grid.layout-list{grid-template-columns:1fr;grid-template-rows:auto}.projects-grid.layout-list .project-card{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr)}.projects-grid.layout-list .project-card-1{grid-row:auto}.projects-grid.layout-list .project-card-1 .project-image,.projects-grid.layout-list .project-image{min-height:230px}.project-manager-backdrop{position:fixed;z-index:60;inset:0;overflow-y:auto;padding:24px;background:rgba(9,30,21,.62);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.project-manager{width:min(980px,100%);margin:0 auto;padding:clamp(24px,5vw,48px);color:var(--ink);background:var(--paper);box-shadow:var(--shadow)}.project-manager-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.project-manager-header h2{margin:0;font-family:"Noto Serif SC",serif;font-size:38px;font-weight:600}.layout-presets{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin:32px 0}.layout-presets button{padding:16px;color:var(--ink);text-align:left;background:var(--white);border:1px solid var(--line);cursor:pointer}.layout-presets button.active{color:white;background:var(--forest);border-color:var(--forest)}.layout-presets span,.layout-presets strong{display:block}.layout-presets span{margin-top:5px;color:var(--muted);font-size:11px;line-height:1.5}.layout-presets button.active span{color:rgba(255,255,255,.72)}.project-manager-save,.project-manager-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;border-top:1px solid var(--line)}.project-manager-save p,.project-manager-toolbar span{color:var(--muted);font-size:12px}.project-manager-list article{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border-top:1px solid var(--line)}.project-manager-list article code,.project-manager-list article span{color:var(--muted);font-size:11px}.project-manager-list article h3{margin:5px 0;font-family:"Noto Serif SC",serif;font-size:20px}.project-manager-actions{display:flex;flex:0 0 auto;gap:7px}.project-edit-form{margin:24px 0;padding:24px;background:var(--leaf)}.project-edit-form h3{margin:0 0 20px;font-family:"Noto Serif SC",serif;font-size:26px}.project-edit-form label{display:grid;grid-gap:7px;gap:7px;margin-bottom:14px;color:var(--muted);font-size:12px;font-weight:600}.project-edit-form input,.project-edit-form textarea{width:100%;padding:11px;color:var(--ink);background:var(--white);border:1px solid var(--line);resize:vertical}.project-edit-actions{display:flex;justify-content:flex-end;gap:9px}.articles-section{position:relative;z-index:5;max-width:1240px;margin:0 auto;padding:52px 24px 120px;background:var(--paper);opacity:clamp(0,calc((var(--collapse) - .36) * 2.2),1);transform:translateY(calc((1 - var(--collapse)) * 82px));will-change:transform,opacity}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:44px}.section-heading .eyebrow{margin-bottom:12px}.editor-head h2,.section-heading h2{margin:0;font-family:"Noto Serif SC",serif;font-size:42px;font-weight:600}.filter-row{display:flex;gap:4px;padding:4px;border:1px solid var(--line)}.filter{padding:8px 15px;color:var(--muted);background:transparent;border:0;cursor:pointer}.filter.active{color:white;background:var(--forest)}.article-search{display:grid;grid-template-columns:20px 1fr auto auto;align-items:center;grid-gap:11px;gap:11px;margin-bottom:24px;padding:12px 15px;color:var(--muted);background:var(--white);border:1px solid var(--line)}.article-search svg{width:18px}.article-search input{min-width:0;padding:0;color:var(--ink);background:transparent;border:0;outline:0}.article-search input::placeholder{color:var(--muted)}.article-search button{display:grid;place-items:center;width:26px;height:26px;padding:0;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:50%;cursor:pointer}.article-search span{color:var(--moss);font-size:11px;font-weight:600;white-space:nowrap}.article-list{border-top:1px solid var(--line)}.article-card{display:grid;grid-template-columns:70px 1fr auto;grid-gap:28px;gap:28px;align-items:center;padding:32px 8px;border-bottom:1px solid var(--line);cursor:pointer;transition:padding .25s,background .25s}.article-card:focus-visible{outline:2px solid var(--forest);outline-offset:4px}.article-card:hover{padding-inline:20px;background:var(--white)}.article-index{color:var(--moss);font-size:12px;font-weight:600;letter-spacing:.1em}.article-body{min-width:0}.article-meta{display:flex;gap:12px;align-items:center;margin-bottom:8px;color:var(--muted);font-size:12px}.category{color:var(--forest);font-weight:600}.article-card h3{margin:0 0 9px;font-family:"Noto Serif SC",serif;font-size:25px;font-weight:600}.article-card mark{color:var(--forest);background:color-mix(in srgb,var(--yellow) 40%,transparent)}.article-card p{max-width:760px;margin:0;color:var(--muted);line-height:1.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.article-arrow{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;color:var(--forest);transition:transform .2s,background .2s}.article-card:hover .article-arrow{transform:rotate(-35deg);color:white;background:var(--forest)}.article-pagination{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:26px;color:var(--muted);font-size:12px}.article-pagination button{padding:9px 13px;color:var(--forest);background:transparent;border:1px solid var(--line);border-radius:4px;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.article-pagination button:hover:not(:disabled){color:white;background:var(--forest);border-color:var(--forest)}.article-pagination button:disabled{color:var(--muted);cursor:not-allowed;opacity:.5}.empty-state{padding:70px 0;text-align:center;color:var(--muted)}.empty-state button{color:var(--forest);background:transparent;border:0;font-weight:600;cursor:pointer}.site-footer{display:flex;justify-content:space-between;align-items:flex-start;gap:18px 28px;padding:28px max(24px,calc((100vw - 1240px) / 2));color:var(--muted);border-top:1px solid var(--line);font-size:12px}.site-footer p{margin:0}.site-footer nav{display:flex;flex-wrap:wrap;gap:22px}.site-footer a:hover{color:var(--forest)}.site-footer__links,.site-footer__meta,.site-footer__record{display:flex;flex-wrap:wrap;gap:10px 20px}.site-footer__links{justify-content:flex-end}.site-footer__record a{color:var(--moss)}.editor-dialog{width:min(680px,calc(100vw - 28px));max-height:calc(100vh - 28px);padding:0;color:var(--ink);background:var(--paper);border:0;box-shadow:var(--shadow)}.editor-dialog::-webkit-backdrop{background:rgba(9,30,21,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.editor-dialog::backdrop{background:rgba(9,30,21,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.editor{padding:32px}.editor-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.editor-head .eyebrow{margin-bottom:8px}.editor label{display:grid;grid-gap:7px;gap:7px;margin-bottom:17px;color:var(--muted);font-size:12px;font-weight:600}.editor input,.editor select,.editor textarea{width:100%;padding:12px;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:3px;outline:0;resize:vertical}.editor input:focus,.editor select:focus,.editor textarea:focus{border-color:var(--forest);box-shadow:0 0 0 3px color-mix(in srgb,var(--forest) 12%,transparent)}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.secondary-button{padding:11px 16px;color:var(--forest);background:transparent;border:1px solid var(--forest);border-radius:4px;cursor:pointer}.storage-note{margin:14px 0 0;color:var(--muted);font-size:11px;text-align:right}.reader-dialog{width:min(790px,calc(100vw - 28px));max-height:calc(100vh - 28px);padding:0;color:var(--ink);background:var(--paper);border:0;box-shadow:var(--shadow)}.reader-dialog::-webkit-backdrop{background:rgba(9,30,21,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.reader-dialog::backdrop{background:rgba(9,30,21,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.reader{position:relative;padding:clamp(32px,7vw,72px)}.reader-close{position:absolute;top:24px;right:24px}.reader h2{max-width:630px;margin:22px 0;font-family:"Noto Serif SC",serif;font-size:clamp(34px,6vw,56px);line-height:1.35;font-weight:600}.reader-excerpt{margin:0 0 34px;padding-bottom:28px;color:var(--moss);border-bottom:1px solid var(--line);line-height:1.9}.reader-content,.reader-excerpt{font-family:"Noto Serif SC",serif;font-size:16px}.reader-content{color:var(--ink);line-height:2.1;white-space:pre-wrap}.post-page{max-width:900px}.archive-page,.post-page{min-height:100vh;margin:0 auto;padding:130px 24px 110px}.archive-page{max-width:980px}.archive-header h1{margin:18px 0;font-family:"Noto Serif SC",serif;font-size:clamp(48px,8vw,76px);line-height:1.2;font-weight:600}.archive-header p:not(.eyebrow){max-width:620px;margin:0 0 54px;color:var(--muted);font-family:"Noto Serif SC",serif;line-height:2}.archive-year{display:grid;grid-template-columns:120px 1fr;grid-gap:34px;gap:34px;padding:30px 0;border-top:1px solid var(--line)}.archive-year h2{margin:0;color:var(--forest);font-family:"Noto Serif SC",serif;font-size:34px}.archive-item{display:grid;grid-template-columns:110px minmax(0,1fr) auto;grid-gap:18px;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.archive-item em,.archive-item span{color:var(--muted);font-size:12px;font-style:normal}.archive-item strong{min-width:0;overflow:hidden;font-family:"Noto Serif SC",serif;font-size:19px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.back-link{display:inline-block;margin-bottom:48px;color:var(--moss);font-size:13px;font-weight:600}.reading-progress{position:fixed;z-index:30;top:0;left:0;width:100%;height:3px;pointer-events:none}.reading-progress span{display:block;width:100%;height:100%;background:var(--forest);transform:scaleX(0);transform-origin:left;transition:transform .12s linear}.post-toc{position:fixed;z-index:5;top:150px;left:calc(50% + 490px);width:min(220px,calc(50vw - 520px))}.post-toc>p{margin:0 0 15px;color:var(--moss);font-size:11px;font-weight:700}.post-toc nav{display:grid;grid-gap:2px;gap:2px;border-left:1px solid var(--line)}.post-toc a{display:block;padding:7px 0 7px 14px;color:var(--muted);font-size:12px;line-height:1.5;transition:color .2s,border-color .2s}.post-toc a.nested{padding-left:26px;font-size:11px}.post-toc a.active{margin-left:-1px;color:var(--forest);border-left:2px solid var(--forest);font-weight:600}.mobile-toc{display:none}.post-article h1{max-width:780px;margin:20px 0 28px;font-size:clamp(42px,7vw,72px);line-height:1.25;font-weight:600}.post-article h1,.post-excerpt{font-family:"Noto Serif SC",serif}.post-excerpt{margin-bottom:50px;padding-bottom:35px;color:var(--moss);border-bottom:1px solid var(--line);font-size:18px;line-height:2}.post-cover{display:block;width:100%;max-height:560px;margin:0 0 54px;object-fit:cover;border:1px solid var(--line)}.markdown-body{font-family:"Noto Serif SC",serif;font-size:17px;line-height:2.15}.markdown-body h2,.markdown-body h3{margin:2.2em 0 .8em;line-height:1.5;scroll-margin-top:120px}.markdown-body blockquote,.markdown-body ol,.markdown-body p,.markdown-body ul{margin:0 0 1.5em}.markdown-body blockquote{margin-inline:0;padding:2px 20px;color:var(--moss);border-left:3px solid var(--yellow)}.markdown-body a{color:var(--forest);border-bottom:1px solid var(--moss)}.markdown-body a:hover{border-color:var(--yellow)}.markdown-body img{display:block;max-width:100%;height:auto;margin:2.2em auto;border:1px solid var(--line)}.markdown-body hr{margin:3em 0;border:0;border-top:1px solid var(--line)}.markdown-body table{width:100%;margin:2em 0;border-collapse:collapse;font-family:sans-serif;font-size:14px;line-height:1.7}.markdown-body td,.markdown-body th{padding:12px 14px;border:1px solid var(--line);text-align:left}.markdown-body th{color:var(--forest);background:var(--leaf)}.markdown-body code{padding:2px 5px;background:var(--leaf);border-radius:3px;font-family:Consolas,monospace;font-size:.9em}.code-block{position:relative;margin:2em 0;border:1px solid var(--line);background:var(--white)}.code-block>div{overflow-x:auto;margin:0!important;padding:24px!important;background:transparent!important}.code-language{position:absolute;z-index:1;top:8px;right:10px;color:var(--moss);font-family:sans-serif;font-size:10px;font-weight:700;text-transform:uppercase}.post-pagination{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px;margin-top:80px;padding-top:30px;border-top:1px solid var(--line)}.post-pagination>span{min-height:1px}.post-pagination a{display:grid;grid-gap:7px;gap:7px;min-width:0;padding:18px;border:1px solid var(--line);transition:border-color .2s,transform .2s}.post-pagination a:last-child{text-align:right}.post-pagination a:hover{border-color:var(--forest);transform:translateY(-3px)}.post-pagination span{color:var(--moss);font-size:11px;font-weight:600}.post-pagination strong{overflow:hidden;font-family:"Noto Serif SC",serif;font-size:17px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-page{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;min-height:100vh;max-width:900px;margin:0 auto;padding:130px 24px 80px}.status-page h1{max-width:760px;margin:20px 0;font-family:"Noto Serif SC",serif;font-size:clamp(48px,8vw,86px);line-height:1.2;font-weight:600}.status-page>p:not(.eyebrow){max-width:620px;margin:0;color:var(--muted);font-family:"Noto Serif SC",serif;font-size:17px;line-height:2}.status-actions{display:flex;gap:14px;margin-top:34px}.status-actions .primary-button,.status-actions .secondary-button{display:inline-flex;align-items:center}.loading-page{align-items:center;color:var(--moss)}.loading-line{width:min(320px,70vw);height:2px;margin-bottom:18px;background:linear-gradient(90deg,transparent,var(--forest),transparent);animation:loading-pulse 1.2s ease-in-out infinite}@keyframes loading-pulse{50%{opacity:.25;transform:scaleX(.7)}}.write-page{min-height:100vh;padding:24px;background:var(--leaf)}.write-toolbar{display:flex;justify-content:space-between;max-width:900px;margin:0 auto 22px;color:var(--moss);font-size:12px}.write-form{max-width:900px;margin:0 auto;padding:clamp(24px,6vw,60px);background:var(--paper);box-shadow:var(--shadow)}.write-form h1{margin:0 0 36px;font-family:"Noto Serif SC",serif;font-size:clamp(38px,7vw,64px);font-weight:600}.write-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.write-form label{display:grid;grid-gap:8px;gap:8px;margin-bottom:18px;color:var(--muted);font-size:12px;font-weight:600}.write-form input,.write-form select,.write-form textarea{width:100%;padding:13px;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:3px;outline:0;resize:vertical}.write-form .draft-toggle{display:flex;align-items:center;gap:10px;padding:12px 0;color:var(--forest)}.draft-toggle input{width:auto}.write-form input:focus,.write-form select:focus,.write-form textarea:focus{border-color:var(--forest);box-shadow:0 0 0 3px color-mix(in srgb,var(--forest) 12%,transparent)}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.content-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:18px;gap:18px;margin-bottom:18px;align-items:stretch}.content-editor>.content-edit{display:grid;grid-template-rows:auto 1fr;grid-gap:8px;gap:8px;margin:0;color:var(--muted);font-size:12px;font-weight:600;min-height:480px}.content-editor textarea{width:100%;height:100%;min-height:460px;box-sizing:border-box}.content-preview-body{padding:18px;overflow:auto;height:100%;box-sizing:border-box;background:var(--white);border:1px solid var(--line);border-radius:3px}.content-preview-empty{margin:0;color:var(--muted);font-size:12px;font-family:sans-serif;line-height:1.6}@media (max-width:760px){.content-editor{grid-template-columns:1fr}.content-editor>.content-edit{min-height:0}.content-editor textarea,.content-preview-body{height:auto;min-height:320px}}.cover-picker{margin-bottom:18px}.cover-picker>label{margin-bottom:10px}.cover-dropzone{display:grid;place-items:center;grid-gap:16px;gap:16px;min-height:180px;padding:18px;background:var(--white);border:1px dashed var(--moss);outline:0;text-align:center;transition:border-color .2s,background .2s}.cover-dropzone:focus{border-color:var(--forest);background:var(--leaf);box-shadow:0 0 0 3px color-mix(in srgb,var(--forest) 12%,transparent)}.cover-dropzone.has-cover{grid-template-columns:minmax(0,1fr) auto;text-align:left}.cover-dropzone img{display:block;width:100%;max-height:280px;object-fit:cover;border:1px solid var(--line)}.cover-dropzone span,.cover-dropzone strong{display:block}.cover-dropzone span{margin-top:7px;color:var(--muted);font-size:11px}.cover-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.cover-actions button:disabled{cursor:wait;opacity:.6}.ai-writing-tools{margin-top:24px}.write-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.ai-settings-actions button:disabled,.write-actions button:disabled{cursor:wait;opacity:.6;transform:none}.ai-optimize-button{color:white;background:var(--moss);border-color:var(--moss)}.ai-optimize-button:hover{background:var(--forest)}.ai-settings-button{padding:10px 4px;color:var(--muted);background:transparent;border:0;cursor:pointer}.ai-settings-button:hover{color:var(--forest)}.ai-settings-panel{margin-top:22px;padding:20px 0 4px;border-block:1px solid var(--line)}.ai-settings-actions,.ai-settings-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.ai-settings-heading{margin-bottom:18px}.ai-settings-heading span,.ai-settings-heading strong{display:block}.ai-settings-heading strong{color:var(--ink);font-family:"Noto Serif SC",serif;font-size:18px}.ai-settings-heading span,.ai-settings-panel>p{margin-top:5px;color:var(--muted);font-size:11px}.ai-provider-summary{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:18px}.ai-provider-summary span{padding:12px;color:var(--muted);background:var(--leaf);font-size:11px}.ai-provider-summary strong{display:block;margin-top:5px;color:var(--ink);overflow-wrap:anywhere}.ai-settings-actions{justify-content:flex-end}.write-status{min-height:20px;color:var(--forest);font-size:13px}.post-manager{max-width:900px;margin:28px auto 80px;padding:clamp(24px,5vw,48px);background:var(--paper);box-shadow:var(--shadow)}.post-manager-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.image-cleanup{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}.unused-images{display:grid;grid-gap:10px;gap:10px;margin-top:14px}.unused-images>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;background:var(--leaf)}.unused-images code{color:var(--muted);overflow-wrap:anywhere}.post-manager-heading .eyebrow{margin-bottom:8px}.post-manager-heading h2{margin:0;font-family:"Noto Serif SC",serif;font-size:32px;font-weight:600}.post-manager-heading>span,.post-manager-item code,.post-manager-item span{color:var(--muted);font-size:11px}.post-manager-item{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;border-top:1px solid var(--line)}.post-manager-item h3{margin:6px 0;font-family:"Noto Serif SC",serif;font-size:20px;font-weight:600}.post-manager-actions{display:flex;flex:0 0 auto;gap:8px}.post-manager-actions .secondary-button{display:inline-flex;align-items:center}.danger-button{padding:11px 16px;color:#a23b32;background:transparent;border:1px solid #c98b85;border-radius:4px;cursor:pointer}.danger-button:hover{color:white;background:#a23b32;border-color:#a23b32}@media (max-width:1320px){.post-toc{display:none}.mobile-toc{display:block;max-width:852px;margin:108px auto -92px;padding:0 24px}.mobile-toc>button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:13px 0;color:var(--forest);background:transparent;border:0;border-block:1px solid var(--line);font-size:12px;font-weight:600;cursor:pointer}.mobile-toc nav{display:grid;padding:8px 0 14px;border-bottom:1px solid var(--line)}.mobile-toc a{padding:7px 0;color:var(--muted);font-size:12px}.mobile-toc a.nested{padding-left:16px}.mobile-toc a.active{color:var(--forest);font-weight:600}}@media (max-width:900px){.theme-toggle,.top-nav>a{display:none}.hero-stage{height:124vh;min-height:900px}.hero{grid-template-columns:1fr;padding-top:132px;gap:54px}.hero-copy{transform:translate3d(0,calc(var(--collapse) * -50px),0) scale(calc(1 - var(--collapse) * .34));opacity:calc(1 - var(--collapse) * 1.2)}.hero h1{font-size:clamp(58px,18vw,92px)}.portrait-wrap{width:min(82%,500px);margin:0 auto;transform:translate3d(calc(var(--collapse) * 25vw),calc(var(--collapse) * -300px),0) scale(calc(1 - var(--collapse) * .7))}.notes-strip,.section-heading{align-items:flex-start;flex-direction:column}.notes-strip{margin-top:-38vh}.projects-heading{align-items:flex-start;flex-direction:column}.projects-grid{grid-template-rows:auto}.projects-grid,.projects-grid.layout-compact,.projects-grid.layout-grid{grid-template-columns:1fr 1fr}.projects-grid.layout-list .project-card{grid-template-columns:1fr}.project-card-1{grid-column:span 2;grid-row:auto}.project-card-1 .project-image{min-height:400px}.layout-presets{grid-template-columns:1fr 1fr}.project-manager-list article{align-items:flex-start;flex-direction:column}.tags{justify-content:flex-start}}@media (max-width:600px){.site-header{padding-inline:18px}.publish-button{width:42px;height:42px;justify-content:center;padding:0;font-size:0}.compact-profile span,.site-header.scrolled .compact-profile{display:none}.hero-stage{height:108vh;min-height:700px}.hero{display:block;min-height:88vh;padding:122px 18px 52px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.small-note{margin-top:36px}.portrait-wrap{display:none}.notes-strip{padding:28px 18px;margin-top:-30vh}.projects-section{padding:74px 18px 80px}.projects-heading h2{font-size:38px}.projects-grid{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px}.projects-grid.layout-compact,.projects-grid.layout-grid{grid-template-columns:1fr}.project-card-1{grid-column:auto}.project-card-1 .project-image,.project-image{min-height:260px}.projects-manage-button{top:70px;right:18px}.project-manager-backdrop{padding:10px}.layout-presets{grid-template-columns:1fr}.project-manager-save,.project-manager-toolbar{align-items:stretch;flex-direction:column}.project-manager-actions{flex-wrap:wrap}.articles-section{padding:46px 18px 90px}.section-heading h2{font-size:36px}.filter-row{width:100%;overflow-x:auto}.filter{flex:1 0 auto}.article-search{grid-template-columns:18px 1fr auto}.article-search span{display:none}.article-card{grid-template-columns:1fr auto;gap:12px;padding:25px 0}.article-index{display:none}.article-card h3{font-size:21px}.article-card p{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.article-pagination{justify-content:space-between}.site-footer{flex-direction:column}.site-footer__links{justify-content:flex-start}.editor{padding:22px}.form-row{grid-template-columns:1fr;gap:0}.editor-actions{align-items:stretch;flex-direction:column-reverse}.post-manager-heading,.post-manager-item,.write-heading{align-items:stretch;flex-direction:column}.post-manager-actions{flex-wrap:wrap}.cover-dropzone.has-cover{grid-template-columns:1fr}.cover-actions{width:100%}.ai-settings-actions,.write-actions{align-items:stretch;flex-direction:column}.ai-settings-actions button,.write-actions button{justify-content:center;width:100%}.ai-provider-summary,.post-pagination{grid-template-columns:1fr}.post-pagination a:last-child{text-align:left}}