/* Public editorial layer. Keep legacy components and admin styles independent. */
:root{--reading-width:66ch;--measure-wide:76ch}
html[data-blog-theme=white]{--accent:#42634c;--surface:#fff;--surface-muted:#f5f7f3;--muted:#687068;--soft-text:#444d45}
html[data-blog-theme=paper]{--background:#faf3e3;--text:#2e291f;--muted:#716753;--surface:#f7efdc;--surface-muted:#f0e7d2;--accent:#526342;--soft-text:#514a3b}
html[data-blog-theme=black]{--accent:#a8c5ab;--surface-muted:#101710;--soft-text:#d2dbd3}
.brand-cluster{align-items:flex-start;flex-direction:column;gap:1px}
.brand-name{font-size:1.4rem;letter-spacing:-.055em;line-height:1.2}
.brand-name::after{display:none}
.brand-byline{display:block;font-family:var(--font-ui);font-size:.62rem;letter-spacing:.025em}
.primary-nav,.header-controls,.text-control,.menu-toggle{font-family:var(--font-ui);font-size:.8rem}
.primary-nav a{padding-block:.35rem;text-decoration:none}
.primary-nav a[aria-current=page]::after{display:none}
.primary-nav a[aria-current=page]{font-weight:650}
[data-language-toggle],[data-theme-toggle]{border:0;background:var(--surface-muted);padding:.4rem .75rem;min-height:36px}
.blog-archive-page{width:100%;max-width:960px;margin-inline:auto}
.blog-opening{isolation:auto;max-width:100%;padding:2.6rem 0 2.2rem;min-height:190px;grid-template-columns:minmax(0,1fr) 215px;gap:35px;align-items:center;border:0;border-radius:0;background:none;overflow:visible}
.blog-opening::before,.blog-opening::after{display:none}
.blog-opening .blog-deck{max-width:34ch;font-family:var(--font-reading);font-size:clamp(1.38rem,2.5vw,1.78rem);line-height:1.45;letter-spacing:-.02em;text-shadow:none;color:var(--text)}
.editorial-habitat{position:relative;width:215px;height:145px;background:radial-gradient(ellipse at 55% 68%,color-mix(in srgb,var(--habitat-moss) 15%,transparent),transparent 67%)}
.editorial-rock{position:absolute;inset-inline-start:35px;bottom:18px;width:158px;height:32px;border-radius:50% 45% 25% 30%;background:color-mix(in srgb,var(--habitat-moss) 18%,var(--background));transform:rotate(-5deg)}
.editorial-grass{position:absolute;inset-inline-start:33px;bottom:32px;color:var(--accent);opacity:.45;font:30px Georgia;transform:rotate(-10deg)}
.editorial-penguin{position:absolute;inset-inline-start:102px;bottom:45px;width:34px;height:52px;border-radius:50% 50% 44% 44%;background:var(--text);transform:rotate(6deg);animation:editorial-breathe 10s ease-in-out infinite}
.editorial-penguin::before{content:"";position:absolute;left:5px;bottom:4px;width:24px;height:35px;border-radius:50%;background:var(--background)}
.editorial-penguin::after{content:"•⌄•";position:absolute;left:4px;top:3px;border-radius:45%;background:var(--background);color:var(--text);font:13px/19px var(--font-ui);letter-spacing:0}
.editorial-penguin-small{inset-inline-start:151px;bottom:42px;scale:.65;transform-origin:bottom;transform:rotate(-8deg);animation-delay:-4s}
@keyframes editorial-breathe{0%,100%{translate:0 0}50%{translate:0 -3px}}
.archive-lead-section,.archive-stream{max-width:100%}
.archive-lead-section{padding-block:1.8rem 2.8rem}
.section-label{font-family:var(--font-ui);font-size:.67rem;letter-spacing:.045em;color:var(--muted);font-weight:500}
.archive-lead{padding:1.8rem 2rem;background:var(--surface-muted);border-radius:5px;gap:2rem}
.archive-lead h2{max-width:36ch;font-family:var(--font-ui);font-size:clamp(1.2rem,2.1vw,1.55rem);line-height:1.35;font-weight:650;letter-spacing:-.035em;margin-block:.6rem .85rem}
.archive-lead h2 a,.recent-reading-list .post-row h2 a,.recent-reading-list .post-row h3 a{background:transparent;color:var(--text);text-decoration:none;box-shadow:none;border:0}
.archive-lead h2 a:hover,.recent-reading-list .post-row h2 a:hover,.recent-reading-list .post-row h3 a:hover{color:var(--accent);background:transparent;text-decoration:none}
.archive-lead .post-excerpt{font-size:1.05rem;line-height:1.7;max-width:62ch;color:var(--soft-text)}
.latest-action{font-family:var(--font-ui);font-size:.76rem;text-decoration:none;color:var(--accent);margin-block-start:1rem}
.archive-lead .post-meta,.post-meta{font-family:var(--font-ui);font-size:.7rem;color:var(--muted)}
.recent-reading-list{border:0}
.recent-reading-list .post-row{border:0;padding-block:1.1rem 1.4rem;gap:.45rem 1.5rem}
.recent-reading-list .post-row>h2,.recent-reading-list .post-row>h3{font-family:var(--font-ui);font-size:1.12rem;line-height:1.4;letter-spacing:-.025em}
.recent-reading-list .post-excerpt{font-size:.92rem;color:var(--muted);margin-top:.25rem}
.reading-shell{max-width:720px}
.reading-article .post-header h1,.post-page .post-header h1{font-size:clamp(1.5rem,3vw,2rem);max-width:30ch;line-height:1.25;letter-spacing:-.035em;font-weight:550}
.reading-article .post-header,.post-page .post-header{margin-block-end:2rem}
.reading-prose{font-size:1.13rem;line-height:1.85;color:var(--text)}
.reading-prose h2{font-size:1.35rem;line-height:1.35;margin-top:2.3rem}
.reading-prose h3{font-size:1.12rem;line-height:1.4}
.reading-prose p{margin-block:0 1.25em}
.reading-prose pre,.reading-prose .table-scroll{max-width:100%;overflow-x:auto}
.post-back,.site-footer{font-family:var(--font-ui)}
.post-back{font-size:.73rem}
.site-footer a,.site-footer button{text-decoration:none;font-size:.7rem}
html[data-blog-theme=eink] .editorial-habitat{display:none}
html[data-blog-theme=eink] .blog-opening{grid-template-columns:1fr}
html[data-blog-theme=eink] .archive-lead{background:transparent;padding-inline:0}
@media(max-width:600px){
 .brand-byline{display:block;font-size:.56rem}
 .brand-name{font-size:1.25rem}
 .blog-opening{grid-template-columns:minmax(0,1fr) 75px;gap:12px;padding-block:1.7rem 1.5rem;min-height:160px}
 .blog-opening .blog-deck{font-size:1.25rem;line-height:1.5}
 .editorial-habitat{width:75px;height:100px}
 .editorial-rock{inset-inline-start:-3px;width:80px;bottom:12px;height:20px}
 .editorial-grass{display:none}
 .editorial-penguin{inset-inline-start:10px;bottom:30px;scale:.72;transform-origin:bottom}
 .editorial-penguin-small{inset-inline-start:43px;bottom:26px;scale:.48}
 .archive-lead{padding:1.3rem 1.2rem}
 .archive-lead-section{padding-block:1.2rem 2rem}
 .archive-lead h2{font-size:1.24rem;line-height:1.35}
 .archive-lead .post-excerpt{font-size:1rem}
 .recent-reading-list .post-row{display:block}
 .recent-reading-list .post-row>.post-meta{text-align:start;margin:.4rem 0}
 .recent-reading-list .post-row>h3,.recent-reading-list .post-row>h2{font-size:1.1rem}
 .reading-prose{font-size:1.08rem;line-height:1.8}
 .reading-article .post-header h1,.post-page .post-header h1{font-size:1.6rem}
}
@media(prefers-reduced-motion:reduce){.editorial-penguin{animation:none}}

/* Article rhythm: a quiet, continuous reading surface, independent of the archive. */
.reading-shell{width:100%;max-width:740px;padding-block:1rem 0}
.reading-article{padding:0;border:0;box-shadow:none;background:transparent}
.reading-article .post-header{padding-block:.25rem .8rem;margin-block-end:1.8rem}
.reading-article .post-header h1{font-family:var(--font-ui);font-weight:650;line-height:1.32;max-width:34ch;text-wrap:balance}
.reading-article .post-meta{letter-spacing:.025em;margin-bottom:.8rem}
.reading-prose{font-size:1.125rem;line-height:1.85;overflow-wrap:anywhere}
.reading-prose>p:first-child{font-size:1.16em;line-height:1.7;color:var(--soft-text)}
.reading-prose :is(h2,h3,h4){font-family:var(--font-ui);font-weight:650;letter-spacing:-.025em;text-wrap:balance;scroll-margin-top:7rem}
.reading-prose h2{margin-block:2.6rem 1rem;font-size:1.32rem}
.reading-prose h3{margin-block:2rem .8rem;font-size:1.12rem}
.reading-prose :is(ul,ol){padding-inline-start:1.3em;margin-block:1.2rem 1.7rem}
.reading-prose li{padding-inline-start:.2em}
.reading-prose li+li{margin-block-start:.55em}
.reading-prose li::marker{color:var(--accent)}
.reading-prose blockquote{border:0;padding:1.3rem 1.5rem;margin-block:1.8rem;background:var(--surface-muted);border-radius:4px;font-style:italic;color:var(--text)}
.reading-prose blockquote>:last-child{margin-bottom:0}
.reading-prose :not(pre)>code{border:0;background:var(--surface-muted);padding:.15em .3em;border-radius:3px;font-size:.85em}
.reading-prose pre{background:var(--surface-muted);border:0;border-radius:4px;padding:1.3rem;font-size:.82rem;line-height:1.7;white-space:pre;overflow-wrap:normal}
.reading-prose figure{margin-block:2rem}
.reading-prose img{display:block;height:auto;margin-inline:auto;border-radius:3px}
.reading-prose figcaption{font-family:var(--font-ui);font-size:.76rem;line-height:1.6;margin-top:.75rem;text-align:start}
.reading-prose table{font-family:var(--font-ui);font-size:.85rem;line-height:1.6}
.reading-prose th{background:var(--surface-muted);font-weight:600}
.reading-prose :is(td,th){padding:.7rem .8rem}
.reading-prose a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.2em;overflow-wrap:anywhere}
.reading-prose a:hover{color:var(--text);background:transparent}
.reading-prose hr{width:3rem;border:0;border-top:2px solid var(--line);margin:2.5rem auto}
.reading-article .post-penguin-note{font-size:.78rem;margin-block:1.8rem;color:var(--muted)}
.reading-article .references{margin-block-start:1.5rem;padding:1rem 1.2rem;border:0;border-radius:4px;background:var(--surface-muted)}
.reading-article .references summary{font-size:.85rem;padding-block:.3rem}
.reading-article .references-title{font-weight:600}
.reading-article .references ol{font-size:.83rem;line-height:1.75;overflow-wrap:anywhere}
.reading-article .references li+li{margin-top:1rem}
.reading-shell .comments-section{margin-block-start:2rem;padding-block-start:1rem;border:0}
.reading-shell .comments-section>h2{font-family:var(--font-ui);font-size:1.2rem;font-weight:600;margin-bottom:1.2rem}
.reading-shell .comment-form textarea{background:var(--surface-muted);border:0;border-radius:4px;padding:1rem;min-height:130px;line-height:1.7}
.reading-shell :is(a,button,input,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:600px){
 .reading-shell{padding-top:.2rem}
 .reading-article .post-header h1{font-size:1.5rem;line-height:1.35}
 .reading-prose{font-size:1.0625rem;line-height:1.8}
 .reading-prose>p:first-child{font-size:1.1em}
 .reading-prose blockquote{padding:1rem}
 .reading-prose h2{font-size:1.22rem;margin-top:2.1rem}
}
html[data-blog-theme=eink] .reading-prose :is(blockquote,pre,th),html[data-blog-theme=eink] .reading-article .references{background:transparent}
.reading-shell{padding-top:2rem}
.reading-article .post-header{margin-bottom:1.4rem;padding-bottom:.3rem}
.reading-article .post-header h1{font-family:var(--font-reading);font-weight:400;line-height:1.3}
body:has(.reading-article) [data-theme-toggle],body:has(.reading-article) [data-language-toggle]{background:none;border:0;border-radius:0}
@media(max-width:600px){
 .shell{width:calc(100% - 36px)}
 .reading-shell{padding-top:1.1rem}
 .reading-article .post-header h1{font-size:1.65rem;line-height:1.28;margin-top:.6rem}
 .reading-prose{font-size:1.0625rem;line-height:1.78}
 .reading-prose>p:first-child{font-size:1.0625rem;line-height:1.78}
 .reading-prose p{margin-bottom:1.15em}
 .reading-prose :is(pre,.table-scroll){max-width:calc(100vw - 36px)}
 .reading-shell .comments-section{margin-top:1.6rem}
 .site-header{gap:12px}
}
