:root{--bg-color:#fff;--text-color:#1a1a1a;--primary-color:#000;--secondary-color:#666;--accent-color:#3b82f6;--border-color:#e5e5e5;--hover-bg:#f5f5f5;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif}[data-theme=dark]{--bg-color:#171717;--text-color:#e5e5e5;--primary-color:#fff;--secondary-color:#a3a3a3;--accent-color:#60a5fa;--border-color:#262626;--hover-bg:#262626}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-sans);line-height:1.6;transition:background-color .3s,color .3s}a{color:inherit;text-decoration:none}.site-header{border-bottom:1px solid var(--border-color);background-color:var(--bg-color);margin-bottom:2rem}.header-container{justify-content:space-between;align-items:center;max-width:56rem;margin:0 auto;padding:2rem;display:flex}.header-actions{align-items:center;gap:2rem;display:flex}.logo{color:var(--primary-color);font-size:1.25rem;font-weight:700}.main-nav{gap:1.5rem;display:flex}.nav-link{color:var(--secondary-color);transition:color .2s}.nav-link:hover{color:var(--primary-color)}.site-container{flex-grow:1;width:100%;max-width:56rem;margin:0 auto;padding:0 2rem}.site-footer{text-align:center;color:var(--secondary-color);border-top:1px solid var(--border-color);margin-top:4rem;padding:2rem 0;font-size:.875rem}.theme-toggle{cursor:pointer;color:var(--text-color);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.5rem;transition:background-color .2s;display:flex}.theme-toggle:hover{background-color:var(--hover-bg)}.page-title{color:var(--primary-color);margin-bottom:2rem;font-size:2.5rem;font-weight:800}.tag{background-color:var(--hover-bg);color:var(--secondary-color);border-radius:9999px;margin-bottom:.5rem;margin-right:.5rem;padding:.25rem .75rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-block}.tag:hover,.tag.active{background-color:var(--primary-color);color:var(--bg-color)}.post-card{border:1px solid var(--border-color);z-index:1;background-color:var(--hover-bg);border-radius:.5rem;padding:1.5rem;transition:transform .2s,box-shadow .2s;position:relative}.post-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.post-card-title{color:var(--primary-color);margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.post-card-date{color:var(--secondary-color);margin-bottom:1rem;font-size:.875rem}.post-card-description{color:var(--text-color);margin-bottom:1rem}.card-link:after,.project-link:after{content:"";z-index:1;cursor:pointer;position:absolute;inset:0}.tag,.project-tech{z-index:2;position:relative}.blog-layout{flex-direction:column;gap:2rem;display:flex}@media (min-width:768px){.blog-layout{flex-direction:row}.post-list{flex:1}.blog-sidebar{flex-shrink:0;width:16rem}}.grid-layout{gap:1.5rem;display:grid}.sticky-container{position:sticky;top:2rem}.sidebar-title{margin-bottom:1rem;font-size:1.25rem;font-weight:700}.tags-container{flex-wrap:wrap;gap:.5rem;display:flex}.post-detail{max-width:48rem;margin:0 auto}.back-link{color:var(--secondary-color);align-items:center;margin-bottom:2rem;font-size:.875rem;display:inline-flex}.back-link:hover{color:var(--primary-color)}.back-link .icon{margin-right:.5rem}.post-header{text-align:center;margin-bottom:3rem}.post-title{margin-bottom:1rem;font-size:3rem;line-height:1.2}.post-meta{color:var(--secondary-color);margin-bottom:1.5rem}.post-content{font-size:1.125rem;line-height:1.8}.post-content h2{color:var(--primary-color);margin-top:3rem;margin-bottom:1.5rem;font-size:2rem;font-weight:700}.post-content p{margin-bottom:1.5rem}.post-content pre{background-color:var(--hover-bg);border:1px solid var(--border-color);border-radius:.5rem;margin-bottom:2rem;padding:1.5rem;overflow-x:auto}.about-page{max-width:42rem;margin:0 auto}.about-text{margin-bottom:1.5rem;font-size:1.125rem}.section-title{font-size:1.5rem;font-weight:700}.timeline-date{color:var(--secondary-color);margin-bottom:.5rem;font-size:.875rem}.projects-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (min-width:768px){.projects-grid{grid-template-columns:1fr 1fr}}.project-card{border:1px solid var(--border-color);z-index:1;background-color:var(--hover-bg);border-radius:.5rem;padding:1.5rem;transition:transform .2s,box-shadow .2s;position:relative}.project-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.project-title{margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.project-tech{color:var(--secondary-color);margin-bottom:1rem;font-size:.875rem}.project-description{margin-bottom:1.5rem}.contact-intro{margin-bottom:2rem;font-size:1.125rem}.contact-methods{flex-direction:column;gap:1.5rem;display:flex}.contact-label{margin-bottom:.25rem;font-size:1.25rem;font-weight:700}.contact-link{color:var(--accent-color);font-size:1.125rem}.contact-link:hover{text-decoration:underline}.search-container{margin-bottom:2rem}.search-input{border:1px solid var(--border-color);background-color:var(--bg-color);width:100%;color:var(--text-color);border-radius:.5rem;padding:1rem;font-size:1rem;transition:border-color .2s}.search-input:focus{border-color:var(--primary-color);outline:none}.no-results{color:var(--secondary-color);font-style:italic}button.tag{cursor:pointer;border:none;font-family:inherit}[data-rehype-pretty-code-figure]{border:1px solid var(--border-color);border-radius:.5rem;margin-bottom:2rem;overflow:hidden}[data-rehype-pretty-code-figure] pre{border:none;border-radius:0;margin:0;padding:1.5rem;overflow-x:auto;background-color:#0d1117!important}[data-rehype-pretty-code-figure] code{font-family:Fira Code,monospace;font-size:.9rem;display:grid}:not(pre)>code{background-color:var(--hover-bg);border-radius:.25rem;padding:.2rem .4rem;font-family:monospace;font-size:.9em}.home-container{flex-direction:column;gap:4rem;display:flex}.hero-section{width:100%;max-width:48rem;margin:0 auto}.content-grid{flex-direction:column;gap:4rem;display:flex}.section-header{justify-content:space-between;align-items:baseline;margin-bottom:1.5rem;display:flex}.view-all{color:var(--accent-color);font-size:.875rem;font-weight:500}.view-all:hover{text-decoration:underline}.terminal-window{cursor:text;background-color:#1e1e1e;border:1px solid #333;border-radius:.5rem;font-family:Fira Code,monospace;overflow:hidden;box-shadow:0 10px 30px #0003}.terminal-header{background-color:#2d2d2d;align-items:center;padding:.5rem 1rem;display:flex;position:relative}.terminal-buttons{gap:.5rem;display:flex}.terminal-button{border-radius:50%;width:12px;height:12px}.terminal-button.red{background-color:#ff5f56}.terminal-button.yellow{background-color:#ffbd2e}.terminal-button.green{background-color:#27c93f}.terminal-title{color:#999;font-size:.8rem;position:absolute;left:50%;transform:translate(-50%)}.terminal-body{color:#d4d4d4;height:400px;padding:1rem;font-size:.9rem;overflow-y:auto}.terminal-line{margin-bottom:.5rem;line-height:1.5}.command-line,.input-line{align-items:center;gap:.5rem;display:flex}.prompt{color:#27c93f}.directory{color:#60a5fa}.command{color:#d4d4d4}.output{color:#a3a3a3;white-space:pre-wrap;margin-top:.25rem}.text-accent{color:#60a5fa}.terminal-input{color:#d4d4d4;font-family:inherit;font-size:inherit;background:0 0;border:none;outline:none;flex:1}.tech-stack{margin-top:2rem}.tags-cloud{flex-wrap:wrap;gap:.75rem;display:flex}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_5972bc34-module__OU16Qa__className{font-family:Inter,Inter Fallback;font-style:normal}
