:root{--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "Fira Code", "Cascadia Code", monospace;--font-serif: Georgia, "Times New Roman", serif;--color-bg: #ffffff;--color-bg-subtle: #f7f7f7;--color-text: #1a1a1a;--color-text-muted: #666666;--color-border: #e5e5e5;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-tag: #eff6ff;--color-tag-text: #1d4ed8;--max-width: 720px;--nav-height: 64px}[data-theme=dark]{--color-bg: #0f0f0f;--color-bg-subtle: #1a1a1a;--color-text: #f0f0f0;--color-text-muted: #999999;--color-border: #2a2a2a;--color-accent: #60a5fa;--color-accent-hover: #93c5fd;--color-tag: #1e3a5f;--color-tag-text: #93c5fd}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:18px;scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.7;transition:background-color .2s,color .2s}img{max-width:100%;height:auto;display:block}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover);text-decoration:underline}h1,h2,h3,h4{line-height:1.3;font-weight:700;letter-spacing:-.02em}.container{max-width:var(--max-width);margin-inline:auto;padding-inline:1.5rem}main{padding-block:2rem 4rem;min-height:calc(100vh - var(--nav-height) - 80px)}.site-header{border-bottom:1px solid var(--color-border);height:var(--nav-height);position:sticky;top:0;background:var(--color-bg);z-index:100;backdrop-filter:blur(8px);background-color:color-mix(in srgb,var(--color-bg) 90%,transparent)}.site-header .container{height:100%;display:flex;align-items:center;gap:2rem;max-width:960px}.logo{font-weight:700;font-size:1.1rem;color:var(--color-text);white-space:nowrap}.logo:hover{text-decoration:none}.logo-symbol{color:var(--color-accent);font-size:1.3em}.site-header nav{flex:1}.site-header nav ul{list-style:none;display:flex;gap:1.5rem}.site-header nav a{color:var(--color-text-muted);font-size:.9rem;font-weight:500}.site-header nav a:hover,.site-header nav a.active{color:var(--color-accent);text-decoration:none}#theme-toggle{background:none;border:1px solid var(--color-border);border-radius:6px;padding:.3rem .6rem;cursor:pointer;font-size:1rem;line-height:1}[data-theme=dark] #theme-toggle .sun{display:none}[data-theme=light] #theme-toggle .moon,:root:not([data-theme=dark]) #theme-toggle .moon{display:none}.site-footer{border-top:1px solid var(--color-border);padding-block:2rem;font-size:.85rem;color:var(--color-text-muted);text-align:center}.site-footer a{color:var(--color-text-muted)}.site-footer .tagline{margin-top:.25rem}.hero{padding-block:3rem 2rem;border-bottom:1px solid var(--color-border);margin-bottom:2.5rem}.hero h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:.5rem}.hero-tagline{font-size:1.1rem;color:var(--color-text-muted)}.recent-posts h2{margin-bottom:1.5rem;font-size:1.2rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-weight:600}.posts-grid{display:flex;flex-direction:column;gap:2rem}.post-card{border-bottom:1px solid var(--color-border);padding-bottom:2rem}.post-card:last-child{border-bottom:none}.post-card img{border-radius:8px;margin-bottom:1rem;aspect-ratio:16/9;object-fit:cover}.post-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;font-size:.85rem;color:var(--color-text-muted)}.tag-list{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem}.tag-list a{background:var(--color-tag);color:var(--color-tag-text);padding:.1rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500}.tag-list a:hover{text-decoration:none;opacity:.8}.post-card h2{font-size:1.3rem;margin-bottom:.4rem}.post-card h2 a{color:var(--color-text)}.post-card h2 a:hover{color:var(--color-accent);text-decoration:none}.post-card p{color:var(--color-text-muted);font-size:.95rem;margin-bottom:.75rem}.read-more{font-size:.9rem;font-weight:500}.btn-all-posts{display:inline-block;margin-top:2rem;font-weight:600}.page-description{color:var(--color-text-muted);margin-bottom:2rem;font-size:.9rem}.post-header{padding-top:2rem;padding-bottom:2rem;border-bottom:1px solid var(--color-border);margin-bottom:2.5rem}.hero-image{width:100%;max-height:400px;object-fit:cover;border-radius:12px;margin-bottom:2rem}.post-header .post-meta{margin-bottom:1rem}.post-header h1{font-size:clamp(1.6rem,4vw,2.5rem);margin-bottom:.75rem}.post-description{font-size:1.1rem;color:var(--color-text-muted);margin-bottom:1rem}.updated{font-style:italic}.author{font-weight:500}.post-body{font-size:1rem;color:var(--color-text)}.post-body h2{font-size:1.5rem;margin-top:2.5rem;margin-bottom:.75rem;padding-bottom:.25rem;border-bottom:1px solid var(--color-border)}.post-body h3{font-size:1.2rem;margin-top:2rem;margin-bottom:.5rem}.post-body p{margin-bottom:1.25rem}.post-body ul,.post-body ol{padding-left:1.5rem;margin-bottom:1.25rem}.post-body li{margin-bottom:.4rem}.post-body blockquote{border-left:4px solid var(--color-accent);padding-left:1.25rem;color:var(--color-text-muted);font-style:italic;margin-block:1.5rem}.post-body code{font-family:var(--font-mono);font-size:.85em;background:var(--color-bg-subtle);padding:.1em .4em;border-radius:4px}.post-body pre{background:#1e1e1e;padding:1.25rem;border-radius:8px;overflow-x:auto;margin-block:1.5rem}.post-body pre code{background:none;padding:0;font-size:.875rem;color:#d4d4d4}.post-body hr{border:none;border-top:1px solid var(--color-border);margin-block:2rem}.post-body img{border-radius:8px;margin-block:1.5rem}.post-body a{font-weight:500}.post-body table{width:100%;border-collapse:collapse;margin-block:1.5rem;font-size:.9rem}.post-body th,.post-body td{padding:.6rem .75rem;border:1px solid var(--color-border);text-align:left}.post-body th{background:var(--color-bg-subtle);font-weight:600}.tags-cloud{list-style:none;display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.tags-cloud a{font-size:1rem;font-weight:500}.tag-count{font-size:.75em;color:var(--color-text-muted)}.error-page{text-align:center;padding-block:6rem}.error-page h1{font-size:6rem;color:var(--color-accent);line-height:1}.error-page p{margin-block:1rem 2rem;font-size:1.1rem;color:var(--color-text-muted)}@media (max-width: 600px){.site-header nav ul{gap:1rem}.logo{font-size:1rem}}
