:root{--bg: #141414;--bg-surface: #1e1e1e;--border: #2a2a2a;--text: #e0e0e0;--text-muted: #888888;--accent: #a0a0a0;--accent-hover: #d0d0d0;--icon-sun-display: none;--icon-moon-display: inline}[data-theme=light]{--bg: #f6f1eb;--bg-surface: #ede7df;--border: #d9d0c5;--text: #2c2c2c;--text-muted: #6b6560;--accent: #5a5550;--accent-hover: #2c2c2c;--icon-sun-display: inline;--icon-moon-display: none}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){--bg: #f6f1eb;--bg-surface: #ede7df;--border: #d9d0c5;--text: #2c2c2c;--text-muted: #6b6560;--accent: #5a5550;--accent-hover: #2c2c2c;--icon-sun-display: inline;--icon-moon-display: none}}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:18px;scroll-behavior:smooth}body{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.7;min-height:100vh;display:flex;flex-direction:column;max-width:1060px;margin:0 auto;padding:0 1.5rem;transition:background .3s,color .3s}nav{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0;border-bottom:1px solid var(--border);margin-bottom:2rem}nav .nav-brand{font-weight:700;font-size:1.2rem;color:var(--text);text-decoration:none}nav .nav-links{display:flex;align-items:center;gap:1.25rem}nav .nav-links a{color:var(--text-muted);text-decoration:none;transition:color .2s}nav .nav-links a:hover{color:var(--text)}.theme-toggle{background:none;border:1px solid var(--border);border-radius:6px;cursor:pointer;padding:.25rem .5rem;font-size:.9rem;line-height:1;transition:border-color .2s}.theme-toggle:hover{border-color:var(--text-muted)}.theme-toggle .icon-sun{display:var(--icon-sun-display)}.theme-toggle .icon-moon{display:var(--icon-moon-display)}main{flex:1}.hero{padding:3rem 0;border-bottom:1px solid var(--border);margin-bottom:2rem}.hero .hero-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.hero .profile-photo{width:230px;height:230px;border-radius:12px;object-fit:cover;flex-shrink:0}.hero h1{font-size:2rem;margin-bottom:.75rem;color:var(--text)}.hero p{color:var(--text-muted);margin-bottom:0;font-size:1.1rem}@media (max-width: 600px){.hero .hero-inner{flex-direction:column-reverse;text-align:center}.hero .profile-photo{width:150px;height:150px}}.btn{display:inline-block;color:var(--text);text-decoration:none;border:1px solid var(--border);padding:.5rem 1.25rem;border-radius:6px;transition:background .2s,border-color .2s}.btn:hover{background:var(--bg-surface);border-color:var(--text-muted)}h1{margin-bottom:1.5rem}.posts{display:flex;flex-direction:column;gap:1rem}.post-card{display:block;text-decoration:none;padding:.5rem 0}.post-card:hover h2{color:var(--text-muted)}.post-card time{color:var(--text-muted);font-size:.85rem}.post-card h2{color:var(--text);font-size:1.35rem;font-weight:400;margin:0;transition:color .2s}article .post-header{margin-bottom:2rem}article .post-header h1{font-size:2rem;margin-bottom:.5rem}article .post-header time{color:var(--text-muted);font-size:.9rem}article .post-content h2{margin-top:2rem;margin-bottom:.75rem}article .post-content h3{margin-top:1.5rem;margin-bottom:.5rem}article .post-content p{margin-bottom:1rem}article .post-content a{color:var(--text);text-decoration:underline;text-underline-offset:2px}article .post-content a:hover{text-decoration:none}article .post-content ul,article .post-content ol{margin-bottom:1rem;padding-left:1.5rem}article .post-content li{margin-bottom:.25rem}article .post-content blockquote{border-left:3px solid var(--border);padding-left:1rem;margin:1rem 0;color:var(--text-muted);font-style:italic}article .post-content code{font-family:monospace;background:var(--bg-surface);padding:.15rem .4rem;border-radius:4px;font-size:.9em}article .post-content pre{margin-bottom:1rem;padding:1rem;border-radius:8px;overflow-x:auto}article .post-content pre code{background:none;padding:0}article .post-content img{max-width:100%;border-radius:8px}footer{padding:2rem 0;margin-top:3rem;border-top:1px solid var(--border);text-align:left;color:var(--text-muted);font-size:.85rem}