@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-wght-normal.DLoelf7F.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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.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}:root{color-scheme:dark;--bg:#08090c;--bg-2:#0b0d11;--surface:#101218;--surface-2:#161922;--line:#ffffff14;--line-strong:#ffffff29;--nav-bg:#08090ce6;--panel-wash:#ffffff06;--panel-wash-strong:#ffffff09;--wash-rgb:255, 255, 255;--grid-rgb:255, 255, 255;--field-grid-alpha:.085;--backdrop:#040409b8;--code-bg:var(--surface);--text:#f4f6fb;--text-soft:#c5cad8;--text-mute:#9aa0b4;--text-faint:#878da2;--signal:#a574ff;--signal-rgb:165, 116, 255;--offense:#ff5a6e;--offense-rgb:255, 90, 110;--logo-purple:#c277c0;--ai:#c277c0;--ai-rgb:194, 119, 192;--neutral:#9aa1b5;--neutral-rgb:154, 161, 181;--warn:#ffb547;--warn-rgb:255, 181, 71;--defense:var(--neutral);--defense-rgb:var(--neutral-rgb);--terminal:var(--neutral);--terminal-rgb:var(--neutral-rgb);--accent:var(--tone);--accent-rgb:var(--tone-rgb);--accent-hot:var(--offense);--accent-blue:var(--defense);--tone:var(--signal);--tone-rgb:var(--signal-rgb);--font-display:"Bricolage Grotesque Variable", "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--font-body:"Inter Variable", "Inter", "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "Cascadia Code", monospace;--t--1:clamp(.8125rem, .79rem + .12vw, .875rem);--t-0:clamp(.9375rem, .91rem + .13vw, 1rem);--t-1:clamp(1.0625rem, 1.01rem + .2vw, 1.125rem);--t-2:clamp(1.25rem, 1.17rem + .36vw, 1.5rem);--t-3:clamp(1.5rem, 1.36rem + .6vw, 1.875rem);--t-4:clamp(1.75rem, 1.42rem + 1vw, 2.35rem);--t-5:clamp(2rem, 1.5rem + 1.7vw, 3rem);--t-6:clamp(2.1rem, 1.5rem + 2.4vw, 3.6rem);--t-7:clamp(2.5rem, 1.7rem + 3.2vw, 4.6rem);--t-hero:clamp(2.75rem, 1.2rem + 5.9vw, 6.25rem);--t-label:.6875rem;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;--s-9:6rem;--gutter:clamp(1.25rem, 3.4vw, 2.5rem);--container:1240px;--container-narrow:880px;--container-wide:1440px;--section-pad:clamp(3.25rem, 6.5vw, 6.5rem);--header-h:68px;--r-xs:2px;--r-sm:4px;--r-md:10px;--r-lg:16px;--r-xl:22px;--r-full:999px;--ease:cubic-bezier(.16, 1, .3, 1);--ease-io:cubic-bezier(.65, 0, .35, 1);--dur-1:.12s;--dur-2:.24s;--dur-3:.48s;--speed-giant:62;--speed-outline:30;--speed-mono:40;--speed-chips:24;--shadow-1:0 1px 0 #ffffff0a inset;--shadow-2:0 24px 60px -32px #000000e6;--shadow-pop:0 40px 120px -40px #000000f2;--shadow-print:0 30px 70px -50px #000000e6;--field-x:50%;--field-y:40%;--field-color:var(--signal);--field-rgb:var(--signal-rgb);--field-alpha:.08;--z-field:0;--z-nav:40;--z-palette:80}[data-theme=light]{color-scheme:light;--bg:#f7f6f2;--bg-2:#efeee8;--surface:#fff;--surface-2:#e7e5df;--line:#14161c21;--line-strong:#14161c42;--nav-bg:#f7f6f2e6;--panel-wash:#14161c09;--panel-wash-strong:#14161c0d;--wash-rgb:20, 22, 28;--grid-rgb:20, 22, 28;--field-grid-alpha:.07;--backdrop:#14161c85;--code-bg:#14161c;--text:#14161c;--text-soft:#2f333d;--text-mute:#525865;--text-faint:#676d7a;--signal:#6222c4;--signal-rgb:98, 34, 196;--offense:#b3263c;--offense-rgb:179, 38, 60;--ai:#7d3a7b;--ai-rgb:125, 58, 123;--neutral:#555b69;--neutral-rgb:85, 91, 105;--warn:#8a5200;--warn-rgb:138, 82, 0;--logo-purple:#7d3a7b;--shadow-1:0 1px 0 #14161c0d inset;--shadow-2:0 24px 60px -40px #14161c47;--shadow-pop:0 40px 120px -44px #14161c59;--shadow-print:0 30px 70px -50px #14161c59;--field-alpha:.055}[data-tone=signal]{--tone:var(--signal);--tone-rgb:var(--signal-rgb);--accent:var(--tone);--accent-rgb:var(--tone-rgb)}[data-tone=offense]{--tone:var(--offense);--tone-rgb:var(--offense-rgb);--accent:var(--tone);--accent-rgb:var(--tone-rgb)}[data-tone=defense]{--tone:var(--neutral);--tone-rgb:var(--neutral-rgb);--accent:var(--tone);--accent-rgb:var(--tone-rgb)}[data-tone=ai]{--tone:var(--ai);--tone-rgb:var(--ai-rgb);--accent:var(--tone);--accent-rgb:var(--tone-rgb)}[data-tone=terminal]{--tone:var(--neutral);--tone-rgb:var(--neutral-rgb);--accent:var(--tone);--accent-rgb:var(--tone-rgb)}[data-tone=warn]{--tone:var(--warn);--tone-rgb:var(--warn-rgb);--accent:var(--tone);--accent-rgb:var(--tone-rgb)}[data-tone=neutral]{--tone:var(--neutral);--tone-rgb:var(--neutral-rgb);--accent:var(--tone);--accent-rgb:var(--tone-rgb)}.prose{font-size:var(--t-0);color:var(--text-soft);line-height:1.78}.prose>*+*{margin-top:var(--s-5)}.prose h2,.prose h3,.prose h4{margin-top:var(--s-7);margin-bottom:var(--s-3);scroll-margin-top:calc(var(--header-h) + 1.5rem)}.prose h2{font-size:var(--t-3)}.prose h3{font-size:var(--t-2)}.prose h4{font-size:var(--t-1)}.prose p{color:var(--text-soft)}.prose strong{color:var(--text);font-weight:600}.prose a{color:var(--accent);text-decoration-color:rgba(var(--accent-rgb), .45)}.prose a:hover{text-decoration-color:currentColor}.prose ul,.prose ol{gap:.4rem;padding-left:1.4rem;display:grid}.prose li::marker{color:var(--text-faint);font-family:var(--font-mono);font-size:.9em}.prose blockquote{padding:var(--s-4) var(--s-5);border:1px solid var(--line);border-left:2px solid var(--accent);background:rgba(var(--accent-rgb), .05);border-radius:var(--r-md);color:var(--text-soft);margin-inline:0}.prose blockquote p{margin:0}.prose blockquote>*+*{margin-top:var(--s-3)}.prose blockquote a{color:var(--accent)}.prose hr{margin-block:var(--s-7)}.prose img{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);width:100%;height:auto}.prose p>img+em,.prose p>a:has(>img)+em{margin-top:var(--s-2);font-family:var(--font-mono);color:var(--text-faint);font-size:.78rem;font-style:normal;line-height:1.5;display:block}.prose figure{margin-inline:0}.prose figcaption{margin-top:var(--s-2);font-family:var(--font-mono);color:var(--text-faint);font-size:.78rem}.prose .footnotes{margin-top:var(--s-7);padding-top:var(--s-4);border-top:1px solid var(--line);font-size:var(--t--1);color:var(--text-mute)}.prose sup a{color:var(--accent);text-decoration:none}.prose [data-footnote-backref]{margin-left:.25rem;text-decoration:none}.prose :not(pre)>code{border:1px solid var(--line);background:var(--surface);color:var(--text);font-family:var(--font-mono);border-radius:6px;padding:.15em .42em;font-size:.86em}.prose pre,pre.astro-code{padding:var(--s-5) var(--s-5);border:1px solid var(--line);border-radius:var(--r-md);scrollbar-width:thin;margin:0;font-size:.86rem;line-height:1.7;position:relative;overflow-x:auto;background:var(--code-bg)!important}.prose pre code,pre.astro-code code{font-family:var(--font-mono);background:0 0;border:0;min-width:max-content;padding:0;display:block}.code-frame{position:relative}.copy-btn{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--bg-2);color:var(--text-mute);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;opacity:0;transition:opacity var(--dur-2) var(--ease), color var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease);padding:.3rem .6rem;font-size:.7rem;position:absolute;top:.55rem;right:.55rem}.code-frame:hover .copy-btn,.copy-btn:focus-visible{opacity:1}.copy-btn:hover{color:var(--accent);border-color:rgba(var(--accent-rgb), .5)}.copy-btn[data-copied=true]{color:var(--accent);border-color:rgba(var(--accent-rgb), .5);opacity:1}@media (hover:none){.copy-btn{opacity:1}}.prose table{border-collapse:collapse;border:1px solid var(--line);border-radius:var(--r-md);width:100%;font-size:var(--t--1);display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;padding:.6rem .8rem}.prose th{background:var(--surface);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-mute);font-size:.72rem}.prose tr:last-child td{border-bottom:0}.post-head{padding-block:clamp(2.5rem, 6vw, 4.5rem) var(--s-6);border-bottom:1px solid var(--line)}.post-head h1{margin-block:var(--s-4) var(--s-3);font-size:var(--t-5);text-transform:uppercase;letter-spacing:-.035em;line-height:1.04}.post-meta{font-family:var(--font-mono);color:var(--text-mute);flex-wrap:wrap;align-items:center;gap:.5rem .9rem;font-size:.78rem;display:flex}.post-meta .sep{color:var(--line-strong)}.post-tags{margin-top:var(--s-4);flex-wrap:wrap;gap:.45rem;display:flex}.post-body{padding-block:var(--s-7);grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:clamp(2rem,5vw,4rem);display:grid}.post-body__content{min-width:0;max-width:72ch}@media (width<=980px){.post-body{grid-template-columns:minmax(0,1fr)}}.toc{top:calc(var(--header-h) + 1.5rem);font-size:var(--t--1);border-left:1px solid var(--line);padding-left:var(--s-4);position:sticky}.toc__title{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--s-3);font-size:.72rem}.toc ol{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.toc ol ol{padding-left:var(--s-3);gap:.35rem;margin-top:.5rem}.toc a{color:var(--text-mute);padding-left:calc(var(--s-3) - 1px);transition:color var(--dur-2) var(--ease);border-left:1px solid #0000;margin-left:-1px;text-decoration:none;display:block}.toc a:hover{color:var(--tone)}@media (width<=980px){.toc{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:var(--s-4) 0;border-radius:0;position:static}}.prevnext{gap:var(--s-4);margin-block:var(--s-7) 0;padding-top:var(--s-5);border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.prevnext a{padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);transition:border-color var(--dur-2) var(--ease), background-color var(--dur-2) var(--ease);text-decoration:none;display:block}.prevnext a:hover{border-color:rgba(var(--accent-rgb), .4);background:rgba(var(--accent-rgb), .04)}.prevnext .dir{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);margin-bottom:.35rem;font-size:.7rem;display:block}.prevnext .title{font-family:var(--font-display);color:var(--text);font-weight:600;line-height:1.25}.prevnext .next{text-align:right}@media (width<=620px){.prevnext{grid-template-columns:minmax(0,1fr)}.prevnext .next{text-align:left}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1.5rem)}body{background:radial-gradient(120vw 60vh at 50% -20%, rgba(var(--wash-rgb), .028), transparent 70%), var(--bg);min-height:100svh;color:var(--text-soft);font-family:var(--font-body);font-size:var(--t-0);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.65}img,picture,svg,video{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}a{color:var(--text);text-underline-offset:.26em;text-decoration-thickness:1px;text-decoration-color:rgba(var(--tone-rgb), .45)}a:hover{color:var(--tone);text-decoration-color:currentColor}::selection{background:var(--signal);color:var(--bg)}:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:var(--r-xs)}hr{border:0;border-top:1px solid var(--line)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text);letter-spacing:-.028em;text-wrap:balance;font-weight:800;line-height:1.02}h1{font-size:var(--t-6);letter-spacing:-.035em}h2{font-size:var(--t-5)}h3{font-size:var(--t-2);letter-spacing:-.018em}h4{font-size:var(--t-1);letter-spacing:-.01em}p{text-wrap:pretty}strong{color:var(--text);font-weight:600}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.container-narrow{max-width:var(--container-narrow)}.section{padding-block:var(--section-pad);position:relative}.stack>*+*{margin-top:var(--s-4)}.grid{gap:var(--s-5);display:grid}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=620px){.cols-2{grid-template-columns:minmax(0,1fr)}}.mono-label{font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:.18em;text-transform:uppercase;color:var(--text-mute);align-items:center;gap:.5rem;font-weight:500;display:inline-flex}.mono-label--mark:before{content:"";background:var(--tone);flex:none;width:.34rem;height:.34rem}.display{font-family:var(--font-display);letter-spacing:-.035em;color:var(--text);font-weight:800;line-height:.94}.display--caps{text-transform:uppercase}.lead{font-size:var(--t-1);color:var(--text-soft);max-width:62ch;line-height:1.62}.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}.register{border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);align-items:center;gap:.9rem;padding-bottom:.75rem;font-weight:500;display:flex}.register__num{color:var(--tone)}.register__rule{background:var(--line);flex:auto;height:1px}.register__meta{color:var(--text-faint);white-space:nowrap}.register__link{color:var(--text-mute);white-space:nowrap;text-decoration:none}.register__link:hover{color:var(--tone)}.btn{border-radius:var(--r-xs);min-height:44px;color:var(--text);font-family:var(--font-mono);letter-spacing:.08em;cursor:pointer;white-space:nowrap;transition:background-color var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease), color var(--dur-2) var(--ease);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:.55rem;padding:.7rem 1.15rem;font-size:.75rem;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.btn-primary{background:var(--signal);border-color:var(--signal);color:var(--bg);font-weight:700}.btn-primary:hover{background:var(--text);border-color:var(--text);color:var(--bg)}.btn-ghost{border-color:var(--line-strong);color:var(--text)}.btn-ghost:hover{border-color:var(--tone);color:var(--tone);background:rgba(var(--tone-rgb), .06)}.btn-arrow:after{content:"→";transition:transform var(--dur-2) var(--ease)}.btn-arrow:hover:after{transform:translate(4px)}.text-link{min-height:44px;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-mute);border-bottom:1px solid var(--line-strong);align-items:center;gap:.4rem;font-size:.74rem;text-decoration:none;display:inline-flex}.text-link:hover{color:var(--tone);border-color:var(--tone)}.chip{border:1px solid var(--line);border-radius:var(--r-xs);color:var(--text-mute);font-family:var(--font-mono);letter-spacing:.05em;transition:border-color var(--dur-2) var(--ease), color var(--dur-2) var(--ease);background:0 0;align-items:center;gap:.4rem;padding:.24rem .5rem;font-size:.6875rem;line-height:1.5;text-decoration:none;display:inline-flex}a.chip:hover{border-color:var(--line-strong);color:var(--text)}.skip-link{z-index:100;border-radius:var(--r-xs);background:var(--signal);color:var(--bg);transition:transform var(--dur-2) var(--ease);padding:.7rem 1.1rem;font-weight:700;text-decoration:none;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus-visible{outline-color:var(--text);transform:translateY(0)}.main,.site-footer{z-index:1;position:relative}.page-head{border-bottom:1px solid var(--line);padding-block:clamp(2.5rem,5vw,4rem) clamp(1.5rem,3vw,2.5rem)}.page-head .display{font-size:var(--t-6);margin-block:var(--s-5) var(--s-4);max-width:20ch}.page-head .lead{max-width:58ch}.page-head__meta{margin-top:var(--s-4);font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.empty-state{padding:var(--s-7) var(--s-5);border:1px dashed var(--line-strong);border-radius:var(--r-md);color:var(--text-mute);font-family:var(--font-mono);font-size:var(--t--1);text-align:center}html.js .reveal{opacity:0;transition:opacity .52s var(--ease), transform .52s var(--ease);transition-delay:calc(var(--reveal-delay,0) * 1ms);transform:translateY(12px)}html.js .reveal.is-visible{opacity:1;transform:none}@media (width<=640px){.chip{min-height:40px;padding-inline:.6rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal,html.js .reveal{opacity:1;transform:none}}[data-tone=calm]{--tone:var(--neutral);--tone-rgb:var(--neutral-rgb)}[data-tone=calm] body{background:var(--bg)}[data-tone=calm] .display,[data-tone=calm] h1,[data-tone=calm] h2{letter-spacing:-.02em;font-weight:700;line-height:1.1}[data-tone=calm] .mono-label{letter-spacing:.12em;color:var(--text-mute)}[data-tone=calm] .reveal{opacity:1;transform:none}.search-trigger[data-astro-cid-ac66eqjo]{border:1px solid var(--line);border-radius:var(--r-xs);min-width:44px;min-height:44px;color:var(--text-mute);font-family:var(--font-mono);letter-spacing:.06em;cursor:pointer;transition:border-color var(--dur-2) var(--ease), color var(--dur-2) var(--ease);background:0 0;justify-content:center;align-items:center;gap:.5rem;padding:.45rem .6rem .45rem .7rem;font-size:.72rem;display:inline-flex}.search-trigger[data-astro-cid-ac66eqjo]:hover{border-color:rgba(var(--accent-rgb), .45);color:var(--text)}.search-trigger__label[data-astro-cid-ac66eqjo]{text-transform:uppercase}.search-trigger__kbd[data-astro-cid-ac66eqjo]{border:1px solid var(--line-strong);color:var(--text-faint);border-radius:2px;padding:.1rem .35rem;font-size:.66rem}@media (width<=520px){.search-trigger__label[data-astro-cid-ac66eqjo],.search-trigger__kbd[data-astro-cid-ac66eqjo]{display:none}.search-trigger[data-astro-cid-ac66eqjo]{border-radius:var(--r-sm);padding:.45rem}}.palette[data-astro-cid-ac66eqjo]{border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--bg-2);width:min(680px,100vw - 2rem);color:var(--text);box-shadow:var(--shadow-pop);margin:12vh auto auto;padding:0;overflow:hidden}.palette[data-astro-cid-ac66eqjo]::backdrop{background:var(--backdrop);backdrop-filter:blur(4px)}.palette__panel[data-astro-cid-ac66eqjo]{gap:0;display:grid}.palette__bar[data-astro-cid-ac66eqjo]{border-bottom:1px solid var(--line);color:var(--text-faint);align-items:center;gap:.7rem;padding:.9rem 1rem;display:flex}.palette__input[data-astro-cid-ac66eqjo]{min-width:0;color:var(--text);font-family:var(--font-mono);background:0 0;border:0;outline:none;flex:1;font-size:.95rem}.palette__input[data-astro-cid-ac66eqjo]::placeholder{color:var(--text-faint)}.palette__close[data-astro-cid-ac66eqjo]{border:1px solid var(--line);border-radius:var(--r-xs);color:var(--text-mute);font-family:var(--font-mono);letter-spacing:.08em;cursor:pointer;background:0 0;padding:.2rem .45rem;font-size:.68rem}.palette__close[data-astro-cid-ac66eqjo]:hover{color:var(--text);border-color:var(--line-strong)}.palette__status[data-astro-cid-ac66eqjo]{font-family:var(--font-mono);color:var(--text-faint);border-bottom:1px solid var(--line);margin:0;padding:.7rem 1rem;font-size:.72rem}.palette__results[data-astro-cid-ac66eqjo]{max-height:min(52vh,420px);margin:0;padding:.4rem;list-style:none;overflow-y:auto}.palette__results[data-astro-cid-ac66eqjo]:empty{display:none}.palette__results[data-astro-cid-ac66eqjo] li{margin:0}.palette__results[data-astro-cid-ac66eqjo] a{border-radius:var(--r-sm);color:var(--text);padding:.6rem .75rem;text-decoration:none;display:block}.palette__results[data-astro-cid-ac66eqjo] a:hover,.palette__results[data-astro-cid-ac66eqjo] a.is-active{background:rgba(var(--accent-rgb), .09);color:var(--text)}.palette__results[data-astro-cid-ac66eqjo] .r-title{font-family:var(--font-display);font-size:.98rem;font-weight:600;line-height:1.3;display:block}.palette__results[data-astro-cid-ac66eqjo] .r-url{font-family:var(--font-mono);color:var(--text-faint);margin-top:.1rem;font-size:.68rem;display:block}.palette__results[data-astro-cid-ac66eqjo] .r-excerpt{color:var(--text-mute);margin-top:.3rem;font-size:.82rem;line-height:1.5;display:block}.palette__results[data-astro-cid-ac66eqjo] mark{background:rgba(var(--tone-rgb), .18);color:var(--tone);border-radius:2px;padding:0 .1em}.palette__foot[data-astro-cid-ac66eqjo]{border-top:1px solid var(--line);font-family:var(--font-mono);color:var(--text-faint);flex-wrap:wrap;gap:1rem;padding:.6rem 1rem;font-size:.66rem;display:flex}.palette__foot[data-astro-cid-ac66eqjo] kbd[data-astro-cid-ac66eqjo]{border:1px solid var(--line);border-radius:2px;margin-right:.25rem;padding:.05rem .3rem}@media (width<=520px){.palette[data-astro-cid-ac66eqjo]{width:calc(100vw - 1.25rem);margin-top:8vh}}.prefs[data-astro-cid-n6hun5hc]{align-items:center;gap:.25rem;display:inline-flex}.pref[data-astro-cid-n6hun5hc]{border:1px solid var(--line);border-radius:var(--r-xs);min-width:44px;min-height:44px;color:var(--text-mute);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:border-color var(--dur-2) var(--ease), color var(--dur-2) var(--ease), background-color var(--dur-2) var(--ease);background:0 0;justify-content:center;align-items:center;gap:.38rem;padding:0 .55rem;font-size:.66rem;font-weight:500;line-height:1;display:inline-flex}.pref[data-astro-cid-n6hun5hc]:hover{border-color:var(--line-strong);color:var(--text)}.pref__icon[data-astro-cid-n6hun5hc]{flex:none;display:inline-flex}.pref__text[data-astro-cid-n6hun5hc]{white-space:nowrap}.pref__short[data-astro-cid-n6hun5hc],.pref__state[data-astro-cid-n6hun5hc]{display:none}[data-theme=dark] .pref__state--dark[data-astro-cid-n6hun5hc],[data-theme=light] .pref__state--light[data-astro-cid-n6hun5hc],[data-effects=on] .pref__state--on[data-astro-cid-n6hun5hc],[data-effects=off] .pref__state--off[data-astro-cid-n6hun5hc]{display:inline}[data-theme=dark] .pref__icon--sun[data-astro-cid-n6hun5hc],[data-theme=light] .pref__icon--moon[data-astro-cid-n6hun5hc]{display:none}[data-effects=off] [data-astro-cid-n6hun5hc][data-effects-toggle]{color:var(--text-faint);border-style:dashed}@media (width<=760px){.pref__text--effects[data-astro-cid-n6hun5hc]{display:none}.pref__short[data-astro-cid-n6hun5hc]{display:inline}}@media (width<=560px){.pref__text--theme[data-astro-cid-n6hun5hc]{display:none}.pref[data-astro-cid-n6hun5hc]{padding-inline:.4rem}}.site-header[data-astro-cid-wpvy4v7s]{z-index:var(--z-nav);background:var(--nav-bg);backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner[data-astro-cid-wpvy4v7s]{align-items:center;gap:var(--s-5);height:var(--header-h);display:flex}.brand[data-astro-cid-wpvy4v7s]{min-height:44px;color:var(--text);flex:none;align-items:center;gap:.55rem;text-decoration:none;display:inline-flex}.brand[data-astro-cid-wpvy4v7s]:hover{color:var(--text)}.brand-avatar[data-astro-cid-wpvy4v7s]{border-radius:var(--r-sm);background:var(--surface);object-fit:contain;border:1px solid var(--line);flex:none;width:30px;height:30px}.brand-text[data-astro-cid-wpvy4v7s]{flex-direction:column;gap:.16rem;line-height:1;display:flex}.brand-name[data-astro-cid-wpvy4v7s]{font-family:var(--font-display);letter-spacing:-.015em;color:var(--text);font-size:.9rem;font-weight:700}.brand-handle[data-astro-cid-wpvy4v7s]{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--signal);font-size:.6rem;font-weight:500}.nav-desktop[data-astro-cid-wpvy4v7s]{margin-left:auto}.nav-desktop[data-astro-cid-wpvy4v7s] ul[data-astro-cid-wpvy4v7s],.nav-mobile[data-astro-cid-wpvy4v7s] ul[data-astro-cid-wpvy4v7s]{align-items:center;gap:.15rem;margin:0;padding:0;list-style:none;display:flex}.nav-link[data-astro-cid-wpvy4v7s]{min-height:44px;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-mute);transition:color var(--dur-2) var(--ease);align-items:center;padding:0 .6rem;font-size:.7rem;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.nav-link[data-astro-cid-wpvy4v7s]:after{content:"";background:var(--tone);transform-origin:0;height:1px;transition:transform var(--dur-2) var(--ease);position:absolute;inset:auto .6rem -1px;transform:scaleX(0)}.nav-link[data-astro-cid-wpvy4v7s]:hover,.nav-link[data-astro-cid-wpvy4v7s].is-active{color:var(--text)}.nav-link[data-astro-cid-wpvy4v7s].is-active:after{transform:scaleX(1)}.header-actions[data-astro-cid-wpvy4v7s]{align-items:center;gap:.35rem;margin-left:auto;display:flex}.nav-desktop[data-astro-cid-wpvy4v7s]+.header-actions[data-astro-cid-wpvy4v7s]{margin-left:0}.menu-toggle[data-astro-cid-wpvy4v7s]{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:44px;height:44px;margin-right:-.4rem;padding:0;display:none}.menu-toggle[data-astro-cid-wpvy4v7s] span[data-astro-cid-wpvy4v7s]{background:var(--text);width:18px;height:1.5px;transition:transform var(--dur-2) var(--ease);display:block}.menu-toggle[data-astro-cid-wpvy4v7s][aria-expanded=true] span[data-astro-cid-wpvy4v7s]:first-child{transform:translateY(2.75px)rotate(45deg)}.menu-toggle[data-astro-cid-wpvy4v7s][aria-expanded=true] span[data-astro-cid-wpvy4v7s]:last-child{transform:translateY(-2.75px)rotate(-45deg)}.nav-mobile[data-astro-cid-wpvy4v7s]{border-top:1px solid var(--line);padding:var(--s-4) var(--gutter) var(--s-6);background:var(--bg)}.nav-mobile[data-astro-cid-wpvy4v7s] ul[data-astro-cid-wpvy4v7s]{flex-direction:column;align-items:stretch;gap:0}.nav-mobile__lockup[data-astro-cid-wpvy4v7s]{padding-bottom:var(--s-4);margin-bottom:var(--s-2);border-bottom:1px solid var(--line);flex-direction:column;gap:.2rem;display:flex}.nav-mobile__name[data-astro-cid-wpvy4v7s]{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);font-size:1.1rem;font-weight:700}.nav-mobile__handle[data-astro-cid-wpvy4v7s]{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--signal);font-size:.62rem}.nav-mobile__link[data-astro-cid-wpvy4v7s]{border-bottom:1px solid var(--line);font-family:var(--font-display);letter-spacing:-.03em;color:var(--text);padding:.7rem 0;font-size:1.55rem;font-weight:800;text-decoration:none;display:block}.nav-mobile__link--small[data-astro-cid-wpvy4v7s]{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-mute);padding:.55rem 0;font-size:.75rem;font-weight:500}.nav-mobile__link[data-astro-cid-wpvy4v7s].is-active{color:var(--tone)}.nav-mobile__label[data-astro-cid-wpvy4v7s]{margin:var(--s-5) 0 var(--s-1);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);font-size:.62rem}@media (width<=1080px){.nav-desktop[data-astro-cid-wpvy4v7s]{display:none}.menu-toggle[data-astro-cid-wpvy4v7s]{display:flex}.nav-desktop[data-astro-cid-wpvy4v7s]+.header-actions[data-astro-cid-wpvy4v7s]{margin-left:auto}}@media (width>=1081px){.nav-mobile[data-astro-cid-wpvy4v7s]{display:none!important}}@media (width<=640px){.header-inner[data-astro-cid-wpvy4v7s]{height:auto;min-height:var(--header-h);flex-wrap:wrap;row-gap:.05rem;padding-block:.2rem}.header-actions[data-astro-cid-wpvy4v7s]{margin-left:auto}}@media (width<=560px){.brand-avatar[data-astro-cid-wpvy4v7s]{width:28px;height:28px}.brand-name[data-astro-cid-wpvy4v7s]{font-size:.84rem}.brand-handle[data-astro-cid-wpvy4v7s]{letter-spacing:.16em;font-size:.56rem}}.field[data-astro-cid-wwmlfnbz]{z-index:0;pointer-events:none;contain:strict;position:fixed;inset:0;overflow:hidden}.field__glow[data-astro-cid-wwmlfnbz],.field__spot[data-astro-cid-wwmlfnbz],.field__ring[data-astro-cid-wwmlfnbz]{opacity:0;transition:opacity .6s var(--ease);will-change:transform;position:absolute;top:0;left:0}.field[data-astro-cid-wwmlfnbz][data-active] .field__glow[data-astro-cid-wwmlfnbz],.field[data-astro-cid-wwmlfnbz][data-active] .field__spot[data-astro-cid-wwmlfnbz],.field[data-astro-cid-wwmlfnbz][data-active] .field__ring[data-astro-cid-wwmlfnbz]{opacity:1}.field__glow[data-astro-cid-wwmlfnbz]{background:radial-gradient(circle, rgba(var(--field-rgb), var(--field-alpha)), rgba(var(--field-rgb), .035) 34%, transparent 64%);width:54rem;height:54rem;transform:translate3d(var(--field-x,-100px), var(--field-y,-100px), 0);margin:-27rem 0 0 -27rem}.field__spot[data-astro-cid-wwmlfnbz]{background-image:linear-gradient(rgba(var(--grid-rgb), var(--field-grid-alpha)) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--grid-rgb), var(--field-grid-alpha)) 1px, transparent 1px);opacity:0;width:32rem;height:32rem;transform:translate3d(var(--field-x,-100px), var(--field-y,-100px), 0);background-size:44px 44px;margin:-16rem 0 0 -16rem;-webkit-mask-image:radial-gradient(closest-side,#000 6%,#0000 72%);mask-image:radial-gradient(closest-side,#000 6%,#0000 72%)}.field[data-astro-cid-wwmlfnbz][data-active] .field__spot[data-astro-cid-wwmlfnbz]{opacity:.5}[data-effects=off] .field[data-astro-cid-wwmlfnbz]{display:none}.field__ring[data-astro-cid-wwmlfnbz]{border:1px solid rgba(var(--field-rgb), .7);width:18px;height:18px;box-shadow:0 0 18px rgba(var(--field-rgb), .45);transform:translate3d(var(--field-x,-100px), var(--field-y,-100px), 0);transition:opacity .4s var(--ease), transform .18s var(--ease);border-radius:50%;margin:-13px 0 0 -13px}@media (hover:none),(pointer:coarse){.field[data-astro-cid-wwmlfnbz]{display:none}}@media (prefers-reduced-motion:reduce){.field[data-astro-cid-wwmlfnbz]{display:none}}.site-footer[data-astro-cid-jo6i4kqk]{margin-top:var(--s-9);border-top:1px solid var(--line);padding-block:var(--s-7) var(--s-5)}.footer-lockup[data-astro-cid-jo6i4kqk]{padding-bottom:var(--s-5);margin-bottom:var(--s-6);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:.4rem .8rem;display:flex}.footer-lockup__name[data-astro-cid-jo6i4kqk]{font-family:var(--font-display);letter-spacing:-.04em;color:var(--text);font-size:clamp(1.9rem,4vw,3rem);font-weight:800;line-height:1}.footer-lockup__signature[data-astro-cid-jo6i4kqk]{align-items:baseline;gap:clamp(.3rem,.6vw,.5rem);display:inline-flex}.footer-lockup__handle[data-astro-cid-jo6i4kqk]{font-family:var(--font-display);letter-spacing:-.04em;color:var(--signal);font-size:clamp(1.9rem,4vw,3rem);font-weight:800;line-height:1}.footer-lockup__mark[data-astro-cid-jo6i4kqk]{width:clamp(4.5rem,5.5vw,6rem);color:var(--signal);flex:none;display:inline-flex}.footer-lockup__mark[data-astro-cid-jo6i4kqk]>svg{width:100%;height:auto;display:block}.footer-inner[data-astro-cid-jo6i4kqk]{gap:var(--s-6);grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.4fr);display:grid}.footer-label[data-astro-cid-jo6i4kqk]{font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--s-3)}.footer-nav[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk]{gap:.1rem;margin:0;padding:0;list-style:none;display:grid}.footer-nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{font-family:var(--font-mono);color:var(--text-mute);padding:.28rem 0;font-size:.78rem;text-decoration:none;display:inline-block}.footer-nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--signal)}.footer-note[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{font-size:var(--t--1);color:var(--text-mute);max-width:34ch}.footer-base[data-astro-cid-jo6i4kqk]{justify-content:space-between;gap:var(--s-2) var(--s-4);margin-top:var(--s-7);padding-top:var(--s-4);border-top:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-faint);flex-wrap:wrap;font-size:.68rem;display:flex}.footer-base[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--text-mute);text-decoration:none}.footer-base[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--signal)}@media (width<=900px){.footer-inner[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr}.footer-note[data-astro-cid-jo6i4kqk]{grid-column:1/-1}}@media (width<=480px){.footer-inner[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr}.footer-note[data-astro-cid-jo6i4kqk]{grid-column:1/-1}}
