@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;src:url(/fonts/inter-latin.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--max:980px;--radius:12px;--radius-sm:8px;--transition:cubic-bezier(.4, 0, .2, 1);--bg:#0b0f11;--bg-elevated:#10161a;--panel:#10161a;--panel-2:#161d22;--text:#e6ebee;--text-secondary:#9aa5ab;--muted:#66727a;--line:#1e272d;--line-strong:#2b353c;--accent:#22c55e;--accent-hover:#34d672;--accent-2:#22c55e;--accent-ink:#03140a;--accent-tint:#22c55e0f;--accent-line:#22c55e61;--header-bg:#0b0f11;--header-border:#1e272d;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Geist Variable", "Inter", system-ui, sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color-scheme:dark}::selection{color:var(--text);background:#22c55e4d}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.04em;font-weight:600}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-variant-ligatures:none;margin:0;font-size:.95rem;line-height:1.55;transition:background-color .3s,color .3s}a{color:inherit;transition:all .3s var(--transition)}img{max-width:100%;image-rendering:-webkit-optimize-contrast;display:block}.container{width:min(calc(100% - 3rem), var(--max));margin-inline:auto;padding:0 1.5rem}.muted{color:var(--muted)}.eyebrow{color:var(--accent);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.6rem;margin-bottom:.5rem;font-size:.72rem;font-weight:500;display:flex}.eyebrow:before{content:"";background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px}.button{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-ink);transition:all .3s var(--transition);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.375rem .75rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-ink)}.button.secondary{color:var(--text-secondary);border:1px solid var(--line-strong);background:0 0;font-weight:500}.button.secondary:hover{background:var(--panel-2);color:var(--text)}.site-header{z-index:1000;background:var(--header-bg);border-bottom:1px solid var(--header-border);position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:1rem;min-height:60px;padding:8px 0;display:flex}.brand{letter-spacing:-.02em;color:var(--text);align-items:center;font-size:21px;font-weight:600;text-decoration:none;display:flex}.logo{width:auto;height:38px;transition:filter .2s var(--transition);filter:brightness(3)saturate(.8);display:block}.nav-links{gap:2rem;font-size:.9rem;display:flex}.nav-links a{color:var(--text-secondary);border-radius:var(--radius-sm);padding:.5rem 1rem;text-decoration:none;transition:all .2s}.nav-links a:hover{color:var(--accent);background-color:var(--accent-tint)}.hero{padding:4.5rem 0 3rem}.hero h1{letter-spacing:-.04em;max-width:900px;margin:1rem 0 1.5rem;font-size:clamp(2.3rem,4.6vw,3.25rem);font-weight:600;line-height:1.1}.hero h1 span{display:block}.hero p{max-width:700px;color:var(--text-secondary);margin:0;font-size:1.05rem;font-weight:400;line-height:1.55}.actions{flex-wrap:wrap;gap:1rem;margin-top:2.5rem;display:flex}.section{padding:3.5rem 0}.section-title{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:2.5rem;display:flex}.section-title .muted{color:var(--accent);font-family:var(--font-mono);font-size:.78rem}.section-title h2{letter-spacing:-.04em;margin:0;font-size:1.25rem;font-weight:600}.grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;padding:2rem;text-decoration:none;transition:all .2s;display:block;position:relative;overflow:hidden}.card:hover{border-color:var(--accent-line);background:var(--panel-2)}.card:hover h3{color:var(--accent)}.card h3{letter-spacing:-.04em;margin:.5rem 0 1rem;font-size:1.25rem;font-weight:600;line-height:1.25}.card p{color:var(--text-secondary);margin:0 0 1rem;font-size:.9rem;line-height:1.55}.meta{color:var(--muted);font-family:var(--font-mono);font-size:.78rem}.tags{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.tag{border:1px solid var(--line-strong);color:var(--text-secondary);font-family:var(--font-mono);border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:500}.card:hover .tag,.tag:hover{border-color:var(--accent-line);color:var(--accent)}.article-shell{padding:5rem 0 6rem}.article-header{max-width:720px;margin:0 0 2.5rem}.article-header h1{letter-spacing:-.04em;margin:1rem 0 1.5rem;font-size:2.1rem;font-weight:600;line-height:1.2}.article-header .description{color:var(--text-secondary);margin-bottom:.75rem;font-size:1.05rem;line-height:1.55}.article-layout{grid-template-columns:minmax(0,1fr) 260px;gap:4rem;display:grid}.prose{max-width:720px;font-size:.95rem;line-height:1.55}.prose h2{letter-spacing:-.04em;margin-top:3.5rem;margin-bottom:1rem;font-size:1.5rem;font-weight:600}.prose h2:before{content:"";background:var(--accent);width:2.5rem;height:2px;margin-bottom:.9rem;display:block}.prose h3{letter-spacing:-.04em;margin-top:2.5rem;margin-bottom:1rem;font-size:1.25rem;font-weight:600}.prose p{color:var(--text-secondary);margin-bottom:1.5rem}.prose a{color:var(--accent);transition:color .2s var(--transition);text-decoration:none}.prose .button{color:var(--accent-ink)}.prose a:hover{color:var(--accent-hover)}.prose img{border:1px solid var(--line);border-radius:8px;margin:1.5rem 0}.prose a:has(>img){cursor:zoom-in;display:block}.prose figure{margin:1.75rem 0}.prose figure video{width:100%}.prose figure img,.prose figure video{border:1px solid var(--line);border-radius:8px;max-width:100%;height:auto;margin:0;display:block}.prose figcaption{color:var(--text-secondary);margin-top:.6rem;font-size:.875rem;line-height:1.5}.prose .shots{grid-template-columns:1fr 1fr;align-items:start;gap:1rem;margin:1.75rem 0;display:grid}.prose .shots figure{margin:0}@media (width<=700px){.prose .shots{grid-template-columns:1fr}}.prose ul,.prose ol{color:var(--text-secondary);margin:1.5rem 0;padding-left:1.5rem}.prose li{margin-bottom:.5rem}.prose table{border-collapse:collapse;width:100%;margin:2rem 0;font-size:.9rem}.prose table th{background:var(--panel);text-align:left;border-bottom:2px solid var(--line);color:var(--text);padding:.75rem 1rem;font-weight:600}.prose table td{border-bottom:1px solid var(--line);color:var(--text-secondary);padding:.75rem 1rem}.prose table tr:hover{background:var(--panel)}.prose blockquote{border-left:3px solid var(--accent);color:var(--text-secondary);margin:2rem 0;padding-left:1.5rem;font-style:italic}.prose pre{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin:2rem 0;padding:1.5rem;font-size:.82rem;line-height:1.5;overflow-x:auto}.prose code:not(pre code){background:var(--panel-2);border:1px solid var(--line);font-size:.88em;font-family:var(--font-mono);color:var(--accent);border-radius:4px;padding:2px 6px}.toc{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);align-self:start;padding:1.5rem;position:sticky;top:80px}.toc strong{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;font-size:.72rem;font-weight:500;display:block}.toc a{color:var(--text-secondary);transition:color .2s var(--transition);padding:.4rem 0;font-size:.85rem;text-decoration:none;display:block}.toc a:hover{color:var(--accent)}.lab-series{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);margin:3rem 0;padding:1.5rem}.series-item{transition:background .2s var(--transition);border-radius:10px;gap:1rem;padding:1rem;text-decoration:none;display:flex}.series-item:hover,.series-item.current{background:var(--panel-2)}.series-part{color:var(--accent);min-width:60px;font-size:.85rem;font-weight:600}.about-hero{padding:4.5rem 0 3rem}.about-hero h1{letter-spacing:-.04em;margin-top:1rem;font-size:2.1rem;font-weight:600;line-height:1.2}.about-content{padding:4rem 0 6rem}.about-grid{grid-template-columns:1fr 320px;gap:4rem;max-width:1080px;margin:0 auto;display:grid}.about-main{font-size:.95rem;line-height:1.55}.about-main .lead{color:var(--text);margin-bottom:2rem;font-size:1.05rem;font-weight:400;line-height:1.55}.ccie-badge{color:#00a6e0;transition:all .2s var(--transition);border-bottom:2px solid #0000;font-weight:600;text-decoration:none}.ccie-badge:hover{color:#00a6e0;border-bottom-color:#00a6e0}.about-main p{color:var(--text-secondary);margin-bottom:1.5rem}.about-main h2{letter-spacing:-.04em;color:var(--text);margin:3rem 0 1rem;font-size:1.25rem;font-weight:600}.about-sidebar{flex-direction:column;gap:1.5rem;display:flex}.about-box{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem}.about-box h3{letter-spacing:-.04em;margin-bottom:1rem;font-size:1rem;font-weight:600}.connect-links{flex-direction:column;gap:.75rem;display:flex}.connect-links a{color:var(--accent);transition:color .2s var(--transition);font-size:.95rem;text-decoration:none}.connect-links a:hover{color:var(--accent-hover)}.stack-list{margin:0;padding:0;list-style:none}.stack-list li{color:var(--text-secondary);border-bottom:1px solid var(--line);padding:.5rem 0;font-size:.9rem}.stack-list li:last-child{border-bottom:none}.about-box .small{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.5}footer{border-top:1px solid var(--line);color:var(--text-secondary);text-align:center;padding:2.5rem 0;font-size:.85rem}.empty{border:1px dashed var(--line);border-radius:var(--radius);color:var(--text-secondary);text-align:center;padding:3rem}@media (width<=900px){.container{padding:0 1rem}.hero{text-align:left;padding:6rem 0 4rem}.hero h1{font-size:2.1rem}.hero p{font-size:1rem}.actions{justify-content:flex-start}.section{padding:4rem 0}.section-title h2{font-size:1.25rem}.grid{grid-template-columns:1fr}.article-layout{grid-template-columns:minmax(0,1fr)}.prose table{display:block;overflow-x:auto}.toc{order:-1;position:static}.about-grid{grid-template-columns:1fr;gap:2.5rem}.about-hero{text-align:left;padding:6rem 0 3rem}.about-hero h1{font-size:1.75rem}.nav-links{gap:1.5rem;font-size:.9rem}.button{padding:.375rem .75rem;font-size:.95rem}}@media (width<=600px){.logo{height:30px}.nav-links{gap:.25rem}.nav-links a{padding:.5rem .6rem}.card{padding:1.5rem}.card h3{font-size:1.1rem}}
