h1{font-size:1.75rem}h2{font-size:1.35rem}h3{font-size:1.15rem}h4{font-size:1.05rem}.index-layout{display:grid;grid-template-columns:1fr;gap:var(--spacing-xl)}@media (min-width:900px){.index-layout{grid-template-columns:minmax(0,1fr) 16rem;align-items:start}}.featured-label{color:var(--color-text-light);font-size:var(--font-size-small);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:var(--spacing-sm)}.featured-post h1 a{color:var(--color-text);text-decoration:none}.featured-post h1 a:hover{color:var(--color-primary)}.post-index{border-left:1px solid var(--color-border);padding-left:var(--spacing-lg)}@media (min-width:900px){.post-index{position:sticky;top:var(--spacing-lg);max-height:calc(100vh - 2 * var(--spacing-lg));overflow-y:auto}}@media (max-width:899px){.post-index{border-left:none;border-top:1px solid var(--color-border);padding-left:0;padding-top:var(--spacing-lg)}}.post-index h2{font-size:1.1rem;margin-bottom:var(--spacing-md)}.post-list li[aria-current] a{color:var(--color-primary);font-weight:600}.post-index-trigger{display:inline-block;cursor:pointer;user-select:none;font-size:var(--font-size-small);color:var(--color-primary);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:0.25rem 0.7rem;margin-bottom:var(--spacing-lg)}.post-index-trigger:hover{border-color:var(--color-primary)}.post-index-drawer{position:fixed;top:0;right:0;z-index:1000;width:80vw;max-width:20rem;height:100%;overflow-y:auto;padding:var(--spacing-lg);background:var(--color-background);border:none;border-left:1px solid var(--color-border);box-shadow:-4px 0 24px rgba(0,0,0,0.15);transform:translateX(100%);transition:transform 0.25s ease}.post-index-backdrop{position:fixed;inset:0;z-index:999;cursor:pointer;background:rgba(0,0,0,0.4);opacity:0;visibility:hidden;transition:opacity 0.25s ease}.post-index-toggle:checked ~ .post-index-drawer{transform:translateX(0)}.post-index-toggle:checked ~ .post-index-backdrop{opacity:1;visibility:visible}.post-index-close{float:right;cursor:pointer;user-select:none;font-size:1.1rem;line-height:1;color:var(--color-text-light);padding:0.1rem 0.3rem;margin:-0.2rem -0.2rem 0 0}.post-index-close:hover{color:var(--color-text)}@media (prefers-reduced-motion:reduce){.post-index-drawer,.post-index-backdrop{transition:none}}@media (min-width:900px){.index-sidebar{position:sticky;top:var(--spacing-lg);z-index:auto;width:auto;max-width:none;height:auto;max-height:calc(100vh - 2 * var(--spacing-lg));overflow-y:auto;padding:0 0 0 var(--spacing-lg);background:none;border:none;border-left:1px solid var(--color-border);box-shadow:none;transform:none;transition:none}.index-only-trigger,.index-sidebar .post-index-close{display:none}.index-only-backdrop{display:none}}.post-search{margin-bottom:var(--spacing-md)}.post-search input{width:100%;font:inherit;font-size:var(--font-size-small);color:var(--color-text);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:0.4rem 0.6rem}.post-search input:focus{outline:none;border-color:var(--color-primary)}.post-search-empty{color:var(--color-text-light);font-size:var(--font-size-small)}.post-list{list-style:none;padding:0;margin:0}.post-list li{display:flex;flex-direction:column;padding:var(--spacing-sm) 0}.post-list time,.post time{color:var(--color-text-light);font-size:var(--font-size-small);white-space:nowrap}.post h1{margin-bottom:var(--spacing-sm)}.post time{display:block;margin-bottom:var(--spacing-lg)}.post img{max-width:100%;height:auto;border-radius:var(--border-radius)}.post pre{overflow-x:auto;background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-md)}.post-nav{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--spacing-md) var(--spacing-lg);justify-content:space-between;border-top:1px solid var(--color-border);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg)}.post-nav-item{display:flex;flex-direction:column;gap:0.15rem;text-decoration:none;max-width:18rem}.post-nav-older{text-align:right;margin-left:auto}.post-nav-label{color:var(--color-text-light);font-size:var(--font-size-small);text-transform:uppercase;letter-spacing:0.08em}.post-nav-index{font-size:var(--font-size-small)}.tags{list-style:none;padding:0;margin-top:var(--spacing-lg);display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.tags a{font-size:var(--font-size-small);background:var(--color-background-alt);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:0.15rem 0.6rem}