.site-footer[data-astro-cid-sz7xmlte]{margin-top:var(--space-xl);padding:var(--space-lg) 0;border-top:1px solid var(--color-border);font-size:.85rem;color:var(--color-text-secondary)}.theme-toggle[data-astro-cid-x3pjskd3]{flex-shrink:0}button[data-astro-cid-x3pjskd3]{display:flex;align-items:center;gap:.35rem;padding:var(--space-sm) var(--space-md);font-size:1.2rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-text);cursor:pointer}button[data-astro-cid-x3pjskd3]:hover{background:var(--color-surface)}.theme-icon[data-astro-cid-x3pjskd3]{display:none}[data-theme=light] .theme-icon[data-astro-cid-x3pjskd3][data-icon=light],[data-theme=dark] .theme-icon[data-astro-cid-x3pjskd3][data-icon=dark],[data-theme=reading] .theme-icon[data-astro-cid-x3pjskd3][data-icon=reading]{display:inline}@font-face{font-family:Inconsolata;src:url(/fonts/Inconsolata-VariableFont_wdth,wght.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--color-bg: #ffffff;--color-text: #1a1a1a;--color-text-secondary: #555555;--color-accent: #0056b3;--color-accent-hover: #003d80;--color-border: #e0e0e0;--color-surface: #f7f7f7;--color-code-bg: #f0f0f0;--font-body: "Inconsolata", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--content-width: 680px;--site-width: 900px;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 2rem;--space-xl: 3rem}[data-theme=dark]{--color-bg: #181818;--color-text: #e0e0e0;--color-text-secondary: #a0a0a0;--color-accent: #6db3f2;--color-accent-hover: #9ccbf7;--color-border: #2a2a2a;--color-surface: #1e1e1e;--color-code-bg: #1e1e1e}[data-theme=reading]{--color-bg: #f5f0e8;--color-text: #2c2416;--color-text-secondary: #5c4f3a;--color-accent: #8b5e34;--color-accent-hover: #6d4a29;--color-border: #d8cfc0;--color-surface: #ede7db;--color-code-bg: #ede7db}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:17px;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg);line-height:1.7;transition:background-color .2s ease,color .2s ease}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover);text-decoration:underline}img{max-width:100%;height:auto;display:block}code{font-family:var(--font-mono);font-size:.9em;background-color:var(--color-code-bg);padding:.15em .35em;border-radius:3px}pre{background-color:var(--color-code-bg);padding:var(--space-md);border-radius:6px;overflow-x:auto;line-height:1.5}pre code{background:none;padding:0}.site-wrapper{max-width:var(--site-width);margin:0 auto;padding:0 var(--space-md);min-height:100vh;display:flex;flex-direction:column}main{flex:1}.section{margin-bottom:var(--space-xl)}.section-title{font-size:1.5rem;font-weight:700;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border)}.post-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-lg)}.post-item-link{display:flex;gap:var(--space-md);padding:var(--space-md);border-radius:6px;color:var(--color-text);text-decoration:none;transition:background-color .15s ease}.post-item-link:hover{background-color:var(--color-surface);color:var(--color-text);text-decoration:none}.post-item-link:hover .post-title{color:var(--color-accent)}.post-thumbnail{flex-shrink:0;width:120px;height:80px;object-fit:cover;border-radius:4px;background-color:var(--color-surface)}.post-info{display:flex;flex-direction:column;gap:var(--space-xs)}.post-title{font-size:1.1rem;font-weight:600;line-height:1.3;transition:color .15s ease}.post-date{font-size:.85rem;color:var(--color-text-secondary)}.post-excerpt{font-size:.95rem;color:var(--color-text-secondary);line-height:1.5}.project-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.project-item{padding:0}.project-name{font-size:1.05rem;font-weight:600}.project-description{font-size:.95rem;color:var(--color-text-secondary);margin-top:.1rem}.two-column-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl)}@media(max-width:640px){.two-column-row{grid-template-columns:1fr;gap:0}}.simple-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.simple-list li{display:flex;flex-direction:column;gap:.1rem}.list-meta{font-size:.85rem;color:var(--color-text-secondary)}.post-header{margin-bottom:var(--space-xl)}.post-header h1{font-size:2rem;font-weight:700;line-height:1.2;margin-bottom:var(--space-sm)}.post-header time{font-size:.9rem;color:var(--color-text-secondary)}.post-body h2{font-size:1.5rem;font-weight:600;margin-top:var(--space-xl);margin-bottom:var(--space-md)}.post-body h3{font-size:1.25rem;font-weight:600;margin-top:var(--space-lg);margin-bottom:var(--space-sm)}.post-body p{margin-bottom:var(--space-md)}.post-body ul,.post-body ol{margin-bottom:var(--space-md);padding-left:var(--space-lg)}.post-body li{margin-bottom:var(--space-xs)}.post-body blockquote{border-left:3px solid var(--color-accent);padding-left:var(--space-md);margin:var(--space-md) 0;color:var(--color-text-secondary);font-style:italic}.post-body img{margin:var(--space-lg) auto;border-radius:6px}.post-body hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-xl) 0}.reading-controls{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap;font-size:.85rem;color:var(--color-text-secondary)}.reading-controls label{font-size:.85rem}.reading-controls select{font-size:.85rem;padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-text);cursor:pointer}.font-size-controls{display:flex;align-items:center;gap:var(--space-xs)}.font-size-controls button{font-size:.85rem;padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-text);cursor:pointer;line-height:1}.font-size-controls button:hover{background:var(--color-surface)}@media(max-width:640px){:root{--site-width: 100%}.post-item{flex-direction:column}.post-thumbnail{width:100%;height:160px}.post-header h1{font-size:1.5rem}.reading-controls{flex-direction:column;align-items:flex-start}}@media(min-width:641px)and (max-width:1024px){:root{--site-width: 90%}}@media(min-width:1025px){:root{--site-width: 900px}}
