:root{--bg-color: #ffffff;--text-color: #0f172a;--text-muted: #475569;--accent-color: #2563eb;--accent-hover: #1d4ed8;--border-color: #e2e8f0;--code-bg: #f8fafc;--card-bg: #ffffff;--nav-bg: rgba(255, 255, 255, 0.9);--terminal-prompt: "> ";--spacing-xs: 0.25rem;--spacing-sm: 0.5rem;--spacing-md: 1rem;--spacing-lg: 2rem;--spacing-xl: 4rem;--container-width: 850px}[data-theme="dark"]{--bg-color: #0a0a0b;--text-color: #e2e8f0;--text-muted: #94a3b8;--accent-color: #4ade80;--accent-hover: #86efac;--border-color: #1e293b;--code-bg: #111827;--card-bg: #111827;--nav-bg: rgba(10, 10, 11, 0.9)}*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul,ol{padding:0;list-style:none}html{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.6;background-color:var(--bg-color);color:var(--text-color);font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;transition:background-color .15s,color .15s}a{color:var(--accent-color);text-decoration:none;transition:color .15s}a:hover{color:var(--accent-hover)}img{max-width:100%;display:block}input,button,textarea,select{font:inherit}h1,h2,h3,h4,h5,h6{line-height:1.2;margin-bottom:var(--spacing-md);font-weight:700;letter-spacing:-0.025em}h1{font-size:2.5rem}h2{font-size:1.875rem;margin-top:var(--spacing-lg)}h3{font-size:1.5rem;margin-top:var(--spacing-lg)}p{margin-bottom:var(--spacing-md)}code{font-family:"JetBrains Mono","Fira Code","SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-size:0.875em;background-color:var(--code-bg);border:1px solid var(--border-color);border-radius:4px;padding:2px 6px}pre{background-color:var(--code-bg);padding:var(--spacing-md);border-radius:8px;overflow-x:auto;margin-bottom:var(--spacing-md);border:1px solid var(--border-color)}pre code{background-color:transparent;border:none;border-radius:0;padding:0;font-size:1em}blockquote{border-left:4px solid var(--accent-color);padding-left:var(--spacing-md);font-style:italic;color:var(--text-muted);margin:var(--spacing-lg) 0}.nav{position:sticky;top:0;z-index:100;background-color:var(--nav-bg);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);padding:var(--spacing-sm) 0;font-family:"JetBrains Mono","Fira Code","SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace}.nav .container{display:flex;justify-content:space-between;align-items:center;max-width:var(--container-width);margin:0 auto;padding:0 var(--spacing-md)}.nav .nav-brand{font-weight:700;font-size:1.1rem;color:var(--accent-color);display:flex;align-items:center;gap:4px}.nav .nav-brand::before{content:"~/";opacity:0.5}.nav .nav-brand::after{content:"_";animation:blink 1s step-end infinite}.nav .nav-links{display:flex;gap:var(--spacing-lg);align-items:center}.nav .nav-links a{color:var(--text-color);font-weight:400;font-size:0.85rem;text-transform:lowercase}.nav .nav-links a::before{content:"[";opacity:0;transition:opacity .15s}.nav .nav-links a::after{content:"]";opacity:0;transition:opacity .15s}.nav .nav-links a:hover,.nav .nav-links a.active{color:var(--accent-color)}.nav .nav-links a:hover::before,.nav .nav-links a:hover::after,.nav .nav-links a.active::before,.nav .nav-links a.active::after{opacity:0.5}@keyframes blink{from, to{opacity:1}50%{opacity:0}}.theme-toggle{background:none;border:1px solid var(--border-color);color:var(--text-color);padding:var(--spacing-xs) var(--spacing-sm);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.theme-toggle:hover{background-color:var(--code-bg);border-color:var(--accent-color)}.theme-toggle svg{width:20px;height:20px}.theme-toggle .sun-icon{display:none}.theme-toggle .moon-icon{display:block}[data-theme="dark"] .sun-icon{display:block}[data-theme="dark"] .moon-icon{display:none}main{padding-top:var(--spacing-xl)}.post-container{max-width:var(--container-width);margin:0 auto var(--spacing-xl) auto;padding:0 var(--spacing-md)}.post-header{margin-bottom:var(--spacing-xl);border-left:2px solid var(--accent-color);padding-left:var(--spacing-lg)}.post-header .post-title{margin-bottom:var(--spacing-xs);font-family:"JetBrains Mono","Fira Code","SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-size:2.25rem}.post-header .post-title::before{content:var(--terminal-prompt);color:var(--accent-color);font-size:0.8em}.post-header .post-meta{color:var(--text-muted);font-size:0.85rem;font-family:"JetBrains Mono","Fira Code","SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace}.post-content{line-height:1.8}.post-content h2,.post-content h3,.post-content h4{font-family:"JetBrains Mono","Fira Code","SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;color:var(--accent-color)}.post-content h2::before,.post-content h3::before,.post-content h4::before{content:"## ";opacity:0.3}.post-content img{border:1px solid var(--border-color);padding:4px;background:var(--code-bg)}.tag-list{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-top:var(--spacing-lg);font-family:"JetBrains Mono","Fira Code","SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace}.tag-list .tag{background-color:var(--code-bg);border:1px solid var(--border-color);padding:2px 8px;border-radius:4px;font-size:0.75rem;color:var(--accent-color)}.cv-container{max-width:var(--container-width);margin:0 auto var(--spacing-xl) auto;padding:0 var(--spacing-md);font-family:"JetBrains Mono","Fira Code","SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace}.cv-container header{margin-bottom:var(--spacing-xl);border-bottom:1px dashed var(--border-color);padding-bottom:var(--spacing-lg)}.cv-container header h1{margin-bottom:var(--spacing-xs);color:var(--accent-color)}.cv-container header h1::before{content:"whoami: ";opacity:0.5}.cv-container header .contact-info{display:flex;gap:var(--spacing-md);color:var(--text-muted);font-size:0.85rem}.cv-container header .contact-info a{color:var(--text-muted)}.cv-container header .contact-info a:hover{color:var(--accent-color)}.cv-container section{margin-bottom:var(--spacing-xl)}.cv-container section h2{background:var(--code-bg);display:inline-block;padding:2px 12px;margin-bottom:var(--spacing-md);font-size:0.9rem;color:var(--accent-color);border:1px solid var(--border-color);text-transform:lowercase}.cv-container section h2::before{content:"$ ls ./";opacity:0.5}.cv-container .cv-item{margin-bottom:var(--spacing-lg);position:relative;padding-left:var(--spacing-md);border-left:1px solid var(--border-color)}.cv-container .cv-item .cv-item-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--spacing-xs)}.cv-container .cv-item .cv-item-header h3{margin:0;font-size:1rem;color:var(--text-color)}.cv-container .cv-item .cv-item-header .date{color:var(--text-muted);font-size:0.8rem}.cv-container .cv-item .role{font-weight:400;color:var(--accent-color);margin-bottom:var(--spacing-sm);font-size:0.9rem}.cv-container .cv-item .role::before{content:"role: ";opacity:0.5}.cv-container .cv-item ul{list-style:none;padding-left:0}.cv-container .cv-item ul li{margin-bottom:var(--spacing-xs);font-size:0.9rem;color:var(--text-muted)}.cv-container .cv-item ul li::before{content:"- ";color:var(--accent-color)}.cv-container .skills-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));gap:var(--spacing-lg)}.cv-container .skills-grid .skill-category h4{margin-bottom:var(--spacing-xs);font-size:0.9rem;text-transform:lowercase}.cv-container .skills-grid .skill-category h4::before{content:"cat ";opacity:0.5}.cv-container .skills-grid .skill-category ul{padding:0;list-style:none;color:var(--text-muted);font-size:0.85rem;display:flex;flex-wrap:wrap;gap:8px}.cv-container .skills-grid .skill-category ul li{background:var(--code-bg);padding:2px 6px;border-radius:3px}.filter-bar{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-xl)}.filter-bar .filter-btn{background:none;border:1px solid var(--border-color);color:var(--text-muted);padding:var(--spacing-xs) var(--spacing-md);border-radius:20px;cursor:pointer;font-size:0.85rem;transition:all .15s}.filter-bar .filter-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.filter-bar .filter-btn.active{background-color:var(--accent-color);border-color:var(--accent-color);color:white}.highlight{background:var(--code-bg);border:1px solid var(--border-color);border-radius:8px;margin-bottom:var(--spacing-md);overflow-x:auto}.highlight pre{background:none;border:none;margin:0;padding:var(--spacing-md)}.highlight .c,.highlight .cm,.highlight .c1,.highlight .cs,.highlighter-rouge .c,.highlighter-rouge .cm,.highlighter-rouge .c1,.highlighter-rouge .cs{color:var(--text-muted);font-style:italic}.highlight .cp,.highlighter-rouge .cp{color:var(--text-muted)}.highlight .err,.highlighter-rouge .err{color:#f87171}.highlight .k,.highlight .kc,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlighter-rouge .k,.highlighter-rouge .kc,.highlighter-rouge .kd,.highlighter-rouge .kn,.highlighter-rouge .kp,.highlighter-rouge .kr{color:var(--accent-color);font-weight:600}.highlight .kt,.highlighter-rouge .kt{color:var(--accent-color)}.highlight .o,.highlight .ow,.highlighter-rouge .o,.highlighter-rouge .ow{color:var(--text-color)}.highlight .gd,.highlighter-rouge .gd{color:#f87171}.highlight .gi,.highlighter-rouge .gi{color:#4ade80}.highlight .ge,.highlighter-rouge .ge{font-style:italic}.highlight .gs,.highlighter-rouge .gs{font-weight:bold}.highlight .m,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo,.highlight .il,.highlighter-rouge .m,.highlighter-rouge .mf,.highlighter-rouge .mh,.highlighter-rouge .mi,.highlighter-rouge .mo,.highlighter-rouge .il{color:#f472b6}.highlight .s,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .s2,.highlight .se,.highlight .sh,.highlight .si,.highlight .sx,.highlight .sr,.highlight .s1,.highlight .ss,.highlighter-rouge .s,.highlighter-rouge .sb,.highlighter-rouge .sc,.highlighter-rouge .sd,.highlighter-rouge .s2,.highlighter-rouge .se,.highlighter-rouge .sh,.highlighter-rouge .si,.highlighter-rouge .sx,.highlighter-rouge .sr,.highlighter-rouge .s1,.highlighter-rouge .ss{color:#4ade80}.highlight .na,.highlighter-rouge .na{color:#fbbf24}.highlight .nb,.highlighter-rouge .nb{color:var(--text-color)}.highlight .nc,.highlighter-rouge .nc{color:#fbbf24;font-weight:bold}.highlight .no,.highlighter-rouge .no{color:#f472b6}.highlight .ni,.highlight .nf,.highlight .nn,.highlight .nv,.highlighter-rouge .ni,.highlighter-rouge .nf,.highlighter-rouge .nn,.highlighter-rouge .nv{color:var(--text-color)}.highlight .ne,.highlighter-rouge .ne{color:#f472b6}.highlight .nt,.highlighter-rouge .nt{color:var(--accent-color)}.home-hero{text-align:left;padding:var(--spacing-lg) 0;border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-lg)}.home-hero h1{font-family:"JetBrains Mono","Fira Code","SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-size:3rem;margin-bottom:var(--spacing-xs);color:var(--accent-color)}.home-hero h1::before{content:"sudo ";opacity:0.3}.home-hero p{font-family:"JetBrains Mono","Fira Code","SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-size:1.1rem;color:var(--text-muted);max-width:600px;margin-bottom:0}.home-hero p::before{content:"# ";opacity:0.5}.section{padding:var(--spacing-lg) 0}.section h2{font-family:"JetBrains Mono","Fira Code","SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-size:1.25rem;margin-bottom:var(--spacing-lg);display:flex;align-items:center;gap:8px}.section h2::after{content:"";flex:1;height:1px;background:var(--border-color);opacity:0.5}.post-list .post-item{font-family:"JetBrains Mono","Fira Code","SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;padding:var(--spacing-sm) 0;margin-bottom:var(--spacing-md);transition:all .15s}.post-list .post-item:hover h3 a{color:var(--accent-color)}.post-list .post-item h3{font-size:1.2rem;margin:0 0 4px 0}.post-list .post-item h3 a{color:var(--text-color)}.post-list .post-item .post-date{font-size:0.8rem;color:var(--text-muted);margin-bottom:8px;display:block}.post-list .post-item p{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:0.95rem;color:var(--text-muted);margin:0}.container{max-width:var(--container-width);margin:0 auto;padding:0 var(--spacing-md)}footer{text-align:center;padding:var(--spacing-xl) 0;border-top:1px solid var(--border-color);color:var(--text-muted);font-size:0.9rem;font-family:"JetBrains Mono","Fira Code","SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace}
