:root{--bg:#1d1f27;--bg-lighter:#252830;--text:#c9d1d9;--text-bright:#eee;--accent:#8cc2dd;--accent-hover:#a8d4ea;--muted:#8b949e;--border:#30363d;--card-bg:#252830;--code-bg:#282a36;--code-text:#f8f8f2;--visited:#8b6fcb;--font-sans:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;--font-mono:ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, monospace;--max-width:720px;--spacing:1.5rem;color-scheme:dark}:root.light{--bg:#f5f0e8;--bg-lighter:#ece7dc;--text:#3d3929;--text-bright:#1a1712;--accent:#b3742d;--accent-hover:#9a5f1e;--muted:#7a7262;--border:#d5cfc3;--card-bg:#ece7dc;--code-bg:#e8e2d6;--code-text:#3d3929;--visited:#7a5ea7;color-scheme:light}*,*::before,*::after{box-sizing:border-box}body{font-family:var(--font-sans);background-color:var(--bg);color:var(--text);line-height:1.6;margin:0;padding:0;min-height:100vh;display:flex;flex-direction:column;word-wrap:break-word;overflow-wrap:break-word;transition:background-color .3s,color .3s}h1,h2,h3,h4,h5,h6,strong,b{color:var(--text-bright)}h1{font-size:1.8rem}h2{font-size:1.5rem}h3{font-size:1.25rem}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}img{max-width:100%;height:auto}code{font-family:var(--font-mono);padding:2px 6px;background-color:var(--code-bg);border-radius:3px;font-size:.9em;color:var(--code-text)}pre code{display:block;padding:1.2rem;overflow-x:auto;white-space:pre;font-size:.85em;border-radius:6px}blockquote{border-left:3px solid var(--accent);padding-left:1rem;margin-left:0;color:var(--muted);font-style:italic}hr{border:none;border-top:1px solid var(--border);margin:2rem 0}table{width:100%;border-collapse:collapse}table,th,td{border:1px solid var(--border);padding:.5rem}header{max-width:var(--max-width);margin:0 auto;padding:1.5rem 1.25rem;width:100%;display:flex;justify-content:space-between;align-items:center}.site-title{font-size:1.3rem;font-weight:700;color:var(--text-bright);text-decoration:none}.site-title:hover{color:var(--accent);text-decoration:none}header nav a{margin-left:1.25rem;color:var(--muted);font-size:.95rem}header nav a:hover{color:var(--accent);text-decoration:none}main{max-width:var(--max-width);margin:0 auto;padding:0 1.25rem 2rem;width:100%;flex:1}footer{max-width:var(--max-width);margin:0 auto;padding:1.5rem 1.25rem;width:100%;text-align:center;font-size:.85rem;color:var(--muted)}footer a{color:var(--muted)}footer a:hover{color:var(--accent)}body.home{justify-content:center;align-items:center}body.home main{display:flex;justify-content:center;align-items:center;flex:1;padding:2rem 1.25rem}body.home footer{text-align:center}.profile{display:flex;justify-content:center;align-items:center;width:100%}.profile__card{text-align:center;max-width:420px;padding:3rem 2rem}.profile__avatar{width:140px;height:140px;border-radius:50%;object-fit:cover;margin-bottom:1.5rem;border:3px solid var(--border);transition:border-color .3s}.profile__avatar:hover{border-color:var(--accent)}.profile__name{font-size:2rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin:0 0 .5rem;color:var(--text-bright)}.profile__bio{color:var(--muted);font-size:1rem;margin:0 0 1.5rem;line-height:1.6}.profile__social{list-style:none;padding:0;margin:0 0 2rem;display:flex;justify-content:center;gap:1rem}.profile__social li a{color:var(--muted);transition:color .2s,transform .2s;display:inline-flex}.profile__social li a:hover{color:var(--accent);transform:translateY(-2px)}.profile__nav{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.profile__nav a{text-transform:uppercase;font-size:.85rem;font-weight:600;letter-spacing:1.5px;color:var(--muted);padding:.4rem 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.profile__nav a:hover{color:var(--accent);border-bottom-color:var(--accent);text-decoration:none}ul.blog-posts{list-style:none;padding:0}ul.blog-posts li{display:flex;margin-bottom:.75rem;align-items:baseline}ul.blog-posts li span{flex:0 0 130px;color:var(--muted);font-size:.9rem}ul.blog-posts li a{font-size:1.05rem}ul.blog-posts li a:visited{color:var(--visited)}.blog-tags-list{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border)}a.blog-tags{display:inline-block;margin-right:.75rem;margin-bottom:.5rem;color:var(--muted);font-size:.9rem}a.blog-tags:hover{color:var(--accent)}h3.blog-filter{margin-bottom:.5rem;color:var(--muted)}article h1{margin-bottom:.25rem}.byline{color:var(--muted);font-size:.9rem;font-style:italic;margin-bottom:2rem}article content{display:block;line-height:1.8}article content p{margin-bottom:1.25rem}article content h2{margin-top:2rem}article content h3{margin-top:1.5rem}article content ul,article content ol{padding-left:1.5rem}article content li{margin-bottom:.5rem}.post-tags{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border)}.theme-toggle{background:0 0;border:1px solid var(--border);border-radius:6px;padding:.3rem .5rem;cursor:pointer;color:var(--muted);display:inline-flex;align-items:center;transition:color .2s,border-color .2s;vertical-align:middle}.theme-toggle:hover{color:var(--accent);border-color:var(--accent)}.icon-sun{display:inline-block}.icon-moon{display:none}:root.light .icon-sun{display:none}:root.light .icon-moon{display:inline-block}.lang-toggle{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--muted);padding:.2rem .5rem;border:1px solid var(--border);border-radius:4px;transition:color .2s,border-color .2s,background-color .2s;text-decoration:none}.lang-toggle:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}.lang-toggle.active{color:var(--accent);border-color:var(--accent);background-color:var(--bg-lighter);pointer-events:none}.fixed-toggles{position:fixed;top:1rem;right:1rem;z-index:1000;display:flex;align-items:center;gap:.4rem;background-color:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:.35rem .6rem;box-shadow:0 2px 8px rgba(0,0,0,.15);transition:background-color .3s,border-color .3s}@media screen and (max-width:600px){ul.blog-posts li{flex-direction:column;margin-bottom:1rem}ul.blog-posts li span{flex:none;margin-bottom:.1rem}.profile__name{font-size:1.6rem}header{flex-direction:column;gap:.75rem}header nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}header nav a{margin-left:0}.fixed-toggles{top:.5rem;right:.5rem;padding:.25rem .5rem}}