:root{color-scheme:dark;--bg:#090C16;--bg-2:#0C1120;--glass:rgba(255,255,255,.045);--glass-2:rgba(255,255,255,.075);--glass-3:rgba(255,255,255,.11);--glass-solid:#141A2B;--glass-deep:rgba(4,7,15,.34);--cyan:#8CE7F7;--mint:#9BF0CE;--violet:#C4B0FF;--amber:#FFCE8F;--rose:#FFB3C7;--danger:#FF9E92;--glow-cyan:rgba(140,231,247,.55);--glow-violet:rgba(196,176,255,.45);--glow-amber:rgba(255,206,143,.45);--ink:#EDF1FA;--ink-2:#B9C4DA;--ink-3:#8593AC;--ink-invert:#0A0E18;--hairline:linear-gradient(90deg,transparent,rgba(255,255,255,.10) 18%,rgba(255,255,255,.10) 82%,transparent);--shadow-1:0 18px 46px -28px rgba(2,5,14,.9);--shadow-2:0 34px 78px -34px rgba(2,5,14,.95);--shadow-lift:0 40px 90px -38px rgba(2,5,14,1);--sheen:inset 0 1px 0 rgba(255,255,255,.07);--grad-aurora:linear-gradient(110deg,var(--cyan),var(--violet) 52%,var(--amber));--grad-panel:linear-gradient(160deg,rgba(255,255,255,.075),rgba(255,255,255,.02));--font-sans:"Inter","HarmonyOS Sans SC","PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono","Cascadia Mono",ui-monospace,SFMono-Regular,"SF Mono",Consolas,monospace;--fs-xs:.6875rem;--fs-sm:.8125rem;--fs-base:1.0625rem;--fs-md:1.1875rem;--fs-lg:1.5rem;--fs-xl:2rem;--fs-2xl:2.75rem;--fs-3xl:clamp(2.4rem,6.4vw,4.6rem);--sp-1:.375rem;--sp-2:.625rem;--sp-3:1rem;--sp-4:1.5rem;--sp-5:2rem;--sp-6:3rem;--sp-7:4.5rem;--sp-8:6.5rem;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:26px;--r-2xl:34px;--r-full:999px;--t-fast:180ms;--t-base:320ms;--t-slow:780ms;--ease-out:cubic-bezier(.22,1,.36,1);--ease-soft:cubic-bezier(.33,.7,.3,1);--w-prose:720px;--w-page:1240px;--header-h:64px}[data-theme=light]{color-scheme:light;--bg:#F3F6FC;--bg-2:#EEF2FA;--glass:rgba(255,255,255,.72);--glass-2:rgba(255,255,255,.86);--glass-3:rgba(255,255,255,.95);--glass-solid:#FFFFFF;--glass-deep:rgba(255,255,255,.6);--cyan:#0E7A93;--mint:#0F7A5A;--violet:#6B4FD8;--amber:#8A5B12;--rose:#B45C7A;--danger:#C0392B;--glow-cyan:rgba(14,122,147,.35);--glow-violet:rgba(107,79,216,.28);--glow-amber:rgba(138,91,18,.28);--ink:#131A28;--ink-2:#48566E;--ink-3:#6B7A93;--ink-invert:#FFFFFF;--hairline:linear-gradient(90deg,transparent,rgba(19,26,40,.12) 18%,rgba(19,26,40,.12) 82%,transparent);--shadow-1:0 18px 40px -30px rgba(24,38,66,.35);--shadow-2:0 30px 64px -34px rgba(24,38,66,.38);--shadow-lift:0 40px 80px -38px rgba(24,38,66,.42);--sheen:inset 0 1px 0 rgba(255,255,255,.9);--grad-aurora:linear-gradient(110deg,var(--cyan),var(--violet) 52%,var(--amber));--grad-panel:linear-gradient(160deg,rgba(255,255,255,.95),rgba(255,255,255,.7))}@media (prefers-reduced-motion:reduce){:root{--t-fast:1ms;--t-base:1ms;--t-slow:1ms}}*,:after,:before{box-sizing:border-box}*{margin:0}canvas,img,svg{display:block;max-width:100%}button,input,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 28px)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.8;color:var(--ink);background:var(--bg-2);overflow-x:hidden;-webkit-font-smoothing:antialiased}::selection{background:rgba(140,231,247,.28);color:var(--ink)}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:var(--r-sm)}.bg-layer{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:radial-gradient(120% 80% at 50% -10%,rgba(140,231,247,.1),transparent 60%),radial-gradient(100% 70% at 50% 110%,rgba(196,176,255,.1),transparent 62%),var(--bg)}.aurora{position:absolute;inset:0}.aurora span{position:absolute;display:block;border-radius:50%;filter:blur(90px);mix-blend-mode:screen;will-change:transform}.aurora span:first-child{width:48vw;height:48vw;left:-10vw;top:-16vw;background:radial-gradient(circle,rgba(140,231,247,.55),transparent 66%);animation:driftA 28s var(--ease-soft) infinite alternate}.aurora span:nth-child(2){width:42vw;height:42vw;right:-12vw;top:2vw;background:radial-gradient(circle,rgba(196,176,255,.5),transparent 66%);animation:driftB 34s var(--ease-soft) infinite alternate}.aurora span:nth-child(3){width:52vw;height:52vw;left:22vw;bottom:-26vw;background:radial-gradient(circle,rgba(255,206,143,.34),transparent 68%);animation:driftC 40s var(--ease-soft) infinite alternate}@keyframes driftA{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(6vw,4vw,0) scale(1.14)}}@keyframes driftB{0%{transform:translateZ(0) scale(1.05)}to{transform:translate3d(-7vw,6vw,0) scale(.92)}}@keyframes driftC{0%{transform:translateZ(0) scale(.95)}to{transform:translate3d(-5vw,-5vw,0) scale(1.12)}}[data-theme=light] .aurora span{mix-blend-mode:normal;filter:blur(100px);opacity:.55}[data-theme=light] .bg-layer{background:radial-gradient(120% 80% at 50% -10%,rgba(14,122,147,.1),transparent 60%),radial-gradient(100% 70% at 50% 110%,rgba(107,79,216,.09),transparent 62%),var(--bg)}.wrap{width:100%;max-width:var(--w-page);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem);position:relative;z-index:1}.section{padding-block:var(--sp-7)}.section--tight{padding-block:var(--sp-6)}.skip-link{position:absolute;left:-9999px;top:0;background:var(--cyan);color:var(--ink-invert);padding:.6rem 1rem;z-index:999;font-family:var(--font-mono);font-size:var(--fs-sm);border-radius:var(--r-sm)}.skip-link:focus{left:1rem;top:1rem}.hud{position:relative;backdrop-filter:blur(20px) saturate(1.25);-webkit-backdrop-filter:blur(20px) saturate(1.25);border-radius:var(--r-xl);box-shadow:var(--shadow-1),var(--sheen);overflow:hidden;transition:transform var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out)}.hud,[data-theme=light] .hud{background:var(--glass)}.fx-glow{--mx:50%;--my:50%}.fx-glow>.glow-ring{position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity var(--t-base) var(--ease-out);background:radial-gradient(340px circle at var(--mx) var(--my),rgba(140,231,247,.2),rgba(196,176,255,.1) 45%,transparent 72%)}.fx-glow:hover>.glow-ring{opacity:1}[data-theme=light] .fx-glow>.glow-ring{background:radial-gradient(340px circle at var(--mx) var(--my),rgba(14,122,147,.14),rgba(107,79,216,.08) 45%,transparent 72%)}.kicker{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--cyan);display:inline-flex;align-items:center;gap:.6em}.kicker:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--glow-cyan);animation:breathe 3.4s var(--ease-soft) infinite}@keyframes breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.72)}}.kicker--amber{color:var(--amber)}.kicker--amber:before{background:var(--amber);box-shadow:0 0 12px var(--glow-amber)}.kicker--plain:before{display:none}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:60;height:var(--header-h);display:flex;align-items:center;background:transparent;transition:background-color var(--t-base),-webkit-backdrop-filter var(--t-base);transition:background-color var(--t-base),backdrop-filter var(--t-base);transition:background-color var(--t-base),backdrop-filter var(--t-base),-webkit-backdrop-filter var(--t-base)}.site-header.is-scrolled{background:color-mix(in srgb,var(--bg-2) 72%,transparent);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3)}.nav{justify-content:space-between;gap:var(--sp-4)}.brand,.nav{display:flex;align-items:center}.brand{gap:.75rem}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--r-md);background:linear-gradient(145deg,rgba(140,231,247,.28),rgba(196,176,255,.22));color:var(--cyan);box-shadow:0 10px 26px -14px var(--glow-cyan),var(--sheen)}.brand-mark svg{width:17px;height:17px}.brand-text{display:flex;flex-direction:column;line-height:1.2}.brand-text b{font-size:.95rem;letter-spacing:.05em}.brand-text span{font-family:var(--font-mono);font-size:10px;letter-spacing:.24em;color:var(--ink-3);text-transform:uppercase}.nav-links{display:flex;align-items:center;gap:.25rem}.nav-link{position:relative;font-size:.875rem;padding:.5rem .95rem;border-radius:var(--r-full);color:var(--ink-2);transition:color var(--t-fast),background-color var(--t-fast)}.nav-link:hover{color:var(--ink);background:var(--glass-2)}.nav-link[aria-current=page]{color:var(--cyan);background:linear-gradient(120deg,rgba(140,231,247,.18),rgba(196,176,255,.12))}.nav-tools{display:flex;align-items:center;gap:.5rem}.icon-btn{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:var(--r-md);background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--ink-2);cursor:pointer;box-shadow:var(--shadow-1),var(--sheen);transition:color var(--t-fast),background-color var(--t-fast),transform var(--t-base) var(--ease-out),box-shadow var(--t-base)}.icon-btn:hover{color:var(--cyan);background:var(--glass-2);transform:translateY(-2px);box-shadow:var(--shadow-2),var(--sheen),0 0 26px -12px var(--glow-cyan)}.icon-btn svg{width:17px;height:17px}[data-theme=dark] .icon-moon,[data-theme=light] .icon-sun{display:none}.btn{position:relative;display:inline-flex;align-items:center;gap:.55rem;padding:.78rem 1.5rem;border:0;border-radius:var(--r-full);background:linear-gradient(120deg,rgba(140,231,247,.24),rgba(196,176,255,.18));color:var(--cyan);font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;overflow:hidden;box-shadow:0 14px 34px -18px var(--glow-cyan),var(--sheen);transition:transform var(--t-base) var(--ease-out),box-shadow var(--t-base),filter var(--t-base)}.btn:hover{transform:translateY(-3px);filter:brightness(1.12);box-shadow:0 22px 46px -20px var(--glow-cyan),var(--sheen)}.btn:after{content:"";position:absolute;top:0;bottom:0;left:-70%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-16deg);transition:left var(--t-slow) var(--ease-out)}.btn:hover:after{left:130%}.btn--ghost{background:var(--glass);color:var(--ink-2);box-shadow:var(--shadow-1),var(--sheen)}.btn--ghost:hover{color:var(--cyan);background:var(--glass-2)}.btn--amber{background:linear-gradient(120deg,rgba(255,206,143,.26),rgba(255,179,199,.18));color:var(--amber);box-shadow:0 14px 34px -18px var(--glow-amber),var(--sheen)}.btn svg{width:15px;height:15px}.hero{position:relative;min-height:min(86vh,740px);display:flex;align-items:center;padding-block:var(--sp-7) var(--sp-6)}#starfield{position:absolute;inset:0;width:100%;height:100%;opacity:.8}.hero-halo{position:absolute;left:50%;bottom:16%;width:78%;height:260px;transform:translateX(-50%);background:radial-gradient(50% 50% at 50% 50%,var(--glow-cyan),transparent 70%);filter:blur(30px);opacity:.35;pointer-events:none}.hero-inner{position:relative;display:grid;grid-gap:var(--sp-5);gap:var(--sp-5)}.hero h1{font-size:var(--fs-3xl);line-height:1.1;letter-spacing:-.028em;font-weight:700;max-width:17ch}.hero h1 em{font-style:normal;background:var(--grad-aurora);-webkit-background-clip:text;background-clip:text;color:transparent}.hero h1 .strike{position:relative;color:var(--ink-3)}.hero h1 .strike:after{content:"";position:absolute;left:-2%;right:-2%;top:60%;height:2px;border-radius:var(--r-full);background:var(--amber);opacity:.8}.hero-sub{font-size:var(--fs-md);color:var(--ink-2);max-width:52ch}.hero-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-3)}.hero-meta b{color:var(--ink-2);font-weight:500}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem}.telemetry{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:var(--sp-3);gap:var(--sp-3)}.telemetry>div{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-1),var(--sheen)}.telemetry dt{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}.telemetry dd,.telemetry dt{font-family:var(--font-mono)}.telemetry dd{margin:.3rem 0 0;font-size:1.4rem;font-weight:600;letter-spacing:-.01em;background:var(--grad-aurora);-webkit-background-clip:text;background-clip:text;color:transparent}.telemetry dd small{font-size:.7rem;color:var(--ink-3);margin-left:.3em;-webkit-text-fill-color:var(--ink-3)}[data-metric=down] dd{background:linear-gradient(110deg,var(--mint),var(--cyan));-webkit-background-clip:text;background-clip:text}[data-metric=up] dd{background:linear-gradient(110deg,var(--amber),var(--rose));-webkit-background-clip:text;background-clip:text}.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-5);padding-bottom:var(--sp-3);position:relative}.sec-head:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--hairline)}.sec-head h2{font-size:var(--fs-xl);letter-spacing:-.02em;line-height:1.25}.sec-head p{color:var(--ink-3);font-size:var(--fs-sm);font-family:var(--font-mono);letter-spacing:.12em}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:var(--sp-4);gap:var(--sp-4)}.card{display:flex;flex-direction:column;gap:.85rem;padding:var(--sp-5) var(--sp-4) var(--sp-4)}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift),var(--sheen)}.card-top{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}.card-no{color:var(--cyan)}.card h3{font-size:1.2rem;line-height:1.5;letter-spacing:-.01em}.card h3 a{transition:color var(--t-fast)}.card:hover h3 a{color:var(--cyan)}.card p{color:var(--ink-2);font-size:.95rem;line-height:1.75}.card-foot{margin-top:auto;padding-top:var(--sp-3);display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-3);position:relative}.card-foot:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--hairline)}.card-foot .read-time{color:var(--amber)}.feature{display:grid;grid-template-columns:1.15fr .85fr;align-items:stretch}.feature-body{padding:clamp(1.75rem,3.4vw,2.75rem);display:flex;flex-direction:column;gap:var(--sp-3)}.feature-body h2{font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.3;letter-spacing:-.02em}.feature-body p{color:var(--ink-2)}.feature-side{padding:clamp(1.75rem,3.4vw,2.5rem);background:linear-gradient(160deg,rgba(140,231,247,.12),rgba(196,176,255,.06) 60%,transparent);display:flex;flex-direction:column;gap:var(--sp-3)}.spec-list{list-style:none;padding:0;display:grid;grid-gap:.7rem;gap:.7rem}.spec-list li{display:flex;justify-content:space-between;gap:var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-3);padding-bottom:.7rem;position:relative}.spec-list li:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--hairline)}.spec-list li b{color:var(--ink);font-weight:500}.spec-list li b.pos{color:var(--mint)}.tag-cloud{display:flex;flex-wrap:wrap;gap:.6rem}.tag{font-family:var(--font-mono);font-size:var(--fs-sm);padding:.42rem .95rem;border-radius:var(--r-full);color:var(--ink-2);background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-1),var(--sheen);transition:color var(--t-fast),background-color var(--t-fast),transform var(--t-base) var(--ease-out),box-shadow var(--t-base)}.tag:hover{color:var(--cyan);background:linear-gradient(120deg,rgba(140,231,247,.18),rgba(196,176,255,.1));transform:translateY(-3px);box-shadow:0 16px 34px -20px var(--glow-cyan),var(--sheen)}.tag[data-active=true]{color:var(--ink-invert);background:linear-gradient(120deg,var(--cyan),var(--violet))}.tag--violet:hover{color:var(--violet)}.subscribe{display:grid;grid-template-columns:1fr auto;grid-gap:var(--sp-4);gap:var(--sp-4);align-items:center;padding:clamp(1.75rem,3.4vw,2.5rem)}.subscribe h2{font-size:1.4rem;letter-spacing:-.01em}.subscribe p{color:var(--ink-3);font-size:.95rem;margin-top:.35rem}.field{display:flex;gap:.6rem}.field input{flex:1 1;min-width:200px;padding:.78rem 1.1rem;background:var(--glass-deep);border:0;border-radius:var(--r-full);color:var(--ink);font-family:var(--font-mono);font-size:var(--fs-sm);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);transition:box-shadow var(--t-fast),background-color var(--t-fast)}.field input::placeholder{color:var(--ink-3)}.field input:focus{outline:none;background:var(--glass-2);box-shadow:0 0 0 3px rgba(140,231,247,.18)}.post-layout{display:grid;grid-template-columns:minmax(0,210px) minmax(0,1fr) minmax(0,200px);grid-gap:var(--sp-5);gap:var(--sp-5);align-items:start}@media (max-width:1180px){.post-layout{grid-template-columns:minmax(0,1fr) minmax(0,220px)}.post-aside-left{display:none}}@media (max-width:900px){.post-layout{grid-template-columns:1fr}.post-aside-right{display:none}}.post-aside{position:-webkit-sticky;position:sticky;top:calc(var(--header-h) + 28px)}.panel-title{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);padding:var(--sp-3) var(--sp-4) var(--sp-2)}.toc{list-style:none;padding:0 var(--sp-2) var(--sp-3);margin:0}.toc a{display:flex;gap:.6rem;padding:.5rem .85rem;border-radius:var(--r-md);font-size:.875rem;color:var(--ink-3);transition:color var(--t-fast),background-color var(--t-fast),transform var(--t-base) var(--ease-out)}.toc a span{font-family:var(--font-mono);font-size:11px;opacity:.7}.toc a:hover{color:var(--ink-2);background:var(--glass-2)}.toc a.is-active{color:var(--cyan);background:linear-gradient(120deg,rgba(140,231,247,.18),rgba(196,176,255,.1));transform:translateX(3px)}.aside-note{padding:var(--sp-4);font-size:.8125rem;line-height:1.75;color:var(--ink-2);border-radius:var(--r-lg);background:linear-gradient(160deg,rgba(255,206,143,.14),rgba(255,179,199,.06));box-shadow:var(--shadow-1),var(--sheen)}.aside-note b{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;color:var(--amber);text-transform:uppercase;margin-bottom:.4rem}.progress-rail{position:fixed;top:var(--header-h);left:0;right:0;height:3px;z-index:59;background:transparent}.progress-bar{height:100%;width:0;border-radius:var(--r-full);background:var(--grad-aurora);box-shadow:0 0 16px -2px var(--glow-cyan);transition:width .11s linear}.post-head,.prose{max-width:var(--w-prose)}.post-head{margin-bottom:var(--sp-5)}.post-head h1{font-size:clamp(1.9rem,4.2vw,2.8rem);line-height:1.25;letter-spacing:-.025em;margin-block:var(--sp-3)}.post-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-3);padding-top:var(--sp-3);position:relative}.post-meta:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--hairline)}.post-meta b{color:var(--ink-2);font-weight:500}.prose h2{font-size:1.55rem;letter-spacing:-.02em;margin-top:var(--sp-6);margin-bottom:var(--sp-3);padding-top:var(--sp-4);scroll-margin-top:calc(var(--header-h) + 28px);display:flex;align-items:baseline;gap:.7rem;position:relative}.prose h2:before{content:"";position:absolute;top:0;left:0;width:62px;height:1px;background:var(--hairline);background-image:linear-gradient(90deg,var(--glow-cyan),transparent)}.prose h2 .num{font-family:var(--font-mono);font-size:.8rem;color:var(--cyan);letter-spacing:.1em}.prose h3{font-size:1.2rem;margin-top:var(--sp-5);margin-bottom:var(--sp-2);letter-spacing:-.01em}.prose p{margin-bottom:var(--sp-3)}.prose>p:first-of-type{font-size:var(--fs-md);color:var(--ink-2)}.prose ol,.prose ul{margin:0 0 var(--sp-3);padding-left:1.3rem}.prose li{margin-bottom:.5rem}.prose li::marker{color:var(--cyan);font-family:var(--font-mono);font-size:.9em}.prose strong{color:var(--ink);font-weight:600}.prose a:not(.btn){color:var(--cyan);text-decoration:underline;-webkit-text-decoration-color:rgba(140,231,247,.35);text-decoration-color:rgba(140,231,247,.35);text-underline-offset:3px;transition:-webkit-text-decoration-color var(--t-fast);transition:text-decoration-color var(--t-fast);transition:text-decoration-color var(--t-fast),-webkit-text-decoration-color var(--t-fast)}.prose a:not(.btn):hover{-webkit-text-decoration-color:var(--cyan);text-decoration-color:var(--cyan)}.prose hr{border:0;height:1px;margin-block:var(--sp-5);background:var(--hairline)}.prose code{font-family:var(--font-mono);font-size:.9em;padding:.12em .45em;border-radius:var(--r-sm);background:var(--glass-2);color:var(--cyan)}.code pre code{padding:0;background:none;color:inherit;font-size:inherit;border-radius:0}.verdict{padding:var(--sp-4) var(--sp-5);border-radius:var(--r-xl);background:linear-gradient(150deg,rgba(140,231,247,.16),rgba(196,176,255,.08) 60%,transparent);box-shadow:var(--shadow-1),var(--sheen);margin-bottom:var(--sp-5)}.verdict b{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;color:var(--cyan);text-transform:uppercase;margin-bottom:.5rem}.callout{display:grid;grid-template-columns:24px 1fr;grid-gap:var(--sp-3);gap:var(--sp-3);padding:var(--sp-4);margin-bottom:var(--sp-4);border-radius:var(--r-lg);background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-1),var(--sheen);font-size:.95rem}.callout .dot{width:11px;height:11px;margin-top:.55rem;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px var(--glow-cyan)}.callout b{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);display:block;margin-bottom:.3rem}.callout p{margin:0;color:var(--ink-2)}.callout--warn{background:linear-gradient(150deg,rgba(255,206,143,.14),transparent 70%),var(--glass)}.callout--warn b{color:var(--amber)}.callout--warn .dot{background:var(--amber);box-shadow:0 0 14px var(--glow-amber)}.callout--note{background:linear-gradient(150deg,rgba(196,176,255,.14),transparent 70%),var(--glass)}.callout--note b{color:var(--violet)}.callout--note .dot{background:var(--violet);box-shadow:0 0 14px var(--glow-violet)}.code{margin-bottom:var(--sp-4);border-radius:var(--r-xl);background:var(--glass-deep);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--shadow-2),var(--sheen);overflow:hidden}.code-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:.7rem 1.1rem;font-family:var(--font-mono);font-size:11px;color:var(--ink-3);background:linear-gradient(180deg,rgba(255,255,255,.05),transparent);position:relative}.code-bar:after{content:"";position:absolute;left:1.1rem;right:1.1rem;bottom:0;height:1px;background:var(--hairline)}.code-bar .file{color:var(--ink-2);letter-spacing:.04em}.code-bar .lang{padding:.15rem .7rem;border-radius:var(--r-full);background:rgba(140,231,247,.16);color:var(--cyan);text-transform:uppercase;letter-spacing:.12em}.copy-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .8rem;border:0;border-radius:var(--r-full);background:var(--glass-2);color:var(--ink-3);font-family:var(--font-mono);font-size:11px;cursor:pointer;transition:color var(--t-fast),background-color var(--t-fast)}.copy-btn:hover{color:var(--cyan);background:rgba(140,231,247,.16)}.copy-btn.is-done{color:var(--mint)}.code pre{margin:0;padding:var(--sp-4) var(--sp-4) var(--sp-4) 0;overflow-x:auto;font-family:var(--font-mono);font-size:.8125rem;line-height:1.8;color:var(--ink)}.code .ln{display:inline-block;width:3.2rem;padding-right:1rem;text-align:right;color:rgba(133,147,172,.5);-webkit-user-select:none;-moz-user-select:none;user-select:none}.tok-key{color:var(--cyan)}.tok-str{color:var(--mint)}.tok-num{color:var(--amber)}.tok-com{color:var(--ink-3);font-style:italic}.tok-fn{color:var(--violet)}.data-table{width:100%;border-collapse:collapse;margin-bottom:var(--sp-4);font-size:.9rem}.data-table caption{text-align:left;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-3);padding-bottom:.7rem}.data-table td,.data-table th{padding:.75rem .5rem;text-align:left}.data-table thead th{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid rgba(255,255,255,.08)}.data-table tbody tr{transition:background-color var(--t-fast)}.data-table tbody tr:hover{background:var(--glass-2)}.data-table td.num,.data-table th.num{font-family:var(--font-mono)}.data-table .up{color:var(--mint)}.data-table .down{color:var(--amber)}.prose blockquote{margin:0 0 var(--sp-4);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-lg);background:linear-gradient(150deg,rgba(196,176,255,.14),transparent 70%);color:var(--ink-2)}.post-nav{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--sp-4);gap:var(--sp-4);margin-top:var(--sp-6)}.post-nav a{padding:var(--sp-4);display:grid;grid-gap:.35rem;gap:.35rem}.post-nav a:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift),var(--sheen)}.post-nav .dir{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3)}.post-nav .t{font-weight:600;font-size:1rem}.post-nav .next{text-align:right}.archive-year{display:grid;grid-template-columns:92px 1fr;grid-gap:var(--sp-4);gap:var(--sp-4);margin-bottom:var(--sp-5)}.archive-year>.yr{font-family:var(--font-mono);font-size:1.5rem;background:var(--grad-aurora);-webkit-background-clip:text;background-clip:text;color:transparent;position:-webkit-sticky;position:sticky;top:calc(var(--header-h) + 28px);align-self:start}.timeline{list-style:none;padding:0;margin:0;position:relative}.timeline:before{content:"";position:absolute;left:6px;top:10px;bottom:10px;width:2px;border-radius:var(--r-full);background:linear-gradient(to bottom,var(--glow-cyan),rgba(196,176,255,.2) 55%,transparent);opacity:.55}.timeline li{position:relative;padding-left:var(--sp-5);padding-bottom:var(--sp-3);transition:transform var(--t-base) var(--ease-out)}.timeline li:before{content:"";position:absolute;left:0;top:.8rem;width:14px;height:14px;border-radius:50%;background:var(--bg-2);box-shadow:0 0 0 3px rgba(140,231,247,.18);transition:box-shadow var(--t-base),background-color var(--t-base)}.timeline li:hover:before{background:var(--cyan);box-shadow:0 0 0 5px rgba(140,231,247,.22)}.timeline li:hover{transform:translateX(5px)}.timeline .row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem}.timeline .date{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-3)}.timeline .title{font-weight:600;font-size:1.02rem;transition:color var(--t-fast)}.timeline .title:hover{color:var(--cyan)}.timeline .tags{display:flex;gap:.4rem;flex-wrap:wrap}.timeline .mini-tag{font-family:var(--font-mono);font-size:10px;color:var(--ink-3);padding:.1rem .55rem;border-radius:var(--r-full);background:var(--glass)}.about-grid{display:grid;grid-template-columns:300px minmax(0,1fr);grid-gap:var(--sp-5);gap:var(--sp-5);align-items:start}@media (max-width:860px){.about-grid{grid-template-columns:1fr}}.crew-card{padding:var(--sp-5);text-align:center}.crew-portrait{position:relative;width:100%;aspect-ratio:1;border-radius:var(--r-xl);background:radial-gradient(circle at 50% 38%,rgba(140,231,247,.2),transparent 62%),linear-gradient(160deg,rgba(255,255,255,.07),transparent);display:grid;place-items:center;overflow:hidden;margin-bottom:var(--sp-4)}.crew-portrait svg{width:64%;height:64%}.crew-portrait:after{content:"";position:absolute;left:-10%;right:-10%;height:34%;background:radial-gradient(50% 50% at 50% 50%,var(--glow-cyan),transparent 70%);filter:blur(18px);opacity:.55;animation:haloPass 8s var(--ease-soft) infinite alternate}@keyframes haloPass{0%{transform:translateY(-60%)}to{transform:translateY(190%)}}.crew-card h1{font-size:1.35rem;letter-spacing:-.01em}.crew-card .role{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--cyan);margin-top:.3rem}.crew-card .bio{color:var(--ink-2);font-size:.9rem;margin-top:var(--sp-4);text-align:left}.meter{display:grid;grid-gap:var(--sp-4);gap:var(--sp-4)}.meter-row{display:grid;grid-gap:.5rem;gap:.5rem}.meter-row .lbl{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-2)}.meter-row .lbl span{color:var(--ink-3)}.bars{display:flex;gap:5px}.bars i{flex:1 1;height:10px;border-radius:var(--r-full);background:rgba(255,255,255,.07);transition:background var(--t-slow) var(--ease-out),box-shadow var(--t-slow)}.bars i.on{background:linear-gradient(90deg,var(--cyan),var(--violet));box-shadow:0 0 14px -4px var(--glow-cyan)}.bars i.on.warn{background:linear-gradient(90deg,var(--amber),var(--rose));box-shadow:0 0 14px -4px var(--glow-amber)}.creed{padding:var(--sp-5);font-size:1.05rem;line-height:1.85}.creed li{margin-bottom:.6rem}.log-list{list-style:none;padding:0;display:grid;grid-gap:.8rem;gap:.8rem}.log-list li{display:flex;gap:.85rem;align-items:baseline;font-size:.95rem;color:var(--ink-2);padding-bottom:.8rem;position:relative}.log-list li:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--hairline)}.log-list .st{font-family:var(--font-mono);font-size:10px;padding:.18rem .7rem;border-radius:var(--r-full);background:rgba(140,231,247,.16);color:var(--cyan);white-space:nowrap}.log-list .st.done{background:rgba(155,240,206,.16);color:var(--mint)}.site-footer{margin-top:var(--sp-7);padding-block:var(--sp-5);position:relative}.site-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--hairline)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-gap:var(--sp-5);gap:var(--sp-5)}@media (max-width:760px){.footer-grid{grid-template-columns:1fr}}.footer-grid h4{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--sp-3)}.footer-grid ul{list-style:none;padding:0;display:grid;grid-gap:.5rem;gap:.5rem;font-size:.9rem}.footer-grid a{color:var(--ink-2);transition:color var(--t-fast)}.footer-grid a:hover{color:var(--cyan)}.footer-bottom{margin-top:var(--sp-5);padding-top:var(--sp-3);display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-3);position:relative}.footer-bottom:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--hairline)}.figure{margin:0 0 var(--sp-5);padding:var(--sp-4) var(--sp-4) var(--sp-3);border-radius:var(--r-lg);background:var(--glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--shadow-1),var(--sheen)}.figure svg{display:block;width:100%;height:auto}.post-image{padding:var(--sp-3)}.post-image img{width:100%;height:auto;border-radius:var(--r-sm);background:var(--glass-2)}.post-image figcaption{text-align:center}.post-image img.zoomable{cursor:zoom-in;transition:filter .2s ease}.post-image img.zoomable:hover{filter:brightness(1.06)}.post-image img.zoomable:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.lightbox{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(8,10,16,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:lightbox-in .18s ease;cursor:zoom-out}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.lightbox-body{margin:0;position:relative;display:flex;flex-direction:column;align-items:center;max-width:100%;min-height:0}.lightbox-body img{display:block;max-width:calc(100vw - 32px);max-height:calc(100vh - 76px);width:auto;height:auto;border-radius:var(--r-sm);box-shadow:0 24px 64px rgba(0,0,0,.45)}.lightbox-body figcaption{position:absolute;left:50%;bottom:-2rem;transform:translateX(-50%);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:var(--fs-sm);color:rgba(255,255,255,.78);text-align:center}.lightbox-close{position:absolute;top:18px;right:22px;width:40px;height:40px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:16px;line-height:1;cursor:pointer;transition:background .2s ease}.lightbox-close:hover{background:rgba(255,255,255,.18)}.figure figcaption{margin-top:.85rem;font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.75;color:var(--ink-3)}.fnode{fill:var(--glass-2);stroke:var(--cyan);stroke-opacity:.3;stroke-width:.8}.fnode-alt{fill:var(--glass-3);stroke:var(--violet);stroke-opacity:.38;stroke-width:.8}.fnode-out{fill:var(--glass-2);stroke:var(--ink-3);stroke-opacity:.34;stroke-width:.8}.fnode-end{fill:var(--glass-3);stroke:var(--mint);stroke-opacity:.42;stroke-width:.8}.fdiamond{fill:var(--glass-2);stroke:var(--amber);stroke-opacity:.42;stroke-width:.8}.farr{fill:none;stroke:var(--ink-3);stroke-opacity:.62;stroke-width:1.2;stroke-linecap:round}.farr-dash{fill:none;stroke:var(--ink-3);stroke-opacity:.5;stroke-width:1.2;stroke-dasharray:4 4}.farr-acc{fill:none;stroke:var(--cyan);stroke-opacity:.75;stroke-width:1.3;stroke-linecap:round}.ft{font:500 13.5px var(--font-sans);fill:var(--ink)}.fs{font:400 11.5px var(--font-sans)}.fl,.fs{fill:var(--ink-3)}.fg,.fl{font:400 11px var(--font-mono)}.fg{fill:var(--cyan);letter-spacing:.12em}.search-mask{position:fixed;inset:0;z-index:90;display:none;align-items:flex-start;justify-content:center;padding:12vh 1rem 1rem;background:rgba(5,8,17,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.search-mask.is-open{display:flex;animation:fadeIn .22s var(--ease-out)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.search-box{width:min(640px,100%);background:var(--glass-solid);border-radius:var(--r-xl);box-shadow:var(--shadow-2),var(--sheen),0 0 60px -30px var(--glow-cyan);overflow:hidden;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.search-box input{width:100%;padding:var(--sp-4);background:transparent;border:0;color:var(--ink);font-family:var(--font-mono);font-size:1rem}.search-box input:focus{outline:none}.search-results{list-style:none;padding:.5rem;margin:0;max-height:46vh;overflow-y:auto}.search-results li a{display:flex;justify-content:space-between;gap:var(--sp-3);padding:.7rem .9rem;border-radius:var(--r-md);font-size:.95rem;color:var(--ink-2)}.search-results li a .m{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-3)}.search-results li[aria-selected=true] a{background:var(--glass-2);color:var(--cyan)}.search-empty{padding:var(--sp-4);color:var(--ink-3);font-family:var(--font-mono);font-size:var(--fs-sm)}.reveal{opacity:0;transform:translateY(24px);transition:opacity var(--t-slow) var(--ease-out),transform var(--t-slow) var(--ease-out);transition-delay:var(--d,0s);will-change:opacity,transform}.reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.aurora span,.crew-portrait:after,.kicker:before{animation:none}}@media (min-width:721px){#navToggle{display:none}}@media (max-width:720px){.nav-links{position:fixed;top:var(--header-h);left:1rem;right:1rem;flex-direction:column;align-items:stretch;gap:.2rem;padding:var(--sp-3);border-radius:var(--r-lg);background:var(--glass-3);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:var(--shadow-2),var(--sheen);transform:translateY(-10px);opacity:0;visibility:hidden;transition:opacity var(--t-base) var(--ease-out),transform var(--t-base) var(--ease-out),visibility var(--t-base)}.nav-links.is-open{opacity:1;transform:none;visibility:visible}.nav-link{padding:.75rem .9rem;font-size:1rem}.hero{min-height:auto;padding-block:var(--sp-6)}.feature,.subscribe{grid-template-columns:1fr}.field{flex-direction:column}.post-nav{grid-template-columns:1fr}.post-nav .next{text-align:left}.archive-year{grid-template-columns:1fr}.archive-year>.yr{position:static}.telemetry{grid-template-columns:repeat(2,1fr)}}@media (max-width:420px){.telemetry{grid-template-columns:1fr}.brand-text span{display:none}}.page-title{font-size:clamp(2rem,5vw,3.2rem);letter-spacing:-.03em;line-height:1.15;margin-block:var(--sp-3) var(--sp-4)}.hero-sub .strike{position:relative;color:var(--ink-3)}.hero-sub .strike:after{content:"";position:absolute;left:-2%;right:-2%;top:60%;height:2px;border-radius:var(--r-full);background:var(--amber);opacity:.8}button.tag{border:0;cursor:pointer;color:var(--ink-2)}.archive-empty,button.tag{font-family:var(--font-mono);font-size:var(--fs-sm)}.archive-empty{padding:var(--sp-5);border-radius:var(--r-xl);background:var(--glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--shadow-1),var(--sheen);color:var(--ink-3);text-align:center}.post-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:var(--sp-4)}.post-tags .tag{font-size:var(--fs-sm)}.post-end{color:var(--ink-3);font-size:.95rem;margin-bottom:var(--sp-4)}body.nav-open{overflow:hidden}