:root{color-scheme:light;--paper:#fbfaf7;--paper-deep:#f1eee8;--ink:#24211d;--muted:#756f66;--line:#ded8ce;--accent:#4f6f52;--white:#fff;--shadow:0 14px 34px #24211d14;--content-width:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{background:var(--paper);min-width:320px;color:var(--ink);margin:0;font-family:Noto Sans SC,Microsoft YaHei,Arial,Helvetica,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset: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}.site-header{z-index:10;border-bottom:1px solid var(--line);backdrop-filter:blur(16px);background:#fbfaf7eb;min-height:72px;position:sticky;top:0}.site-header__inner,.site-footer__inner{width:min(var(--content-width), calc(100% - 40px));justify-content:space-between;align-items:center;gap:24px;min-height:72px;margin:0 auto;display:flex}.brand{font-size:22px;font-weight:700}.site-nav{color:var(--muted);align-items:center;gap:clamp(14px,2.5vw,34px);font-size:14px;display:flex}.site-nav a{padding:8px 0}.site-nav a:hover{color:var(--ink)}.search-control{place-items:center;width:32px;height:32px;display:inline-grid}.search-control svg{width:18px;height:18px}main{width:min(var(--content-width), calc(100% - 40px));margin:0 auto}.home-intro{max-width:760px;padding:clamp(56px,8vw,104px) 0 clamp(36px,5vw,64px)}.home-intro h1{margin:0;font-size:clamp(42px,7vw,76px);font-weight:700;line-height:1.1}.home-intro p{max-width:620px;color:var(--muted);margin:22px 0 0;font-size:clamp(16px,2vw,20px)}.post-list{gap:28px;padding-bottom:88px;display:grid}.post-card{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.post-card__link{flex-direction:column-reverse;display:flex}.post-card__copy{grid-template-columns:1fr auto;gap:16px;padding:22px 24px;display:grid}.post-card__copy h2{margin:0;font-size:clamp(20px,2.5vw,28px);line-height:1.3}.post-card__copy p{color:var(--muted);margin:4px 0 0;font-size:13px}.post-card__media{background:var(--paper-deep);border-bottom:1px solid var(--line);place-items:center;display:grid}.post-card__media img{object-fit:contain;width:100%;max-height:620px;display:block}.post-card__link:hover h2{color:var(--accent)}.empty-state{max-width:680px;padding:96px 0}.empty-state h1{margin:0;font-size:clamp(32px,5vw,54px);line-height:1.15}.empty-state p{color:var(--muted)}.empty-state a{color:var(--accent);font-weight:700}.search-page{max-width:760px;padding:clamp(56px,8vw,104px) 0 88px}.search-page h1{margin:0 0 28px;font-size:clamp(34px,5vw,58px);line-height:1.2}.search-form{gap:8px;font-weight:700;display:grid}.search-form__controls{gap:10px;display:flex}.search-form input{min-width:0;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:4px;flex:1;padding:10px 12px}.search-form button{cursor:pointer;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:10px 14px}.search-count{min-height:1.7em;color:var(--muted);margin:16px 0}.search-results{gap:12px;margin:0;padding:0;list-style:none;display:grid}.search-results article{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:18px}.search-results h2{margin:0;font-size:20px;line-height:1.35}.search-results p{color:var(--muted);margin:4px 0 0;font-size:13px}.search-results a:hover h2{color:var(--accent)}.search-empty{color:var(--muted);margin:0}.post-detail{max-width:860px;padding:clamp(56px,8vw,104px) 0 88px}.post-detail__header{margin-bottom:32px}.post-detail__meta{color:var(--muted);gap:8px;margin:0 0 12px;font-size:14px;display:flex}.post-detail h1{margin:0;font-size:clamp(34px,5vw,58px);line-height:1.2}.post-detail__tags{flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0;list-style:none;display:flex}.post-detail__tags li{color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:13px}.post-gallery{gap:16px;display:grid}.post-gallery__trigger{cursor:zoom-in;background:var(--paper-deep);border:1px solid var(--line);border-radius:8px;width:100%;padding:0;display:block;overflow:hidden}.post-gallery__trigger img{object-fit:contain;width:100%;max-height:760px;display:block}.post-detail__body{max-width:720px;margin-top:40px;font-size:17px}.post-detail__body>:first-child{margin-top:0}.post-detail__body>:last-child{margin-bottom:0}.post-detail__navigation{border-top:1px solid var(--line);color:var(--accent);grid-template-columns:1fr auto 1fr;gap:16px;margin-top:56px;padding-top:24px;font-weight:700;display:grid}.post-detail__navigation a:last-child{text-align:right}.image-dialog{background:var(--paper);border:1px solid var(--line);border-radius:8px;width:min(1100px,100% - 32px);max-width:none;max-height:calc(100% - 32px);padding:0}.image-dialog::backdrop{background:#24211db8}.image-dialog__content{gap:12px;padding:12px;display:grid}.image-dialog__close{cursor:pointer;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:4px;justify-self:end;padding:8px 12px}.image-dialog__image{object-fit:contain;width:100%;max-height:calc(100vh - 120px);display:block}body.lightbox-open{overflow:hidden}.site-footer{border-top:1px solid var(--line);color:var(--muted);font-size:14px}.site-footer__inner{min-height:80px}@media (width<=640px){html{scroll-padding-top:96px}.site-header{height:96px;min-height:0}.site-header__inner{flex-wrap:wrap;align-content:center;gap:0 20px;height:95px;min-height:0;padding:4px 0}.site-nav{flex:100%;justify-content:space-between;gap:8px;font-size:13px}.site-nav a{padding:2px 0}.home-intro{padding-top:48px;padding-bottom:32px}.post-list{gap:20px;padding-bottom:56px}.post-card__copy{padding:18px}.post-detail,.search-page{padding-top:48px;padding-bottom:56px}.post-detail__navigation{grid-template-columns:1fr;gap:12px}.post-detail__navigation span{display:none}.post-detail__navigation a:last-child{text-align:left}.site-footer__inner{flex-direction:column;align-items:flex-start;gap:4px;min-height:auto;padding:22px 0}}
