:root{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-serif: "Georgia", "Times New Roman", serif;--font-mono: "SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", monospace;--bg: #fafafa;--bg-secondary: #f5f5f5;--text: #171717;--text-secondary: #525252;--text-muted: #a3a3a3;--border: #e5e5e5;--link: #171717;--link-hover: #525252;--max-width: 640px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem}[data-theme=dark]{--bg: #0a0a0a;--bg-secondary: #171717;--text: #fafafa;--text-secondary: #a3a3a3;--text-muted: #525252;--border: #262626;--link: #fafafa;--link-hover: #a3a3a3}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0a0a0a;--bg-secondary: #171717;--text: #fafafa;--text-secondary: #a3a3a3;--text-muted: #525252;--border: #262626;--link: #fafafa;--link-hover: #a3a3a3}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:1rem;line-height:1.7;color:var(--text);background-color:var(--bg);min-height:100vh;transition:background-color .2s ease,color .2s ease}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-lg)}header{padding:var(--spacing-xl) 0}.header-inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-lg);display:flex;justify-content:space-between;align-items:center}.site-logo{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text);border-radius:.375rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:opacity .15s ease}.site-logo:hover{opacity:.8}.header-nav{display:flex;align-items:center;gap:var(--spacing-lg)}.header-nav a{color:var(--text-secondary);text-decoration:none;font-size:.875rem;transition:color .15s ease}.header-nav a:hover{color:var(--text)}.theme-toggle{background:none;border:none;cursor:pointer;padding:var(--spacing-xs);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:color .15s ease}.theme-toggle:hover{color:var(--text)}.theme-toggle svg{width:18px;height:18px}main{padding:var(--spacing-xl) 0 var(--spacing-3xl)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--text)}h1{font-size:2rem;margin-bottom:var(--spacing-lg)}h2{font-size:1.5rem;margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-md)}h3{font-size:1.25rem;margin-top:var(--spacing-xl);margin-bottom:var(--spacing-sm)}p{margin-bottom:var(--spacing-lg)}a{color:var(--link);text-decoration:underline;text-decoration-color:var(--text-muted);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .15s ease}a:hover{text-decoration-color:var(--text)}.intro{margin-bottom:var(--spacing-3xl)}.intro p{color:var(--text-secondary);font-size:1.125rem;line-height:1.8;margin-bottom:var(--spacing-md)}.intro p:last-child{margin-bottom:0}.posts-section{margin-bottom:var(--spacing-3xl)}.year-heading{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border)}.posts-list{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-sm)}.posts-list li{display:flex;align-items:baseline;gap:var(--spacing-md)}.post-date{font-size:.875rem;color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;width:5rem}.post-link{color:var(--text);text-decoration:none;transition:color .15s ease}.post-link:hover{color:var(--text-secondary);text-decoration:underline;text-decoration-color:var(--text-muted)}.article-header{margin-bottom:var(--spacing-2xl)}.article-title{font-size:2rem;font-weight:600;line-height:1.2;margin-bottom:var(--spacing-md)}.article-meta{color:var(--text-muted);font-size:.875rem;display:flex;align-items:center;gap:var(--spacing-md)}.article-meta time{font-variant-numeric:tabular-nums}.back-link{display:inline-block;margin-bottom:var(--spacing-xl);color:var(--text-secondary);text-decoration:none;font-size:.875rem}.back-link:hover{color:var(--text)}.prose{font-size:1rem;line-height:1.75}.prose>*+*{margin-top:var(--spacing-lg)}.prose h2{font-size:1.375rem;margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-md)}.prose h3{font-size:1.125rem;margin-top:var(--spacing-xl);margin-bottom:var(--spacing-sm)}.prose p{margin-bottom:0}.prose strong{font-weight:600}.prose em{font-style:italic}.prose ul,.prose ol{padding-left:var(--spacing-lg)}.prose li{margin-bottom:var(--spacing-sm)}.prose li::marker{color:var(--text-muted)}.prose blockquote{border-left:2px solid var(--border);padding-left:var(--spacing-lg);color:var(--text-secondary);font-style:italic;margin:var(--spacing-xl) 0}.prose blockquote p{margin-bottom:0}.prose code{font-family:var(--font-mono);font-size:.875em;background:var(--bg-secondary);padding:.2em .4em;border-radius:3px}.prose pre{font-family:var(--font-mono);font-size:.875rem;line-height:1.6;background:var(--bg-secondary);padding:var(--spacing-lg);border-radius:6px;overflow-x:auto;margin:var(--spacing-xl) 0}.prose pre code{background:none;padding:0;font-size:inherit}.astro-code{background:var(--bg-secondary)!important;padding:var(--spacing-lg);border-radius:6px;margin:var(--spacing-xl) 0}.prose img{max-width:100%;height:auto;border-radius:6px;margin:var(--spacing-xl) 0}.prose hr{border:none;border-top:1px solid var(--border);margin:var(--spacing-2xl) 0}.prose table{width:100%;border-collapse:collapse;font-size:.875rem;margin:var(--spacing-xl) 0}.prose th,.prose td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border);text-align:left}.prose th{font-weight:600;color:var(--text)}.prose td{color:var(--text-secondary)}.tag-page-title{font-size:1.5rem;margin-bottom:var(--spacing-sm)}.tag-description{color:var(--text-secondary);margin-bottom:var(--spacing-xl)}.pagination{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-xl);margin-top:var(--spacing-2xl);border-top:1px solid var(--border);font-size:.875rem}.pagination a{color:var(--text-secondary);text-decoration:none}.pagination a:hover{color:var(--text)}.pagination-info,.pagination .disabled{color:var(--text-muted)}footer{padding:var(--spacing-xl) 0;border-top:1px solid var(--border);margin-top:var(--spacing-3xl)}.footer-inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:var(--text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 640px){:root{--spacing-lg: 1.25rem}.header-nav{gap:var(--spacing-md)}.posts-list li{flex-direction:column;gap:var(--spacing-xs)}.post-date{width:auto}.article-title{font-size:1.5rem}.footer-inner{flex-direction:column;gap:var(--spacing-md);text-align:center}}@view-transition{navigation: auto;}::view-transition-old(root),::view-transition-new(root){animation-duration:.15s;animation-timing-function:ease-out}::view-transition-old(root){animation-name:fade-out}::view-transition-new(root){animation-name:fade-in}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){::view-transition-old(root),::view-transition-new(root){animation-duration:0s}}::selection{background:var(--text);color:var(--bg)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.social-links[data-astro-cid-zamss57n]{display:flex;gap:.75rem;align-items:center}.social-links[data-astro-cid-zamss57n] a[data-astro-cid-zamss57n]{color:var(--text-muted);text-decoration:none;transition:color .15s ease;display:flex;align-items:center;justify-content:center}.social-links[data-astro-cid-zamss57n] a[data-astro-cid-zamss57n]:hover{color:var(--text)}.sun-icon[data-astro-cid-rmvm3m3v],.moon-icon[data-astro-cid-rmvm3m3v]{display:none}
