:root{--bg-primary:#FDFCFA;--bg-secondary:#F5F2ED;--bg-sidebar:#F0ECE5;--text-primary:#2A2521;--text-secondary:#504840;--text-muted:#8C8378;--border-color:#DDD7CE;--border-dark:#C4BCB0;--accent:#B85530;--accent-hover:#9A4526;--accent-light:rgba(184, 85, 48, 0.08);--shadow:rgba(42, 37, 33, 0.06);--font-display:'Playfair Display', Georgia, serif;--font-body:'Source Sans 3', system-ui, sans-serif;--font-mono:'JetBrains Mono', 'Fira Code', monospace}[data-theme=dark]{--bg-primary:#1A1816;--bg-secondary:#22201D;--bg-sidebar:#262320;--text-primary:#EDE8E1;--text-secondary:#BFB8AF;--text-muted:#857E76;--border-color:#3A3632;--border-dark:#4A4540;--accent:#D4764E;--accent-hover:#E5896A;--accent-light:rgba(212, 118, 78, 0.1);--shadow:rgba(0, 0, 0, 0.2)}html{color-scheme:light;scroll-behavior:smooth}html[data-theme=dark]{color-scheme:dark}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);font-size:17px;line-height:1.7;color:var(--text-primary);background:var(--bg-primary);min-width:320px;-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:#fff}*:focus-visible{outline:2px solid var(--accent);outline-offset:2px}img{max-width:100%;height:auto;display:block}.masthead{text-align:center;padding:2.5rem 1.5rem 0;background:var(--bg-primary)}.masthead__name{font-family:var(--font-display);font-size:2.2rem;font-weight:700;letter-spacing:-.01em;color:var(--text-primary);margin:0;line-height:1.1}.masthead__name a{color:inherit;text-decoration:none}.masthead__tagline{font-family:var(--font-body);font-size:.95rem;font-style:italic;color:var(--text-muted);margin-top:.4rem}.masthead__rule{width:60px;height:2px;background:var(--accent);margin:1.2rem auto 0;border:none}.site-nav{display:flex;justify-content:center;align-items:center;gap:2rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);background:var(--bg-primary);position:sticky;top:0;z-index:100}.site-nav.scrolled{box-shadow:0 1px 8px var(--shadow)}.nav-links{display:flex;gap:1.8rem;align-items:center}.nav-links a{font-family:var(--font-body);font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);text-decoration:none;padding:.3rem 0;transition:color .2s}.nav-links a:hover{color:var(--text-primary)}.nav-links a.active{color:var(--accent)}.nav-controls{display:flex;align-items:center;gap:.5rem}.nav-controls a,.nav-controls button{font-size:.75rem;font-weight:600;color:var(--text-muted);text-decoration:none;padding:.2rem .45rem;border:1px solid var(--border-color);border-radius:3px;background:0 0;cursor:pointer;transition:all .2s;display:flex;align-items:center;letter-spacing:.03em;line-height:1.4}.nav-controls a:hover,.nav-controls button:hover{color:var(--accent);border-color:var(--accent)}.search-toggle{font-size:.75rem}.nav-controls .nav-toggle{display:none}.page-wrap{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 280px;gap:3.5rem;align-items:start}.page-wrap--narrow{max-width:800px;margin:0 auto;padding:0 2rem;display:block}.main-content{min-width:0;padding:2.5rem 0 4rem}.sidebar{padding:2.5rem 0 4rem;position:sticky;top:4rem}.sidebar-box{background:var(--bg-sidebar);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.sidebar-box__title{font-family:var(--font-display);font-size:1rem;font-weight:700;margin-bottom:.6rem;color:var(--text-primary)}.sidebar-box p{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin-bottom:.8rem}.sidebar-box p:last-child{margin-bottom:0}.sidebar-link{font-size:.88rem;font-weight:600;color:var(--accent);text-decoration:none}.sidebar-link:hover{text-decoration:underline}.sidebar-newsletter__input{width:100%;padding:.55rem .8rem;background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);font-family:var(--font-body);font-size:.88rem;border-radius:4px;margin-bottom:.5rem;transition:border-color .2s}.sidebar-newsletter__input:focus{outline:none;border-color:var(--accent)}.sidebar-newsletter__input::placeholder{color:var(--text-muted)}.sidebar-newsletter__submit{width:100%;padding:.55rem .8rem;background:var(--accent);color:#fff;border:none;border-radius:4px;font-family:var(--font-body);font-size:.88rem;font-weight:600;cursor:pointer;transition:background .2s}.sidebar-newsletter__submit:hover{background:var(--accent-hover)}.sidebar-newsletter__attr{font-size:.72rem;color:var(--text-muted);margin-top:.5rem}.sidebar-newsletter__attr a{color:var(--text-muted);text-decoration:none}.sidebar-newsletter__attr a:hover{color:var(--accent)}.divider{display:flex;align-items:center;gap:1rem;margin:.5rem 0 1.5rem}.divider__line{flex:1;height:1px;background:var(--border-color)}.divider__label{font-family:var(--font-body);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);white-space:nowrap}.featured{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.featured__image{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px;margin-bottom:1.2rem}.featured__category{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:.4rem}.featured__title{font-family:var(--font-display);font-size:2rem;font-weight:700;line-height:1.2;margin-bottom:.6rem}.featured__title a{color:var(--text-primary);text-decoration:none;transition:color .2s}.featured__title a:hover{color:var(--accent)}.featured__excerpt{font-size:1.02rem;color:var(--text-secondary);line-height:1.7;margin-bottom:.8rem}.featured__meta{font-size:.82rem;color:var(--text-muted)}.featured__meta span+span::before{content:"\2022";margin:0 .5rem}.article-item{display:grid;grid-template-columns:1fr auto;gap:1.2rem;padding:1.2rem 0;border-bottom:1px solid var(--border-color);align-items:start}.article-item:last-child{border-bottom:none}.article-item__body{min-width:0}.article-item__meta{font-size:.78rem;color:var(--text-muted);margin-bottom:.2rem;font-weight:500}.article-item__meta span+span::before{content:"\2022";margin:0 .4rem}.article-item__title{font-family:var(--font-display);font-size:1.2rem;font-weight:700;line-height:1.3;margin-bottom:.3rem}.article-item__title a{color:var(--text-primary);text-decoration:none;transition:color .2s}.article-item__title a:hover{color:var(--accent)}.article-item__excerpt{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin:0}.article-item__thumb{width:120px;height:80px;object-fit:cover;border-radius:4px;flex-shrink:0}.article-item__placeholder{width:120px;height:80px;background:var(--bg-secondary);border-radius:4px;flex-shrink:0}.view-all-link{display:inline-block;margin-top:1.5rem;font-size:.88rem;font-weight:600;color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.view-all-link:hover{border-bottom-color:var(--accent)}.page-hero{padding:3rem 0 1.5rem;margin-top:0}.page-hero__title{font-family:var(--font-display);font-size:2rem;font-weight:700;margin-bottom:.3rem}.page-hero__subtitle{font-size:.95rem;color:var(--text-muted);margin:0}.pagination{display:flex;justify-content:center;gap:.3rem;padding:2rem 0 1rem}.pagination a{padding:.4rem .8rem;font-size:.85rem;font-weight:500;color:var(--text-secondary);text-decoration:none;border:1px solid var(--border-color);border-radius:4px;transition:all .2s}.pagination a:hover{border-color:var(--accent);color:var(--accent)}.pagination a.active{background:var(--accent);border-color:var(--accent);color:#fff}.article-header{padding:3rem 0 1.5rem}.article-header__meta{font-size:.82rem;color:var(--text-muted);margin-bottom:.8rem;font-weight:500}.article-header__meta span+span::before{content:"\2022";margin:0 .4rem}.article-header__title{font-family:var(--font-display);font-size:2.5rem;font-weight:700;line-height:1.15;margin-bottom:.8rem;max-width:680px}.article-header__excerpt{font-size:1.15rem;color:var(--text-muted);line-height:1.6;font-style:italic;max-width:600px}.article-hero-img{width:100%;border-radius:6px;margin:1.5rem 0 0}.article-body{padding:2rem 0 3rem}.article-body .prose>p:first-child::first-letter{font-family:var(--font-display);font-size:3.5rem;font-weight:700;float:left;line-height:.8;margin:.1rem .5rem 0 0;color:var(--accent)}.article-footer{padding:1.5rem 0 2rem;border-top:1px solid var(--border-color)}.article-footer a{font-size:.88rem;font-weight:600;color:var(--accent);text-decoration:none}.article-footer a:hover{text-decoration:underline}.about-body{padding:0 0 3rem}.about-description{font-size:1.08rem;line-height:1.85;color:var(--text-secondary);margin-bottom:1.5rem}.contact-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.contact-title{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:.8rem}.contact-info{display:flex}.email-address{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .85rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:5px;color:var(--text-primary);font-size:.9rem;font-weight:500;transition:border-color .2s;user-select:all}.email-address:hover{border-color:var(--accent)}.contact-icon{width:15px;height:15px;flex-shrink:0;color:var(--accent)}.email-text{flex:1}.copy-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:0 0;border:1px solid var(--border-color);border-radius:3px;color:var(--text-muted);cursor:pointer;transition:all .2s;flex-shrink:0}.copy-btn:hover{border-color:var(--accent);color:var(--accent)}.copy-icon{width:13px;height:13px}.newsletter-inline{padding:2.5rem 0;border-top:1px solid var(--border-color)}.newsletter-inline__inner{background:var(--bg-sidebar);border-radius:8px;padding:2rem;text-align:center}.newsletter-inline__title{font-family:var(--font-display);font-size:1.3rem;font-weight:700;margin-bottom:.3rem}.newsletter-inline__subtitle{font-size:.92rem;color:var(--text-muted);margin-bottom:1.2rem}.newsletter-inline__form{display:flex;gap:.5rem;max-width:400px;margin:0 auto}.newsletter-inline__input{flex:1;padding:.6rem .9rem;background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);font-family:var(--font-body);font-size:.9rem;border-radius:4px}.newsletter-inline__input:focus{outline:none;border-color:var(--accent)}.newsletter-inline__input::placeholder{color:var(--text-muted)}.newsletter-inline__submit{padding:.6rem 1.2rem;background:var(--accent);color:#fff;border:none;border-radius:4px;font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.newsletter-inline__submit:hover{background:var(--accent-hover)}.newsletter-inline__attr{font-size:.72rem;color:var(--text-muted);margin-top:.6rem}.newsletter-inline__attr a{color:var(--text-muted);text-decoration:none}.empty-state{text-align:center;padding:3rem 1rem}.empty-state__title{font-family:var(--font-display);font-size:1.2rem;font-weight:700;margin-bottom:.4rem}.empty-state__message{font-size:.92rem;color:var(--text-muted)}.site-footer{border-top:1px solid var(--border-color);padding:2rem 1.5rem;text-align:center}.site-footer__inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.site-footer__copy{font-size:.78rem;color:var(--text-muted)}.site-footer__links{display:flex;gap:1.2rem}.site-footer__links a{font-size:.78rem;color:var(--text-muted);text-decoration:none;transition:color .2s}.site-footer__links a:hover{color:var(--accent)}.prose{color:var(--text-secondary);line-height:1.85;font-size:1.08rem}.prose h2,.prose h3,.prose h4{font-family:var(--font-display);color:var(--text-primary);margin-top:2.5rem;margin-bottom:.8rem}.prose h2{font-size:1.5rem;font-weight:700}.prose h3{font-size:1.2rem;font-weight:700}.prose p{margin-bottom:1.5rem;color:var(--text-secondary)}.prose ul,.prose ol{margin-bottom:1.5rem;padding-left:1.4rem}.prose li{margin-bottom:.4rem;color:var(--text-secondary)}.prose strong{color:var(--text-primary);font-weight:600}.prose em{font-style:italic}.prose code{background:var(--bg-secondary);color:var(--accent);padding:.12rem .35rem;border-radius:3px;font-size:.85em;font-family:var(--font-mono)}.prose pre{background:var(--bg-secondary);padding:1.2rem;border-radius:6px;overflow-x:auto;margin-bottom:1.5rem;border:1px solid var(--border-color);font-size:.88rem;font-family:var(--font-mono)}.prose pre code{background:0 0;padding:0;color:var(--text-primary)}.prose blockquote{border-left:3px solid var(--accent);padding:.2rem 0 .2rem 1.3rem;margin:2rem 0;font-style:italic;color:var(--text-muted);font-size:1.1rem}.prose a{color:var(--accent);text-decoration:underline;text-decoration-color:rgba(184,85,48,.3);text-underline-offset:3px}.prose a:hover{text-decoration-color:var(--accent)}.prose img{border-radius:6px;margin:2rem 0}.prose hr{border:none;text-align:center;margin:2.5rem 0}.prose hr::after{content:"\2022  \2022  \2022";color:var(--text-muted);font-size:.9rem;letter-spacing:.3em}.progress-bar{position:fixed;top:0;left:0;height:3px;width:0;background:var(--accent);z-index:9999;transition:width .1s linear}.back-to-top{position:fixed;bottom:2rem;right:2rem;width:40px;height:40px;background:var(--accent);color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s,background .2s;pointer-events:none;z-index:90;box-shadow:0 2px 8px var(--shadow)}.back-to-top.visible{opacity:1;transform:translateY(0);pointer-events:auto}.back-to-top:hover{background:var(--accent-hover)}.article-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem}.tag{font-size:.75rem;font-weight:600;color:var(--accent);background:var(--accent-light);padding:.2rem .6rem;border-radius:3px;text-decoration:none;transition:background .2s;letter-spacing:.02em}.tag:hover{background:var(--accent);color:#fff}.article-item__tag{font-size:.72rem;font-weight:600;color:var(--accent);background:var(--accent-light);padding:.1rem .4rem;border-radius:2px;margin-left:.2rem}.tag-cloud{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem 0 3rem}.tag-cloud__item{font-size:.88rem;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);padding:.4rem .9rem;border-radius:4px;text-decoration:none;transition:all .2s;display:inline-flex;align-items:center;gap:.4rem}.tag-cloud__item:hover{background:var(--accent);color:#fff}.tag-cloud__count{font-size:.72rem;color:var(--text-muted);font-weight:700}.tag-cloud__item:hover .tag-cloud__count{color:rgba(255,255,255,.7)}.toc{background:var(--bg-secondary);border-radius:6px;padding:1.2rem 1.5rem;margin-bottom:2rem;border:1px solid var(--border-color)}.toc__toggle{font-family:var(--font-body);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);cursor:pointer;list-style:none}.toc__toggle::-webkit-details-marker{display:none}.toc__toggle::before{content:"\25B6";font-size:.65rem;margin-right:.5rem;display:inline-block;transition:transform .2s}details[open]>.toc__toggle::before{transform:rotate(90deg)}.toc__nav{margin-top:.8rem}.toc__nav ul{list-style:none;padding-left:0;margin:0}.toc__nav li{padding:.25rem 0}.toc__nav ul ul{padding-left:1.2rem}.toc__nav a{font-size:.88rem;color:var(--text-secondary);text-decoration:none;transition:color .2s}.toc__nav a:hover{color:var(--accent)}.series-box{background:var(--bg-secondary);border-left:3px solid var(--accent);border-radius:0 6px 6px 0;padding:1.2rem 1.5rem;margin-bottom:2rem}.series-box__label{font-size:.88rem;color:var(--text-muted);margin-bottom:.6rem}.series-box__label strong{color:var(--text-primary)}.series-box__list{padding-left:1.2rem;margin:0}.series-box__list li{font-size:.88rem;color:var(--text-secondary);padding:.15rem 0}.series-box__list a{color:var(--accent);text-decoration:none}.series-box__list a:hover{text-decoration:underline}.series-box__current{font-weight:700;color:var(--text-primary)}.related-posts{margin-top:2rem;padding-bottom:1rem}.related-posts .article-item{padding:.8rem 0}.search-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9000;display:none;flex-direction:column;align-items:center;padding-top:15vh}.search-overlay.active{display:flex}.search-overlay__inner{width:90%;max-width:560px;display:flex;gap:.5rem;background:var(--bg-primary);border-radius:8px;padding:.6rem 1rem;box-shadow:0 20px 60px rgba(0,0,0,.3);border:1px solid var(--border-color)}.search-overlay__input{flex:1;background:0 0;border:none;color:var(--text-primary);font-family:var(--font-body);font-size:1.1rem;outline:none}.search-overlay__input::placeholder{color:var(--text-muted)}.search-overlay__close{background:0 0;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:0 .3rem;line-height:1}.search-overlay__close:hover{color:var(--text-primary)}.search-results{width:90%;max-width:560px;margin-top:.5rem;max-height:50vh;overflow-y:auto}.search-results__item{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-top:none;text-decoration:none;transition:background .15s}.search-results__item:first-child{border-top:1px solid var(--border-color);border-radius:8px 8px 0 0}.search-results__item:last-child{border-radius:0 0 8px 8px}.search-results__item:only-child{border-radius:8px}.search-results__item:hover{background:var(--bg-secondary)}.search-results__title{font-family:var(--font-display);font-size:.95rem;font-weight:600;color:var(--text-primary)}.search-results__date{font-size:.78rem;color:var(--text-muted);white-space:nowrap;margin-left:1rem}.search-results__empty{text-align:center;color:var(--text-muted);font-size:.9rem;padding:1.5rem;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border-color)}.error-page{text-align:center;padding:6rem 1rem}.error-page__code{font-family:var(--font-display);font-size:6rem;font-weight:700;color:var(--border-color);line-height:1;margin-bottom:1rem}.error-page__message{font-size:1.1rem;color:var(--text-muted);margin-bottom:2rem}.error-page__link{font-size:.9rem;font-weight:600;color:var(--accent);text-decoration:none}.error-page__link:hover{text-decoration:underline}.post-feed-section{padding:0 0 3rem}@media(max-width:860px){.page-wrap{grid-template-columns:1fr;gap:0}.sidebar{position:static;padding:0 0 3rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.sidebar-box{margin-bottom:0}}@media(max-width:768px){.masthead__name{font-size:1.6rem}.site-nav{padding:.8rem 1.2rem;gap:0;justify-content:space-between}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg-primary);border-bottom:1px solid var(--border-color);flex-direction:column;padding:.8rem 1.5rem;gap:0;box-shadow:0 4px 16px var(--shadow);z-index:99}.nav-links.active{display:flex}.nav-links a{padding:.7rem 0;border-bottom:1px solid var(--border-color);font-size:.85rem}.nav-links a:last-child{border-bottom:none}.nav-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;cursor:pointer;padding:.4rem;background:0 0;border:1px solid var(--border-color);border-radius:4px;min-width:32px;min-height:32px;gap:3px}.nav-toggle:hover{border-color:var(--accent)}.nav-toggle span{width:15px;height:1.5px;background:var(--text-primary);transition:all .3s;display:block}.nav-toggle.active span:nth-child(1){transform:rotate(45deg)translate(3px,3px)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:rotate(-45deg)translate(3px,-3px)}.sidebar{grid-template-columns:1fr}.featured__title{font-size:1.5rem}.article-header__title{font-size:1.8rem}.article-item{grid-template-columns:1fr;gap:.6rem}.article-item__thumb,.article-item__placeholder{display:none}.newsletter-inline__form{flex-direction:column}.newsletter-inline__submit{width:100%}.back-to-top{bottom:1.2rem;right:1.2rem;width:36px;height:36px}.site-footer__inner{flex-direction:column;gap:.8rem}}@media(max-width:480px){.masthead{padding:2rem 1rem 0}.masthead__name{font-size:1.4rem}.page-wrap,.page-wrap--narrow{padding:0 1rem}.featured__title{font-size:1.3rem}.article-header__title{font-size:1.5rem}}