:root{color-scheme:dark;--color-bg: #24283b;--color-bg-secondary: #1f2335;--color-bg-highlight: #292e42;--color-text: #c0caf5;--color-text-secondary: #565f89;--color-accent: #7aa2f7;--color-accent-hover: #7dcfff;--color-border: #414868;--color-code-bg: #1f2335;--color-red: #D55E00;--color-orange: #E69F00;--color-yellow: #F0E442;--color-green: #009E73;--color-blue: #56B4E9;--color-magenta: #CC79A7}@media(prefers-color-scheme: light){:root{color-scheme:light;--color-bg: #fefefe;--color-bg-secondary: #f5f5f5;--color-bg-highlight: #ebebeb;--color-text: #545454;--color-text-secondary: #696969;--color-accent: #326bad;--color-accent-hover: #1f7c93;--color-border: #c8c8c8;--color-code-bg: #f5f5f5;--color-red: #B84400;--color-orange: #D18000;--color-yellow: #B8A800;--color-green: #007A5E;--color-blue: #0072B2;--color-magenta: #9A5C7E}}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif;line-height:1.6;color:var(--color-text);background-color:var(--color-bg);min-height:100vh}h1,h2,h3,h4,h5,h6{line-height:1.25;font-weight:600;margin-bottom:1rem;color:var(--color-text)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}p{margin-bottom:1rem}a{color:var(--color-accent);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-accent-hover)}code{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:.875em;background-color:var(--color-code-bg);padding:.2em .4em;border-radius:3px}pre{overflow-x:auto;margin-bottom:1rem;border-radius:6px;padding:1rem;background-color:var(--color-code-bg)}pre code{background:none;padding:0}ul,ol{margin-bottom:1rem;padding-left:2rem}li{margin-bottom:.5rem}img{max-width:100%;height:auto}blockquote{border-left:4px solid var(--color-border);padding-left:1rem;margin:1.5rem 0;color:var(--color-text-secondary);font-style:italic}hr{border:none;border-top:1px solid var(--color-border);margin:2rem 0}table{width:100%;border-collapse:collapse;margin-bottom:1rem}th,td{padding:.5rem 1rem;border:1px solid var(--color-border);text-align:left}th{background-color:var(--color-bg-secondary);font-weight:600}.img.align-left{float:left;margin-right:1.5rem}.img.align-right{float:right;margin-left:1.5rem}.container{max-width:800px;margin:0 auto;padding:0 1.5rem}.header{padding:2rem 0;border-bottom:1px solid var(--color-border);margin-bottom:3rem}.header .site-title{font-size:1.5rem;font-weight:700;margin-bottom:1rem}.header .site-title a{color:var(--color-text)}.header .site-title a:hover{color:var(--color-accent)}.header .nav{display:flex;gap:1.5rem;flex-wrap:wrap}.header .nav a{color:var(--color-text);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.header .nav a:hover,.header .nav a.active{color:var(--color-accent)}.main{min-height:calc(100vh - 200px);padding-bottom:3rem}.footer{padding:2rem 0;border-top:1px solid var(--color-border);margin-top:3rem;color:var(--color-text-secondary);font-size:.875rem;text-align:center}.home .page-content{margin-bottom:3rem}.post-list{list-style:none;padding:0}.post-list .post-item{display:flex;flex-direction:column;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--color-border)}.post-list .post-item:last-child{border-bottom:none}.post-list .post-item .post-title{font-size:1.5rem;margin-bottom:.5rem}.post-list .post-item .post-title a{color:var(--color-accent);text-decoration:none}.post-list .post-item .post-title a:hover{text-decoration:underline}.post-list .post-item .post-meta{color:var(--color-text);font-size:.875rem;font-style:italic;margin-bottom:1rem;display:flex;gap:1rem;flex-wrap:wrap}.post-list .post-item .post-summary{color:var(--color-text)}.post .post-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.post .post-header .post-title{font-size:2rem;margin-bottom:1rem}.post .post-header .post-meta{color:var(--color-text);font-size:.875rem;display:flex;gap:1rem;flex-wrap:wrap}.post .post-content{line-height:1.8}.post .post-content h2,.post .post-content h3,.post .post-content h4,.post .post-content h5,.post .post-content h6{margin-top:2rem;margin-bottom:1.5rem}.tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.tags .tag{display:inline-block;padding:.25rem .75rem;background-color:var(--color-bg-secondary);border:1px solid var(--color-blue);border-radius:6px;font-size:.875rem;color:var(--color-text);transition:all .2s ease}.tags .tag:hover{color:var(--color-accent);border-color:var(--color-accent)}.pagination{display:flex;justify-content:space-between;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-border)}.pagination .page-link{padding:.5rem 1rem;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:6px;transition:all .2s ease}.pagination .page-link:hover{border-color:var(--color-accent);color:var(--color-accent)}.pagination .page-link.disabled{opacity:.5;pointer-events:none}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:2rem;margin-top:2rem}.project-card{padding:1.5rem;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:6px;transition:all .2s ease}.project-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.project-card .project-card-header{display:flex;justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1rem}.project-card .project-card-header .project-title{font-size:1.25rem;margin:0;flex:1}.project-card .project-card-header .project-title a{color:var(--color-blue);font-weight:700}.project-card .project-card-header .project-title a:hover{color:var(--color-accent);text-decoration:underline}.project-card .project-card-header .project-language{padding:.25rem .5rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;font-size:.875rem;color:var(--color-text);white-space:nowrap}.project-card .project-description{color:var(--color-text);font-size:.875rem;line-height:1.6;margin-bottom:1.5rem}.project-card .project-tech-stack{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.project-card .project-tech-stack .tech-tag{padding:.25rem .5rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;font-size:.75rem;color:var(--color-text-secondary)}.project-card .project-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:auto;padding-top:1rem;border-top:1px solid var(--color-border)}.project-card .project-links .project-link{padding:.25rem .75rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;font-size:.875rem;color:var(--color-text);transition:all .2s ease}.project-card .project-links .project-link:hover{color:var(--color-accent);border-color:var(--color-accent)}.project .project-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.project .project-header .project-title{font-size:2rem;margin-bottom:1rem}.project .project-header .project-meta{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem;font-size:.875rem;color:var(--color-text);font-style:italic}.project .project-header .project-meta .project-language-badge{padding:.25rem .75rem;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:6px;color:var(--color-accent);font-weight:500}.project .project-header .project-tech-stack{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.project .project-header .project-tech-stack .tech-tag{padding:.25rem .75rem;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:6px;font-size:.875rem;color:var(--color-text-secondary)}.project .project-header .project-links-header{display:flex;gap:1rem;flex-wrap:wrap}.project .project-header .project-links-header .project-link-btn{padding:.5rem 1.5rem;background-color:var(--color-accent);border:1px solid var(--color-accent);color:var(--color-bg);border-radius:6px;font-weight:500;transition:all .2s ease}.project .project-header .project-links-header .project-link-btn:hover{background-color:var(--color-bg);color:var(--color-text);border:1px solid var(--color-accent);transform:translateY(-1px)}.project .project-header .project-links-header .project-link-btn__documentation{background-color:var(--color-green);border:1px solid var(--color-green);color:var(--color-bg)}.project .project-header .project-links-header .project-link-btn__documentation:hover{background-color:var(--color-bg);border:1px solid var(--color-green);color:var(--color-text)}.project .project-content{line-height:1.8}.project .project-content h2,.project .project-content h3,.project .project-content h4,.project .project-content h5,.project .project-content h6{margin-top:2rem;margin-bottom:1.5rem}.notes-list{list-style:none;padding:0}.notes-list .note-item{display:flex;gap:1.5rem;align-items:baseline;padding:.5rem 0;border-bottom:1px solid var(--color-border);transition:all .2s ease}.notes-list .note-item:hover .note-link{color:var(--color-accent)}.notes-list .note-item .note-date{color:var(--color-text-secondary);font-size:.875rem;white-space:nowrap;min-width:100px;font-variant-numeric:tabular-nums}.notes-list .note-item .note-link{color:var(--color-text);flex:1;transition:color .2s ease}.note .note-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.note .note-header .note-title{font-size:2rem;margin-bottom:1rem}.note .note-header .note-meta{color:var(--color-text-secondary);font-size:.875rem;margin-bottom:1rem}.note .note-content{line-height:1.8}.note .note-content h2,.note .note-content h3,.note .note-content h4,.note .note-content h5,.note .note-content h6{margin-top:2rem;margin-bottom:1.5rem}pre.shiki{padding:1rem;border-radius:6px;overflow-x:auto;margin-bottom:1.5rem}pre.shiki code{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:.875rem;line-height:1.7}