/* Production additions to the selected C design. */
.article-search .search-status{min-height:24px;margin:12px 0 0}.search-clear.is-empty{visibility:hidden}
.article-search{margin:0 0 26px}.article-search label{display:block;margin-bottom:10px;font-size:14px;font-weight:600}.search-controls{display:flex;align-items:center;gap:10px}.search-controls input{flex:1;min-width:0;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:16px}.search-controls button,.home-pagination a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;font-size:14px}.search-controls button{cursor:pointer}.search-controls a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;white-space:nowrap}.article-search p{color:var(--muted);font-size:13px;line-height:1.8;overflow-wrap:anywhere}.home-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:28px 0;font-size:13px}.home-pagination>span{color:var(--muted)}.home-pagination a:hover,.search-controls button:hover{background:var(--accent)}.search-controls button:focus-visible,.home-pagination a:focus-visible{outline:3px solid #4c7b59;outline-offset:3px}@media(max-width:480px){.home-pagination{flex-wrap:wrap;gap:8px}.home-pagination>[aria-current]{order:3;width:100%;text-align:center}}
.brand-mark{display:inline-flex;width:40px;height:40px;flex-shrink:0;overflow:hidden;border-radius:10px}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.admin-sidebar .brand-mark{width:36px;height:36px}@media(max-width:760px){.header .brand-mark{width:32px;height:32px}}
.changelog-page{max-width:900px;padding:45px 0 80px}.changelog-heading{margin-bottom:36px}.changelog-heading h1{font-size:clamp(30px,4vw,44px);line-height:1.4;letter-spacing:-1px;margin:20px 0}.changelog-heading h1>span{color:var(--muted)}.changelog-heading>p{color:var(--muted);font-size:15px;line-height:1.9}.release-current{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:24px}.release-current strong{color:var(--ink)}.release-current>span{font-size:13px}.release-list{display:grid;gap:24px}.release-card{background:#ffffffbd;border:1px solid var(--line);border-radius:20px;padding:32px}.release-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.release-meta h2{font-size:24px;margin:0}.release-meta time{margin-left:auto;font-size:13px;color:var(--muted)}.release-card h3{font-size:21px;margin:24px 0 10px}.release-summary{font-size:15px;color:var(--muted);line-height:1.9}.release-changes{margin-top:24px}.release-changes h4{font-size:14px;margin:0 0 10px}.release-changes ul{padding-left:22px;margin:0;font-size:15px;line-height:1.9}.release-changes li+li{margin-top:6px}.release-note{color:var(--muted);font-size:13px;line-height:1.9;margin-top:26px}@media(max-width:600px){.changelog-page{padding-top:24px}.release-card{padding:22px}.release-meta{gap:10px}.release-meta time{width:100%;margin-left:0}}
body{overflow-wrap:anywhere}html{scroll-padding-top:24px}.header{gap:20px}.header .brand{max-width:55%;overflow-wrap:anywhere}.header nav{flex-shrink:0}.header nav a[aria-current]{border-bottom:2px solid var(--ink)}body[data-version=c] .hero{margin-bottom:40px}.hero-copy>p{max-width:480px}.hero-note{flex-wrap:wrap}.cover{display:block;width:100%;height:240px;object-fit:cover;border-radius:11px}.post h3 a{display:flex;gap:12px;justify-content:space-between}.post h3 a span{flex-shrink:0}.post p{min-height:2em}.about>div:nth-child(2){min-width:0;max-width:750px}.about p{white-space:pre-line}.avatar{width:125px;height:125px;object-fit:cover;border-radius:50%}.filters{flex-wrap:wrap}.filters a{display:inline-flex;align-items:center;min-height:44px;padding:10px 17px;border:1px solid var(--line);border-radius:30px;font-size:13px}.filters a[aria-current]{background:var(--ink);color:white;border-color:var(--ink)}.inline-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;text-decoration:underline;text-underline-offset:5px}.empty{grid-column:1/-1;padding:55px 30px;text-align:center;border:1px dashed var(--line);border-radius:18px}.empty h3{margin:14px 0}.empty p{color:var(--muted);font-size:15px;line-height:1.8}.empty .eyebrow{justify-content:center}.empty .primary{margin-top:15px}.admin-nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0;margin-bottom:30px;font-size:13px}.admin-nav>a{padding:12px}.admin-nav form{margin-left:auto}.text-button{background:none;padding:12px 4px;min-height:44px}.notice{background:#e3efda;border:1px solid #c2d8b4;border-radius:10px;padding:17px 22px;margin-top:16px;margin-bottom:22px;font-size:14px;line-height:1.8}.notice.error{background:#fff0e9;border-color:#e4c1b2;color:#8a341f}.notice a{text-decoration:underline}.admin-page{padding:20px 0 60px}.admin-page h1{font-size:38px;letter-spacing:-1px;margin:15px 0 25px}.admin-page>.section-heading{align-items:center}.admin-page h1+p{margin-top:-10px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:24px 0}.metrics>div{background:white;border:1px solid var(--line);padding:24px;border-radius:16px}.metrics span{color:var(--muted);font-size:13px}.metrics strong{display:block;font:44px Arial,sans-serif;margin-top:20px;letter-spacing:-2px}.metrics strong small{font-size:15px;letter-spacing:0}.stats-help{color:var(--muted);font-size:13px;line-height:1.9;margin-bottom:36px}.stats-help summary{cursor:pointer;padding:10px 0;min-height:44px}.admin-post{display:flex;gap:24px;padding:25px 0;border-bottom:1px solid var(--line);align-items:center}.admin-cover{width:160px;height:110px;object-fit:cover;border-radius:12px;flex-shrink:0}.placeholder{display:grid;place-items:center;background:var(--surface);font-size:50px}.admin-post-info{min-width:0;flex:1}.admin-post h3{margin-top:10px}.admin-post p{color:var(--muted);font-size:12px;line-height:1.7;margin-bottom:0}.badge{padding:4px 9px;border-radius:5px;background:#e6e9df;font-size:11px}.badge.published{background:#d7eadc;color:#265b37}.actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:12px}.actions>a{padding:12px 0;min-height:44px}.danger{color:#a54031}.editor-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:26px;align-items:start;margin-top:30px}.article-editor{margin-top:30px}.article-editor>.primary{display:flex}.article-editor .edit-cover{display:block;max-width:480px}.form-panel{background:#ffffffbd;border:1px solid var(--line);border-radius:18px;padding:30px;min-width:0}.form-panel label{display:block;font-size:14px;margin:0 0 10px;font-weight:600}.form-panel label:not(:first-child){margin-top:25px}.form-panel small{font-size:11px;font-weight:400;color:var(--muted);margin-left:8px}.form-panel input:not([type=hidden]),.form-panel textarea,.form-panel select{width:100%;padding:13px;border:1px solid #aabdac;border-radius:8px;font:inherit;font-size:14px;line-height:1.6;color:var(--ink);background:#fff;min-height:46px}.form-panel input[type=file]{padding:10px;font-size:12px}.form-panel input[type=file]::file-selector-button{border:0;background:var(--surface);color:var(--ink);border-radius:4px;padding:9px;cursor:pointer;margin-right:10px}.form-panel textarea{resize:vertical;font:14px/1.8 Arial,"Microsoft YaHei",sans-serif}.form-panel .primary{margin-top:26px;justify-content:center;min-width:150px}.form-panel .check-label{display:flex;align-items:center;gap:10px;font-weight:400}.form-panel input[type=checkbox]{width:20px;min-height:20px}.hint{color:var(--muted);font-size:12px;line-height:1.9}.hint a{text-decoration:underline}.secondary{display:inline-flex;justify-content:center;align-items:center;background:transparent;border:1px solid var(--line);border-radius:30px;min-height:44px;padding:10px 20px;margin-top:15px;font-size:13px}.edit-cover{width:100%;max-height:240px;object-fit:cover;border-radius:10px;margin-bottom:18px}.login-panel{width:min(470px,90%);margin:50px auto 100px}.login-panel h1{font-size:38px;letter-spacing:-1px}.login-panel form{margin-top:30px}.login-panel .primary{width:100%}.login-panel .muted{font-size:14px}.media-upload{max-width:650px;margin:30px 0}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.media-grid img{width:100%;height:180px;object-fit:contain;background:var(--surface);border-radius:8px}.media-grid .form-panel{padding:18px}.media-grid label{font-size:12px}.reading-layout{max-width:820px;padding:25px 0 80px}.article-header{margin:32px 0}.article-header h1{font-size:clamp(30px,4vw,48px);letter-spacing:-1px;line-height:1.45;margin:22px 0}.article-header>p{font-size:16px;line-height:1.8;color:var(--muted)}.article-header .meta{font-size:12px}.article-cover{width:100%;max-height:460px;object-fit:cover;border-radius:20px;margin-bottom:35px}.prose{font-size:17px;line-height:1.95;color:#2d483b}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{margin:1.6em 0 .6em;line-height:1.45;letter-spacing:-.5px}.prose h1{font-size:30px}.prose h2{font-size:26px}.prose h3{font-size:21px}.prose h4{font-size:19px}.prose h5{font-size:18px}.prose h6{font-size:17px}.prose p{margin:1em 0}.prose img{max-width:100%;height:auto;border-radius:10px}.prose a{color:#246543;text-decoration:underline;text-underline-offset:3px}.prose blockquote{margin:24px 0;border-left:3px solid #92b49b;padding:1px 22px;background:#e4eee5;color:#4b6a56}.prose pre{overflow:auto;background:#e6ede7;border:1px solid var(--line);padding:20px;border-radius:12px;font-size:14px;line-height:1.7}.prose code{font-family:Consolas,monospace;background:#e6ede7;padding:2px 5px;border-radius:3px;overflow-wrap:anywhere}.prose pre code{padding:0;overflow-wrap:normal}.prose table{display:block;overflow-x:auto;border-collapse:collapse;margin:24px 0;font-size:14px}.prose th,.prose td{border:1px solid var(--line);padding:10px 15px}.prose th{background:#e4eee5}.prose ul,.prose ol{padding-left:26px}.article-end{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:35px 0;margin-top:35px;border-top:1px solid var(--line);font-size:14px}.article-end a{text-decoration:underline}.privacy-note{font-size:11px;color:var(--muted);line-height:1.9}.profile{display:grid;grid-template-columns:.85fr 1.2fr;gap:70px;padding:60px 0 100px;align-items:start}.profile h1{font-size:48px;letter-spacing:-2px;margin-top:25px}.profile h2{font-size:22px}.profile-visual{padding-top:20px}.profile-visual .art{height:400px;border-radius:130px 130px 20px 20px}.profile-visual .eyebrow{justify-content:center;margin-top:25px;font-size:10px}.profile-avatar{width:100%;aspect-ratio:1;object-fit:cover;border-radius:30px}.profile-text{white-space:pre-line;font-size:16px;line-height:2;margin:25px 0;color:var(--muted)}input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #4c7b59;outline-offset:3px}footer a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:900px){.editor-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.media-grid{grid-template-columns:repeat(2,1fr)}.profile{gap:35px}.profile h1{font-size:38px}}
@media(max-width:600px){.header .brand{font-size:16px;letter-spacing:0!important;gap:3px}.header .brand-mark{font-size:24px}.header nav{gap:12px;font-size:12px}.admin-nav{gap:4px}.admin-nav a{padding:10px}.admin-nav form{margin-left:0}.admin-page h1{font-size:29px}.admin-page>.section-heading{display:block}.admin-page>.section-heading .primary{margin-top:10px}.metrics{gap:10px}.metrics>div{padding:17px}.metrics span{font-size:12px}.metrics strong{font-size:34px}.form-panel{padding:22px}.admin-post{align-items:flex-start;gap:15px}.admin-cover{width:80px;height:80px}.admin-post h3{font-size:16px}.actions{gap:10px}.media-grid{grid-template-columns:1fr}.profile{grid-template-columns:1fr;gap:35px;padding:20px 0 55px}.profile-visual .art{height:240px}.profile-avatar{max-height:300px}.profile h1{font-size:38px}.cover{height:235px}.about-symbol .avatar{width:75px;height:75px}.reading-layout{padding-top:15px}.prose{font-size:16px}.article-header h1{font-size:30px}.form-panel small{display:block;margin:6px 0 0}.filters a{padding:10px 14px}body[data-version=c] .hero{overflow:hidden}.hero-note .line{display:none}}
/* Shared public sidebar. */
.journal-layout,.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 294px;gap:32px;align-items:start}
.journal-layout{padding-top:38px;padding-bottom:55px}
body[data-version=c] .journal-layout .articles{padding:0;min-width:0}
.journal-layout .posts{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.journal-layout .section-heading{align-items:start;gap:18px;flex-wrap:wrap}
.journal-layout .filters{gap:6px}
.journal-layout .filters a{padding:9px 14px}
.article-layout{padding-top:25px;padding-bottom:60px}
.article-layout .reading-layout{width:100%;min-width:0;padding:0 0 20px}
.blog-sidebar{display:grid;gap:16px;min-width:0}
.sidebar-profile{position:relative;overflow:hidden;padding:22px;color:#214d3c;border:1px solid #b9d5c2;border-radius:18px;background:linear-gradient(145deg,#e2efcf,#bbdacb);box-shadow:0 8px 24px #315d4210}
.profile-greeting{display:table;margin:0 auto 28px;padding:7px 12px;border-radius:20px;background:#ffffff80;font-size:11px;line-height:1.5}
.sidebar-avatar{display:block;position:relative;width:112px;height:112px;margin:0 auto 28px;border:4px solid white;border-radius:50%;background:#f2f7e9}
.sidebar-avatar img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
.sidebar-avatar>span:first-child{display:grid;place-items:center;height:100%;color:#3c7258;font-size:48px;font-weight:700}
.profile-status{position:absolute;right:-3px;bottom:-3px;display:grid;place-items:center;width:29px;height:29px;border:3px solid #fff;border-radius:50%;background:#e0efac;color:#41633c;font-size:17px}
.sidebar-profile h2{font-size:24px;letter-spacing:-.5px;margin:0 0 6px;line-height:1.4}
.sidebar-tagline{font-size:13px;line-height:1.7;margin:0}
.sidebar-bio{font-size:12px;line-height:1.9;margin:12px 0 0;color:#3e6452;white-space:pre-line}
.profile-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.profile-links a{display:inline-flex;gap:18px;align-items:center;min-height:44px;padding:8px 14px;border-radius:24px;background:#ffffff80;font-size:12px}
.sidebar-profile a:focus-visible{outline-color:#285640}
.sidebar-card{padding:19px 20px;border:1px solid var(--line);border-radius:16px;background:#ffffffdb}
.sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.sidebar-heading h2{display:flex;align-items:center;gap:7px;margin:0;font-size:16px;letter-spacing:0;line-height:1.5}
.sidebar-heading>a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:var(--muted);white-space:nowrap}
.recent-posts{list-style:none;padding:0;margin:0}
.recent-posts li{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid #e9eee9}
.recent-posts li:last-child{border:0;padding-bottom:2px}
.recent-number{display:grid;place-items:center;width:24px;height:24px;flex-shrink:0;border:1px solid #d5e4d8;border-radius:50%;background:#f0f6ed;color:#567366;font-size:12px}
.recent-posts li:first-child .recent-number{background:#47765b;border-color:#47765b;color:#fff}
.recent-posts a{display:block;min-width:0;min-height:44px;flex:1}
.recent-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:13px;line-height:1.7}
.recent-posts a:hover .recent-title{color:#285640}
.recent-posts time{display:block;font:10px/1.6 Consolas,monospace;color:var(--muted);margin-top:5px}
.recent-posts .sidebar-empty{display:block;color:var(--muted);font-size:13px;line-height:1.8;padding:14px 0}
@media(min-width:761px) and (max-width:1050px){.journal-layout,.article-layout{grid-template-columns:minmax(0,1fr) 270px;gap:24px}.journal-layout .posts{grid-template-columns:1fr}.sidebar-card{padding:17px}.journal-layout .cover{height:240px}}
@media(max-width:760px){.journal-layout,.article-layout{grid-template-columns:1fr;gap:28px}.journal-layout{padding-top:30px;padding-bottom:35px}.journal-layout .posts{grid-template-columns:1fr;gap:18px}.journal-layout .post{margin-bottom:0}.blog-sidebar{gap:16px}.sidebar-profile{padding:24px}.sidebar-bio{font-size:13px}.sidebar-card{padding:20px}.recent-title{font-size:14px}.article-layout{padding-top:15px;padding-bottom:40px}}

/* Reading navigation follows the article's heading hierarchy. */
.article-toc[hidden]{display:none}
.mobile-toc-toggle{display:none}
.article-toc .sidebar-heading{margin-bottom:12px}
.toc-links{display:grid;gap:4px;max-height:42vh;overflow-y:auto;padding:4px}
.toc-links a{display:block;min-height:44px;padding:11px 12px;border-left:3px solid transparent;border-radius:7px;font-size:14px;line-height:1.6;color:var(--muted);transition:background .18s,color .18s}
.toc-links a[data-level="1"]{padding-left:24px}
.toc-links a[data-level="2"]{padding-left:36px}
.toc-links a[data-level="3"],.toc-links a[data-level="4"],.toc-links a[data-level="5"]{padding-left:48px}
.toc-links a:hover,.toc-links a:focus-visible{background:#e8f1e6;color:#285640}
.toc-links a[aria-current]{background:#edf4e8;color:#285640;border-left-color:#6e9560;font-weight:700}
.profile-links a,.sidebar-avatar,.recent-posts a{transition:background .18s,box-shadow .18s,transform .18s}
.profile-links a:hover{background:#fff;box-shadow:0 4px 12px #214d3c12;transform:translateY(-2px)}
.sidebar-avatar:hover{box-shadow:0 0 0 5px #ffffff55;transform:translateY(-2px)}
.recent-posts a:hover,.recent-posts a:focus-visible{background:#edf4e8;border-radius:6px;box-shadow:0 0 0 5px #edf4e8}

.sidebar-categories{display:flex;flex-wrap:wrap;gap:9px}
.sidebar-categories a{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 13px;border:1px solid var(--line);border-radius:24px;background:#f3f7ef;font-size:13px;transition:background .18s,transform .18s}
.sidebar-categories a span{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.sidebar-categories a:hover,.sidebar-categories a:focus-visible{background:#dcebd6;transform:translateY(-2px)}
.sidebar-categories a[aria-current]{background:#285640;border-color:#285640;color:white}
.sidebar-categories a[aria-current] span{color:#e1eddd}
.admin-nav>a[aria-current]{background:var(--surface);border-radius:8px;font-weight:600}

@media(min-width:901px){.statistics-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
.category-nav{display:flex;align-items:center;gap:10px;overflow-x:auto;padding:14px 2px 20px;border-bottom:1px solid var(--line);scrollbar-width:thin}
.category-nav a{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;min-height:44px;padding:10px 20px;border:1px solid #dce7db;border-radius:30px;background:#fff;font-size:13px;font-weight:600;white-space:nowrap;transition:background .18s,transform .18s,box-shadow .18s}
.category-nav a:hover,.category-nav a:focus-visible{background:#e3efda;transform:translateY(-2px);box-shadow:0 4px 12px #214d3c0c}
.category-nav a[aria-current]{color:#fff;background:#285640;border-color:#285640}
footer.site-footer{display:block;padding:0;margin-top:30px;background:#ffffff8c}
.footer-directory{display:grid;grid-template-columns:1.5fr 1.1fr 1fr .8fr;gap:48px;padding:52px 0 46px;align-items:start}
.footer-intro,.footer-column{min-width:0}
.site-footer .footer-identity{display:flex;align-items:center;gap:14px}
.footer-identity strong{display:block;font-size:19px;font-weight:600;letter-spacing:1px}
.footer-identity small{display:block;margin-top:7px;font-size:11px;line-height:1.7}
.footer-intro p{color:var(--muted);font-size:14px;line-height:1.9;margin:22px 0 16px}
.site-footer .footer-note{font-size:11px;letter-spacing:.5px}
.footer-note>span{color:#789562;margin-right:6px}
.footer-column h2{font-size:14px;letter-spacing:.3px;margin:6px 0 18px;line-height:1.6;font-weight:600}
.footer-column h2>span{color:#789562;margin-left:6px}
.footer-column ul{list-style:none;margin:0;padding:0}
.footer-column li{font-size:13px;color:var(--muted);line-height:1.7}
.footer-column a{gap:10px;min-height:38px;padding:6px 0;transition:color .18s}
.footer-column a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.footer-column a>span{font-size:12px}
.footer-coming{padding-top:7px}
.footer-coming small{display:block;font-size:12px;line-height:1.9;margin-top:12px;color:var(--muted)}
.footer-bottom{border-top:1px solid var(--line);background:#e8f0e980}
.footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 0}
.footer-contacts{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex-shrink:0}
.site-footer .social-icon{display:grid;place-items:center;width:44px;height:44px;min-height:44px;border-radius:50%;color:var(--muted);transition:transform .18s,background .18s}
.social-icon svg{display:block;width:23px;height:23px}
.site-footer a.social-icon:hover,.site-footer a.social-icon:focus-visible{background:#dcebd6;color:var(--ink);transform:translateY(-2px)}
.site-footer .is-unconfigured{opacity:.4;cursor:default}
.site-footer .footer-avatar{display:grid;place-items:center;flex-shrink:0;width:52px;height:52px;min-height:52px;border-radius:50%;background:#d9e8ce;border:3px solid #fff;box-shadow:0 0 0 1px var(--line);overflow:hidden}
.footer-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.site-footer .footer-avatar span{font-size:23px;font-weight:600;color:var(--ink)}
.footer-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;font-size:11px;color:var(--muted)}
.footer-meta small{width:auto}
.footer-meta>a{font-size:11px}
@media(max-width:1000px){.footer-directory{gap:30px;grid-template-columns:1.3fr 1fr 1fr}.footer-intro{grid-column:1/-1}.footer-intro p{margin:16px 0 10px}.footer-intro p br{display:none}.footer-bottom-inner{flex-wrap:wrap;gap:4px 20px}}
@media(max-width:600px){.footer-directory{grid-template-columns:1fr 1fr;gap:28px 24px;padding:32px 0}.footer-intro{grid-column:1/-1}.footer-column h2{margin-bottom:10px}.footer-column a{min-height:44px}.footer-bottom-inner{flex-direction:column;align-items:flex-start;padding:14px 0;gap:4px}.footer-meta{gap:4px 14px}.footer-contacts{gap:3px}.footer-identity strong{font-size:18px}.footer-note{display:inline-block}.footer-coming small{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.site-footer a.social-icon{transition:none}.site-footer a.social-icon:hover{transform:none}}
.social-settings-title{font-size:22px;margin-top:32px}
@media(max-width:600px){.category-nav{gap:8px}.category-nav a{padding:10px 16px}}

/* Article carousel */
.article-banner{position:relative;margin-top:20px;margin-bottom:40px;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:var(--surface)}
.banner-slide{position:relative;display:block;height:360px;color:#fff;isolation:isolate}
.banner-slide[hidden],.banner-controls[hidden]{display:none}
.banner-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0!important;z-index:-2}
.banner-slide::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#15392a00 15%,#0c251dcc 100%);z-index:-1}
.banner-slide:hover{filter:none}
.banner-copy{position:absolute;left:38px;right:38px;bottom:86px}
.banner-category{display:inline-block;font-size:12px;letter-spacing:1px;margin-bottom:12px}
body[data-version=c] .banner-copy h1{color:#fff;font-size:clamp(24px,3vw,38px);line-height:1.4;letter-spacing:-.5px;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.banner-read{display:block;margin-top:12px;font-size:12px;color:#ffffffd9}
.banner-controls{position:absolute;bottom:20px;left:30px;right:30px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.banner-dots,.banner-arrows{display:flex;align-items:center}
.banner-dot{display:grid;place-items:center;width:32px;height:44px;padding:0;background:transparent}
.banner-dot::after{content:'';width:7px;height:7px;border-radius:20px;background:#ffffff80;transition:width .2s}
.banner-dot[aria-pressed=true]::after{width:24px;background:#fff}
.banner-arrows{gap:8px}
.banner-arrows button{width:44px;height:44px;border-radius:50%;background:#ffffff2b;color:#fff;font-size:30px;line-height:1}
.article-banner :focus-visible{outline:3px solid #fff;outline-offset:-4px}
.banner-cover.wave .shape{scale:1.6}
.site-footer .footer-credit{font-size:11px;line-height:1.8;margin:12px 0 0}
.footer-credit a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.article-banner{margin-top:10px;border-radius:20px}.banner-slide{height:300px}.banner-copy{left:22px;right:22px;bottom:86px}.banner-controls{left:14px;right:18px;bottom:16px}.banner-dot{width:28px}.banner-cover.wave .shape{scale:1.1}}
@media(prefers-reduced-motion:reduce){.banner-dot::after{transition:none}}

/* About: reuse profile settings and render the calendar without chart scripts. */
.about-page{padding:38px 0 72px}
.about-heading{margin-bottom:32px}
.about-heading h1{font-size:clamp(28px,3.3vw,44px);letter-spacing:-1.5px;margin:18px 0 12px;line-height:1.4}
.about-heading h1 span{color:#719254}
.about-heading>p{font-size:14px;color:var(--muted);margin:0}
.about-overview{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.about-identity{padding:30px;border:1px solid #c7dccb;border-radius:22px;background:linear-gradient(130deg,#e2efdb,#eaf3ec);display:flex;flex-direction:column;align-items:flex-start}
.about-person{display:flex;align-items:center;gap:18px;min-width:0}
.about-avatar{display:grid;place-items:center;width:80px;height:80px;flex-shrink:0;border:4px solid #ffffffb3;border-radius:50%;background:#c8ddbd;font-size:32px}
.about-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.about-person h2{margin:0 0 6px;font-size:24px;letter-spacing:0}
.about-person p{font-size:13px;line-height:1.7;margin:0;color:var(--muted)}
.about-intro{white-space:pre-line;font-size:14px;line-height:1.9;margin:22px 0 18px}
.about-contacts{display:flex;flex-wrap:wrap;gap:10px}
.about-contacts:empty{display:none}
.about-contacts .social-icon{display:grid;place-items:center;width:44px;height:44px;background:#ffffffa6;border:1px solid #d2e2d0;border-radius:50%;color:var(--ink)}
.about-contacts a:hover{background:white}
.about-note{font-size:12px;color:var(--muted);margin-top:auto;padding-top:22px}
.about-note>span{margin-right:6px;color:#648745}
.about-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.about-stat{margin:0;background:#ffffffba;border:1px solid var(--line);border-radius:20px;padding:24px 12px;text-align:center;display:flex;flex-direction:column-reverse;justify-content:center;gap:10px}
.about-stat dt{font-size:12px;color:var(--muted)}
.about-stat dd{font-size:34px;line-height:1.2;letter-spacing:-1px;margin:0;font-variant-numeric:tabular-nums}
.about-stat small{font-size:11px;margin-left:5px;letter-spacing:0;color:var(--muted)}
.about-reading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#dcebcf;border:1px solid #cbdcbb;border-radius:20px;padding:24px 28px;font-size:20px;font-weight:600}
.about-reading small{display:block;margin-top:10px;color:var(--muted);font-size:12px;font-weight:400}
.about-reading>span:last-child{display:grid;place-items:center;width:44px;height:44px;border:1px solid #b8cfa7;border-radius:50%;font-size:25px;flex-shrink:0}
.activity-card{background:#ffffffc9;border:1px solid var(--line);border-radius:22px;padding:28px 30px;margin-top:24px}
.activity-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}
.activity-heading h2{font-size:20px;margin:0;letter-spacing:0}
.activity-heading p{font-size:12px;line-height:1.8;margin:8px 0 0;color:var(--muted)}
.activity-heading strong{color:var(--ink);font-weight:600}
.activity-legend{display:flex;align-items:center;gap:5px;flex-shrink:0;font-size:11px;color:var(--muted)}
.activity-cell{display:block;aspect-ratio:1;border-radius:3px;background:#edf1ed;min-width:0}
.activity-legend .activity-cell{width:12px;height:12px}
.activity-cell.level-1{background:#cce5cc}.activity-cell.level-2{background:#95c6a1}.activity-cell.level-3{background:#539969}.activity-cell.level-4{background:#276044}
.activity-padding{visibility:hidden}
.activity-scroll{overflow-x:auto;padding:14px 2px 8px}
.activity-chart{display:flex;gap:9px;min-width:760px}
.activity-weekdays{display:grid;grid-template-rows:repeat(7,1fr);padding-top:23px;width:12px;flex-shrink:0;font-size:10px;color:var(--muted);gap:4px;line-height:1}
.activity-weekdays span:nth-child(2){grid-row:3}.activity-weekdays span:nth-child(3){grid-row:7}
.activity-weeks{display:flex;gap:4px;flex:1;min-width:0}
.activity-week{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.activity-month{height:19px;white-space:nowrap;font-size:10px;color:var(--muted)}
.activity-week .activity-cell{position:relative}
.activity-week .activity-cell:hover,.activity-week .activity-cell:focus-visible{outline:2px solid #276044;outline-offset:1px;z-index:1}
.activity-week .activity-cell:before{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);border-radius:5px;background:#214d3c;color:#fff;padding:6px 9px;font-size:11px;white-space:nowrap;display:none;pointer-events:none}
.activity-week .activity-cell:hover:before,.activity-week .activity-cell:focus-visible:before{display:block}
.activity-week:nth-child(-n+5) .activity-cell:before{left:0;transform:none}
.activity-week:nth-last-child(-n+5) .activity-cell:before{left:auto;right:0;transform:none}
.activity-caption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:14px 0 0;line-height:1.7}
.activity-empty{margin:18px 0 0;font-size:13px;color:var(--muted)}
.about-story{padding:38px 0 0;max-width:780px}
.about-story h2{font-size:26px;margin-top:12px}
.about-story .profile-text{margin:18px 0 24px}
.about-page a:focus-visible,.activity-scroll:focus-visible{outline:3px solid #4c7b59;outline-offset:4px}
@media(max-width:900px){.about-overview{grid-template-columns:1fr}.about-stat{padding:22px 12px}.about-reading{padding:22px 26px}}
@media(max-width:600px){.about-page{padding:24px 0 48px}.about-heading{margin-bottom:24px}.about-heading h1{letter-spacing:-.7px}.about-identity{padding:24px}.about-person{gap:14px}.about-avatar{width:64px;height:64px}.about-person h2{font-size:22px}.about-numbers{gap:10px}.about-stat{padding:20px 6px;border-radius:16px}.about-stat dd{font-size:28px}.about-stat dt{font-size:11px}.about-reading{font-size:18px;padding:20px;border-radius:16px}.activity-card{padding:22px 18px;margin-top:18px}.activity-heading{align-items:flex-start;flex-direction:column;gap:12px}.activity-legend{align-self:flex-end}.activity-chart{min-width:760px}.about-story{padding-top:30px}.about-story h2{font-size:24px}}

/* Article navigation sits beside the text; focus mode keeps only the reading column. */
.article-layout{grid-template-areas:"toc" "content" "sidebar";grid-template-columns:minmax(0,1fr)}
.article-layout>.article-toc{grid-area:toc;min-width:0}
.article-layout>.reading-layout{grid-area:content}
.article-layout>.blog-sidebar{grid-area:sidebar}
.reading-toolbar{position:sticky;top:12px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.reading-mode-toggle{min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:24px;background:var(--surface);font-size:13px;white-space:nowrap}
.reading-mode-toggle[hidden]{display:none}
.reading-mode-toggle[aria-pressed=true]{background:#285640;color:white;border-color:#285640}
@media(min-width:761px){
  .article-layout{grid-template-columns:200px minmax(0,1fr);grid-template-areas:"toc content" ". sidebar";gap:28px}
  .article-layout>.article-toc{position:sticky;top:24px;max-height:calc(100vh - 48px)}
  .article-layout>.article-toc .toc-links{max-height:calc(100vh - 150px)}
}
@media(min-width:1100px){
  body[data-version=c] .article-layout{width:min(1500px,94%);grid-template-columns:220px minmax(0,1fr) 260px;grid-template-areas:"toc content sidebar"}
  .article-layout>.blog-sidebar{position:sticky;top:var(--sidebar-top,24px)}
}
@media(min-width:761px){
  .article-layout:not(.is-immersive):has(>.article-toc[hidden]){grid-template-columns:minmax(0,1fr) 270px;grid-template-areas:"content sidebar"}
  .article-layout:has(>.article-toc[hidden])>.blog-sidebar{position:sticky;top:var(--sidebar-top,24px)}
}
body[data-version=c] .article-layout.is-immersive{width:min(820px,90%);grid-template-columns:minmax(0,1fr);grid-template-areas:"content"}
.article-layout.is-immersive>.article-toc,.article-layout.is-immersive>.blog-sidebar{display:none}
.article-pagination{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 24px}
.article-pagination>a,.pagination-empty{min-width:0;padding:18px;border:1px solid var(--line);border-radius:12px;font-size:13px;line-height:1.7}
.article-pagination>a{display:block;background:var(--surface)}
.article-pagination>a:hover{background:#e3efda}
.article-pagination>a:focus-visible{outline:3px solid #4c7b59;outline-offset:3px}
.article-pagination span,.pagination-empty{color:var(--muted)}
.article-pagination strong{display:block;margin-top:8px;font-size:15px}
@media(max-width:760px){
  .article-layout{grid-template-areas:"content"}
  .journal-layout>.blog-sidebar,.article-layout>.article-toc,.article-layout>.blog-sidebar,.article-layout .reading-mode-toggle{display:none}
  .mobile-toc-toggle:not([hidden]){display:block;position:fixed;left:16px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:32;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:24px;background:var(--bg);color:var(--ink);box-shadow:0 4px 18px #214d3c18;font-size:14px}
  .mobile-toc-toggle[aria-expanded=true]{background:var(--ink);color:var(--bg)}
  .article-layout>.article-toc.is-open{display:block;position:fixed;inset:auto 16px calc(76px + env(safe-area-inset-bottom,0px));z-index:31;max-height:65vh;max-height:65dvh;margin:0;padding:16px;background:var(--bg);box-shadow:0 8px 32px #214d3c26}
  .article-toc .toc-links{max-height:calc(65vh - 86px);max-height:calc(65dvh - 86px);overscroll-behavior:contain;overflow-wrap:anywhere}
  .article-pagination{grid-template-columns:minmax(0,1fr)}
}

.seedling-top{position:fixed;right:28px;bottom:calc(28px + env(safe-area-inset-bottom,0px));z-index:30;width:60px;height:60px;display:grid;place-items:center;padding:0;border:1px solid #ccddd2;border-radius:22px;background:#f2f7f3;box-shadow:0 6px 24px #214d3c12;color:#214d3c;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .2s,transform .2s,visibility .2s,background .2s}
.seedling-top[hidden]{display:none}
.seedling-top.is-visible,.seedling-top.is-jumping{opacity:1;visibility:visible;transform:translateY(0)}
.seedling-top:hover{background:#e8f1e4}
.seedling-top:focus-visible{outline:3px solid #557a40;outline-offset:4px}
.seedling-top-art{display:block;width:48px;height:48px;transform-origin:50% 90%}
.seedling-top-art img{display:block;width:100%;height:100%}
.seedling-top-label{position:absolute;right:calc(100% + 10px);padding:7px 11px;border:1px solid #ccddd2;border-radius:10px;background:#f2f7f3;font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s;pointer-events:none}
.seedling-top:hover .seedling-top-label,.seedling-top:focus-visible .seedling-top-label{opacity:1;visibility:visible}
.seedling-top.is-jumping .seedling-top-art{animation:seedling-hop .75s ease-in-out}
@media(min-width:1100px){
  body:has(.article-layout:not(.is-immersive)){--seedling-sidebar-width:260px}
  body:has(.article-layout:not(.is-immersive)>.article-toc[hidden]){--seedling-sidebar-width:270px}
  body[data-version=c] .article-layout:not(.is-immersive){column-gap:76px}
  body:has(.article-layout:not(.is-immersive)) .seedling-top{right:calc(max(3vw,(100vw - 1500px)/2) + var(--seedling-sidebar-width) + 8px);bottom:22vh}
}
@keyframes seedling-hop{0%,100%{transform:translateY(0) scale(1)}18%{transform:translateY(3px) scale(1.08,.88)}48%{transform:translateY(-22px) scale(.94,1.06) rotate(-5deg)}72%{transform:translateY(0) scale(1.05,.94)}86%{transform:translateY(-5px) scale(1)}}
@media(max-width:600px){.seedling-top{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:52px;height:52px;border-radius:18px}.seedling-top-art{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.seedling-top,.seedling-top-label{transition:none}.seedling-top.is-jumping .seedling-top-art{animation:none}}

.post-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0 4px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px}
.post-metrics dt{color:var(--muted);font-size:12px;line-height:1.6}
.post-metrics dd{margin:8px 0 0;font-size:24px;font-variant-numeric:tabular-nums;line-height:1.3}
.post-metrics small{margin-left:4px;color:var(--muted);font-size:12px}
@media(max-width:900px){.post-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.post-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px;padding:12px}.post-metrics dd{font-size:21px}}
.article-share{margin-top:40px;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.article-share[hidden],.article-share [hidden]{display:none}
.article-share h2{margin:0;font-size:20px;line-height:1.6}
.article-share p{font-size:13px;line-height:1.8;color:var(--muted);margin:8px 0 16px}
.share-actions{display:flex;gap:10px;flex-wrap:wrap}
.share-actions button{min-height:44px;padding:10px 18px;border:1px solid var(--line);border-radius:24px;background:var(--bg);color:var(--ink);font:inherit;font-size:13px;cursor:pointer}
.share-actions button:hover{background:var(--accent)}
.share-actions button:disabled{opacity:.6;cursor:wait}
.share-actions button:focus-visible{outline:3px solid #4c7b59;outline-offset:3px}
.share-link{display:block;margin-top:16px;font-size:13px}
.share-link input{display:block;width:100%;min-width:0;margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit}
.article-share .share-status{margin:12px 0 0}
.article-share .share-status:empty{display:none}
.reading-toolbar-actions{display:flex;align-items:center;gap:8px}
.share-toggle{min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px;white-space:nowrap;cursor:pointer}
.share-toggle[hidden],.article-share-footer[hidden]{display:none}
.share-toggle:hover{background:var(--accent)}
.share-toggle:focus-visible{outline:3px solid #4c7b59;outline-offset:3px}
.article-share-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:36px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface);font-size:14px}
.share-dialog{width:min(520px,92%);max-height:85vh;max-height:85dvh;padding:52px 24px 24px;border-radius:20px;overscroll-behavior:contain}
.share-dialog .article-share{margin:0;padding:0;border:0;background:transparent}
.share-dialog .share-actions{display:grid;grid-template-columns:minmax(0,1fr)}
.share-dialog h2{margin:0}
@media(max-width:400px){.reading-toolbar{gap:6px;padding:6px 8px}.reading-toolbar .inline-link{font-size:12px}.share-toggle{padding:10px 12px}}
