@import 'https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;0,6..72,700;1,6..72,400;1,6..72,500&display=swap';:root{--color-bg:#ffffff;--color-text:#1a1a1a;--color-text-secondary:#555555;--color-link:#555555;--color-link-hover:#333333;--color-border:#dddddd;--color-code-bg:#f5f5f5;--color-header-bg:#ffffff;--color-footer-bg:#f9f9f9;--color-tag-bg:#f0f0f0;--shadow-color:rgba(0,0,0,0.03);--font-family-base:'Newsreader', 'Georgia', 'Times New Roman', serif;--font-family-heading:'Newsreader', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;--font-family-mono:SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-size-base:22px;--line-height:1.65;--spacing-unit:1rem;--spacing-large:calc(var(--spacing-unit) * 2);--spacing-small:calc(var(--spacing-unit) * 0.5);--max-width:720px;--narrow-width:650px;--transition-speed:0.3s}.dark-theme{--color-bg:#121212;--color-text:#e0e0e0;--color-text-secondary:#a0a0a0;--color-link:#a0a0a0;--color-link-hover:#cccccc;--color-border:#333333;--color-code-bg:#1e1e1e;--color-header-bg:#121212;--color-footer-bg:#0a0a0a;--color-tag-bg:#2a2a2a;--shadow-color:rgba(0,0,0,0.2)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family-base);background-color:var(--color-bg);color:var(--color-text);line-height:var(--line-height);font-size:var(--font-size-base);font-weight:400;font-optical-sizing:auto;transition:background-color var(--transition-speed)ease,color var(--transition-speed)ease}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-unit)}.header-container,.footer-container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-unit);width:100%}h1,h2,h3,h4,h5,h6{margin-top:var(--spacing-large);margin-bottom:var(--spacing-unit);line-height:1.3;font-weight:600;font-family:var(--font-family-heading);letter-spacing:-.01em}h1{font-size:2.2rem}h2{font-size:1.8rem}h3{font-size:1.5rem}h4{font-size:1.3rem}p{margin-bottom:var(--spacing-unit)}ul,ol{margin-bottom:var(--spacing-unit);padding-left:2rem}a{color:var(--color-link);text-decoration:none;transition:color var(--transition-speed)ease,border-bottom var(--transition-speed)ease;border-bottom:1px solid transparent;font-size:1.05em}a:hover{color:var(--color-link-hover);border-bottom:1px solid var(--color-link-hover)}img{max-width:100%;height:auto;border-radius:4px}code{font-family:var(--font-family-mono);background-color:var(--color-code-bg);padding:.2em .4em;border-radius:3px;font-size:.95em}pre{background-color:var(--color-code-bg);padding:var(--spacing-unit);border-radius:5px;overflow-x:auto;margin-bottom:var(--spacing-unit)}pre code{background-color:transparent;padding:0;border-radius:0}blockquote{border-left:4px solid var(--color-border);padding-left:var(--spacing-unit);color:var(--color-text-secondary);font-style:italic;margin-bottom:var(--spacing-unit)}hr{border:0;border-top:1px solid var(--color-border);margin:var(--spacing-large)0}.site-header{width:100%;padding:var(--spacing-unit)0;margin-bottom:var(--spacing-large);border-bottom:1px solid var(--color-border);background-color:var(--color-header-bg);position:sticky;top:0;z-index:100;box-shadow:0 1px 2px var(--shadow-color)}.header-container{display:flex;justify-content:space-between;align-items:center}.site-title{font-size:1.5rem;font-weight:600;font-family:var(--font-family-heading);letter-spacing:-.01em}.site-nav{display:flex;gap:calc(var(--spacing-unit) * .8)}.nav-link{color:var(--color-text);font-weight:500;font-size:1rem;padding:.5rem 0}.nav-link:hover{color:var(--color-link);text-decoration:none}#theme-toggle{background:0 0;border:none;cursor:pointer;color:var(--color-text);padding:5px;display:flex;align-items:center;justify-content:center}.light-theme .moon-icon{display:block}.light-theme .sun-icon{display:none}.dark-theme .moon-icon{display:none}.dark-theme .sun-icon{display:block}.site-footer{padding:var(--spacing-unit)0;background-color:var(--color-footer-bg);width:100%;margin-top:0}.footer-content{display:flex;justify-content:space-between;align-items:center}.social-links{display:flex;gap:var(--spacing-unit)}.social-links a{color:var(--color-text-secondary)}.social-links a:hover{color:var(--color-text)}.post-list{margin-top:var(--spacing-large)}.post-item{margin-bottom:var(--spacing-large);padding-bottom:var(--spacing-large);border-bottom:1px solid var(--color-border)}.post-item:last-child{border-bottom:none}.post-title{margin-top:0}.post-meta{color:var(--color-text-secondary);font-size:.9rem;margin-bottom:var(--spacing-small)}.post-summary{max-width:var(--narrow-width)}.read-more{display:inline-block;margin-top:var(--spacing-small);font-weight:500}.post{max-width:var(--narrow-width);margin:0 auto}.post-header{margin-bottom:var(--spacing-large)}.post-content{margin-bottom:var(--spacing-large);font-size:1.25rem}.post-content h2,.post-content h3,.post-content h4{margin-top:var(--spacing-large)}.post-content ul,.post-content ol{padding-left:2.5rem;margin-bottom:1.5rem}.post-content li{margin-bottom:.5rem}.post-navigation{display:flex;justify-content:space-between;margin-top:var(--spacing-large);padding-top:var(--spacing-unit);border-top:1px solid var(--color-border)}.tags{display:inline-flex;gap:.5rem;margin-left:.5rem}.tag{background-color:var(--color-tag-bg);padding:.2rem .5rem;border-radius:3px;font-size:.8rem;color:var(--color-text-secondary)}.tag:hover{background-color:var(--color-link);color:#fff;text-decoration:none}.home-container{max-width:750px;margin:0 auto;padding:2rem 1rem;display:flex;flex-direction:column;gap:3rem}.intro{margin-bottom:1rem}.intro h1{margin-top:0;font-size:2.4rem;line-height:1.2}.social-links-home{display:flex;gap:1rem;margin-top:1.5rem}.social-links-home a{color:var(--color-text-secondary);font-weight:500}.social-links-home a:hover{color:var(--color-link-hover)}.recent-posts,.featured-projects,.popular-topics{margin-bottom:2.5rem}.project-item-home{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.project-item-home:last-child{border-bottom:none}.project-summary{margin-top:.5rem;color:var(--color-text-secondary)}.recent-posts ul,.featured-projects ul{list-style-type:none;padding-left:0}.post-item-home{margin-bottom:1.8rem;padding-bottom:1.8rem;border-bottom:1px solid var(--color-border)}.post-item-home:last-child{border-bottom:none}.post-item-home a{font-size:1.3rem;font-weight:500;line-height:1.3}.post-summary{margin-top:.5rem;color:var(--color-text-secondary)}.post-date{font-size:.9rem;color:var(--color-text-secondary);display:block;margin-top:.3rem}.post-tags{margin-top:.5rem}.section-link{display:inline-block;margin-top:.5rem;font-weight:500}.sidebar h2{font-size:1.4rem;margin-bottom:1rem}.sidebar .featured-projects li{margin-bottom:1.2rem}.sidebar .featured-projects p{font-size:.9rem;color:var(--color-text-secondary);margin-top:.2rem}.tag-cloud{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.topics-container{width:100%;border-top:1px solid var(--color-border);padding:2rem 0 0;background-color:var(--color-footer-bg);box-shadow:0 -1px 2px var(--shadow-color);margin-bottom:0}.popular-topics{padding-bottom:1.5rem}.popular-topics h2{margin-top:0;font-size:1.5rem;margin-bottom:1rem}.footer-divider{border:0;height:1px;background-color:var(--color-border);margin:0;opacity:.5}@media(max-width:768px){.home-container{gap:2rem}.tag-cloud{gap:.4rem}}.quote-list{margin-top:2rem}.quote-item{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--color-border)}.quote-item:last-child{border-bottom:none}.quote-content{font-size:1.2rem;line-height:1.6;font-style:italic;margin-bottom:1rem}.quote-item blockquote,.quote-page blockquote{margin:0;padding:0 0 0 1.5rem;border-left:3px solid var(--color-border);font-style:italic}.quote-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem 1rem;margin-top:1rem;font-size:.95rem;color:var(--color-text-secondary)}.quote-author{font-size:1.1rem;font-weight:500;color:var(--color-text);margin:0}.quote-source{font-style:italic}.quote-topics{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.5rem}.random-quote{margin:2rem 0;padding:1rem 0;position:relative;transition:opacity .3s ease}.random-quote .quote-content{margin-bottom:.5rem}.random-quote blockquote{margin:0;padding:0 0 0 1.5rem;border-left:3px solid var(--color-border);font-style:italic}.random-quote .quote-meta{padding-left:1.5rem;position:relative}.quote-refresh{background:0 0;border:none;font-size:1rem;color:var(--color-text-secondary);cursor:pointer;opacity:.6;padding:.2rem .4rem;border-radius:3px;margin-left:.5rem;transition:opacity .2s ease,color .2s ease,background-color .2s ease}.quote-refresh:hover{opacity:1;color:var(--color-link-hover);background-color:var(--color-tag-bg)}.text-center{text-align:center}.mb-0{margin-bottom:0}.mt-0{margin-top:0}@media(max-width:768px){.header-container{flex-direction:column;align-items:flex-start;gap:var(--spacing-unit);position:relative}.site-nav{flex-wrap:wrap;gap:var(--spacing-small)}#theme-toggle{position:absolute;top:var(--spacing-unit);right:0}}@media(max-width:600px){:root{--spacing-unit:0.8rem;--font-size-base:20px}h1{font-size:1.8rem}h2{font-size:1.5rem}h3{font-size:1.3rem}.post-content{font-size:1.2rem}.footer-content{flex-direction:column;gap:var(--spacing-unit)}}