:root{color:#333;font-synthesis:none;text-rendering:optimizeLegibility;--paper:#fff;--paper-deep:#f5f2ec;--ink:#333;--muted:#777;--line:#e8e2d8;--line-strong:#cfc5b8;--accent:#2f7d6b;--accent-dark:#236453;--danger:#a83224;--admin-bg:#171a1d;--admin-panel:#22262a;--admin-line:#3a4148;--admin-text:#eef1ed;--admin-muted:#aeb7b5;--mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;background:#faf9f6;font-family:Helvetica Neue,Helvetica,Arial,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.7}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{border:0}button,a{color:inherit}img{max-width:100%}.public-app{background:#faf9f6;min-height:100vh}.site-frame{max-width:1440px;min-height:100vh;margin:0 auto}.site-header{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#faf9f6f0;justify-content:space-between;align-items:center;gap:.75rem;padding:.48rem max(1rem,min(3vw,2rem));display:flex;position:sticky;top:0}.brand-mark,.site-nav button,.profile-links button,.tag-cloud button,.filter-bar button,.tags-large button{cursor:pointer;background:0 0}.brand-mark{text-align:left;padding:0;display:block}.brand-mark span{letter-spacing:0;font-size:1.05rem;font-weight:600}.site-nav{flex-wrap:wrap;justify-content:flex-end;gap:.15rem;display:flex}.site-nav button{color:var(--muted);border:1px solid #0000;border-radius:999px;padding:.22rem .5rem;font-size:.86rem}.site-nav button:hover,.site-nav button.active{border-color:var(--line-strong);color:var(--ink)}.archive-layout{grid-template-columns:minmax(190px,240px) minmax(0,1fr);gap:max(1rem,min(4vw,3rem));padding:max(1rem,min(3vw,2rem));display:grid}.archive-layout.home-shell{padding-top:max(2rem,min(8vh,4rem));display:block}.archive-aside{align-self:start;gap:.75rem;display:grid;position:sticky;top:4.5rem}.profile-card,.aside-block,.feature-post,.section-tile,.archive-band,.post-row,.empty-state,.photo-card,.tool-card{border:1px solid var(--line);box-shadow:none;background:#fbf7efd1}.profile-card,.aside-block{padding:.9rem}.profile-card h1{margin:0 0 .55rem;font-size:1.55rem;line-height:1}.profile-card p,.aside-block p,.page-header p,.home-hero p,.feature-post p,.section-tile p,.post-row p,.empty-state p,.article-summary{color:var(--muted)}.profile-links,.tag-cloud,.tags,.filter-bar{flex-wrap:wrap;gap:.35rem;display:flex}.profile-links button,.tag-cloud button,.filter-bar button,.tags span,.tags-large button{border:1px solid var(--line);border-radius:999px;align-items:center;gap:.35rem;padding:.24rem .5rem;font-size:.85rem;display:inline-flex}.tag-cloud button span,.filter-bar button span,.tags-large button span{color:var(--accent);font-family:var(--mono);font-size:.75rem}.filter-bar button.active,.tags-large button:hover,.profile-links button:hover,.tag-cloud button:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.filter-bar button.active span,.tags-large button:hover span,.tag-cloud button:hover span{color:var(--paper)}.stat-list{gap:.35rem;margin:0;display:grid}.stat-list div{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;padding-top:.35rem;display:flex}.stat-list dt{color:var(--muted)}.stat-list dd{font-family:var(--mono);margin:0}.content-stage{min-width:0}.site-footer{border-top:1px solid var(--line);color:var(--muted);font-family:var(--mono);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem .65rem;margin-top:max(2rem,min(7vw,5rem));padding:1rem max(1rem,min(3vw,2rem)) 1.2rem;font-size:.72rem;display:flex}.site-footer span:not(:last-of-type):after{color:var(--line-strong);content:"|";margin-left:.65rem}.site-footer button{color:var(--muted);cursor:pointer;font:inherit;text-underline-offset:.18em;background:0 0;padding:0;text-decoration:underline;text-decoration-thickness:1px}.page{max-width:920px;margin:0 auto}.page-header,.home-hero,.article-header{border-bottom:2px solid var(--ink);margin-bottom:1.25rem;padding-bottom:.8rem}.page-header h1,.home-hero h2,.article-header h1{margin:0;font-size:max(2rem,min(5vw,3.8rem));font-weight:500;line-height:1.08}.page-home{max-width:560px}.page-about{max-width:760px}.eyebrow{color:var(--accent);font-family:var(--mono);letter-spacing:0;text-transform:uppercase;margin:0 0 .45rem;font-size:.72rem}.home-grid{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:1rem;display:grid}.feature-post,.section-tile,.archive-band,.post-row,.empty-state{padding:1rem}.post-title-link{cursor:pointer;text-align:left;background:0 0;padding:0;font-size:max(1.2rem,min(2.2vw,1.75rem));font-weight:600;line-height:1.28;display:inline}.text-link:hover,.back-link:hover{color:var(--accent)}.post-meta,.post-date,.result-line,.muted,.tool-card small,.photo-card span{color:var(--muted);font-family:var(--mono);font-size:.82rem}.primary-action,.empty-state button,.action-bar button,.upload-fields button,.json-panel button,.json-compact button,.publish-panel button{background:var(--accent);border:1px solid var(--accent);color:#fff;cursor:pointer;border-radius:999px;padding:.62rem .9rem}.primary-action:hover,.empty-state button:hover{background:var(--accent-dark)}.section-index{gap:.55rem;display:grid}.home-entry-list{max-width:480px;margin:0 auto}.about-card{border-top:1px solid var(--line);padding-top:1rem}.about-card h2{margin:0 0 .7rem;font-size:max(1.6rem,min(4vw,2.4rem));font-weight:500;line-height:1.08}.about-card p{color:var(--muted);margin:0 0 .9rem}.resume-list{gap:.5rem;margin:0;display:grid}.resume-list div{border-top:1px solid var(--line);grid-template-columns:4rem minmax(0,1fr);gap:.35rem;padding-top:.5rem;display:grid}.resume-list dt{color:var(--accent);font-family:var(--mono);text-transform:uppercase;font-size:.78rem}.resume-list dd{color:var(--ink);margin:0}.section-tile{cursor:pointer;text-align:center;gap:.08rem;display:grid}.section-tile:hover,.post-row:hover,.tool-card:hover{border-color:var(--ink);transform:translateY(-1px)}.section-tile span,.tool-card span{color:var(--accent);font-family:var(--mono);text-transform:uppercase;font-size:.68rem}.section-tile strong{font-size:1.18rem;font-weight:500}.section-tile small{color:var(--muted);font-family:var(--mono)}.archive-band{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:1rem;margin-top:1rem;display:grid}.archive-band h3{margin:0}.post-list{gap:.6rem;display:grid}.post-row{grid-template-columns:120px minmax(0,1fr);gap:.8rem;display:grid}.post-row .post-title-link{font-size:max(1.1rem,min(2vw,1.55rem))}.post-row p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.35rem 0 .55rem;display:-webkit-box;overflow:hidden}.back-link{color:var(--muted);cursor:pointer;font-family:var(--mono);background:0 0;margin-bottom:1rem;padding:0}.article{max-width:860px}.article-header{margin-bottom:2rem}.article-body{overflow-wrap:anywhere;font-size:1.08rem}.article-body h1,.article-body h2,.article-body h3{margin:2rem 0 .8rem;line-height:1.2}.article-body p,.article-body li{margin:0 0 1rem}.article-body a{color:var(--accent-dark);text-underline-offset:.18em;text-decoration-thickness:1px}.article-body pre,.article-body code{font-family:var(--mono)}.article-body code{background:#0c6b5c17;border:1px solid #0c6b5c29;border-radius:4px;padding:.08rem .25rem;font-size:.9em}.article-body pre{color:#edf3ed;background:#1f2325;border-radius:6px;padding:1rem;overflow-x:auto}.article-body pre code{color:inherit;background:0 0;border:0;padding:0}.article-body blockquote{border-left:3px solid var(--accent);color:var(--muted);margin:1.5rem 0;padding-left:1rem}.article-body img{background:var(--paper-deep);border:1px solid var(--line);height:auto;margin:1.5rem auto;display:block}.article-body table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.article-body th,.article-body td{border:1px solid var(--line);padding:.5rem}.photo-group{border-top:1px solid var(--line);grid-template-columns:150px minmax(0,1fr);gap:1rem;padding:1.25rem 0;display:grid}.date-marker{gap:.2rem;display:grid}.date-marker span{font-family:var(--mono)}.date-marker small{color:var(--muted)}.photo-grid,.tool-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.photo-card{margin:0;overflow:hidden}.photo-card img,.tool-card img{aspect-ratio:4/3;background:var(--paper-deep);object-fit:cover;width:100%;display:block}.photo-card figcaption{gap:.2rem;padding:.85rem;display:grid}.tool-card{gap:.45rem;padding:.75rem;text-decoration:none;display:grid}.tool-card strong{font-size:1.25rem}.empty-state{place-content:center start;justify-items:start;min-height:220px;display:grid}.empty-state span{border:1px solid var(--line-strong);color:var(--accent);border-radius:50%;place-items:center;width:3rem;height:3rem;font-size:2rem;display:grid}.empty-state h2{margin:.8rem 0 0}.admin-app{background:radial-gradient(circle at top left,#0c6b5c38,transparent 30rem),var(--admin-bg);color:var(--admin-text);min-height:100vh;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.admin-login{place-items:center;min-height:100vh;padding:1rem;display:grid}.login-card,.admin-panel{border:1px solid var(--admin-line);background:#22262af0;border-radius:8px;box-shadow:0 20px 60px #00000038}.login-card{width:100%;max-width:430px;padding:2rem}.login-card h1,.admin-header h1,.admin-panel h2{margin:0}.login-card p,.admin-panel p,.admin-list-item span,.admin-panel label span{color:var(--admin-muted)}.login-card form,.admin-panel,.upload-fields,.json-compact,.json-panel{gap:.85rem;display:grid}.admin-workspace{max-width:1440px;margin:0 auto;padding:max(1rem,min(3vw,2rem))}.admin-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.status-pill{border:1px solid var(--admin-line);color:var(--admin-muted);font-family:var(--mono);border-radius:999px;padding:.45rem .7rem}.status-succeeded{border-color:var(--accent);color:#93e2d6}.status-failed{border-color:var(--danger);color:#ffb7ad}.admin-grid{grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:1rem;display:grid}.admin-panel{padding:1rem}.post-editor,.preview-panel,.media-panel,.publish-panel{grid-column:span 1}.media-panel,.json-panel,.publish-panel{grid-column:1/-1}.panel-heading{border-bottom:1px solid var(--admin-line);justify-content:space-between;align-items:start;gap:1rem;padding-bottom:.75rem;display:flex}.panel-heading>span{color:var(--admin-muted);font-family:var(--mono)}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.admin-panel label,.login-card label{gap:.35rem;display:grid}.admin-panel input,.admin-panel textarea,.login-card input{border:1px solid var(--admin-line);color:var(--admin-text);background:#15181a;border-radius:6px;width:100%;padding:.7rem}.admin-panel input:focus,.admin-panel textarea:focus,.login-card input:focus{border-color:var(--accent);outline:none}.markdown-input{min-height:360px}.json-input{font-family:var(--mono);min-height:260px}.preview{color:var(--ink);background:#f7f0e5;border-radius:6px;min-height:360px;padding:1rem}.action-bar{flex-wrap:wrap;gap:.5rem;display:flex}.action-bar button,.upload-fields button,.json-panel button,.json-compact button{border:1px solid var(--admin-line);color:var(--admin-text);cursor:pointer;background:0 0;border-radius:999px;padding:.58rem .85rem}.action-bar .primary-action,.publish-panel .primary-action{background:var(--accent);border-color:var(--accent)}.admin-list{gap:.65rem;max-height:640px;display:grid;overflow:auto}.admin-list-item{border:1px solid var(--admin-line);border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.5rem;padding:.5rem;display:grid}.load-post{color:var(--admin-text);cursor:pointer;text-align:left;background:0 0;gap:.2rem;padding:0;display:grid}.danger-action{color:#ffb7ad;cursor:pointer;background:#a832241f;border:1px solid #a832248c;border-radius:999px;padding:.45rem .65rem}.media-split{grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:1rem;display:grid}.publish-panel{justify-content:space-between;align-items:center;display:flex}@media (max-width:980px){.archive-layout,.home-grid,.archive-band,.photo-group,.admin-grid,.media-split{grid-template-columns:1fr}.archive-aside{position:static}.admin-list{max-height:none}}@media (max-width:680px){.site-header,.admin-header,.publish-panel{flex-direction:column;align-items:stretch}.site-nav{justify-content:flex-start}.archive-layout{padding:1rem}.post-row,.field-grid,.admin-list-item{grid-template-columns:1fr}.page-header h1,.home-hero h2,.article-header h1{font-size:2.4rem}}