:root{--bg: #ffffff;--bg-alt: #f5f5f5;--bg-code: #f0f0f0;--fg: #0a0a0a;--fg-muted: #555555;--fg-subtle: #888888;--border: #d0d0d0;--border-dark: #222222;--accent: #0a0a0a;--link: #0a0a0a;--link-hover: #444444;--font-sans: "Georgia", "Times New Roman", serif;--font-mono: "Courier New", "Courier", monospace;--font-ui: "Courier New", "Courier", monospace;--text-xs: .75rem;--text-sm: .85rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--leading-tight: 1.25;--leading-snug: 1.4;--leading-base: 1.65;--leading-loose: 1.85;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--width-content: 72ch;--width-wide: 90ch;--width-site: 1200px;--radius-none: 0;--transition: .15s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-base);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;min-height:100vh}.skip-link{position:absolute;top:-9999px;left:var(--space-4);z-index:9999;background:var(--fg);color:var(--bg);padding:var(--space-2) var(--space-4);font-family:var(--font-ui);font-size:var(--text-sm);text-decoration:none;text-transform:uppercase;letter-spacing:.05em}.skip-link:focus{top:var(--space-4)}a{color:var(--link);text-decoration:underline;text-underline-offset:3px;transition:color var(--transition)}a:hover{color:var(--link-hover)}a:focus-visible{outline:2px solid var(--fg);outline-offset:2px;border-radius:1px}h1,h2,h3,h4,h5,h6{font-family:var(--font-ui);font-weight:700;line-height:var(--leading-tight);color:var(--fg);letter-spacing:-.01em}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}h5,h6{font-size:var(--text-base)}p{margin-bottom:var(--space-4)}p:last-child{margin-bottom:0}strong,b{font-weight:700}em,i{font-style:italic}s,del{text-decoration:line-through;color:var(--fg-muted)}small{font-size:var(--text-xs)}code{font-family:var(--font-mono);font-size:.875em;background:var(--bg-code);border:1px solid var(--border);padding:.1em .35em;border-radius:0}pre{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--bg-code);border:1px solid var(--border);border-left:3px solid var(--fg);padding:var(--space-4);overflow-x:auto;line-height:1.5;border-radius:0}pre code{background:none;border:none;padding:0;font-size:inherit}blockquote{border-left:3px solid var(--fg);padding:var(--space-3) var(--space-6);margin:var(--space-6) 0;color:var(--fg-muted);font-style:italic}blockquote p:last-child{margin-bottom:0}hr{border:none;border-top:1px solid var(--border);margin:var(--space-8) 0}img{max-width:100%;height:auto;display:block}table{width:100%;border-collapse:collapse;font-size:var(--text-sm);font-family:var(--font-mono)}th{background:var(--bg-alt);font-weight:700;text-align:left;padding:var(--space-2) var(--space-3);border:1px solid var(--border);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}td{padding:var(--space-2) var(--space-3);border:1px solid var(--border);vertical-align:top}tr:nth-child(2n) td{background:var(--bg-alt)}ul,ol{padding-left:var(--space-6);margin-bottom:var(--space-4)}li{margin-bottom:var(--space-1);line-height:var(--leading-snug)}ul ul,ol ol,ul ol,ol ul{margin-top:var(--space-1);margin-bottom:var(--space-1)}input[type=checkbox]{margin-right:var(--space-2)}.site-header{border-bottom:2px solid var(--fg);background:var(--bg);position:sticky;top:0;z-index:100}.site-header__inner{max-width:var(--width-site);margin:0 auto;padding:0 var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);height:56px}.site-logo{font-family:var(--font-ui);font-size:var(--text-base);font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--fg);white-space:nowrap;flex-shrink:0}.site-logo:hover{color:var(--fg-muted)}.site-logo img{width:184px;height:auto}.site-nav{display:flex;align-items:center;gap:0;flex-wrap:nowrap}.site-nav a{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--fg-muted);padding:var(--space-2) var(--space-3);border-right:1px solid var(--border);transition:color var(--transition),background var(--transition);white-space:nowrap}.site-nav a:first-child{border-left:1px solid var(--border)}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--fg);background:var(--bg-alt)}.nav-toggle{display:none;background:none;border:1px solid var(--border);padding:var(--space-2) var(--space-3);cursor:pointer;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fg)}.site-main{max-width:var(--width-site);margin:0 auto;padding:var(--space-10) var(--space-6);min-height:calc(100vh - 176px)}.site-footer{border-top:2px solid var(--fg);background:var(--bg);margin-top:var(--space-16)}.site-footer__inner{max-width:var(--width-site);margin:0 auto;padding:var(--space-8) var(--space-6);display:grid;grid-template-columns:1fr auto;gap:var(--space-8);align-items:start}.footer-brand{font-family:var(--font-ui)}.footer-brand__name{font-size:var(--text-base);font-weight:700;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;color:var(--fg)}.footer-brand__desc{font-size:var(--text-xs);color:var(--fg-muted);margin-top:var(--space-1);font-family:var(--font-mono)}.footer-links{display:flex;gap:var(--space-4);flex-wrap:wrap;justify-content:flex-end;align-items:center}.footer-links a{font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;text-decoration:none;color:var(--fg-muted)}.footer-links a:hover{color:var(--fg)}.footer-copy{grid-column:1 / -1;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-subtle);border-top:1px solid var(--border);padding-top:var(--space-4);margin-top:var(--space-4)}.page-header{border-bottom:1px solid var(--border);padding-bottom:var(--space-6);margin-bottom:var(--space-8)}.page-header__label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-subtle);margin-bottom:var(--space-2)}.page-header__title{font-size:var(--text-3xl);font-family:var(--font-ui);font-weight:700;margin-bottom:var(--space-3)}.page-header__desc{font-size:var(--text-base);color:var(--fg-muted);max-width:60ch}.post-list{list-style:none;padding:0;margin:0}.post-row{display:grid;grid-template-columns:120px 1fr auto;gap:var(--space-4) var(--space-6);align-items:baseline;padding:var(--space-4) 0;border-bottom:1px solid var(--border)}.post-row:first-child{border-top:1px solid var(--border)}.post-row__date{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-subtle);white-space:nowrap;padding-top:2px}.post-row__title{font-family:var(--font-ui);font-size:var(--text-base);font-weight:700;line-height:var(--leading-snug);margin-bottom:var(--space-1)}.post-row__title a{text-decoration:none;color:var(--fg)}.post-row__title a:hover{color:var(--fg-muted);text-decoration:underline}.post-row__meta{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-subtle);display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-1)}.post-row__desc{font-size:var(--text-sm);color:var(--fg-muted);line-height:var(--leading-snug);margin-top:var(--space-1)}.post-row__badges{display:flex;gap:var(--space-2);flex-wrap:wrap;align-self:start;padding-top:2px}.badge{display:inline-block;font-family:var(--font-mono);font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border:1px solid var(--border);color:var(--fg-muted);text-decoration:none;white-space:nowrap;line-height:1.6;transition:background var(--transition),color var(--transition)}.badge:hover{background:var(--fg);color:var(--bg);border-color:var(--fg);text-decoration:none}.badge--filled{background:var(--fg);color:var(--bg);border-color:var(--fg)}.badge--muted{background:var(--bg-alt)}.hashtag{display:inline-block;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-muted);text-decoration:none;padding:1px 0;border-bottom:1px solid var(--border);transition:color var(--transition),border-color var(--transition)}.hashtag:hover{color:var(--fg);border-color:var(--fg);text-decoration:none}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);border-bottom:2px solid var(--fg);padding-bottom:var(--space-2);margin-bottom:var(--space-6)}.section-head__title{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--fg)}.section-head__more{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--fg-muted);text-decoration:none}.section-head__more:hover{color:var(--fg)}.featured-post{border:2px solid var(--fg);padding:var(--space-6);margin-bottom:var(--space-8)}.featured-post__label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-subtle);margin-bottom:var(--space-3)}.featured-post__title{font-size:var(--text-2xl);font-family:var(--font-ui);font-weight:700;line-height:var(--leading-tight);margin-bottom:var(--space-3)}.featured-post__title a{text-decoration:none;color:var(--fg)}.featured-post__title a:hover{text-decoration:underline}.featured-post__desc{font-size:var(--text-base);color:var(--fg-muted);line-height:var(--leading-snug);margin-bottom:var(--space-4);max-width:70ch}.featured-post__meta{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-subtle);display:flex;flex-wrap:wrap;gap:var(--space-4)}.pagination{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:var(--space-6);margin-top:var(--space-8);font-family:var(--font-mono);font-size:var(--text-xs);gap:var(--space-4)}.pagination__info{color:var(--fg-subtle)}.pagination__links{display:flex;gap:var(--space-1)}.pagination__link{display:inline-block;padding:var(--space-2) var(--space-3);border:1px solid var(--border);text-decoration:none;color:var(--fg-muted);letter-spacing:.05em;text-transform:uppercase}.pagination__link:hover{background:var(--bg-alt);color:var(--fg)}.pagination__link--active{background:var(--fg);color:var(--bg);border-color:var(--fg)}.pagination__link--disabled{opacity:.3;pointer-events:none}.breadcrumb{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.05em;color:var(--fg-subtle);margin-bottom:var(--space-6);display:flex;flex-wrap:wrap;gap:0}.breadcrumb__item{display:flex;align-items:center}.breadcrumb__item+.breadcrumb__item:before{content:"/";margin:0 var(--space-2);color:var(--border)}.breadcrumb a{color:var(--fg-muted);text-decoration:none;text-transform:uppercase}.breadcrumb a:hover{color:var(--fg)}.breadcrumb__current{color:var(--fg);text-transform:uppercase}.site-main:has(.article-layout){max-width:1360px}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--space-8);align-items:start}.article-content{max-width:100%;min-width:0}.article-sidebar{position:sticky;top:80px;min-width:0}.article-header{margin-bottom:var(--space-8);border-bottom:1px solid var(--border);padding-bottom:var(--space-6)}.article-header__category{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-subtle);text-decoration:none;margin-bottom:var(--space-3);display:block}.article-header__category:hover{color:var(--fg)}.article-header__title{font-size:var(--text-3xl);font-family:var(--font-ui);font-weight:700;line-height:var(--leading-tight);margin-bottom:var(--space-4);letter-spacing:-.02em}.article-header__desc{font-size:var(--text-lg);color:var(--fg-muted);line-height:var(--leading-snug);margin-bottom:var(--space-5);max-width:65ch}.article-header__meta{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-subtle);display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center}.article-header__meta a{color:var(--fg-subtle);text-decoration:none}.article-header__meta a:hover{color:var(--fg)}.prose :is(h2,h3,h4){scroll-margin-top:96px}.prose h2{font-size:var(--text-xl);margin-top:var(--space-10);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.prose h3{font-size:var(--text-lg);margin-top:var(--space-8);margin-bottom:var(--space-3)}.prose h4,.prose h5,.prose h6{font-size:var(--text-base);margin-top:var(--space-6);margin-bottom:var(--space-2)}.prose p{margin-bottom:var(--space-5);line-height:var(--leading-loose)}.prose>p{max-width:80ch}.prose>p:has(img){max-width:none}.prose :not(pre)>code{overflow-wrap:anywhere}.prose a{color:var(--fg);font-weight:500}.prose ul,.prose ol{margin-bottom:var(--space-5)}.prose li{margin-bottom:var(--space-2);line-height:var(--leading-base)}.prose blockquote{font-style:normal;border-left:3px solid var(--border-dark);padding:var(--space-3) var(--space-6);margin:var(--space-6) 0;background:var(--bg-alt)}.prose blockquote p{color:var(--fg-muted);margin-bottom:0}.prose img{border:1px solid var(--border);margin:var(--space-6) 0}.prose figure{margin:var(--space-6) 0}.prose figcaption{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-subtle);margin-top:var(--space-2);text-align:center}.prose table{display:block;max-width:100%;overflow-x:auto;margin:var(--space-6) 0}.prose .footnotes{border-top:1px solid var(--border);margin-top:var(--space-10);padding-top:var(--space-6);font-size:var(--text-sm);color:var(--fg-muted)}.heading-anchor{color:var(--fg-subtle);text-decoration:none;font-weight:400;margin-left:var(--space-2);opacity:0;font-size:.8em;transition:opacity var(--transition)}h2:hover .heading-anchor,h3:hover .heading-anchor,h4:hover .heading-anchor{opacity:1}.code-block{position:relative;margin:var(--space-6) 0}.code-block__header{display:flex;align-items:center;justify-content:space-between;background:var(--fg);color:var(--bg);padding:var(--space-2) var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.05em}.code-block__lang{text-transform:uppercase;opacity:.7}.code-copy-btn{background:none;border:1px solid rgba(255,255,255,.3);color:#fffc;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;cursor:pointer;transition:border-color var(--transition),color var(--transition)}.code-copy-btn:hover{border-color:#fffc;color:#fff}.code-copy-btn.copied{color:#aaa;border-color:#fff3}.code-block pre{margin:0;border-top:none;border-left:none}.toc{border:1px solid var(--border);padding:var(--space-4);background:var(--bg);font-size:var(--text-sm);max-height:calc(100vh - 80px - var(--space-4));overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}@supports selector(::-webkit-scrollbar){.toc{scrollbar-width:auto;scrollbar-color:auto}}.toc::-webkit-scrollbar{width:4px}.toc::-webkit-scrollbar-track{background:transparent;margin-block:var(--space-2)}.toc::-webkit-scrollbar-thumb{background:var(--border);border-radius:0}.toc::-webkit-scrollbar-thumb:hover{background:var(--fg-muted)}.toc::-webkit-scrollbar-button{display:none;width:0;height:0}.toc__title{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.toc__list{list-style:none;padding:0;margin:0}.toc__item{margin-bottom:var(--space-2)}.toc__item--h2:not(:first-child){margin-top:var(--space-5)}.toc__item--h2>a{font-weight:700;color:var(--fg)}.toc__item--h3{padding-left:var(--space-3)}.toc__item--h4{padding-left:var(--space-6)}.toc a{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-muted);text-decoration:none;line-height:1.5;display:block;padding:2px 0 2px var(--space-2);border-left:2px solid transparent;overflow-wrap:anywhere}.toc a:hover{color:var(--fg)}.toc a.active{color:var(--fg);border-left-color:var(--fg);background:var(--bg-alt)}.article-footer{border-top:1px solid var(--border);margin-top:var(--space-10);padding-top:var(--space-8)}.article-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6)}.article-hashtags{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-6);font-family:var(--font-mono);font-size:var(--text-sm)}.series-box{border:1px solid var(--border);padding:var(--space-5);margin:var(--space-8) 0;background:var(--bg-alt)}.series-box__label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-subtle);margin-bottom:var(--space-2)}.series-box__name{font-family:var(--font-ui);font-size:var(--text-base);font-weight:700;margin-bottom:var(--space-4)}.series-list{list-style:none;padding:0;margin:0}.series-list__item{font-family:var(--font-mono);font-size:var(--text-sm);padding:var(--space-2) 0;border-bottom:1px solid var(--border);display:flex;gap:var(--space-3)}.series-list__item:last-child{border-bottom:none}.series-list__num{color:var(--fg-subtle);min-width:2ch}.series-list__item--current{color:var(--fg);font-weight:700}.series-list__item--current .series-list__num{color:var(--fg)}.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-top:var(--space-8);border-top:1px solid var(--border);padding-top:var(--space-6)}.post-nav__item{font-family:var(--font-mono)}.post-nav__label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-subtle);margin-bottom:var(--space-1)}.post-nav__title{font-size:var(--text-sm);font-weight:700;color:var(--fg)}.post-nav__item--next{text-align:right}.post-nav a{text-decoration:none}.post-nav a:hover .post-nav__title{text-decoration:underline}.related-posts{margin-top:var(--space-10);padding-top:var(--space-6);border-top:1px solid var(--border)}.search-form{display:flex;gap:0;border:2px solid var(--fg);margin-bottom:var(--space-8)}.search-form input{flex:1;border:none;padding:var(--space-3) var(--space-4);font-family:var(--font-mono);font-size:var(--text-base);background:var(--bg);color:var(--fg);outline:none}.search-form button{background:var(--fg);color:var(--bg);border:none;padding:var(--space-3) var(--space-6);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:opacity var(--transition)}.search-form button:hover{opacity:.8}.taxonomy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-3)}.taxonomy-card{border:1px solid var(--border);padding:var(--space-4);text-decoration:none;color:var(--fg);display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);transition:border-color var(--transition),background var(--transition);font-family:var(--font-mono)}.taxonomy-card:hover{border-color:var(--fg);background:var(--bg-alt);text-decoration:none}.taxonomy-card__name{font-size:var(--text-sm);font-weight:700}.taxonomy-card__count{font-size:var(--text-xs);color:var(--fg-subtle);white-space:nowrap}.archive-year{margin-bottom:var(--space-10)}.archive-year__heading{font-family:var(--font-ui);font-size:var(--text-2xl);font-weight:700;border-bottom:2px solid var(--fg);padding-bottom:var(--space-2);margin-bottom:var(--space-6)}.archive-month{margin-bottom:var(--space-6)}.archive-month__heading{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-subtle);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.author-box{border:1px solid var(--border);padding:var(--space-5);display:grid;grid-template-columns:60px 1fr;gap:var(--space-5);align-items:start}.author-box__avatar{width:60px;height:60px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:var(--text-xl);font-weight:700;background:var(--bg-alt);flex-shrink:0}.author-box__name{font-family:var(--font-ui);font-size:var(--text-base);font-weight:700;margin-bottom:var(--space-1)}.author-box__role{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--fg-subtle);margin-bottom:var(--space-3)}.author-box__bio{font-size:var(--text-sm);color:var(--fg-muted);line-height:var(--leading-snug)}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6) var(--space-12)}.copy-link-btn{background:none;border:1px solid var(--border);color:var(--fg-muted);font-family:var(--font-mono);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;cursor:pointer;transition:border-color var(--transition),color var(--transition)}.copy-link-btn:hover{border-color:var(--fg);color:var(--fg)}.share-links{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.share-link{display:inline-block;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;border:1px solid var(--border);color:var(--fg-muted);text-decoration:none;transition:border-color var(--transition),color var(--transition)}.share-link:hover{border-color:var(--fg);color:var(--fg);text-decoration:none}.article-cover{width:100%;margin-bottom:var(--space-8);border:1px solid var(--border);display:block}.not-found{text-align:center;padding:var(--space-16) var(--space-6);max-width:500px;margin:0 auto}.not-found__code{font-family:var(--font-mono);font-size:5rem;font-weight:700;line-height:1;margin-bottom:var(--space-4);color:var(--fg)}.not-found__title{font-family:var(--font-ui);font-size:var(--text-xl);margin-bottom:var(--space-4)}.not-found__links{display:flex;gap:var(--space-4);justify-content:center;margin-top:var(--space-8);flex-wrap:wrap}.not-found__links a{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;padding:var(--space-2) var(--space-5);border:1px solid var(--border);text-decoration:none;color:var(--fg-muted)}.not-found__links a:hover{border-color:var(--fg);color:var(--fg);background:var(--bg-alt)}@media(max-width:1024px){.article-layout{grid-template-columns:1fr}.article-sidebar{position:static;order:-1}.toc{max-height:50vh}.home-grid{grid-template-columns:1fr}}@media(max-width:768px){.site-logo img{width:168px}:root{--text-3xl: 1.6rem;--text-2xl: 1.35rem}.site-nav{display:none}.site-nav.is-open{display:flex;flex-direction:column;position:absolute;top:56px;left:0;right:0;background:var(--bg);border-bottom:2px solid var(--fg);z-index:99}.site-nav.is-open a{border-left:none;border-right:none;border-bottom:1px solid var(--border);padding:var(--space-3) var(--space-6)}.nav-toggle{display:block}.site-header{position:relative}.post-row{grid-template-columns:1fr;gap:var(--space-2)}.post-row__badges{order:-1}.post-nav{grid-template-columns:1fr}.post-nav__item--next{text-align:left}.article-header__title{font-size:var(--text-2xl)}.site-footer__inner{grid-template-columns:1fr}.footer-links{justify-content:flex-start}.pagination{flex-direction:column;align-items:flex-start}.taxonomy-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.author-box{grid-template-columns:1fr}.author-box__avatar{display:none}}@media(max-width:480px){.site-main{padding:var(--space-6) var(--space-4)}.site-header__inner{padding:0 var(--space-4)}.site-footer__inner{padding:var(--space-6) var(--space-4)}}@media print{.site-header,.site-footer,.article-sidebar,.article-footer .share-links,.copy-link-btn,.post-nav,.related-posts,.breadcrumb,.nav-toggle,.code-copy-btn,.pagination{display:none!important}body{font-size:11pt;color:#000;background:#fff}a{color:#000;text-decoration:underline}a[href]:after{content:" (" attr(href) ")";font-size:.8em}a[href^="#"]:after{content:""}pre{white-space:pre-wrap;word-break:break-word;border:1px solid #ccc;page-break-inside:avoid}h2,h3,h4{page-break-after:avoid}p,blockquote,table{page-break-inside:avoid}.site-main{padding:0;max-width:100%}.article-content{max-width:100%}.article-header__title{font-size:18pt}}
