@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap";:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--bg-deep: #080a10;--bg: #0c0f17;--bg-surface: #131722;--bg-surface-hover: #1a1f2e;--bg-code: #161b28;--border: #1c2235;--border-hover: #2a3150;--text: #e2e4ec;--text-secondary: #9ca0b0;--text-muted: #5c6177;--accent: #64b5f6;--accent-dim: rgba(100, 181, 246, .1);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.7;font-size:16px;min-height:100vh}a{color:var(--accent);text-decoration:none;transition:color .2s ease}a:hover{color:#90caf9}img{max-width:100%;height:auto;border-radius:var(--radius-md)}::selection{background:#64b5f640;color:#fff}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 2rem;height:64px;display:flex;align-items:center;justify-content:space-between;background:#0c0f17cc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s ease}.site-header.scrolled{border-bottom-color:var(--border)}.site-logo{font-weight:800;font-size:1.1rem;color:var(--text);letter-spacing:-.02em;transition:color .2s ease}.site-logo:hover,.site-logo span{color:var(--accent)}.site-nav{display:flex;align-items:center;gap:2rem}.site-nav a{color:var(--text-secondary);font-size:.875rem;font-weight:500;letter-spacing:.01em;transition:color .2s ease;position:relative}.site-nav a:hover{color:var(--text)}.site-nav a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--accent);transition:width .25s ease}.site-nav a:hover:after{width:100%}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-bg{position:absolute;inset:0;overflow:hidden}.hero-bg:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 25% 50%,rgba(100,181,246,.06) 0%,transparent 50%),radial-gradient(ellipse at 75% 30%,rgba(139,92,246,.04) 0%,transparent 50%);animation:meshDrift 25s ease-in-out infinite}.hero-bg:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.025) 1px,transparent 1px);background-size:32px 32px}@keyframes meshDrift{0%,to{transform:translate(0)}33%{transform:translate(1.5%,-1%)}66%{transform:translate(-1%,1.5%)}}.hero-content{position:relative;z-index:1;text-align:center;padding:0 2rem}.hero-name{font-size:clamp(2.75rem,7vw,5.5rem);font-weight:900;letter-spacing:-.03em;line-height:1.05;color:var(--text);animation:fadeUp .7s ease forwards}.hero-title{font-size:clamp(1rem,2vw,1.25rem);color:var(--text-muted);font-weight:500;margin-top:1rem;letter-spacing:.15em;text-transform:uppercase;animation:fadeUp .7s ease .12s forwards;opacity:0}.hero-divider{width:48px;height:2px;background:var(--accent);margin:2rem auto;border:none;animation:fadeUp .7s ease .24s forwards;opacity:0}.hero-socials{display:flex;align-items:center;justify-content:center;gap:1.5rem;animation:fadeUp .7s ease .36s forwards;opacity:0}.hero-socials a{color:var(--text-muted);transition:color .2s ease,transform .2s ease;display:flex;align-items:center}.hero-socials a:hover{color:var(--accent);transform:translateY(-2px)}.hero-socials svg{width:20px;height:20px}.hero-scroll{position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%);animation:fadeUp .7s ease .5s forwards,softBounce 2.5s ease-in-out 1.5s infinite;opacity:0}.hero-scroll svg{width:20px;height:20px;color:var(--text-muted)}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes softBounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(6px)}}.section{max-width:800px;margin:0 auto;padding:6rem 2rem}.section-label{font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:2.5rem}.posts-list{display:flex;flex-direction:column;gap:1px}.post-card{display:block;padding:2rem 0;border-bottom:1px solid var(--border);transition:all .25s ease;position:relative}.post-card:first-child{border-top:1px solid var(--border)}.post-card:hover{padding-left:1rem}.post-card-date{font-size:.8rem;color:var(--text-muted);font-family:var(--font-mono);font-weight:400;margin-bottom:.5rem}.post-card-title{font-size:1.35rem;font-weight:700;color:var(--text);line-height:1.35;letter-spacing:-.01em;transition:color .2s ease;margin-bottom:.5rem}.post-card:hover .post-card-title{color:var(--accent)}.post-card-excerpt{font-size:.925rem;color:var(--text-secondary);line-height:1.6}.post-card-arrow{position:absolute;right:0;top:50%;transform:translateY(-50%) translate(-8px);opacity:0;transition:all .25s ease;color:var(--accent)}.post-card:hover .post-card-arrow{opacity:1;transform:translateY(-50%) translate(0)}.reading-progress{position:fixed;top:0;left:0;height:2px;background:var(--accent);z-index:200;transition:width 50ms linear;box-shadow:0 0 8px #64b5f666}.post-header{max-width:800px;margin:0 auto;padding:8rem 2rem 3rem}.post-back{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text-muted);margin-bottom:2rem;transition:color .2s ease}.post-back:hover{color:var(--accent)}.post-page-title{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;line-height:1.15;letter-spacing:-.025em;color:var(--text);margin-bottom:1.25rem}.post-meta{display:flex;align-items:center;gap:1.25rem;font-size:.85rem;color:var(--text-muted);font-family:var(--font-mono)}.post-meta-divider{width:3px;height:3px;border-radius:50%;background:var(--text-muted)}.article-content{max-width:800px;margin:0 auto;padding:0 2rem 6rem}.article-content h1{font-size:2rem;font-weight:800;margin:3rem 0 1rem;letter-spacing:-.02em;color:var(--text)}.article-content h2{font-size:1.5rem;font-weight:700;margin:2.75rem 0 .75rem;letter-spacing:-.015em;color:var(--text);padding-bottom:.5rem;border-bottom:1px solid var(--border)}.article-content h3{font-size:1.2rem;font-weight:600;margin:2rem 0 .5rem;color:var(--text)}.article-content h4{font-size:1.05rem;font-weight:600;margin:1.5rem 0 .5rem;color:var(--text-secondary)}.article-content p{margin:1.25rem 0;color:var(--text-secondary);font-size:1.025rem;line-height:1.8}.article-content strong{color:var(--text);font-weight:600}.article-content em{font-style:italic}.article-content ul,.article-content ol{margin:1rem 0;padding-left:1.5rem;color:var(--text-secondary)}.article-content li{margin:.4rem 0;line-height:1.7}.article-content li::marker{color:var(--text-muted)}.article-content blockquote{border-left:3px solid var(--accent);padding:.5rem 1.25rem;margin:1.5rem 0;background:var(--accent-dim);border-radius:0 var(--radius-md) var(--radius-md) 0}.article-content blockquote p{color:var(--text-secondary);margin:.5rem 0}.article-content hr{border:none;height:1px;background:var(--border);margin:2.5rem 0}.article-content code{font-family:var(--font-mono);font-size:.875em;background:var(--bg-code);border:1px solid var(--border);padding:.15em .4em;border-radius:var(--radius-sm);color:#e06c75}.article-content pre{margin:1.75rem 0;background:var(--bg-code)!important;border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem 1.5rem;overflow-x:auto;font-size:.875rem;line-height:1.75}.article-content pre code{background:none;border:none;padding:0;font-size:inherit;color:inherit}.article-content pre::-webkit-scrollbar{height:6px}.article-content pre::-webkit-scrollbar-track{background:transparent}.article-content pre::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.article-content img{display:block;margin:2rem auto;border:1px solid var(--border);border-radius:var(--radius-md)}.article-content a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;text-decoration-color:#64b5f64d;transition:text-decoration-color .2s ease}.article-content a:hover{text-decoration-color:var(--accent)}.article-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.925rem}.article-content th{text-align:left;padding:.75rem 1rem;border-bottom:2px solid var(--border);color:var(--text);font-weight:600}.article-content td{padding:.6rem 1rem;border-bottom:1px solid var(--border);color:var(--text-secondary)}.about-content{max-width:700px;margin:0 auto;padding:8rem 2rem 6rem}.about-header{margin-bottom:3rem}.about-name{font-size:2.5rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.5rem}.about-role{font-size:1.1rem;color:var(--text-muted);font-weight:500}.about-body p{color:var(--text-secondary);font-size:1.05rem;line-height:1.8;margin:1.25rem 0}.about-body h2{font-size:1.35rem;font-weight:700;color:var(--text);margin:2.5rem 0 .75rem}.about-links{display:flex;gap:1.5rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--border)}.about-links a{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.9rem;transition:color .2s ease}.about-links a:hover{color:var(--accent)}.site-footer{max-width:800px;margin:0 auto;padding:2rem;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;font-size:.8rem;color:var(--text-muted)}.footer-links{display:flex;gap:1.25rem}.footer-links a{color:var(--text-muted);transition:color .2s ease}.footer-links a:hover{color:var(--text)}@media (max-width: 768px){.site-header{padding:0 1.25rem}.site-nav{gap:1.25rem}.hero-name{font-size:2.5rem}.section{padding:4rem 1.25rem}.post-header{padding:7rem 1.25rem 2rem}.article-content{padding:0 1.25rem 4rem}.about-content{padding:7rem 1.25rem 4rem}.post-card:hover{padding-left:0}.post-card-arrow{display:none}.site-footer{flex-direction:column;gap:1rem;text-align:center;padding:2rem 1.25rem}}@media (max-width: 480px){.hero-name{font-size:2rem}.hero-title{font-size:.85rem}.post-page-title{font-size:1.5rem}.post-meta{flex-wrap:wrap;gap:.5rem}}
