:root{--bg:#0b0d11;--bg-soft:#14181e;--bg-card:#14181eb8;--fg:#e8eaee;--fg-muted:#9aa3ad;--accent:#8ab4f8;--accent-2:#a78bfa;--accent-3:#f0abfc;--grad:linear-gradient(100deg, #8ab4f8 0%, #a78bfa 55%, #f0abfc 100%);--border:#252b33;--border-hi:#8ab4f873;--radius:14px;--wide:60rem;--measure:68ch;--font:-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "JetBrains Mono", SFMono-Regular, Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box}html{background:var(--bg);color:var(--fg);-webkit-text-size-adjust:100%;overflow-x:clip}body{max-width:var(--wide);font-family:var(--font);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0 auto;padding:0 1.25rem;font-size:1.0625rem;line-height:1.7;position:relative}.atmosphere{z-index:-1;pointer-events:none;background:radial-gradient(42rem 26rem at 12% -4%,#8ab4f824,#0000 70%),radial-gradient(34rem 24rem at 92% 6%,#a78bfa1f,#0000 70%),radial-gradient(30rem 20rem at 70% 105%,#2dd4bf0f,#0000 70%);position:fixed;inset:0}.atmosphere:after{content:"";opacity:.55;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 55% at 50% 0,#000 15%,#0000 75%);mask-image:radial-gradient(70% 55% at 50% 0,#000 15%,#0000 75%)}a{color:var(--accent);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.site-header{z-index:10;backdrop-filter:blur(14px)saturate(140%);background:#0e1116a6;border:1px solid #ffffff0f;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:1rem 0 2rem;padding:.55rem .6rem .55rem .75rem;display:flex;position:sticky;top:.75rem;box-shadow:0 10px 30px -18px #000c}.brand{color:var(--fg);letter-spacing:-.01em;align-items:center;gap:.6rem;font-weight:700;display:inline-flex}.brand:hover{text-decoration:none}.brand-mark{letter-spacing:-.02em;color:#0b0d10;background:var(--grad);border-radius:9px;flex-shrink:0;place-items:center;width:2rem;height:2rem;font-size:.78rem;font-weight:800;display:inline-grid;box-shadow:0 4px 16px -6px #a78bfab3}.brand-mark.sm{border-radius:7px;width:1.5rem;height:1.5rem;font-size:.6rem}.brand-mark.lg{border-radius:14px;width:3.25rem;height:3.25rem;font-size:1.1rem}.site-header nav{flex-wrap:wrap;align-items:center;gap:.25rem;font-size:.92rem;display:flex}.site-header nav a{color:var(--fg-muted);border-radius:10px;padding:.4rem .75rem;line-height:1.2;transition:color .15s,background .15s}.site-header nav a:hover{color:var(--fg);background:#ffffff0d;text-decoration:none}.site-header nav a[aria-current=page]{color:var(--fg);background:#8ab4f81a}.site-header nav a.nav-cta{color:#0b0d10;background:var(--grad);margin-left:.25rem;font-weight:600}.site-header nav a.nav-cta:hover{filter:brightness(1.08)}h1,h2,h3,h4{letter-spacing:-.015em;margin:2.2em 0 .6em;line-height:1.25}h1{margin-top:0;font-size:2rem}h2{font-size:1.45rem}h3{font-size:1.15rem}.grad{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.section-title{text-transform:uppercase;letter-spacing:.12em;color:var(--fg-muted);margin:0 0 1rem;font-size:.78rem;font-weight:600}.pill{color:var(--fg);backdrop-filter:blur(6px);background:#8ab4f814;border:1px solid #8ab4f847;border-radius:999px;align-items:center;gap:.55rem;margin:0 0 1.5rem;padding:.35rem .85rem;font-size:.82rem;font-weight:500;display:inline-flex}.pill-dot{background:#34d399;border-radius:50%;width:.5rem;height:.5rem;animation:2.4s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #34d3998c}70%{box-shadow:0 0 0 .5rem #34d39900}to{box-shadow:0 0 #34d39900}}.btn{border-radius:10px;align-items:center;gap:.5rem;padding:.72rem 1.2rem;font-size:.98rem;font-weight:600;line-height:1;transition:transform .15s,box-shadow .2s,background .2s,border-color .2s;display:inline-flex}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn-primary{color:#0b0d10;background:linear-gradient(135deg,#a5c6ff,#8ab4f8 50%,#a78bfa);box-shadow:0 6px 24px -8px #8ab4f899}.btn-primary:hover{box-shadow:0 10px 32px -8px #8ab4f8cc}.btn-ghost{color:var(--fg);border:1px solid var(--border);background:#ffffff08}.btn-ghost:hover{border-color:var(--border-hi);background:#8ab4f80f}.btn-link{color:var(--fg-muted);font-size:.92rem}.btn-link:hover{color:var(--fg)}.card{border-radius:var(--radius);color:var(--fg);background:linear-gradient(180deg, #ffffff06, #fff0), var(--bg-card);border:1px solid var(--border);backdrop-filter:blur(6px);padding:1.4rem 1.5rem;transition:border-color .2s,box-shadow .25s,transform .2s;display:block;position:relative}a.card:hover{border-color:var(--border-hi);text-decoration:none;transform:translateY(-2px);box-shadow:0 0 0 1px #8ab4f81f,0 12px 40px -12px #8ab4f859}.card-meta{color:var(--fg-muted);flex-wrap:wrap;align-items:center;gap:.4rem .9rem;margin-bottom:.55rem;font-size:.8rem;display:flex}.tags{flex-wrap:wrap;gap:.35rem;display:inline-flex}.tag{color:#b7cdf5;font-family:var(--mono);background:#8ab4f814;border-radius:999px;padding:.1rem .5rem;font-size:.72rem}.card-title{letter-spacing:-.015em;margin:0 0 .5rem;font-size:clamp(1.15rem,2.2vw,1.35rem);line-height:1.3}a.card:hover .card-title{color:#c4d8ff}.card-desc{color:var(--fg-muted);max-width:46rem;margin:0 0 .9rem;font-size:.98rem;line-height:1.6}.card-more{color:var(--accent);font-size:.88rem;font-weight:600}.card-more span{transition:transform .2s;display:inline-block}a.card:hover .card-more span,a.card-more:hover span{transform:translate(3px)}a.card-more:hover{text-decoration:none}.hero{isolation:isolate;margin-bottom:1.5rem;padding:clamp(2rem,6vw,4.25rem) 0 clamp(2rem,5vw,3.5rem);position:relative}.hero-sm{padding-bottom:clamp(1.5rem,4vw,2.5rem)}.hero-glow{z-index:-1;pointer-events:none;background:radial-gradient(34rem 20rem at 20% 35%,#8ab4f81a,#0000 70%),radial-gradient(26rem 18rem at 75% 15%,#a78bfa17,#0000 70%);position:absolute;inset:-6rem -40vw -2rem}.hero-title{letter-spacing:-.035em;margin:0 0 1.25rem;font-size:clamp(2.6rem,8vw,4.75rem);font-weight:800;line-height:1.02}.hero-lead{color:var(--fg);letter-spacing:-.005em;max-width:42rem;margin:0 0 .9rem;font-size:clamp(1.15rem,2.3vw,1.4rem);line-height:1.5}.hero-sub{color:var(--fg-muted);max-width:40rem;margin:0 0 2rem;font-size:1rem}.hero-sub strong{color:var(--fg)}.hero-cta{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:2.25rem;display:flex}.hero-cta.compact{gap:.6rem;margin:1rem 0 0}.hero-cta.compact .btn{padding:.6rem 1rem;font-size:.92rem}.chips{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;max-width:46rem;margin:0;padding:0;list-style:none;display:grid}.chip{background:var(--bg-card);border:1px solid var(--border);backdrop-filter:blur(6px);border-radius:12px;flex-direction:column;gap:.1rem;padding:.8rem 1rem;display:flex}.chip strong{color:var(--fg);letter-spacing:-.01em;font-size:1.05rem}.chip span{color:var(--fg-muted);font-size:.82rem;line-height:1.4}.posts-head{justify-content:space-between;align-items:baseline;margin-bottom:1rem;display:flex}.posts-head .section-title{margin:0}.rss-link{color:var(--fg-muted);font-size:.82rem}.post-cards{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.block{margin:0 0 2.75rem}.feature-grid{grid-template-columns:repeat(auto-fill,minmax(16.5rem,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.feature{padding:1.25rem 1.35rem}.feature-num{font-family:var(--mono);background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:.75rem;font-weight:600}.feature h3{margin:.35rem 0 .45rem;font-size:1.08rem}.feature p{color:var(--fg-muted);margin:0;font-size:.95rem;line-height:1.6}.panel p{color:var(--fg);max-width:46rem;margin:0 0 .9rem}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.contact{flex-direction:column;gap:.2rem;display:flex}.contact-k{text-transform:uppercase;letter-spacing:.1em;color:var(--fg-muted);font-size:.78rem}.contact-v{word-break:break-word;font-size:1.1rem;font-weight:600}a.contact:hover .contact-v{color:#c4d8ff}.post{max-width:var(--measure);margin:0 auto}.post-header{border-bottom:1px solid var(--border);margin-bottom:2rem;padding:clamp(1rem,4vw,2.5rem) 0 2rem}.back-link{color:var(--fg-muted);gap:.4rem;margin-bottom:1.5rem;font-size:.88rem;display:inline-flex}.back-link:hover{color:var(--fg);text-decoration:none}.post-meta{margin-bottom:1rem}.dot-sep:before{content:"·";opacity:.6;margin-right:.9rem}.post-title{letter-spacing:-.03em;margin:0 0 1rem;font-size:clamp(1.9rem,5vw,2.75rem);font-weight:800;line-height:1.12}.post-lead{color:var(--fg-muted);margin:0;font-size:clamp(1.05rem,2vw,1.2rem);line-height:1.55}.prose{font-size:1.0625rem}.prose>:first-child{margin-top:0}.prose h2{padding-top:.25rem;font-size:1.5rem}.prose h2:before{content:"";background:var(--grad);border-radius:3px;width:2.25rem;height:3px;margin-bottom:.9rem;display:block}.prose p,.prose ul,.prose ol{margin:0 0 1.15em}.prose li{margin:.3em 0}.prose li::marker{color:var(--accent)}.prose strong{color:#fff;font-weight:650}.prose a{text-underline-offset:3px;text-decoration:underline #8ab4f866}.prose a:hover{text-decoration-color:var(--accent)}.prose blockquote{color:var(--fg);border:1px solid #8ab4f833;border-left:3px solid var(--accent);background:linear-gradient(90deg,#8ab4f814,#a78bfa08);border-radius:12px;margin:1.75em 0;padding:1rem 1.25rem}.prose blockquote p:last-child{margin-bottom:0}.prose hr{background:linear-gradient(90deg, transparent, var(--border) 20%, var(--border) 80%, transparent);border:0;height:1px;margin:2.75em 0}.prose code{font-family:var(--mono);color:#cfdcf5;background:#8ab4f814;border:1px solid #8ab4f81f;border-radius:6px;padding:.12em .4em;font-size:.86em}.prose pre{border:1px solid var(--border);border-radius:12px;padding:1rem 1.15rem;font-size:.88rem;line-height:1.55;overflow-x:auto;background:#0d1015!important}.prose pre code{color:inherit;background:0 0;border:0;padding:0}.prose table{border-collapse:separate;border-spacing:0;border:1px solid var(--border);background:var(--bg-card);border-radius:12px;width:100%;margin:1.75em 0;font-size:.93rem;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.65em .9em}.prose tr:last-child td{border-bottom:0}.prose th{color:var(--fg-muted);background:#ffffff05;font-size:.85rem;font-weight:600}.prose img{border-radius:12px;max-width:100%;height:auto}.author-card{border-radius:var(--radius);background:linear-gradient(135deg,#8ab4f814,#a78bfa0d 60%,#14181e99);border:1px solid #8ab4f838;align-items:flex-start;gap:1.1rem;margin:3.5rem 0 1.25rem;padding:1.4rem 1.5rem;display:flex}.author-body p{margin:0}.author-name{font-size:1.05rem;font-weight:700}.author-role{color:var(--fg-muted);font-size:.95rem;margin-top:.15rem!important}.post-nav{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.nav-card{flex-direction:column;gap:.3rem;padding:1rem 1.2rem;display:flex}.nav-next{text-align:right;grid-column:2}.nav-label{color:var(--fg-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.nav-title{font-size:.98rem;font-weight:600;line-height:1.35}.site-footer{border-top:1px solid var(--border);color:var(--fg-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-top:5rem;padding:1.5rem 0 2.5rem;font-size:.85rem;display:flex}.footer-left{align-items:center;gap:.6rem;display:inline-flex}.footer-links{gap:1.1rem;display:flex}.footer-links a{color:var(--fg-muted)}.footer-links a:hover{color:var(--fg);text-decoration:none}::selection{background:#8ab4f84d}@media (width<=640px){body{padding:0 1rem;font-size:1rem}.site-header{margin:.5rem 0 1.5rem;top:.5rem}.brand-name{display:none}.site-header nav a{padding:.4rem .6rem}.chips{grid-template-columns:1fr}.hero-cta .btn{flex:auto;justify-content:center}.hero-cta .btn-link{flex-basis:100%}.card{padding:1.15rem}.contact-grid,.post-nav{grid-template-columns:1fr}.nav-next{grid-column:auto}.post-nav>span:empty{display:none}.author-card{flex-direction:column}}@media (prefers-reduced-motion:reduce){.pill-dot{animation:none}.btn,.card,.card-more span{transition:none}.btn:hover,a.card:hover{transform:none}}
