@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";.site-nav{z-index:30;pointer-events:none;padding:0 16px;position:sticky;top:16px}.nav-pill{pointer-events:auto;background:color-mix(in srgb, var(--bg-elev) 80%, transparent);-webkit-backdrop-filter:blur(20px)saturate(180%);border:1px solid var(--border);max-width:820px;box-shadow:var(--shadow-sm);border-radius:100px;justify-content:space-between;align-items:center;gap:8px;margin:0 auto;padding:8px 8px 8px 18px;display:flex}.brand-mini{color:inherit;white-space:nowrap;align-items:center;gap:10px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.brand-mini .avatar{border:1.5px solid var(--border);border-radius:50%;flex-shrink:0;width:28px;height:28px;display:block;overflow:hidden}.brand-mini .avatar img{object-fit:cover;width:100%;height:100%}.nav-actions{align-items:center;gap:2px;display:flex}.nav-actions a{color:var(--fg-muted);white-space:nowrap;border-radius:100px;padding:8px 12px;font-size:13px;text-decoration:none;transition:background .2s,color .2s}.nav-actions a:hover{background:color-mix(in srgb, var(--fg) 6%, transparent);color:var(--fg)}.nav-actions a.active{background:color-mix(in srgb, var(--accent-1) 12%, transparent);color:var(--accent-1)}.nav-actions .pri{background:var(--fg);color:var(--bg);margin-left:4px;padding:8px 14px}.nav-actions .pri:hover{background:var(--fg);color:var(--bg);opacity:.92}.theme-tog{width:32px;height:32px;color:var(--fg);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;margin-left:4px;display:grid}.theme-tog:hover{background:color-mix(in srgb, var(--fg) 6%, transparent)}.nav-burger{width:36px;height:36px;color:var(--fg);cursor:pointer;background:0 0;border:none;border-radius:50%;font-size:18px;line-height:1;display:none}.nav-burger:hover{background:color-mix(in srgb, var(--fg) 6%, transparent)}.nav-mobile{pointer-events:auto;background:color-mix(in srgb, var(--bg-elev) 92%, transparent);-webkit-backdrop-filter:blur(20px)saturate(180%);border:1px solid var(--border);max-width:820px;box-shadow:var(--shadow-md);border-radius:20px;flex-direction:column;gap:2px;margin:12px auto 0;padding:12px;display:none}.nav-mobile a{color:var(--fg);border-radius:12px;padding:12px 16px;font-size:15px;text-decoration:none;transition:background .15s;display:block}.nav-mobile a:hover{background:color-mix(in srgb, var(--fg) 6%, transparent)}.nav-mobile a.active{background:color-mix(in srgb, var(--accent-1) 12%, transparent);color:var(--accent-1);font-weight:500}.nav-mobile a.pri{background:var(--fg);color:var(--bg);text-align:center;margin-top:4px;font-weight:500}.nav-mobile .theme-row{border-top:1px solid var(--border);color:var(--fg-muted);justify-content:space-between;align-items:center;margin-top:4px;padding:12px 16px;font-size:13px;display:flex}@media (width<=760px){.nav-actions{display:none}.nav-burger{place-items:center;display:grid}.nav-mobile.open{display:flex}}.consent-banner{z-index:50;pointer-events:none;position:fixed;bottom:16px;left:16px;right:16px}.consent-inner{pointer-events:auto;background:var(--bg-elev);border:1px solid var(--border);max-width:640px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);border-radius:16px;justify-content:space-between;align-items:center;gap:24px;margin:0 auto;padding:20px 22px;display:flex}.consent-title{margin:0 0 4px;font-size:14px;font-weight:600}.consent-body{color:var(--fg-muted);max-width:380px;margin:0;font-size:13px;line-height:1.5}.consent-actions{flex-shrink:0;gap:8px;display:flex}.consent-btn{cursor:pointer;border:1px solid var(--border);color:var(--fg);background:0 0;border-radius:999px;padding:9px 16px;font-size:13px;font-weight:500;transition:background .2s,transform .1s}.consent-btn:hover{transform:translateY(-1px)}.consent-btn.ghost{color:var(--fg-muted)}.consent-btn.ghost:hover{color:var(--fg)}.consent-btn.pri{background:var(--fg);color:var(--bg);border-color:var(--fg)}@media (width<=600px){.consent-inner{flex-direction:column;align-items:stretch;gap:12px}.consent-actions{justify-content:flex-end}}.loading-screen{z-index:40;background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(6px);flex-direction:column;justify-content:center;align-items:center;gap:16px;animation:.18s ease-out loading-screen-in;display:flex;position:fixed;inset:0}.loading-screen-ring{border:3px solid color-mix(in srgb, var(--accent-1) 18%, transparent);border-top-color:var(--accent-1);border-radius:50%;width:44px;height:44px;animation:.9s linear infinite loading-screen-spin}.loading-screen-label{letter-spacing:.3px;color:var(--fg-subtle);font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}@keyframes loading-screen-spin{to{transform:rotate(360deg)}}@keyframes loading-screen-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.loading-screen,.loading-screen-ring{animation:none}}:root{--bg:#f8f7f4;--bg-elev:#fff;--fg:#11131a;--fg-muted:#555968;--fg-subtle:#8a8e9c;--border:#e6e4dd;--accent-1:#5b6cff;--accent-2:#ff6b9d;--halo-1:#5b6cff59;--halo-2:#ff6b9d40;--code-bg:#1f1f2e;--code-fg:#e6e8ef;--quote-bg:#5b6cff0f;--shadow-sm:0 4px 14px -6px #0000001a;--shadow-md:0 12px 30px -10px #00000026;--shadow-lg:0 30px 60px -20px #0003}[data-theme=dark]{--bg:#0a0b10;--bg-elev:#14161f;--fg:#f0f1f5;--fg-muted:#a3a8b8;--fg-subtle:#6b6f7d;--border:#1f2230;--accent-1:#7b8aff;--accent-2:#ff7eaa;--halo-1:#5b6cff8c;--halo-2:#ff6b9d66;--code-bg:#050610;--code-fg:#e6e8ef;--quote-bg:#7b8aff1a;--shadow-sm:0 4px 14px -6px #0006;--shadow-md:0 12px 30px -10px #00000080;--shadow-lg:0 30px 60px -20px #0009}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.55;transition:background-color .3s,color .3s;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}button{font-family:inherit}::selection{background:var(--accent-1);color:#fff}.wrap{max-width:1200px;margin:0 auto;padding:0 40px}@media (width<=800px){.wrap{padding:0 20px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero{text-align:center;padding:80px 0 100px;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";filter:blur(80px);z-index:0;pointer-events:none;border-radius:50%;position:absolute}.hero:before{background:var(--halo-1);width:520px;height:520px;top:80px;left:50%;transform:translate(-60%)}.hero:after{background:var(--halo-2);width:380px;height:380px;top:200px;left:50%;transform:translate(20%)}.hero>*{z-index:1;position:relative}.hero-badge{background:var(--bg-elev);border:1px solid var(--border);color:var(--fg-muted);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:8px;margin-bottom:28px;padding:6px 14px;font-size:12px;display:inline-flex}.hero-badge .dot{background:#22c55e;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #22c55e33}.photo-orb{border:4px solid var(--bg-elev);width:180px;height:180px;box-shadow:var(--shadow-lg), 0 0 0 1px var(--border);border-radius:50%;margin:0 auto 32px;position:relative;overflow:hidden}.photo-orb img{object-fit:cover;width:100%;height:100%}h1.hero-name{letter-spacing:-.04em;background:linear-gradient(120deg, var(--fg) 30%, var(--accent-1) 60%, var(--accent-2) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 20px;font-size:clamp(56px,8vw,96px);font-weight:800;line-height:.98}.role-tag{color:var(--fg-muted);margin:0 0 28px;font-size:18px;font-weight:500}.role-tag strong{color:var(--fg);font-weight:600}.pitch{max-width:600px;color:var(--fg-muted);margin:0 auto 40px;font-size:17px;line-height:1.6}.cta-row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.btn{border-radius:999px;align-items:center;gap:10px;padding:14px 24px;font-size:15px;font-weight:500;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex}.btn-pri{background:var(--fg);color:var(--bg);box-shadow:0 12px 30px -10px color-mix(in srgb, var(--fg) 50%, transparent)}.btn-pri:hover{transform:translateY(-2px)}.btn-sec{background:var(--bg-elev);color:var(--fg);border:1px solid var(--border)}.btn-sec:hover{transform:translateY(-2px)}.quick-row{color:var(--fg-subtle);flex-wrap:wrap;justify-content:center;gap:28px;margin-top:56px;font-size:13px;display:flex}.quick-row span{background:var(--bg-elev);border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.about{padding:80px 0}.about-card{background:var(--bg-elev);border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:24px;grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding:48px;display:grid}.about-card h2{letter-spacing:-.02em;margin:0 0 16px;font-size:36px;font-weight:700}.about-card p{color:var(--fg-muted);margin:0 0 12px;font-size:16px}.about-stats{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.stat{background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:20px}.stat .num{letter-spacing:-.02em;background:linear-gradient(120deg, var(--accent-1), var(--accent-2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:32px;font-weight:700}.stat .lbl{color:var(--fg-muted);margin-top:4px;font-size:13px}.work{padding:80px 0}.section-title{text-align:center;margin-bottom:56px}.section-title h2{letter-spacing:-.02em;margin:0 0 12px;font-size:48px;font-weight:700}.section-title p{color:var(--fg-muted);margin:0;font-size:17px}.work-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.tile{background:var(--bg-elev);border:1px solid var(--border);color:inherit;border-radius:20px;text-decoration:none;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden}.tile:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.tile-img{aspect-ratio:16/9;position:relative;overflow:hidden}.tile-img img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.tile:hover .tile-img img{transform:scale(1.04)}.tile-img:after{content:"";background:linear-gradient(#0000 60%,#0006);position:absolute;inset:0}.tile-body{padding:24px}.tile-body h3{letter-spacing:-.01em;margin:0 0 6px;font-size:20px;font-weight:600}.tile-body p{color:var(--fg-muted);margin:0 0 16px;font-size:14px}.tile-tags{flex-wrap:wrap;gap:6px;display:flex}.tile-tags span{background:color-mix(in srgb, var(--accent-1) 12%, transparent);color:var(--accent-1);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:500}@media (width<=800px){.about-card{grid-template-columns:1fr;gap:24px;padding:28px}.work-grid{grid-template-columns:1fr}h1.hero-name{font-size:56px}}.writing{padding:80px 0}.writing-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.post{background:var(--bg-elev);border:1px solid var(--border);color:inherit;border-radius:20px;flex-direction:column;gap:12px;padding:28px;text-decoration:none;transition:transform .25s,border-color .25s,box-shadow .25s;display:flex}.post:hover{box-shadow:0 20px 40px -20px #5b6cff4d, 0 0 0 2px var(--accent-1);border-color:#0000;transform:translateY(-3px)}.post.draft{opacity:.85;cursor:default}.post.draft:hover{border-color:var(--border);box-shadow:none;transform:none}.post .meta{color:var(--fg-subtle);flex-wrap:wrap;align-items:center;gap:10px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;display:flex}.post .meta:before{content:"";background:linear-gradient(135deg, var(--accent-1), var(--accent-2));border-radius:50%;width:6px;height:6px}.post .draft-tag{background:color-mix(in srgb, var(--fg-subtle) 18%, transparent);color:var(--fg-subtle);text-transform:uppercase;letter-spacing:.5px;border-radius:999px;margin-left:auto;padding:2px 8px;font-size:10px}.post h4{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:600;line-height:1.35}.post>p{color:var(--fg-muted);flex-grow:1;margin:0;font-size:14px;line-height:1.55}.post .tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.post .tags span{background:color-mix(in srgb, var(--accent-1) 10%, transparent);color:var(--accent-1);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:500}.post .read-more{color:var(--accent-1);align-items:center;gap:6px;margin-top:4px;font-size:13px;font-weight:500;transition:gap .2s;display:inline-flex}.post:hover .read-more{gap:10px}.contact{padding:80px 0}.contact-card{text-align:center;background:linear-gradient(135deg, var(--accent-1), var(--accent-2));color:#fff;border-radius:32px;padding:64px 48px;position:relative;overflow:hidden}.contact-card:before{content:"";background:radial-gradient(circle at 20% 30%,#ffffff2e,#0000 50%),radial-gradient(circle at 80% 70%,#ffffff1f,#0000 50%);position:absolute;inset:0}.contact-card>*{position:relative}.contact-card h2{letter-spacing:-.02em;margin:0 0 16px;font-size:48px;font-weight:700}.contact-card p{opacity:.92;max-width:500px;margin:0 auto 32px;font-size:17px}.social-row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.social-row a{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff40;border-radius:999px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.social-row a:hover{background:#ffffff4d;transform:translateY(-2px)}.social-row a.cta-mail{color:var(--accent-1);background:#fff}.site-foot{text-align:center;color:var(--fg-subtle);border-top:1px solid var(--border);padding:32px 40px;font-size:13px}@media (width<=800px){.writing-grid{grid-template-columns:1fr}.contact-card{padding:48px 24px}.contact-card h2{font-size:32px}}.article-wrap{max-width:720px;margin:0 auto;padding:56px 32px 80px}.breadcrumb{color:var(--fg-subtle);margin-bottom:32px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}.breadcrumb a{color:var(--accent-1);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.article-tags{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.article-tags span{background:color-mix(in srgb, var(--accent-1) 12%, transparent);color:var(--accent-1);letter-spacing:.3px;text-transform:uppercase;border-radius:999px;padding:4px 12px;font-size:11px;font-weight:500}h1.article-title{letter-spacing:-.03em;margin:0 0 20px;font-size:clamp(36px,5vw,56px);font-weight:800;line-height:1.05}.article-lede{color:var(--fg-muted);margin:0 0 32px;font-size:21px;font-weight:400;line-height:1.5}.article-meta{border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--fg-muted);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:48px;padding:16px 0;font-size:14px;display:flex}.article-meta .author{align-items:center;gap:10px;display:flex}.article-meta .author-avatar{border:1.5px solid var(--border);border-radius:50%;width:36px;height:36px;overflow:hidden}.article-meta .author-avatar img{object-fit:cover;width:100%;height:100%}.article-meta .author-name{color:var(--fg);font-weight:500}.article-meta .dot{color:var(--fg-subtle)}.article-meta time{font-family:JetBrains Mono,monospace;font-size:13px}.prose{font-size:17px;line-height:1.7}.prose h2{letter-spacing:-.02em;margin:48px 0 16px;font-size:28px;font-weight:700;line-height:1.2}.prose h2 a,.prose h3 a{color:inherit;text-decoration:none}.prose h3{letter-spacing:-.01em;margin:36px 0 12px;font-size:21px;font-weight:600}.prose p{color:var(--fg);margin:0 0 20px}.prose strong{font-weight:700}.prose em{color:var(--fg-muted);font-style:italic}.prose a{color:var(--accent-1);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent-1) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--accent-1) 35%, transparent);text-underline-offset:3px;transition:text-decoration-color .2s}.prose a:hover{-webkit-text-decoration-color:var(--accent-1);text-decoration-color:var(--accent-1)}.prose ul,.prose ol{color:var(--fg);margin:0 0 20px;padding-left:24px}.prose li{margin-bottom:6px}.prose ul li::marker{color:var(--accent-1)}.prose blockquote{background:var(--quote-bg);border-left:3px solid var(--accent-1);color:var(--fg-muted);border-radius:0 12px 12px 0;margin:24px 0;padding:16px 24px;font-style:italic}.prose blockquote p{margin:0}.prose :not(pre)>code{background:color-mix(in srgb, var(--accent-1) 10%, transparent);color:var(--accent-1);border-radius:6px;padding:2px 8px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.88em;font-weight:500}.prose pre{background:var(--code-bg);color:var(--code-fg);border:1px solid var(--border);border-radius:12px;margin:24px 0;padding:20px 24px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:14px;line-height:1.6;overflow-x:auto}.prose pre code{color:inherit;font-size:inherit;background:0 0;padding:0}.prose figure{margin:32px 0}.prose figure img{border:1px solid var(--border);border-radius:12px;width:100%}.prose figcaption{text-align:center;color:var(--fg-subtle);margin-top:10px;font-size:13px;font-style:italic}.article-foot{border-top:1px solid var(--border);margin-top:64px;padding-top:32px}.author-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:16px;align-items:center;gap:20px;padding:24px;display:flex}.author-card .av{border-radius:50%;flex-shrink:0;width:64px;height:64px;overflow:hidden}.author-card .av img{object-fit:cover;width:100%;height:100%}.author-card .name{margin:0 0 4px;font-size:16px;font-weight:700}.author-card .bio{color:var(--fg-muted);margin:0;font-size:14px}.related{border-top:1px solid var(--border);margin-top:48px;padding-top:32px}.related h4{text-transform:uppercase;letter-spacing:.5px;color:var(--fg-subtle);margin:0 0 16px;font-size:13px}.related-list{gap:8px;display:grid}.related-list a{background:var(--bg-elev);border:1px solid var(--border);color:var(--fg);border-radius:12px;justify-content:space-between;align-items:center;padding:14px 18px;font-size:15px;text-decoration:none;transition:border-color .2s,transform .2s;display:flex}.related-list a:hover{border-color:var(--accent-1);transform:translate(2px)}.related-list a .arrow{color:var(--fg-subtle)}.related-list a:hover .arrow{color:var(--accent-1)}.writing-index{max-width:800px;margin:0 auto;padding:80px 32px}.writing-index h1{letter-spacing:-.03em;margin:0 0 12px;font-size:clamp(36px,5vw,56px);font-weight:800;line-height:1.05}.writing-index>p{color:var(--fg-muted);margin:0 0 48px;font-size:17px}.writing-index .index-list{flex-direction:column;gap:12px;display:flex}@media (width<=720px){.article-wrap{padding:32px 20px 60px}h1.article-title{font-size:32px}.article-lede{font-size:18px}}
