@font-face{font-family:fraunces;src:url(../media/fraunces_latin_full_normal-s.p.16zze-ivwtw52.woff2?dpl=dpl_C9E2pMy2a82BTvyhZn6HaHRXaCpg)format("woff2");font-display:swap;font-weight:100 900;font-style:normal}@font-face{font-family:fraunces;src:url(../media/fraunces_latin_full_italic-s.p.0m35lx2ph8.5f.woff2?dpl=dpl_C9E2pMy2a82BTvyhZn6HaHRXaCpg)format("woff2");font-display:swap;font-weight:100 900;font-style:italic}@font-face{font-family:fraunces Fallback;src:local(Times New Roman);ascent-override:76.84%;descent-override:20.04%;line-gap-override:0.0%;size-adjust:127.27%}.fraunces_929a29b5-module__sDEZLG__className{font-family:fraunces,fraunces Fallback,Georgia,serif}.fraunces_929a29b5-module__sDEZLG__variable{--font-fraunces:"fraunces", "fraunces Fallback", Georgia, serif}
@font-face{font-family:interTight;src:url(../media/inter_tight_latin_wght_normal-s.p.0myywcmxkjmcm.woff2?dpl=dpl_C9E2pMy2a82BTvyhZn6HaHRXaCpg)format("woff2");font-display:swap;font-weight:100 900;font-style:normal}@font-face{font-family:interTight;src:url(../media/inter_tight_latin_wght_italic-s.p.10tgd_lcn3b-3.woff2?dpl=dpl_C9E2pMy2a82BTvyhZn6HaHRXaCpg)format("woff2");font-display:swap;font-weight:100 900;font-style:italic}@font-face{font-family:interTight Fallback;src:local(Arial);ascent-override:99.65%;descent-override:24.81%;line-gap-override:0.0%;size-adjust:97.21%}.intertight_d075bea1-module__1E94fa__className{font-family:interTight,interTight Fallback,-apple-system,Segoe UI,Helvetica Neue,Arial,sans-serif}.intertight_d075bea1-module__1E94fa__variable{--font-inter-tight:"interTight", "interTight Fallback", -apple-system, Segoe UI, Helvetica Neue, Arial, sans-serif}
@font-face{font-family:jetbrainsMono;src:url(../media/jetbrains_mono_latin_wght_normal.p.0vxn4~1drecc4.woff2?dpl=dpl_C9E2pMy2a82BTvyhZn6HaHRXaCpg)format("woff2");font-display:swap;font-weight:100 800;font-style:normal}.jetbrainsmono_a4a9bf0d-module__J7GTKa__className{font-family:jetbrainsMono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.jetbrainsmono_a4a9bf0d-module__J7GTKa__variable{--font-jbmono:"jetbrainsMono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}
html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
@property --opsz{syntax:"<number>";inherits:true;initial-value:144}@property --soft{syntax:"<number>";inherits:true;initial-value:0}@property --wonk{syntax:"<number>";inherits:true;initial-value:0}:root{--navy-950:#05132a;--navy-900:#071f3d;--navy-800:#0b305a;--navy-700:#10406f;--navy-600:#1e5189;--navy-500:#3a6aa0;--navy-400:#6f8bae;--navy-300:#9aaeca;--navy-200:#c9d4e3;--navy-100:#e6ecf4;--violet-600:#5b3bd4;--violet-500:#7b5cf5;--violet-300:#b7a5ff;--magenta-500:#e0418b;--magenta-400:#f06aa8;--cyan-500:#1fd1c6;--cyan-400:#5fe3da;--amber-500:#f0a641;--iron-950:#130f0a;--iron-900:#1b1610;--iron-850:#231d16;--iron-800:#2c251d;--iron-700:#3c342a;--bone-100:#efe7d6;--bone-200:#ddd2bb;--bone-300:#c2b499;--bone-500:#8f8268;--gold-500:#b08d57;--gold-600:#8c6d3f;--ember-500:#d97b3f;--ember-600:#b85c2a;--glass-cyan:#1fa39b;--glass-violet:#6c49e0;--glass-magenta:#c13e80;--noise-url:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--grain-opacity:.06;--bg:var(--iron-950);--bg-elev:var(--iron-900);--bg-well:var(--iron-850);--bg-inked:#0e1118;--bg-deep:#05132a;--ink-900:var(--bone-100);--ink-800:var(--bone-100);--ink-700:var(--bone-200);--ink-500:var(--bone-300);--ink-300:var(--bone-500);--ink-100:#efe7d61a;--rule:#b08d5738;--rule-strong:#b08d5761;--success:#1e9a64;--warning:#c58514;--danger:#c5342b;--info:#1e5189;--success-bg:#e3f4eb;--warning-bg:#f8ebd0;--danger-bg:#f8dcd8;--info-bg:#e6ecf4;--fg-1:var(--ink-900);--fg-2:var(--ink-700);--fg-3:var(--ink-500);--fg-4:var(--ink-300);--link:var(--violet-300);--link-hover:var(--bone-100);--link-visited:#9a86e8;--accent:var(--violet-500);--accent-soft:#6c49e029;--border:var(--rule);--border-strong:var(--rule-strong);--focus-ring:var(--violet-300);--grad-hero:linear-gradient(135deg, #0b0906 0%, #1a1510 30%, #2c2150 66%, #a85428 100%);--grad-hero-soft:linear-gradient(135deg, #1c1812 0%, #2a2046 55%, #6c49e0 100%);--grad-signal:linear-gradient(100deg, #1fa39b 0%, #6c49e0 60%, #c13e80 100%);--grad-ink:linear-gradient(180deg, #211c15 0%, #0b0906 100%);--grad-line:linear-gradient(90deg, #6c49e0 0%, #c13e80 100%);--grad-mesh:radial-gradient(900px 600px at 10% 10%, #6c49e040, transparent 60%), radial-gradient(700px 500px at 90% 30%, #c13e8029, transparent 60%), radial-gradient(800px 600px at 50% 110%, #d97b3f2e, transparent 60%), linear-gradient(180deg, #0b0906, #211c15);--grad-text:linear-gradient(92deg, #efe7d6 0%, #b7a5ff 55%, #e0a172 100%);--font-display:var(--font-fraunces,Georgia), Georgia, "Times New Roman", serif;--font-sans:var(--font-inter-tight,-apple-system), -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-mono:var(--font-jbmono,ui-monospace), ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--text-4xl:36px;--text-5xl:48px;--text-6xl:64px;--text-7xl:84px;--text-8xl:112px;--lh-tight:1.02;--lh-snug:1.15;--lh-normal:1.4;--lh-relaxed:1.55;--lh-loose:1.65;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-heavy:800;--track-tightest:-.04em;--track-tight:-.025em;--track-normal:0;--track-wide:.04em;--track-eyebrow:.14em;--space-0:0;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:20px;--space-7:24px;--space-8:32px;--space-9:40px;--space-10:48px;--space-11:64px;--space-12:80px;--space-13:96px;--space-14:128px;--radius-sm:4px;--radius-md:10px;--radius-lg:16px;--radius-xl:22px;--radius-2xl:32px;--radius-full:9999px;--shadow-1:0 1px 2px #0503024d, 0 1px 3px #0503023d;--shadow-2:0 4px 16px #0503025c, 0 2px 4px #05030247;--shadow-3:0 18px 48px #0503028c, 0 4px 12px #05030259;--shadow-glow:0 0 0 1px #6c49e04d, 0 12px 40px #6c49e047;--shadow-focus:0 0 0 2px var(--bg), 0 0 0 4px var(--focus-ring);--ease:cubic-bezier(.2, .8, .2, 1);--dur-micro:.12s;--dur-state:.2s;--dur-enter:.32s;--measure:680px;--container:1200px;--container-sm:880px}@supports (color:lab(0% 0 0)){:root{--iron-950:lab(4.44423% .85254 2.71283);--iron-900:lab(7.79323% 1.43415 4.6169);--iron-850:lab(11.2731% 1.64707 6.13115);--iron-800:lab(15.3351% 1.84613 6.89705);--iron-700:lab(22.2986% 2.01869 7.63068)}}[data-surface=parchment]{--bg:#f5eedf;--bg-elev:#fcf8ee;--bg-well:#ede3cd;--ink-900:#241d11;--ink-800:#322917;--ink-700:#463a22;--ink-500:#6e5f41;--ink-300:#9c8d6c;--ink-100:#e7dfc9;--rule:#e2d6ba;--rule-strong:#c8b78d;--fg-1:var(--ink-900);--fg-2:var(--ink-700);--fg-3:var(--ink-500);--fg-4:var(--ink-300);--link:var(--violet-600);--link-hover:#b5306f;--link-visited:var(--navy-700);--accent:var(--navy-800);--accent-soft:#ede3cd;--border:var(--rule);--border-strong:var(--rule-strong);--focus-ring:var(--violet-500);--grad-hero:linear-gradient(135deg, #05132a 0%, #0b305a 35%, #5b3bd4 78%, #e0418b 100%);--grad-hero-soft:linear-gradient(135deg, #0b305a 0%, #2a2d6b 55%, #7b5cf5 100%);--grad-signal:linear-gradient(100deg, #1fd1c6 0%, #5b3bd4 60%, #e0418b 100%);--grad-ink:linear-gradient(180deg, #0e1118 0%, #05132a 100%);--grad-line:linear-gradient(90deg, #7b5cf5 0%, #e0418b 100%);--grad-mesh:radial-gradient(900px 600px at 10% 10%, #5b3bd447, transparent 60%), radial-gradient(700px 500px at 90% 30%, #e0418b38, transparent 60%), radial-gradient(800px 600px at 50% 110%, #1fd1c62e, transparent 60%), linear-gradient(180deg, #05132a, #0b305a);--grad-text:linear-gradient(92deg, #0b305a 0%, #5b3bd4 55%, #e0418b 100%);--shadow-1:0 1px 2px #241d110d, 0 1px 3px #241d1112;--shadow-2:0 4px 16px #241d1117, 0 2px 4px #241d1112;--shadow-3:0 18px 48px #241d1126, 0 4px 12px #241d1117;--shadow-glow:0 0 0 1px #5b3bd440, 0 12px 40px #5b3bd440;background:var(--bg);color:var(--fg-1)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--fg-1);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--lh-loose);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}h1,h2,h3,.display-serif{font-variation-settings:"opsz" var(--opsz), "SOFT" var(--soft), "WONK" var(--wonk)}h1{font:600 var(--text-6xl)/var(--lh-tight) var(--font-display);letter-spacing:var(--track-tight)}h2{font:590 var(--text-4xl)/var(--lh-snug) var(--font-display);letter-spacing:-.015em}h3{font:560 var(--text-2xl)/var(--lh-snug) var(--font-display);letter-spacing:-.005em}h4{font:var(--fw-semibold) var(--text-lg)/var(--lh-normal) var(--font-sans)}h5{font:var(--fw-semibold) var(--text-base)/var(--lh-normal) var(--font-sans)}h6{font:var(--fw-medium) var(--text-xs)/var(--lh-normal) var(--font-mono);letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--fg-3)}p{margin:0 0 1em}a{color:var(--link);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--link-hover)}code,pre{font-family:var(--font-mono);font-size:.92em}code:not(pre code){background:var(--bg-well);border-radius:var(--radius-sm);border:1px solid var(--border);padding:.1em .35em}pre{background:var(--bg-inked);color:#e6e8ee;padding:var(--space-6);border-radius:var(--radius-md);line-height:var(--lh-relaxed);overflow:auto}::selection{background:var(--gold-500);color:var(--iron-950)}[data-surface=parchment] ::selection{background:var(--violet-300);color:var(--navy-950)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}body:after{content:"";z-index:9999;pointer-events:none;background:var(--noise-url);opacity:var(--grain-opacity);mix-blend-mode:overlay;background-size:160px 160px;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){body:after{display:none}}
.container{max-width:1200px;margin:0 auto;padding:0 28px}.measure{max-width:720px;margin:0 auto;padding:0 28px}.topnav{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--rule-strong);background:#16120dc7;border-radius:999px;max-width:1180px;margin:12px auto 0;padding:0 8px 0 22px;position:sticky;top:12px}.topnav-inner{align-items:center;gap:24px;height:104px;display:flex}.topnav .brand{font-family:var(--font-display);color:var(--bone-100);letter-spacing:-.01em;align-items:center;gap:10px;font-size:16px;font-weight:600;text-decoration:none;display:flex}.topnav .brand :is(img,svg){width:auto;height:100px}.topnav-links{gap:4px;margin-left:auto;display:flex}.topnav-links a{color:var(--bone-300);cursor:pointer;transition:all .18s var(--ease);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:500;text-decoration:none}.topnav-links a:hover{color:var(--bone-100);background:#7b5cf524}.topnav-links a.active{color:var(--violet-300);background:#7b5cf52e}.topnav-burger{border:1px solid var(--rule-strong);width:42px;height:42px;color:var(--bone-100);cursor:pointer;transition:all var(--dur-micro) var(--ease);background:0 0;border-radius:999px;justify-content:center;align-items:center;margin-left:auto;display:none}.topnav-burger:hover{color:var(--violet-300);border-color:var(--violet-500)}.topnav-mobile{display:none}.topnav-mobile nav{flex-direction:column;gap:4px;display:flex}.topnav-mobile nav a{font-family:var(--font-display);letter-spacing:-.01em;color:var(--bone-100);transition:all var(--dur-micro) var(--ease);border-radius:14px;padding:14px 16px;font-size:20px;font-weight:560;text-decoration:none}.topnav-mobile nav a:hover{color:var(--bone-100);background:#7b5cf524}.topnav-mobile nav a.active{color:var(--violet-300);background:#7b5cf52e}.topnav-mobile .btn{justify-content:center;margin-top:16px}.btn{font-family:var(--font-sans);cursor:pointer;transition:all var(--dur-state) var(--ease);white-space:nowrap;letter-spacing:-.005em;border:0;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn.pri{background:var(--grad-line);color:var(--bone-100);box-shadow:var(--shadow-glow)}.btn.pri:hover{transform:translateY(-1px)}.btn.sec{background:var(--bone-100);color:var(--iron-950)}.btn.sec:hover{background:#fff9ec}.btn.out{color:var(--fg-1);box-shadow:inset 0 0 0 1.5px var(--fg-1);background:0 0}.btn.out:hover{background:var(--fg-1);color:var(--bg)}.btn.ghost{color:var(--link);background:0 0;padding:8px 12px}.btn.ghost:hover{color:var(--link-hover)}.btn.sm{padding:7px 14px;font-size:13px}.btn.lg{padding:13px 24px;font-size:16px}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ember-500);font-size:11px;font-weight:500}.section{padding:80px 0}.page-banner{height:190px;margin:-80px 0 36px;position:relative;overflow:clip}.page-banner:after{content:"";background:linear-gradient(90deg, var(--bg), transparent 14%, transparent 86%, var(--bg)), linear-gradient(180deg, #0b090640, var(--bg) 97%);position:absolute;inset:0}.section h2{font-family:var(--font-display);letter-spacing:-.02em;color:var(--fg-1);margin:8px 0 0;font-size:44px;font-weight:600;line-height:1.05}.section .head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px;display:flex}.section .head .left{flex-direction:column;gap:6px;display:flex}.article-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.article-grid.wide{grid-template-columns:1.3fr 1fr 1fr}.article-grid>*>.acard,.skill-grid>*>.scard{height:100%}.acard{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius-xl);transition:all var(--dur-state) var(--ease);cursor:pointer;color:inherit;flex-direction:column;gap:10px;padding:24px 26px;text-decoration:none;display:flex;position:relative;overflow:hidden}.acard:before{content:"";background:linear-gradient(90deg, var(--ember-600) 0%, var(--gold-500) 100%);opacity:0;height:3px;transition:opacity .2s var(--ease);position:absolute;top:0;left:0;right:0}.acard:hover{box-shadow:var(--shadow-3);border-color:var(--rule-strong);transform:translateY(-2px)}.acard:hover:before{opacity:1}.acard.feat{background:var(--grad-hero);color:var(--bone-100);border:1px solid var(--rule);min-height:340px}.acard.feat:after{content:"";background:var(--grad-mesh);opacity:.5;mix-blend-mode:screen;pointer-events:none;position:absolute;inset:0}.acard.feat>*{z-index:1;position:relative}.acard .kicker{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ember-500);font-size:11px;font-weight:500}.acard.feat .kicker{color:var(--gold-500)}.acard h3{font-family:var(--font-display);letter-spacing:-.015em;color:var(--fg-1);margin:4px 0;font-size:22px;font-weight:600;line-height:1.15}.acard.feat h3{color:var(--bone-100);letter-spacing:-.02em;font-size:34px;font-weight:620;line-height:1.08}.acard .dek{color:var(--fg-2);margin:0;font-size:14px;line-height:1.55}.acard.feat .dek{color:#efe7d6d1;font-size:16px}.acard .meta{font-family:var(--font-mono);color:var(--fg-3);align-items:center;gap:10px;margin-top:auto;padding-top:14px;font-size:11px;display:flex}.acard.feat .meta{color:#efe7d6b8}.acard.feat .meta:before{content:"";background:linear-gradient(90deg, var(--ember-600) 0%, var(--gold-500) 100%);border-radius:999px;width:44px;height:3px;margin-right:4px}.skill-grid{grid-template-columns:1.3fr 1fr 1fr;gap:18px;display:grid}.skill-grid.one{grid-template-columns:minmax(0,720px)}.scard.amber{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius-xl);transition:all var(--dur-state) var(--ease);color:inherit;flex-direction:column;gap:10px;padding:24px 26px;text-decoration:none;display:flex;position:relative;overflow:hidden}.scard.amber:has(.scard-overlay:hover){box-shadow:var(--shadow-3);border-color:var(--rule-strong);transform:translateY(-2px)}.scard.amber:has(.scard-overlay:hover):before{opacity:1}.scard-overlay{z-index:1;cursor:pointer;position:absolute;inset:0}.scard-overlay:focus-visible{outline:2px solid var(--violet-500);outline-offset:-4px;border-radius:var(--radius-xl)}.scard.amber>:not(.scard-overlay){z-index:2;position:relative}.scard-foot{align-items:center;gap:14px;margin-top:auto;padding-top:14px;display:flex}.scard-foot .meta{flex:1;min-width:0;margin-top:0;padding-top:0}.scard-foot .scard-dl{margin-left:auto}.scard-dl{z-index:3;height:36px;color:var(--fg-1);border:1px solid var(--rule-strong);font-family:var(--font-sans);letter-spacing:-.005em;transition:all var(--dur-state) var(--ease);white-space:nowrap;background:#f0a6411f;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:13px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex;position:relative}.scard-dl:hover{color:#0e1b24;background:linear-gradient(90deg,#c58514 0%,#f0a641 100%);border-color:#0000;transform:translateY(-1px);box-shadow:0 6px 16px #f0a64159}.scard-dl:focus-visible{outline-offset:2px;outline:2px solid #f0a641}.scard.amber:before{content:"";opacity:0;height:3px;transition:opacity .2s var(--ease);z-index:2;background:linear-gradient(90deg,#c58514 0%,#f0a641 100%);position:absolute;top:0;left:0;right:0}.scard.amber .kicker{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amber-500);font-size:11px;font-weight:500}.scard.amber h3{font-family:var(--font-display);letter-spacing:-.015em;color:var(--fg-1);margin:4px 0;font-size:22px;font-weight:600;line-height:1.15}.scard.amber .dek{color:var(--fg-2);margin:0;font-size:14px;line-height:1.55}.scard.amber .meta{font-family:var(--font-mono);color:var(--fg-3);flex-wrap:wrap;align-items:center;gap:10px;margin-top:auto;padding-top:14px;font-size:11px;display:flex}.scard.amber .pill{font-family:var(--font-sans);letter-spacing:0;color:var(--amber-500);background:#f0a64124;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600}.scard.amber.feat{color:#fff;background:#0e1b24;border:0;min-height:340px;padding:30px 32px}.scard.amber.feat:before{opacity:1}.scard.amber.feat:after{content:"";pointer-events:none;background:radial-gradient(circle at 30% 30%,#f0a64152,#0000 65%);border-radius:50%;width:320px;height:320px;position:absolute;bottom:-120px;right:-120px}.scard.amber.feat>*{z-index:1;position:relative}.scard.amber.feat .kicker{color:#f0a641}.scard.amber.feat h3{color:var(--bone-100);letter-spacing:-.02em;max-width:14ch;font-size:34px;font-weight:620;line-height:1.08}.scard.amber.feat .dek{color:#ffffffc7;font-size:16px}.scard.amber.feat .meta{color:#ffffffb3}.scard.amber.feat .pill{color:#f0a641;background:#f0a64126}.scard.amber.feat .scard-dl{color:var(--bone-100);background:#f0a64124;border-color:#efe7d673}.scard.amber.feat .scard-dl:hover{color:#0e1b24;background:linear-gradient(90deg,#c58514 0%,#f0a641 100%);border-color:#0000}.skill-header{border-bottom:1px solid var(--rule);margin-bottom:40px;padding:64px 0 40px}.skill-header .row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;display:flex}.skill-header .left{flex:1;min-width:0}.skill-header h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--fg-1);margin:12px 0 16px;font-size:56px;font-weight:620;line-height:1.04}.skill-header .lede{font-family:var(--font-sans);color:var(--ink-700);letter-spacing:-.005em;margin:0 0 20px;font-size:20px;font-weight:500;line-height:1.5}.skill-header .eyebrow{color:#c58514}.skill-header .meta{font-family:var(--font-mono);color:var(--fg-3);flex-wrap:wrap;align-items:center;gap:14px;font-size:12px;display:flex}.skill-header .meta .dot{background:var(--ink-300);border-radius:99px;width:4px;height:4px}.skill-header .meta .tag-amber{font-family:var(--font-sans);color:#c58514;letter-spacing:0;background:#c585141f;border-radius:999px;padding:4px 10px;font-weight:600}.btn.amber{color:#1c2230;background:linear-gradient(90deg,#c58514 0%,#f0a641 100%);box-shadow:0 0 0 1px #c585144d,0 12px 30px #f0a64159}.btn.amber:hover{transform:translateY(-1px)}.install-block{margin:56px 0 0}.install-block h2{font-family:var(--font-display);letter-spacing:-.015em;color:var(--fg-1);margin:0 0 12px;font-size:32px;font-weight:600;line-height:1.1}.install-block .install-intro{color:var(--ink-700);margin:0 0 24px;font-size:16px;line-height:1.55}.install-block .install-intro code,.install-card code{font-family:var(--font-mono);background:var(--bg-well);border:1px solid var(--rule);border-radius:4px;padding:.12em .4em;font-size:.88em}.install-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.install-card{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:22px 24px;position:relative;overflow:hidden}.install-card:before{content:"";background:linear-gradient(90deg,#c58514 0%,#f0a641 100%);height:3px;position:absolute;top:0;left:0;right:0}.install-kicker{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:#c58514;margin-bottom:10px;font-size:11px;font-weight:500}.install-card ol{color:var(--ink-900);margin:0;padding-left:1.1em;font-size:15px;line-height:1.6}.install-card ol li{margin-bottom:8px}.install-card ol li:last-child{margin-bottom:0}.install-card strong{color:var(--ink-900);font-weight:600}.tag-list{flex-wrap:wrap;gap:8px;display:flex}.tag{font-family:var(--font-sans);border:1px solid var(--rule);color:var(--fg-2);background:var(--bg-elev);cursor:pointer;transition:all var(--dur-micro) var(--ease);border-radius:9999px;padding:6px 14px;font-size:13px;font-weight:500}.tag:hover{border-color:var(--violet-500);color:var(--link)}.tag.active{background:var(--grad-line);color:var(--bone-100);border-color:#0000}.list-row{border-bottom:1px solid var(--rule);cursor:pointer;transition:all var(--dur-state) var(--ease);color:inherit;grid-template-columns:110px 1fr 100px;align-items:baseline;gap:24px;padding:24px 0;text-decoration:none;display:grid}.list-row:hover h3{background:var(--grad-text);color:#0000;-webkit-background-clip:text;background-clip:text}.list-row .date{font-family:var(--font-mono);color:var(--ember-500);letter-spacing:.04em;font-size:12px}.list-row h3{font-family:var(--font-display);letter-spacing:-.015em;color:var(--fg-1);transition:color var(--dur-state) var(--ease);margin:0 0 6px;font-size:24px;font-weight:600;line-height:1.18}.list-row .dek{color:var(--fg-2);margin:0;font-size:14px;line-height:1.5}.list-row .readtime{font-family:var(--font-mono);color:var(--fg-3);text-align:right;font-size:11px}.article-header{border-bottom:1px solid var(--rule);margin-bottom:48px;padding:72px 0 44px}.article-header h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--fg-1);margin:16px 0 20px;font-size:60px;font-weight:620;line-height:1.05}.article-header .lede{font-family:var(--font-sans);color:var(--ink-700);letter-spacing:-.01em;margin:0 0 26px;font-size:22px;font-weight:500;line-height:1.45}.article-header .byline{font-family:var(--font-mono);color:var(--fg-3);align-items:center;gap:14px;font-size:12px;display:flex}.article-header .byline .dot{background:var(--ink-300);border-radius:99px;width:4px;height:4px}.prose{color:var(--ink-900);font-size:18px;line-height:1.7}.prose p{margin:0 0 1.2em}.prose h2{font-family:var(--font-display);letter-spacing:-.015em;color:var(--fg-1);margin:2em 0 .6em;font-size:32px;font-weight:600;line-height:1.12}.prose h3{font-family:var(--font-display);color:var(--fg-1);letter-spacing:-.005em;margin:1.6em 0 .5em;font-size:22px;font-weight:560}.prose blockquote{border-left:4px solid;border-image:var(--grad-line) 1;font-family:var(--font-display);color:var(--fg-1);letter-spacing:-.005em;margin:1.4em 0;padding:12px 0 12px 22px;font-size:22px;font-style:italic;font-weight:540;line-height:1.38}.prose code:not(pre code){font-family:var(--font-mono);background:var(--bg-well);border:1px solid var(--rule);border-radius:4px;padding:.12em .4em;font-size:.88em}.prose pre{background:var(--bg-inked);color:#e6e8ee;font-family:var(--font-mono);border-radius:12px;padding:22px;font-size:14px;line-height:1.65;overflow:auto}.prose a{color:var(--link);background-image:linear-gradient(90deg, var(--ember-500), var(--gold-500)), linear-gradient(var(--rule-strong), var(--rule-strong));transition:background-size var(--dur-state) var(--ease), color var(--dur-state) var(--ease);background-position:0 100%,0 100%;background-repeat:no-repeat;background-size:0% 1px,100% 1px;padding-bottom:2px;text-decoration:none}.prose a:hover,.prose a:focus-visible{color:var(--link-hover);background-size:100% 1px,100% 1px}.prose ul,.prose ol{margin:0 0 1.2em;padding-left:1.2em}.prose li{margin-bottom:.4em}.newsletter{background:var(--grad-hero);color:#fff;border-radius:28px;grid-template-columns:1.2fr 1fr;align-items:center;gap:40px;padding:52px 56px;display:grid;position:relative;overflow:hidden}.newsletter:after{content:"";background:var(--grad-mesh);opacity:.35;mix-blend-mode:screen;pointer-events:none;position:absolute;inset:0}.newsletter>*{z-index:1;position:relative}.newsletter>.newsletter-plate{z-index:0;position:absolute;inset:0}.newsletter>.newsletter-candle{z-index:0;pointer-events:none;background:radial-gradient(46% 85% at 22% 60%,#d97b3f24,#0000 65%);position:absolute;inset:0}.newsletter>.newsletter-candle:after{content:"";background:radial-gradient(28% 52% at 22% 62%,#d97b3f1f,#0000 60%);position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.newsletter>.newsletter-candle{animation:7.3s ease-in-out infinite candle-breathe}.newsletter>.newsletter-candle:after{animation:4.7s ease-in-out infinite candle-gutter}}@keyframes candle-breathe{0%,to{opacity:1}52%{opacity:.72}}@keyframes candle-gutter{0%,to{opacity:1}31%{opacity:.78}64%{opacity:.9}82%{opacity:.7}}.newsletter .eyebrow{color:var(--gold-500)}.newsletter h3{font-family:var(--font-display);letter-spacing:-.02em;color:var(--bone-100);margin:8px 0 12px;font-size:34px;font-weight:620;line-height:1.1}.newsletter p{color:#efe7d6d1;margin:0;font-size:15px;line-height:1.55}.newsletter form{gap:8px;display:flex}.newsletter input{color:var(--bone-100);font-family:var(--font-sans);background:#efe7d614;border:1px solid #efe7d638;border-radius:999px;outline:none;flex:1;padding:14px 16px;font-size:14px}.newsletter input::placeholder{color:#efe7d680}.newsletter input:focus{border-color:#efe7d68c}.newsletter button{background:var(--bone-100);color:var(--iron-950);cursor:pointer;border:0;border-radius:999px;padding:14px 22px;font-size:14px;font-weight:600}.newsletter button:hover{background:var(--gold-500)}.footer{border-top:1px solid var(--rule-strong);background:var(--iron-950);margin-top:96px;padding:52px 0 44px}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:40px;display:flex}.footer .brand{font-family:var(--font-display);color:var(--bone-100);letter-spacing:-.01em;align-items:center;gap:10px;font-size:15px;font-weight:600;display:flex}.footer .brand :is(img,svg){height:26px}.footer .links{flex-wrap:wrap;gap:24px;font-size:13px;font-weight:500;display:flex}.footer .links a{color:var(--bone-300);cursor:pointer;background-image:linear-gradient(90deg, var(--ember-500), var(--gold-500));transition:color var(--dur-state) var(--ease), background-size var(--dur-state) var(--ease);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;align-items:center;gap:6px;padding-bottom:2px;text-decoration:none;display:inline-flex}.footer .links a:hover,.footer .links a:focus-visible{color:var(--bone-100);background-size:100% 1px}.footer .copy{font-family:var(--font-mono);color:var(--bone-500);max-width:420px;margin-top:14px;font-size:11px;line-height:1.7}.footer-rose{opacity:.12;pointer-events:none;background:repeating-conic-gradient(from 7.5deg, #b08d57f2 0deg 1.4deg, transparent 1.4deg 30deg), conic-gradient(var(--glass-violet) 0deg 60deg, var(--glass-cyan) 60deg 120deg, var(--glass-magenta) 120deg 180deg, var(--glass-violet) 180deg 240deg, var(--glass-cyan) 240deg 300deg, var(--glass-magenta) 300deg 360deg);border-radius:50%;flex-shrink:0;align-self:center;width:116px;height:116px;-webkit-mask:radial-gradient(circle closest-side,#000 0 18%,#0000 19% 24%,#000 25% 78%,#0000 79% 84%,#000 85% 98%,#0000 99%);mask:radial-gradient(circle closest-side,#000 0 18%,#0000 19% 24%,#000 25% 78%,#0000 79% 84%,#000 85% 98%,#0000 99%)}.about-grid{grid-template-columns:300px 1fr;align-items:flex-start;gap:56px;padding-top:40px;display:grid}.about-portrait{aspect-ratio:1;border-radius:var(--radius-xl);background:var(--bg-elev);border:1px solid var(--rule);width:100%;position:relative;overflow:hidden}.arch-stroke{display:none}@supports (clip-path:url(#arch-clip)){.about-portrait{clip-path:url(#arch-clip);background:0 0;border:0;border-radius:0}.arch-stroke{z-index:1;pointer-events:none;fill:none;width:100%;height:100%;stroke:var(--gold-500);stroke-opacity:.55;display:block;position:absolute;inset:0}}.about-body h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--fg-1);margin:0 0 16px;font-size:56px;font-weight:620;line-height:1.04}.about-body .lede{font-family:var(--font-sans);color:var(--fg-2);letter-spacing:-.005em;margin:0 0 28px;font-size:20px;font-weight:500;line-height:1.5}.about-body .prose{font-size:16px}.role-line{font-family:var(--font-mono);color:var(--ember-500);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;font-size:11px}.article-layout{grid-template-columns:240px 1fr;gap:56px;padding-top:24px;display:grid}.toc{align-self:start;position:sticky;top:96px}.toc .label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);margin-bottom:14px;font-size:11px;font-weight:500}.toc ol{border-left:1px solid var(--rule);flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.toc a{color:var(--fg-2);cursor:pointer;border-left:2px solid #0000;margin-left:-1px;padding:6px 14px;font-size:13px;text-decoration:none;display:block}.toc a.active{color:var(--link);border-left-color:var(--violet-500);font-weight:600}.toc a:hover{color:var(--link)}.acard .torch.torch,.scard.amber .torch{opacity:0;pointer-events:none;border-radius:inherit;background:radial-gradient(240px circle at var(--tx,50%) var(--ty,50%), #d97b3f1a, #b08d570d 40%, transparent 70%);transition:opacity var(--dur-state) var(--ease);position:absolute;inset:0}:is(.acard:hover .torch,.scard.amber:has(.scard-overlay:hover) .torch){opacity:1}.notfound{align-items:center;min-height:62svh;display:flex;position:relative;overflow:clip}.notfound-plate{z-index:0;position:absolute;inset:0}.notfound-plate:after{content:"";background:radial-gradient(110% 90% at 50% 40%, transparent 40%, #0503028c 100%), linear-gradient(180deg, #0b090659, transparent 30%, transparent 70%, var(--bg) 99%);position:absolute;inset:0}.notfound-copy{z-index:1;padding:140px 0 120px;position:relative}.notfound-copy h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--bone-100);text-wrap:balance;max-width:16ch;margin:18px 0;font-size:clamp(40px,5.4vw,64px);font-weight:620;line-height:1.05}.notfound-copy .lede{font-family:var(--font-sans);color:#efe7d6d6;max-width:480px;margin:0 0 32px;font-size:19px;font-weight:500;line-height:1.5}.notfound-copy .actions{flex-wrap:wrap;gap:12px;display:flex}.circuit-rule{color:var(--gold-500);align-items:center;gap:10px;margin:0 0 56px;display:flex}.circuit-rule svg{flex-shrink:0;display:block}.circuit-rule .cr-line{flex:1;height:1px}.circuit-rule .cr-line-l{background:linear-gradient(90deg,#0000,#b08d5773)}.circuit-rule .cr-line-r{background:linear-gradient(90deg,#b08d5773,#0000)}.hr-rule{background:var(--rule);border:0;height:1px;margin:0}@media (max-width:880px){.article-grid,.article-grid.wide,.skill-grid,.skill-grid.one{grid-template-columns:1fr}.skill-header h1{font-size:38px}.skill-header .row{flex-direction:column;align-items:stretch}.install-grid{grid-template-columns:1fr}.list-row{grid-template-columns:90px 1fr}.list-row .readtime{display:none}.newsletter{grid-template-columns:1fr;padding:36px}.about-grid{grid-template-columns:1fr;gap:32px}.footer-rose{display:none}.notfound-copy{padding:110px 0 90px}.article-layout{grid-template-columns:1fr}.toc{display:none}.article-header h1{font-size:38px}.section h2{font-size:32px}.topnav{border-radius:20px;padding:0 6px 0 16px}.topnav.is-open{border-radius:20px}.topnav-inner{gap:12px;height:64px}.topnav .brand :is(img,svg){height:52px}.topnav-links,.topnav-cta.topnav-cta{display:none}.topnav-burger{display:inline-flex}.topnav-mobile{border-top:1px solid var(--rule);margin-top:4px;padding:8px 16px 20px;display:block}.topnav-mobile[hidden]{display:none}}
.parchment-shell{border-top:1px solid var(--gold-500);padding-bottom:72px;position:relative}.parchment-shell:before{content:"";background:var(--gold-600);opacity:.7;height:1px;margin-top:3px;display:block}.parchment-shell .article-header{border-bottom:1px solid var(--rule-strong);position:relative}.parchment-shell .article-header:after{content:"";background:var(--rule);height:1px;position:absolute;bottom:3px;left:0;right:0}.parchment-shell .article-header .byline{letter-spacing:.06em;text-transform:uppercase;font-size:11px}.parchment-shell .prose>p:first-of-type:first-letter{font-family:var(--font-display);float:left;color:var(--ember-600);font-variation-settings:"opsz" 144, "SOFT" 50, "WONK" 1;text-shadow:2px 2px #b08d5747;padding:.08em .14em 0 0;font-size:3.3em;font-weight:600;line-height:.82}.parchment-tex{pointer-events:none;mix-blend-mode:multiply;opacity:.06;background-repeat:repeat;background-size:1024px;position:absolute;inset:0}.parchment-shell .folio-end{justify-content:center;align-items:center;gap:18px;max-width:720px;margin:64px auto 0;padding:0 28px;display:flex}.parchment-shell .folio-end:before,.parchment-shell .folio-end:after{content:"";background:var(--gold-500);opacity:.45;flex:1;max-width:120px;height:1px}.parchment-shell .folio-end svg{opacity:.8}.parchment-shell .marginalia{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);font-size:11px}
.hero{min-height:100svh;color:var(--bone-100);background:var(--bg);align-items:center;margin-top:-116px;display:flex;position:relative;overflow:clip}.hero-stage{z-index:0;position:absolute;inset:0}.hero-plate{will-change:transform;position:absolute;inset:-8%}[data-hero-plate-depth]{-webkit-mask-image:linear-gradient(#0000 45%,#000 75%);mask-image:linear-gradient(#0000 45%,#000 75%)}.hero-motes{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero-vignette{pointer-events:none;background:radial-gradient(130% 100% at 50% 38%, transparent 52%, #0503028c 100%), linear-gradient(180deg, #0b090680 0%, transparent 22%), linear-gradient(180deg, transparent 64%, var(--bg) 99%);position:absolute;inset:0}.hero-frame{pointer-events:none;border:1px solid #b08d576b;position:absolute;inset:max(6.5%,132px) 4.5% 6.5%}.hero-frame:before,.hero-frame:after{content:"";border:1px solid #b08d57d9;width:18px;height:18px;position:absolute}.hero-frame:before{border-bottom:0;border-right:0;top:-1px;left:-1px}.hero-frame:after{border-top:0;border-left:0;bottom:-1px;right:-1px}.hero-copy{z-index:1;padding:170px 0 150px;position:relative}.hero-copy .eyebrow{color:var(--gold-500)}.hero h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--bone-100);text-wrap:balance;max-width:920px;margin:22px 0 26px;font-size:clamp(54px,7.2vw,96px);font-weight:620;line-height:1.02}.hero h1 .grad{background:linear-gradient(92deg,#5fe3da 0%,#b7a5ff 58%,#e0a172 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.hero .lede{font-family:var(--font-sans);color:#efe7d6d6;max-width:620px;margin:0 0 38px;font-size:21px;font-weight:500;line-height:1.48}.hero .actions{flex-wrap:wrap;gap:12px;display:flex}.hero-cue{z-index:1;font-family:var(--font-mono);letter-spacing:.32em;text-transform:uppercase;color:var(--bone-500);font-size:10px;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}@media (max-width:880px){.hero{min-height:86svh;margin-top:-76px}.hero-copy{padding:130px 0 110px}.hero h1{font-size:clamp(40px,11vw,54px)}.hero .lede{font-size:18px}.hero-frame{inset:max(5%,90px) 4% 5%}.hero-cue{display:none}}
.magnetic{will-change:transform;display:inline-block}.cursor-dot,.cursor-ring{z-index:10000;pointer-events:none;opacity:0;visibility:hidden;border-radius:999px;position:fixed;top:0;left:0}.cursor-dot{background:var(--bone-100);mix-blend-mode:difference;width:4px;height:4px;margin:-2px 0 0 -2px}.cursor-ring{width:30px;height:30px;transition:transform var(--dur-state) var(--ease), border-color var(--dur-state) var(--ease), background-color var(--dur-state) var(--ease);border:1px solid #efe7d68c;margin:-15px 0 0 -15px}.cursor-ring.is-on-target{border-color:var(--ember-500);background:#d97b3f14;transform:scale(1.7)}@media (pointer:coarse),(hover:none){.cursor-dot,.cursor-ring{display:none}}@keyframes vt-out-fade{to{opacity:0}}@keyframes vt-in-fade{0%{opacity:0}}@keyframes vt-out-left{to{translate:-60px}}@keyframes vt-in-right{0%{translate:60px}}@keyframes vt-out-right{to{translate:60px}}@keyframes vt-in-left{0%{translate:-60px}}::view-transition-old(.vt-forward){animation:.16s ease-in both vt-out-fade, .42s var(--ease) both vt-out-left}::view-transition-new(.vt-forward){animation:.22s ease-out .14s both vt-in-fade, .42s var(--ease) both vt-in-right}::view-transition-old(.vt-back){animation:.16s ease-in both vt-out-fade, .42s var(--ease) both vt-out-right}::view-transition-new(.vt-back){animation:.22s ease-out .14s both vt-in-fade, .42s var(--ease) both vt-in-left}::view-transition-old(.vt-fade){animation:.17s ease-in both vt-out-fade}::view-transition-new(.vt-fade){animation:.24s ease-out 90ms both vt-in-fade}::view-transition-group(site-header){z-index:100;animation:none}::view-transition-old(site-header){display:none}::view-transition-new(site-header){animation:none}::view-transition-group(site-footer){z-index:99;animation:none}::view-transition-old(site-footer){display:none}::view-transition-new(site-footer){animation:none}@media (prefers-reduced-motion:reduce){::view-transition-old(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-group(*){animation-duration:0s!important;animation-delay:0s!important}.cursor-dot,.cursor-ring{display:none}.btn.pri:hover,.acard:hover,.scard-dl:hover,.btn.amber:hover{transform:none}.scard.amber:has(.scard-overlay:hover){transform:none}.acard .torch.torch,.scard.amber .torch{display:none}.prose a,.footer .links a{transition:none}}
