@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{color-scheme:light dark;--font-body:"Inter", "SF Pro Text", "SF Pro Display", "Segoe UI", sans-serif;--font-display:var(--font-body);--font-nav:var(--font-body);--bg:#fff;--surface:#fafafa;--surface-strong:#f4f4f4;--text:#111;--text-secondary:#666;--border:#e7e7e7;--border-strong:#c9c9c9;--focus-ring:#8f8f8f;--header-bg:#ffffffe0;--callout-definition:#8ea1ff;--callout-pitfall:#f29a72;--callout-inference:#5fb8a6;--badge-report-dot:#aa62e8;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--code-bg:#f7f7f7;--code-comment:#9a9a9a;--code-keyword:#111;--code-string:#4f4f4f;--code-number:#4f4f4f;--review-prose-measure:100%;--blog-orientation:#4f5d3a;--shadow:0 20px 44px -28px #11111140;--shadow-hover:0 28px 56px -30px #11111159;--radius-sm:14px;--radius-md:20px;--radius-lg:28px;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;--space-6:64px;--space-7:96px;--space-8:128px;--container:1160px;--ease-out:cubic-bezier(.2, .7, .2, 1);--mega-ease:cubic-bezier(.22, 1, .36, 1);--mega-bg:#fffffff7}@media (prefers-color-scheme:dark){html:not([data-theme=light]){--bg:#0d0d0d;--surface:#141414;--surface-strong:#1b1b1b;--text:#f5f5f5;--text-secondary:#b5b5b5;--border:#2a2a2a;--border-strong:#4a4a4a;--focus-ring:#6d6d6d;--header-bg:#0d0d0de0;--callout-definition:#6d85ff;--callout-pitfall:#ea8c62;--callout-inference:#58a896;--code-bg:#111;--code-comment:#7a7a7a;--code-keyword:#f5f5f5;--code-string:#c8c8c8;--code-number:#c8c8c8;--shadow:0 24px 48px -30px #0000008c;--shadow-hover:0 34px 60px -28px #000000b3;--mega-bg:#141414d1}}html[data-theme=dark]{--blog-orientation:#b7c99b;--bg:#0d0d0d;--surface:#141414;--surface-strong:#1b1b1b;--text:#f5f5f5;--text-secondary:#b5b5b5;--border:#2a2a2a;--border-strong:#4a4a4a;--focus-ring:#6d6d6d;--header-bg:#0d0d0de0;--callout-definition:#6d85ff;--callout-pitfall:#ea8c62;--callout-inference:#58a896;--code-bg:#111;--code-comment:#7a7a7a;--code-keyword:#f5f5f5;--code-string:#c8c8c8;--code-number:#c8c8c8;--shadow:0 24px 48px -30px #0000008c;--shadow-hover:0 34px 60px -28px #000000b3;--mega-bg:#141414d1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--text);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 10% -20%,#78787814,#0000 46%);margin:0;font-size:15px;line-height:1.55;transition:background-color .25s,color .25s}a{color:inherit}p,li{color:var(--text-secondary)}h1,h2,h3,h4{color:var(--text);font-family:var(--font-display);letter-spacing:-.02em;margin:0;line-height:1.12}h1{font-size:clamp(1.95rem,4.8vw,2.85rem);font-weight:650}h2{font-size:clamp(1.65rem,3.4vw,2.15rem);font-weight:620}h3{font-size:clamp(1rem,1.55vw,1.3rem);font-weight:580}.small-label,.card-meta,.tag,.theme-toggle,.site-nav a,.section-eyebrow{letter-spacing:.03em;font-size:13px}.site-header{z-index:40;border-bottom:1px solid var(--border);background:var(--header-bg);backdrop-filter:blur(12px);transition:transform .42s var(--ease-out), opacity .42s var(--ease-out);position:sticky;top:0;overflow:visible}.site-header,.site-main,.site-footer{transition:opacity .56s var(--ease-out), transform .56s var(--ease-out)}body.intro-pending .site-header,body.intro-pending .site-main,body.intro-pending .site-footer{opacity:0;pointer-events:none;transform:translateY(12px)}body.intro-complete .site-header,body.intro-complete .site-main,body.intro-complete .site-footer{opacity:1;pointer-events:auto;transform:translateY(0)}body.route-leaving .site-header,body.route-leaving .site-main,body.route-leaving .site-footer{opacity:0;pointer-events:none;transition-duration:.18s;transform:translateY(10px)scale(.998)}body.route-leaving .scroll-progress{opacity:0;transition:opacity .18s var(--ease-out)}.intro-screen{z-index:120;background:var(--bg);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.intro-screen:before{content:"";opacity:0;background:radial-gradient(circle at 50% 42%,#78787829,#0000 52%);position:absolute;inset:-30%}.intro-screen:after{content:"";opacity:0;background:linear-gradient(90deg, transparent, var(--text), transparent);width:min(280px,42vw);height:1px;position:absolute;bottom:22%;left:50%;transform:translate(-50%)scaleX(.4)}.intro-screen__inner{text-align:center;padding:var(--space-4);position:relative}.intro-screen__name{color:var(--text);letter-spacing:.38em;text-transform:uppercase;opacity:0;filter:blur(10px);margin:0;font-size:clamp(2.1rem,9vw,4.3rem);font-weight:680;transform:translateY(24px)scale(.98)}.intro-screen__subtitle{margin:var(--space-2) 0 0;color:var(--text-secondary);letter-spacing:.18em;text-transform:uppercase;opacity:0;font-size:14px;transform:translateY(8px)}body.intro-started .intro-screen:before{animation:introAmbient 1.8s var(--ease-out) forwards}body.intro-started .intro-screen__name{animation:1.6s cubic-bezier(.16,.8,.24,1) forwards introNameReveal}body.intro-started .intro-screen__subtitle{animation:introSubReveal .9s var(--ease-out) .54s forwards}body.intro-started .intro-screen:after{animation:introLineReveal 1.2s var(--ease-out) .22s forwards}body.intro-complete .intro-screen{opacity:0;visibility:hidden;transition:opacity .72s var(--ease-out), visibility .72s var(--ease-out)}.scroll-progress{z-index:60;pointer-events:none;opacity:0;width:100%;height:2px;transition:opacity .42s var(--ease-out);background:0 0;position:fixed;top:0;left:0}body.intro-complete .scroll-progress{opacity:1}#scroll-progress-bar{background:var(--text);transform-origin:0;opacity:.65;width:100%;height:100%;transition:transform .14s linear;display:block;transform:scaleX(0)}.site-header__inner,.site-main,.site-footer{width:min(var(--container), 100% - var(--space-5));margin:0 auto}.site-header__inner{align-items:center;gap:var(--space-3);min-height:72px;display:flex}.site-title{letter-spacing:.08em;font-size:15px;font-weight:620;text-decoration:none}.site-title,.site-nav__item,.theme-toggle,.mega-col h3,.mega-col a{font-family:var(--font-nav)}.site-nav{align-items:center;gap:var(--space-3);margin-left:auto;display:flex}.site-nav a,.site-nav__item{color:var(--text-secondary);transition:color .26s var(--ease-out);padding-block:6px;font-weight:520;text-decoration:none;position:relative}.site-nav a:hover,.site-nav a:focus-visible,.site-nav__item:hover,.site-nav__item:focus-visible,.site-nav__item.is-active{color:var(--text)}.mega-shell{border-top:1px solid var(--border);background:var(--mega-bg);background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 62%, transparent), color-mix(in srgb, var(--bg) 34%, transparent)), var(--mega-bg);backdrop-filter:blur(24px)saturate(122%);opacity:0;visibility:hidden;pointer-events:none;filter:blur(6px);clip-path:inset(0 0 100% round 0 0 28px 28px);transform-origin:top;max-height:calc(100dvh - var(--mega-top,64px));overscroll-behavior:contain;will-change:transform, opacity, filter, clip-path;transition:opacity .76s var(--mega-ease), transform 1.25s var(--mega-ease), filter 1.25s var(--mega-ease), clip-path 1.25s var(--mega-ease), visibility .76s var(--mega-ease);position:absolute;top:100%;left:0;right:0;overflow-y:auto;transform:perspective(1400px)translateY(-30px)rotateX(-14deg)scale(.955);box-shadow:0 28px 62px -36px #00000073}.mega-shell:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--text) 26%, transparent), transparent);opacity:.42;pointer-events:none;height:1px;position:absolute;top:0;left:0;right:0}.mega-shell:after{content:"";background:radial-gradient(120% 100% at 50% -10%, color-mix(in srgb, var(--text) 8%, transparent), transparent 58%), linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--bg) 34%, transparent) 100%);opacity:.6;pointer-events:none;position:absolute;inset:0}.site-header.is-mega-open .mega-shell{opacity:1;visibility:visible;pointer-events:auto;filter:blur();clip-path:inset(0 round 0 0 28px 28px);transform:perspective(1400px)translateY(0)rotateX(0)scale(1);box-shadow:0 54px 112px -54px #00000094}.mega-panel{max-width:min(var(--container), 100% - var(--space-5));grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0 auto;padding:30px 0 34px;display:none}.mega-panel.is-active{animation:megaPanelIn .98s var(--mega-ease);display:grid}.mega-panel--single{grid-template-columns:1fr}.mega-col--solo{align-items:center;display:flex}.mega-col--list{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.mega-primary-link{color:var(--text);letter-spacing:.01em;transition:opacity .2s var(--ease-out), transform .2s var(--ease-out);align-items:center;font-size:15px;font-weight:560;text-decoration:none;display:inline-flex}.mega-primary-link--root{color:var(--text);letter-spacing:.035em;text-transform:uppercase;border:1px solid color-mix(in srgb, var(--text) 12%, transparent);background:color-mix(in srgb, var(--surface) 82%, transparent);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:760;box-shadow:0 10px 18px -16px #00000059}.mega-primary-link--root:hover,.mega-primary-link--root:focus-visible{opacity:1;border-color:color-mix(in srgb, var(--text) 22%, transparent);background:color-mix(in srgb, var(--surface-strong) 86%, transparent)}.mega-primary-link:hover,.mega-primary-link:focus-visible{opacity:.78;transform:translate(2px)}.mega-col h3{color:var(--text);letter-spacing:.04em;text-transform:uppercase;margin:0 0 12px;font-size:13px;font-weight:620}.mega-col a{color:var(--text-secondary);transition:color .2s var(--ease-out), transform .2s var(--ease-out);margin-top:8px;font-size:14px;line-height:1.4;text-decoration:none;display:block}.mega-col a:hover,.mega-col a:focus-visible{color:var(--text);transform:translate(2px)}.theme-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text);min-width:82px;height:38px;padding:0 var(--space-2);cursor:pointer;transition:transform .26s var(--ease-out), background-color .26s var(--ease-out), border-color .26s var(--ease-out);border-radius:999px;font-weight:520}.theme-toggle:hover,.theme-toggle:focus-visible{border-color:var(--border-strong);transform:translateY(-1px)}.site-main{padding-block:var(--space-6)}.page-heading{margin-bottom:var(--space-5)}.page-heading h1{font-size:clamp(2rem,3.8vw,2.8rem)}.section-block{margin-top:var(--space-7)}.section-block:first-of-type{margin-top:0}.section-head{margin-bottom:var(--space-4);max-width:780px}.section-eyebrow{margin:0 0 var(--space-2);color:var(--text-secondary);text-transform:uppercase;font-weight:580}.section-description{margin:var(--space-3) 0 0;color:var(--text-secondary);max-width:78ch}.hero{--hero-parallax-x:0px;--hero-parallax-y:0px;text-align:center;padding-top:var(--space-5);padding-bottom:var(--space-6);isolation:isolate;background:radial-gradient(54% 56% at 8% 16%,#5894ee38,#5894ee00 72%) 10% 12%/170% 170%,radial-gradient(52% 54% at 92% 14%,#ac5ce633,#ac5ce600 72%) 88% 8%/180% 180%,radial-gradient(58% 58% at 52% 90%,#ec6cae2e,#ec6cae00 72%) 50% 92%/180% 180%,radial-gradient(48% 52% at 24% 80%,#e85c6e29,#e85c6e00 72%) 22% 78%/170% 170%,radial-gradient(64% 68% at 72% 70%,#ffffffb8,#fff0 74%) 72% 68%/200% 200%,linear-gradient(122deg,#fff 0%,#fbf6ff 34%,#fff6fb 64%,#f5faff 100%) 0%/260% 260%;border:none;align-items:center;min-height:clamp(390px,56vh,560px);margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);animation:8s linear infinite heroBaseFlow;display:flex;position:relative;overflow:hidden;box-shadow:0 22px 46px -34px #5c3e9129,inset 0 0 120px #ffffff3d}.hero-container{width:min(var(--container), 100% - var(--space-5));transform:translate3d(calc(var(--hero-parallax-x) * -.18), calc(var(--hero-parallax-y) * -.18), 0);transition:transform .68s var(--ease-out);will-change:transform;margin:0 auto}.hero>:not(.hero__glow){z-index:2;position:relative}.hero__glow{pointer-events:none;z-index:0;filter:blur(52px)saturate(131%)contrast(103%);opacity:.54;transform:translate3d(var(--hero-parallax-x), var(--hero-parallax-y), 0);will-change:transform;transition:transform .76s cubic-bezier(.22,1,.36,1);position:absolute;inset:-26% -18% -10%}.hero__glow:before,.hero__glow:after{content:"";will-change:transform;border-radius:50%;position:absolute;inset:0}.hero__glow:before{background-color:#0000;background-image:radial-gradient(42% 44% at 16% 24%,#4e91f0a3 0%,#4e91f000 74%),radial-gradient(40% 40% at 84% 20%,#aa62e899 0%,#aa62e800 74%),radial-gradient(46% 44% at 62% 82%,#f06cb68f 0%,#f06cb600 76%),radial-gradient(44% 42% at 28% 78%,#ec5c7280 0%,#ec5c7200 74%),radial-gradient(58% 54% at 74% 70%,#ffffffbd 0%,#fff0 78%),linear-gradient(120deg,#6a9ef240,#b66cf03b,#ee76ba38,#ffffff38);background-position:34% 46%;background-repeat:repeat,repeat,repeat,repeat,repeat,repeat;background-size:250% 250%;background-attachment:scroll,scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box,border-box;animation:6.8s ease-in-out infinite heroGradientDrift,7.8s linear infinite heroGradientFlow}.hero__glow:after{background-color:#0000;background-image:radial-gradient(38% 40% at 24% 66%,#488ef485 0%,#488ef400 72%),radial-gradient(38% 38% at 74% 64%,#a85cec7a 0%,#a85cec00 74%),radial-gradient(36% 36% at 52% 14%,#ee60b073 0%,#ee60b000 74%),radial-gradient(34% 34% at 42% 90%,#e8586a69 0%,#e8586a00 76%),radial-gradient(52% 52% at 68% 28%,#ffffff9e 0%,#fff0 76%),linear-gradient(136deg,#5096ee33,#b060ee2e,#ec62ac2e,#ffffff2e);background-position:62% 54%;background-repeat:repeat,repeat,repeat,repeat,repeat,repeat;background-size:230% 230%;background-attachment:scroll,scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box,border-box;animation:7.4s ease-in-out infinite heroGradientDriftAlt,8.6s linear infinite heroGradientFlowAlt;inset:6% -4% -10%}.hero:before{content:"";z-index:1;pointer-events:none;opacity:.38;background:radial-gradient(80% 64% at 20% 30%,#508ef22e,#508ef200 72%),radial-gradient(70% 58% at 80% 28%,#b260ee2b,#b260ee00 74%),radial-gradient(86% 68% at 50% 84%,#ec6ab229,#ec6ab200 74%),radial-gradient(66% 60% at 58% 56%,#fff3,#fff0 76%);animation:6.8s ease-in-out infinite heroAmbientPulse;position:absolute;inset:-24% -18% -12%}.hero:after{content:"";pointer-events:none;z-index:1;background:radial-gradient(130% 90%,#fff0 56%,#ffffff80 100%),linear-gradient(#fff6,#fff0 16% 84%,#ffffff6b);position:absolute;inset:0}.hero .section-eyebrow{color:#1c182ca3}.hero__name{letter-spacing:-.04em;color:#161222;text-shadow:0 4px 16px #ffffff5c;font-size:clamp(2.7rem,6.8vw,3.6rem);font-weight:700;line-height:1}.hero__tagline{margin:var(--space-3) auto 0;color:var(--text);max-width:32ch;font-size:clamp(.92rem,1.35vw,1.04rem)}.hero__support{margin:var(--space-2) auto 0;color:#1a1828c2;max-width:58ch}.hero__actions{margin-top:var(--space-3);justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.btn{border:1px solid var(--border);transition:transform .26s var(--ease-out), box-shadow .26s var(--ease-out), border-color .26s var(--ease-out), background-color .26s var(--ease-out);border-radius:999px;justify-content:center;align-items:center;padding:10px 16px;font-size:14px;font-weight:560;text-decoration:none;display:inline-flex}.btn:hover,.btn:focus-visible{box-shadow:var(--shadow);transform:translateY(-2px)}.btn--primary{background:var(--text);color:var(--bg);border-color:var(--text)}.btn--ghost,.btn--inverse{background:var(--surface);color:var(--text)}.hero .btn--primary{color:#fff;background:#101014;border-color:#101014}.hero .btn--ghost,.hero .btn--inverse{color:#161222;background:#ffffffb3;border-color:#2e224a2e}.hero__actions .hero-icon-btn{border-radius:999px;width:44px;height:44px;padding:0}html[data-theme=dark] .hero{background:radial-gradient(130% 90% at 2% 8%,#295fd34d,#0000 50%),radial-gradient(110% 88% at 96% 10%,#6d24a047,#0000 46%),radial-gradient(120% 92% at 58% 96%,#a7255c38,#0000 58%),linear-gradient(122deg,#11172d 0%,#231533 34%,#3b1b43 64%,#21102d 100%);border:none;box-shadow:0 30px 58px -42px #0000007a}html[data-theme=dark] .hero__glow{filter:blur(58px)saturate(125%)contrast(103%);opacity:.5}html[data-theme=dark] .hero__glow:before{background:linear-gradient(118deg,#4a88ff42,#a75cff3d,#f46ab638,#ff565633,#60a5fa3d),radial-gradient(46% 46% at 18% 24%,#4a88ff57 0%,#4a88ff00 74%),radial-gradient(42% 42% at 82% 20%,#a75cff52 0%,#a75cff00 74%),radial-gradient(44% 44% at 66% 80%,#f46ab64d 0%,#f46ab600 76%),radial-gradient(46% 46% at 28% 78%,#ff565642 0%,#ff565600 74%)}html[data-theme=dark] .hero__glow:after{background:linear-gradient(138deg,#60a5fa2e,#c270ff2e,#f472b629,#7aa2ff2e),radial-gradient(42% 42% at 22% 66%,#5c8eff47 0%,#5c8eff00 72%),radial-gradient(38% 38% at 72% 66%,#c270ff42 0%,#c270ff00 74%),radial-gradient(36% 36% at 52% 16%,#ff76bc3d 0%,#ff76bc00 74%),radial-gradient(38% 38% at 42% 88%,#ff6a6a38 0%,#ff6a6a00 76%)}html[data-theme=dark] .hero .section-eyebrow{color:#e6ebf5bd}html[data-theme=dark] .hero__name{color:#f4f6fb;text-shadow:0 6px 20px #0000005c}html[data-theme=dark] .hero__support{color:#e3e7f1e6}html[data-theme=dark] .hero .btn--primary{color:#0e1117;background:#f4f6fa;border-color:#ffffff47}html[data-theme=dark] .hero .btn--ghost,html[data-theme=dark] .hero .btn--inverse{color:#edf1f8;background:#07090ec2}html[data-theme=dark] .hero:before{opacity:.32;background:radial-gradient(78% 64% at 50% 46%,#07050e57,#07050e00 70%),radial-gradient(110% 78% at 50% 112%,#04030a4d,#04030a00 74%)}.cards-grid{gap:var(--space-3);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.cards-grid>*{grid-column:span 4}.category-card{grid-column:span 4;text-decoration:none}.premium-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);transition:transform .32s var(--ease-out), box-shadow .32s var(--ease-out), border-color .28s var(--ease-out);isolation:isolate;padding:20px;position:relative;overflow:hidden}.premium-card:before{content:"";opacity:0;pointer-events:none;transition:opacity .34s var(--ease-out), transform .46s var(--ease-out);z-index:2;background:linear-gradient(118deg,#0000 28%,#ffffff59 49%,#0000 72%);position:absolute;inset:0;transform:translate(-14%)}.premium-card:after,.notes-card:after,.blog-card:after,.concept-card:after{content:"";pointer-events:none;z-index:0;opacity:0;filter:blur(22px)saturate(126%)contrast(102%);transition:opacity .36s var(--ease-out), transform .42s var(--ease-out);background-color:#0000;background-image:radial-gradient(42% 42% at 20% 24%,#5694f057 0%,#5694f000 74%),radial-gradient(38% 38% at 82% 22%,#aa60e852 0%,#aa60e800 74%),radial-gradient(44% 42% at 64% 82%,#ec6cb64d 0%,#ec6cb600 76%),radial-gradient(40% 40% at 30% 78%,#e65c7242 0%,#e65c7200 74%),radial-gradient(56% 54% at 70% 66%,#ffffff7a 0%,#fff0 78%);background-position:34% 46%;background-repeat:repeat,repeat,repeat,repeat,repeat;background-size:240% 240%;background-attachment:scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box;position:absolute;inset:-34% -26%;transform:translateY(8px)scale(.96)}.premium-card>*,.notes-card>*,.blog-card>*,.concept-card>*{z-index:1;position:relative}.premium-card:hover,.premium-card:focus-within{box-shadow:var(--shadow-hover);border-color:var(--border-strong);transform:translateY(-4px)}.premium-card:hover:before,.premium-card:focus-within:before{opacity:1;transform:translate(0)}.premium-card:hover:after,.premium-card:focus-within:after,.notes-card:hover:after,.notes-card:focus-visible:after,.blog-card:hover:after,.blog-card:focus-visible:after,.concept-card:hover:after,.concept-card:focus-visible:after{opacity:.82;animation:7.2s linear infinite cardAuraDrift,3.4s ease-in-out infinite cardAuraPulse;transform:translateY(0)scale(1)}.premium-card:focus-visible,.notes-card:focus-visible,.blog-card:focus-visible,.concept-card:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.card-meta{color:var(--text-secondary);margin:0;font-size:13px;font-weight:540}.card-title{margin-top:var(--space-2);font-size:clamp(.98rem,1.42vw,1.2rem)}.card-summary{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:14px}.card-tags,.skills-cloud,.project-stack{margin-top:var(--space-3);flex-wrap:wrap;gap:10px;display:flex}.tag{border:1px solid var(--border);background:var(--surface-strong);color:var(--text-secondary);border-radius:999px;align-items:center;padding:5px 9px;font-size:12px;font-weight:540;display:inline-flex}.card-link,.inline-link{margin-top:var(--space-3);color:var(--text);align-items:center;gap:8px;font-size:13px;font-weight:560;text-decoration:none;display:inline-flex}.card-link:after,.inline-link:after{content:"→";transition:transform .26s var(--ease-out)}.card-link:hover:after,.inline-link:hover:after,.card-link:focus-visible:after,.inline-link:focus-visible:after{transform:translate(3px)}.project-card{flex-direction:column;min-height:260px;display:flex}.project-card .card-summary{max-width:40ch}.project-card .card-link{margin-top:auto}.notes-grid,.blog-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.experience-layout{gap:var(--space-3);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.experience-layout>*{grid-column:span 6}.experience-list{margin:var(--space-3) 0 0;gap:var(--space-2);padding:0;list-style:none;display:grid}.experience-list li{justify-content:space-between;gap:var(--space-2);border-bottom:1px solid var(--border);padding-bottom:var(--space-2);display:flex}.experience-list strong{color:var(--text);font-weight:580}.cv-actions{margin-top:var(--space-3);gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.cv-target-block{margin-top:var(--space-5)}.cv-target-card{max-width:860px}.cv-target-card .card-title{margin-top:8px}.cv-experience-list{gap:var(--space-3);display:grid}.cv-role-card{border-left:2px solid var(--border-strong)}.cv-role-card .card-title{margin-top:10px}.cv-list{margin:var(--space-2) 0 0;gap:8px;padding-left:1.1rem;display:grid}.cv-list li{color:var(--text-secondary)}.cv-list--tight li{margin:0}.cv-skills-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.cv-bottom-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.contact-panel{text-align:center;padding:var(--space-6) var(--space-4)}.contact-panel .section-description{margin-left:auto;margin-right:auto}.contact-links{margin-top:var(--space-3);justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.contact-links a{border:1px solid var(--border);background:var(--surface);transition:transform .22s var(--ease-out), border-color .22s var(--ease-out);border-radius:999px;justify-content:center;align-items:center;padding:10px 16px;font-size:15px;font-weight:550;text-decoration:none;display:inline-flex}.contact-links .contact-icon-link{border-radius:999px;width:44px;height:44px;padding:0}.contact-icon{fill:currentColor;width:20px;height:20px}.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}.contact-links a:hover,.contact-links a:focus-visible{border-color:var(--border-strong);transform:translateY(-2px)}.page-intro{max-width:980px;margin-bottom:var(--space-4)}.filter-wrap{margin-bottom:var(--space-4)}.filter-input{border:1px solid var(--border);width:min(560px,100%);height:52px;padding:0 var(--space-3);color:var(--text);background:var(--surface);border-radius:999px;font-size:16px}.filter-input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.filter-empty{margin-top:var(--space-2)}.notes-list,.blog-list,.concept-list{gap:var(--space-3);display:grid}.notes-card,.blog-card,.concept-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:var(--space-3);box-shadow:var(--shadow);isolation:isolate;transition:transform .26s var(--ease-out), box-shadow .26s var(--ease-out);text-decoration:none;position:relative;overflow:hidden}.notes-card:hover,.blog-card:hover,.concept-card:hover,.notes-card:focus-visible,.blog-card:focus-visible,.concept-card:focus-visible{box-shadow:var(--shadow-hover);transform:translateY(-3px)}.concept-card__meta,.note-meta{color:var(--text-secondary);margin:0;font-size:14px}.detail-shell{max-width:1160px;margin:0}.project-backlink,.notes-backlink{color:var(--text);border:1px solid var(--border);background:var(--surface);transition:transform .24s var(--ease-out), border-color .24s var(--ease-out), background-color .24s var(--ease-out);border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:14px;font-weight:560;text-decoration:none;display:inline-flex}.project-backlink:before,.notes-backlink:before{content:"←"}.project-backlink:hover,.project-backlink:focus-visible,.notes-backlink:hover,.notes-backlink:focus-visible{border-color:var(--border-strong);background:var(--surface-strong);transform:translateY(-1px)}.minimal-kicker,.minimal-intro{margin:var(--space-2) 0}.minimal-kicker{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:14px;font-weight:560}.minimal-intro{max-width:100%}.detail-chips{margin:var(--space-3) 0;flex-wrap:wrap;gap:10px;display:flex}.detail-chip{border:1px solid var(--border);background:var(--surface-strong);transition:transform .22s var(--ease-out), border-color .22s var(--ease-out), background-color .22s var(--ease-out);border-radius:999px;padding:6px 12px;font-size:14px}.detail-chip:hover,.detail-chip:focus-within{border-color:var(--border-strong);transform:translateY(-1px)}.detail-chip__label{color:var(--text);font-weight:560}.detail-chip__value{color:var(--text-secondary)}.detail-nav{margin:var(--space-4) 0 var(--space-3);flex-wrap:wrap;gap:10px;display:flex}.detail-nav a{border:1px solid var(--border);color:var(--text-secondary);transition:transform .26s var(--ease-out), border-color .26s var(--ease-out), background-color .26s var(--ease-out), color .26s var(--ease-out), box-shadow .26s var(--ease-out);border-radius:999px;padding:8px 13px;font-size:14px;text-decoration:none}.detail-nav a.is-active,.detail-nav a:hover,.detail-nav a:focus-visible{color:var(--text);border-color:var(--border-strong);background:var(--surface-strong);transform:translateY(-1px);box-shadow:0 14px 26px -20px #00000061}.detail-block{border-top:1px solid var(--border);padding:1.5rem 0}.detail-block+.detail-block{margin-top:var(--space-3)}.detail-block[hidden]{display:none}.detail-list{margin:0;padding-left:1.1rem}.detail-list li+li{margin-top:10px}.project-points{gap:var(--space-2);display:grid}.project-points p{margin:0}.project-links{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.detail-metric-grid{gap:0;display:grid}.detail-metric{border-bottom:1px solid var(--border);grid-template-columns:minmax(8rem,.6fr) minmax(9rem,.7fr) minmax(0,2fr);align-items:baseline;gap:1rem 2rem;padding:1.2rem 0;display:grid}.detail-metric__label{color:var(--text-secondary);margin:0;font-size:14px}.detail-metric h3{margin:0;font-size:1.25rem}.detail-metric p{margin:0}.project-link-muted{font-size:14px}.note-article h2{margin-top:var(--space-5);font-size:clamp(1.55rem,2.7vw,2.1rem)}.note-glance{margin:var(--space-4) 0;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow)}.note-glance .section-eyebrow{margin:0 0 var(--space-2)}.note-glance dl{margin:0}.note-glance dl>div{gap:var(--space-2);border-top:1px solid var(--border);grid-template-columns:110px minmax(0,1fr);padding:10px 0;display:grid}.note-glance dt{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:600}.note-glance dd{color:var(--text);margin:0}@media (width<=600px){.note-glance dl>div{grid-template-columns:1fr;gap:4px}}.note-article table{border-collapse:collapse;border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font-size:14px;display:table}.note-article th,.note-article td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;min-width:150px;padding:11px 16px}.note-article th{color:var(--text);background:var(--surface);font-weight:600}.note-article div.highlighter-rouge{margin:var(--space-4) 0}.note-article pre{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--code-bg);max-width:100%;padding:var(--space-3);margin:0;font-size:13.5px;line-height:1.65;overflow-x:auto}.note-callout{border-left:2px solid var(--border);background:var(--surface-strong);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:var(--space-2);margin:var(--space-3) 0}.note-callout--definition{border-left-color:var(--callout-definition)}.note-callout--pitfall{border-left-color:var(--callout-pitfall)}.note-callout--inference{border-left-color:var(--callout-inference)}.type-badge{color:var(--text);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}[data-filter-card][hidden]{display:none!important}.review-filters{gap:var(--space-2);margin-bottom:var(--space-5);display:grid}.review-filters .filter-input{margin-bottom:var(--space-1)}.facet-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.facet-row__label{min-width:56px;color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:600}.facet-chip{border:1px solid var(--border);background:var(--bg);min-height:34px;color:var(--text-secondary);transition:transform .22s var(--ease-out), border-color .22s var(--ease-out), background-color .22s var(--ease-out), color .22s var(--ease-out);border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.facet-chip:hover,.facet-chip:focus-visible{border-color:var(--border-strong);color:var(--text);transform:translateY(-1px)}.facet-chip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.facet-chip.is-active{border-color:var(--text);background:var(--text);color:var(--bg)}.facet-chip__count{opacity:.6;font-size:11px;font-weight:600}.facet-count{margin:var(--space-1) 0 0;font-size:13px}.review-grid{display:block}.review-card{border-bottom:1px solid var(--border);color:inherit;flex-direction:column;padding:1.5rem 0;text-decoration:none;display:flex}.review-card:hover .review-card__title{text-underline-offset:.15em;text-decoration:underline}.review-card:focus-visible{border-color:var(--border-strong);box-shadow:var(--shadow-hover)}.review-card:hover:after,.review-card:focus-visible:after{opacity:.82;animation:7.2s linear infinite cardAuraDrift,3.4s ease-in-out infinite cardAuraPulse;transform:translateY(0)scale(1)}.review-card:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.review-card__top{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;display:flex}.review-card__topics{color:var(--text-secondary);letter-spacing:.04em;font-size:12px;font-weight:600}.review-card__title{margin:.7rem 0 0;font-size:clamp(1.35rem,1.8vw,1.85rem);font-weight:650;line-height:1.22}.review-card__summary{margin:var(--space-2) 0 0;max-width:100%;font-size:14px}.review-card__foot{justify-content:space-between;gap:var(--space-2);margin:.8rem 0 0;font-size:13px;display:flex}.review-card__featured{color:var(--text-secondary);font-size:12px;font-weight:600}.review{--rail:208px;grid-template-columns:var(--rail) minmax(0, 1fr);column-gap:var(--space-6);max-width:var(--container);grid-template-areas:"back head""rail body";margin:0 auto;display:grid}.review-back{grid-area:back;padding-top:6px}.review-head{max-width:860px;padding-bottom:var(--space-6);grid-area:head}.review-head__kicker{margin:0 0 var(--space-3);color:var(--text-secondary);letter-spacing:.03em;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:13px;font-weight:600;display:flex}.review-head__title{letter-spacing:-.035em;max-width:none;font-size:clamp(2.1rem,5vw,3.6rem);font-weight:700;line-height:1.04}.review-head__dek{max-width:none;margin:var(--space-3) 0 0;font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.55}.review-head__actions{margin-top:var(--space-4);flex-wrap:wrap;gap:10px;display:flex}.btn__ext{margin-left:6px;font-size:.9em}.review-rail{gap:var(--space-5);flex-direction:column;grid-area:rail;display:flex}.review-label{padding-top:var(--space-2);border-top:1px solid var(--text);gap:14px;margin:0;display:grid}.review-label dt{color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.review-label dd{color:var(--text);margin:3px 0 0;font-size:14px;line-height:1.45}.review-label__tags{flex-wrap:wrap;gap:6px;padding-top:4px;display:flex}.review-toc{top:calc(72px + var(--space-4));max-height:calc(100vh - 72px - var(--space-6));scrollbar-width:thin;position:sticky;overflow-y:auto}.review-toc[hidden]{display:none}.review-toc__summary{color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;padding-bottom:var(--space-2);font-size:11px;font-weight:600;list-style:none}.review-toc__summary::-webkit-details-marker{display:none}.review-toc__list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.review-toc__item a{border-left:1px solid var(--border);color:var(--text-secondary);transition:color .22s var(--ease-out), border-color .22s var(--ease-out);gap:10px;padding:6px 0 6px 12px;font-size:13px;font-weight:500;line-height:1.4;text-decoration:none;display:flex}.review-toc__item--sub a{padding-left:40px;font-size:12.5px}.review-toc__number{font-variant-numeric:tabular-nums;flex:0 0 18px;padding-top:1px;font-size:11px}.review-toc__item a:hover,.review-toc__item a:focus-visible{color:var(--text)}.review-toc__item a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.review-toc__item a.is-active{border-left:2px solid var(--text);color:var(--text);padding-left:11px;font-weight:600}.review-toc__item--sub a.is-active{padding-left:39px}.review-body{grid-area:body;min-width:0;max-width:860px}.review-panel-title{margin:0 0 var(--space-3);color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.review-tldr,.review-glance{border-top:1px solid var(--border);padding:1.25rem 0}.review-glance{margin-top:var(--space-3)}.review-tldr__list{margin:0;padding-left:1.25rem}.review-tldr__list li{color:var(--text);font-size:16px;line-height:1.65}.review-tldr__list li+li{margin-top:.75rem}.review-tldr__list strong{font-weight:600}.review-glance__grid{gap:var(--space-3) var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.review-glance__grid div{border-top:1px solid var(--border);padding-top:12px}.review-glance__grid dt{color:var(--text-secondary);font-size:12px;font-weight:500}.review-glance__grid dd{color:var(--text);letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:17px;font-weight:600}.review-prose{margin-top:var(--space-6)}.review-prose>*{max-width:var(--review-prose-measure)}.review-prose>.table-wrap,.review-prose>figure,.review-prose>.review-figure,.review-prose>div[class*=highlighter-rouge]{max-width:none}.review-prose p,.review-prose li{font-size:16.5px;line-height:1.75}.review-prose p{margin:0 0 1.15em}.review-prose ul,.review-prose ol{margin:0 0 1.15em;padding-left:1.2rem}.review-prose li+li{margin-top:.35em}.review-prose strong{color:var(--text);font-weight:600}.review-prose a{color:var(--text);text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--border-strong)}.review-prose a:hover,.review-prose a:focus-visible{text-decoration-color:var(--text)}.review-prose h2{margin:var(--space-7) 0 var(--space-3);scroll-margin-top:104px;font-size:clamp(1.5rem,2.6vw,1.95rem);font-weight:700}.review-prose>h2:first-child{margin-top:0}.review-prose h2[data-section-number]:before{content:attr(data-section-number);margin-bottom:var(--space-2);color:var(--text-secondary);letter-spacing:.08em;font-variant-numeric:tabular-nums;font-size:12px;font-weight:600;display:block}.review-prose h3{margin:var(--space-5) 0 var(--space-2);scroll-margin-top:104px;font-size:1.2rem;font-weight:650}.review-prose h4{margin:var(--space-4) 0 var(--space-1);font-size:1rem;font-weight:650}.review-prose hr{margin:var(--space-6) 0;border:0;border-top:1px solid var(--border)}.review-prose blockquote{margin:var(--space-5) 0;padding:0 0 0 var(--space-3);border-left:2px solid var(--text)}.review-prose blockquote p{color:var(--text);font-size:1.2rem;line-height:1.55}.review-prose .note-callout{margin:var(--space-4) 0;padding:var(--space-2) var(--space-3)}.review-prose .note-callout p{font-size:15px;line-height:1.65}.review-prose .note-callout>:last-child{margin-bottom:0}.table-wrap{margin:var(--space-4) 0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);-webkit-overflow-scrolling:touch;overflow-x:auto}.table-wrap:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.review-prose table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.review-prose th,.review-prose td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;white-space:nowrap;padding:11px 16px}.review-prose td{color:var(--text-secondary)}.review-prose th{color:var(--text);letter-spacing:.04em;text-transform:uppercase;background:var(--surface);font-size:12px;font-weight:600}.review-prose tbody tr:last-child td{border-bottom:0}.review-prose td strong{color:var(--text)}.review-figure{margin:var(--space-5) 0}.review-figure__frame{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);padding:var(--space-4);overflow-x:auto}.review-figure__frame svg,.review-figure__frame img{width:100%;min-width:540px;height:auto;display:block}.review-figure figcaption{max-width:var(--review-prose-measure);color:var(--text-secondary);margin-top:12px;font-size:13px;line-height:1.55}.review-figure figcaption strong{color:var(--text);font-weight:600}.fig-line{fill:none;stroke:var(--border-strong);stroke-width:1.25px}.fig-line--on{stroke:var(--text);stroke-width:1.5px}.fig-box{fill:var(--bg);stroke:var(--border-strong);stroke-width:1px}.fig-box--soft{fill:var(--surface)}.fig-box--on{fill:var(--text);stroke:var(--text)}.fig-text{fill:var(--text-secondary);font-family:var(--font-body);font-size:13px}.fig-text--strong{fill:var(--text);font-weight:600}.fig-text--on{fill:var(--bg);font-weight:600}.fig-text--label{letter-spacing:.08em;text-transform:uppercase;font-size:11px}.review-prose code,.review-prose kbd{font-family:var(--font-mono);font-size:.86em}.review-prose :not(pre)>code{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:1px 6px}.review-prose div.highlighter-rouge{margin:var(--space-4) 0;position:relative}.review-prose pre{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--code-bg);padding:var(--space-3);tab-size:2;margin:0;font-size:13.5px;line-height:1.65;overflow-x:auto}.review-prose pre code{font-size:inherit;color:var(--code-string)}.highlight .c,.highlight .c1,.highlight .cm,.highlight .cs,.highlight .cp{color:var(--code-comment);font-style:italic}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kr,.highlight .kc,.highlight .kt,.highlight .kp,.highlight .ow,.highlight .nt,.highlight .nf,.highlight .fm,.highlight .nc{color:var(--code-keyword);font-weight:600}.highlight .s,.highlight .s1,.highlight .s2,.highlight .sd,.highlight .se,.highlight .si,.highlight .sb{color:var(--code-string)}.highlight .m,.highlight .mi,.highlight .mf,.highlight .mh,.highlight .il{color:var(--code-number)}.highlight .na,.highlight .nb,.highlight .bp,.highlight .py{color:var(--code-keyword)}.highlight .o,.highlight .p{color:var(--code-comment)}.highlight .err{color:inherit;background:0 0}.note-article .katex-display{margin:var(--space-4) 0;padding:var(--space-1) 0;overflow:auto hidden}.note-article .katex{color:var(--text)}.review-prose .katex-display{margin:var(--space-4) 0;padding:var(--space-1) 0;overflow:auto hidden}.review-prose .katex{color:var(--text);font-size:1.08em}.review-series{gap:var(--space-3);margin-top:var(--space-7);padding-top:var(--space-4);border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.review-series__link{color:inherit;transition:transform .22s var(--ease-out);gap:6px;text-decoration:none;display:grid}.review-series__link--next{text-align:right;grid-column:2}.review-series__dir{color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:600}.review-series__link--prev .review-series__dir:before{content:"← "}.review-series__link--next .review-series__dir:after{content:"  →"}.review-series__title{color:var(--text);font-size:1.05rem;font-weight:650;line-height:1.3}.review-series__link:hover,.review-series__link:focus-visible{transform:translateY(-1px)}.review-series__link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px;border-radius:4px}.review-related{margin-top:var(--space-6)}.review-series+.review-related{margin-top:var(--space-5)}.review-related__list{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.review-related .review-card{min-height:0;padding:var(--space-3)}.review-related .review-card__title{margin-top:var(--space-3);font-size:1.02rem}.review-related .review-card__foot{padding-top:var(--space-3)}.mega-panel--reviews{grid-template-columns:minmax(180px,.6fr) repeat(2,minmax(0,1fr))}.mega-col__more{font-weight:600;color:var(--text)!important;margin-top:14px!important}.mega-col__more:after{content:"  →"}@media (width<=1024px){.review{grid-template-columns:minmax(0,1fr);grid-template-areas:"back""head""rail""body"}.review-back{padding:0 0 var(--space-4)}.review-head{padding-bottom:var(--space-5)}.review-rail{gap:var(--space-3);margin-bottom:var(--space-5)}.review-label{gap:var(--space-2) var(--space-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.review-label>div:has(.review-label__tags){grid-column:1/-1}.review-toc{max-height:none;position:static;overflow:visible}.review-toc__details{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.review-toc__summary{min-height:48px;padding:0 var(--space-3);cursor:pointer;color:var(--text);justify-content:space-between;align-items:center;display:flex}.review-toc__summary:after{content:"+";letter-spacing:0;transition:transform .22s var(--ease-out);font-size:18px;font-weight:400}.review-toc__details[open] .review-toc__summary:after{transform:rotate(45deg)}.review-toc__summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-md)}.review-toc__list{padding:0 var(--space-3) var(--space-3)}.review-body{max-width:none}}@media (width<=760px){.facet-row__label{flex-basis:100%}.review-tldr,.review-glance{padding:1.25rem 0}.review-glance__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-prose{margin-top:var(--space-5)}.review-prose p,.review-prose li{font-size:16px;line-height:1.7}.review-prose h2{margin-top:var(--space-6)}.review-figure__frame{padding:var(--space-2)}.review-series{grid-template-columns:minmax(0,1fr)}.review-series__link--next{text-align:left;grid-column:1}}@media (width<=340px){.review-glance__grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.review-card,.review-card:after,.review-toc__item a,.review-toc__summary:after{transition:none;animation:none!important}}.note-summary,.note-related{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}body[data-page^="/blog/"]{--blog-reading-measure:min(84%, 72.5rem);--blog-artifact-measure:1320px}body[data-page^="/blog/"] .site-header__inner,body[data-page^="/blog/"] .site-main,body[data-page^="/blog/"] .site-footer{width:min(92%,1440px)}body[data-page^="/blog/"] .scroll-progress{display:none}html.js body[data-page^="/blog/"] [data-reveal],html.js body[data-page^="/blog/"] [data-reveal].is-visible,body[data-page^="/blog/"] .page-heading[data-reveal],body[data-page^="/blog/"] .page-heading[data-reveal].is-visible{opacity:1;filter:none;transition:none;transform:none}body[data-page="/blog/"] .site-main{padding-top:clamp(2.25rem,4vw,3.5rem)}body[data-page="/blog/"] .page-heading{margin-bottom:.65rem}body[data-page="/blog/"] .page-heading h1{font-size:clamp(2.5rem,4vw,3.6rem)}.blog-archive-intro{max-width:60rem;color:var(--text-secondary);margin:0 0 clamp(2rem,3vw,3rem);font-size:1.06rem;line-height:1.6}.blog-index{width:100%;max-width:none;margin:0}.blog-archive-head{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(16rem,25rem);align-items:end;gap:1.5rem 3rem;padding-bottom:1.25rem;display:grid}.blog-archive-head h2{margin:0;font-size:clamp(1.7rem,2.8vw,2.4rem);line-height:1.15}.blog-archive-head h2 span{color:var(--text-secondary);font-weight:400}.blog-series-summary{border-left:1px solid var(--border-strong);padding-left:1rem}.blog-series-summary p{margin:0}.blog-series-summary__label,.blog-series-summary__count,.blog-post-meta,.blog-featured-label,.blog-filters__label{font-family:var(--font-mono);letter-spacing:.02em;font-size:.76rem;line-height:1.45}.blog-series-summary__label{color:var(--blog-orientation);text-transform:uppercase}.blog-series-summary__title{font-size:.94rem;font-weight:600;line-height:1.35;margin-top:.2rem!important}.blog-series-summary__count{color:var(--text-secondary);margin-top:.25rem!important}.blog-filters{flex-wrap:wrap;align-items:center;gap:.25rem .65rem;margin:.75rem 0 .9rem;display:flex}.blog-filters__label{color:var(--text-secondary);text-transform:uppercase;margin-right:.5rem}.blog-filters a{min-height:40px;color:var(--text-secondary);border-bottom:1px solid #0000;align-items:center;padding:.3rem .55rem;font-size:.85rem;text-decoration:none;display:inline-flex}.blog-filters a:hover,.blog-filters a[aria-current=true]{color:var(--text);border-bottom-color:var(--text)}.blog-filters a[aria-current=true]{font-weight:600}.blog-post-list{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.blog-post-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(11rem,13rem);align-items:start;gap:1.5rem 3rem;padding:1.3rem 0;display:grid}.blog-post-main{min-width:0}.blog-post-titleline{flex-wrap:wrap;align-items:baseline;gap:.45rem .8rem;display:flex}.blog-post-titleline h3{margin:0;font-size:clamp(1.35rem,1.8vw,1.85rem);line-height:1.22}.blog-post-titleline h3 a{color:var(--text);text-decoration:none}.blog-post-titleline h3 a:hover{text-underline-offset:.15em;text-decoration:underline 1px}.blog-featured-label{color:var(--blog-orientation);text-transform:uppercase}.blog-post-description{max-width:100%;color:var(--text-secondary);margin:.42rem 0 0;font-size:.96rem;line-height:1.5}.blog-reading-order{color:var(--blog-orientation);font-family:var(--font-body);margin:0 0 .45rem;font-size:14px;font-weight:600;line-height:1.5}.blog-filter-count{color:var(--text-secondary);margin:0 0 .8rem;font-size:.85rem}.blog-heading .blog-reading-order{margin-bottom:.65rem}.blog-post-meta{color:var(--text-secondary);text-align:right;flex-wrap:wrap;justify-content:flex-end;gap:.2rem .8rem;margin:.25rem 0 0;display:flex}.blog-post-topic{color:var(--blog-orientation);flex-basis:100%}.blog-heading{width:var(--blog-reading-measure);margin-bottom:2.5rem;position:relative}.blog-all-posts{margin:0 0 1.4rem;font-size:.9rem}.blog-all-posts a{color:var(--blog-orientation);text-decoration:none}.blog-all-posts a:hover{color:var(--text);text-decoration:underline}.blog-kicker,.blog-byline,.figure-label{font-family:var(--font-mono);letter-spacing:.02em;font-size:.78rem;line-height:1.5}.blog-kicker{color:var(--blog-orientation);text-transform:uppercase;margin:0 0 1.5rem}.blog-heading h1{letter-spacing:-.04em;max-width:none;font-size:clamp(2.2rem,5vw,4.8rem);line-height:1.06}.blog-meta-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;margin-top:1.2rem;display:flex}.blog-byline{margin:0}.site-main--article{grid-template-columns:minmax(0,1fr) 15rem;align-items:start;column-gap:clamp(2rem,4vw,4.5rem);display:grid}.site-main--article>.page-heading{grid-column:1/-1}.site-main--article>.note-article{grid-area:2/1;min-width:0}.blog-rail{top:calc(72px + var(--space-4));max-height:calc(100vh - 72px - var(--space-6));scrollbar-width:thin;grid-area:2/2;position:sticky;overflow-y:auto}.blog-rail[hidden],.blog-rail__current{display:none}.blog-rail__label{margin:0 0 var(--space-2);color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.blog-rail__list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.blog-rail__list a{border-left:1px solid var(--border);color:var(--text-secondary);transition:color .22s var(--ease-out), border-color .22s var(--ease-out);gap:10px;padding:6px 0 6px 12px;font-size:13px;font-weight:500;line-height:1.4;text-decoration:none;display:flex}.blog-rail__list a.is-read{border-left-color:var(--blog-orientation)}.blog-rail__list a:hover{color:var(--text)}.blog-rail__list a.is-active{border-left:2px solid var(--blog-orientation);color:var(--text);padding-left:11px;font-weight:600}.blog-rail__sublist{margin:0;padding:0;list-style:none;display:none}.blog-rail__list li.is-open>.blog-rail__sublist{gap:1px;padding:2px 0 6px;display:grid}.blog-rail__sublist a{border-left:1px solid var(--border);color:var(--text-secondary);transition:color .22s var(--ease-out), background-color .22s var(--ease-out);padding:4px 0 4px 40px;font-size:12px;font-weight:400;line-height:1.4;text-decoration:none;display:block}.blog-rail__sublist a:hover{color:var(--text)}.blog-rail__sublist a.is-read{border-left-color:var(--blog-orientation)}.blog-rail__sublist a.is-active{border-left:2px solid var(--blog-orientation);color:var(--text);background:color-mix(in srgb, var(--blog-orientation) 8%, transparent);padding-left:39px;font-weight:600}.blog-rail__number,.blog-rail__current-number{color:var(--blog-orientation);font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex:0 0 18px;padding-top:1px;font-size:11px}@media (width<=1100px){.site-main--article{flex-direction:column;align-items:stretch;display:flex}.site-main--article>.page-heading{order:0}.site-main--article>.note-article{order:2}.blog-rail{top:var(--blog-rail-top,72px);z-index:30;border-bottom:1px solid var(--border);background:var(--header-bg);backdrop-filter:blur(12px);opacity:0;pointer-events:none;max-height:none;transition:opacity .22s var(--ease-out);order:1;margin:0 calc(50% - 50vw);padding:0 max(24px,50vw - 50%);position:sticky;overflow:visible}.blog-rail.has-current{opacity:1;pointer-events:auto}.blog-rail__label,.blog-rail__list{display:none}.blog-rail__current{color:var(--text);white-space:nowrap;text-overflow:ellipsis;align-items:baseline;gap:.75rem;margin:0;padding:.7rem 0;font-size:.88rem;font-weight:600;display:flex;overflow:hidden}.blog-rail__current-number{flex:none}.blog-rail__current-title{text-overflow:ellipsis;min-width:0;overflow:hidden}}.blog-series-nav{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:1.5rem}.blog-series-nav summary{cursor:pointer;min-height:44px;color:var(--text);align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;list-style:none;display:flex}.blog-series-nav summary::-webkit-details-marker{display:none}.blog-series-nav summary span{color:var(--text-secondary);font-weight:400}.blog-series-nav summary:after{content:"+";margin-left:auto;font-size:1.1rem;font-weight:400}.blog-series-nav[open] summary:after{content:"−"}.blog-series-nav ol{border-top:1px solid var(--border);margin:0;padding:0 0 .5rem;list-style:none}.blog-series-nav li{border-bottom:1px solid var(--border)}.blog-series-nav li:last-child{border-bottom:0}.blog-series-nav a{color:var(--text-secondary);grid-template-columns:2.2rem minmax(0,1fr) auto;align-items:baseline;gap:.65rem;padding:.65rem .55rem;font-size:.88rem;text-decoration:none;display:grid}.blog-series-nav a:hover{color:var(--text);text-decoration:underline}.blog-series-nav a[aria-current=page]{color:var(--blog-orientation);text-underline-offset:.2em;font-weight:600;text-decoration:underline}.blog-series-nav__number,.blog-series-nav__current{color:var(--blog-orientation);font-family:var(--font-mono);font-size:.85rem;font-weight:600}.note-article>:not(.blog-figure):not(.blog-wait-figure){max-width:min(100%, var(--blog-reading-measure));margin-left:0;margin-right:0}.note-article>p,.note-article>ul,.note-article>ol{color:var(--text);font-size:1.055rem;line-height:1.75}.note-article>p:first-child{margin-top:0}.note-article h2{border-top:1px solid var(--border);margin-top:3.5rem;padding-top:.9rem;scroll-margin-top:6rem;font-size:clamp(1.5rem,2.7vw,2.3rem)}.note-article h3{margin:2.2rem 0 0}.note-article strong{color:var(--text)}.note-article .notes-backlink{color:var(--blog-orientation);background:0 0;border:0;border-radius:0;padding:0}.note-evidence{border-top:1px solid var(--border);margin-top:1.7rem;padding:.9rem 0 0}.note-evidence p{margin:.35rem 0;font-size:.9rem;line-height:1.55}.note-evidence strong{min-width:9rem;color:var(--blog-orientation);font-family:var(--font-mono);text-transform:uppercase;margin-right:.5rem;font-size:.76rem;display:inline-block}.note-article table{background:0 0;border:0;border-radius:0}.blog-table-scroll{border-top:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);-webkit-overflow-scrolling:touch;overflow-x:auto}.blog-table-scroll table{min-width:max(100%,40rem)}.note-article th{background:0 0}.note-article td{color:var(--text)}.note-article th,.note-article td{border-color:var(--border);min-width:0}.note-article pre{border-radius:4px}.note-article .note-callout{background:0 0;border-left:0;border-radius:0;padding-inline:0}.blog-figure,.blog-wait-figure{max-width:var(--blog-artifact-measure);margin:2.2rem 0}.blog-figure--prose{max-width:var(--blog-reading-measure)}.blog-figure img{border:0;width:100%;height:auto;display:block}.blog-figure-label{color:var(--blog-orientation);margin:0 0 1rem;font-size:.875rem;font-weight:600;line-height:1.5}.blog-diagram{max-width:100%;overflow:auto hidden}.blog-diagram-svg{width:max(100%,780px);max-width:none;height:auto;font-family:var(--font-body);display:block}.blog-diagram-svg text{font-family:inherit}.blog-figure-reading{max-width:min(100%, var(--blog-reading-measure));color:var(--text);margin:.75rem 0 0;font-size:1.055rem;line-height:1.75}.blog-figure figcaption,.blog-wait-figure figcaption{max-width:var(--blog-reading-measure);color:var(--text-secondary);margin:.8rem 0 0;font-size:.95rem;line-height:1.6}.blog-figure--prose figcaption{max-width:100%}.blog-wait-figure{border-top:2px solid var(--blog-orientation);border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(16rem,.45fr);column-gap:clamp(2rem,6vw,7rem);padding:1.5rem 0 2rem;display:grid}.blog-wait-figure .figure-label{color:var(--blog-orientation);font-family:var(--font-body);grid-column:1/-1;margin:0;font-weight:600}.blog-wait-figure figcaption{align-self:end;margin-bottom:.5rem}.wait-number{color:var(--text);font-family:var(--font-body);letter-spacing:-.08em;margin:.4rem 0;font-size:clamp(4rem,11vw,8rem);line-height:1.1}.wait-number span{letter-spacing:0;font-size:.24em}.capacity-equation,.benchmark-template{border-block:1px solid var(--border);font-family:var(--font-body);overflow-wrap:anywhere;padding:1.2rem 0;font-size:.95rem!important;line-height:1.7!important}.capacity-equation span{white-space:nowrap}.note-related{margin-bottom:3rem}body[data-page^="/blog/"] :focus-visible{outline:2px solid var(--blog-orientation);outline-offset:3px}@media (width<=1050px){body[data-page^="/blog/"]{--blog-reading-measure:100%}.blog-wait-figure{grid-template-columns:minmax(0,1fr) minmax(12rem,.5fr)}}@media (width<=760px){body[data-page^="/blog/"] .site-header__inner,body[data-page^="/blog/"] .site-main,body[data-page^="/blog/"] .site-footer{width:calc(100% - 48px)}.blog-archive-head{grid-template-columns:minmax(0,1fr)}.blog-archive-intro{margin-bottom:2rem}.blog-filters__label{flex-basis:100%}.blog-post-row{grid-template-columns:minmax(0,1fr);gap:.7rem;padding:1.15rem 0}.blog-post-meta{text-align:left;justify-content:flex-start}.blog-post-topic{flex-basis:auto}.blog-wait-figure{display:block}.blog-figure--wide{overflow-x:visible}.blog-figure--wide img{width:max(100%,700px)}.blog-figure--prose{overflow-x:visible}.blog-figure--prose img{width:max(100%,620px)}.capacity-equation span{white-space:normal}.note-evidence strong{margin-bottom:.2rem;display:block}.note-article>p,.note-article>ul,.note-article>ol{font-size:1rem}.blog-figure figcaption,.blog-wait-figure figcaption{padding-inline:0}.blog-figure-reading{font-size:1rem}}.note-article ul,.note-article ol{padding-left:1.5rem}.note-article li{color:var(--text);font-size:inherit;line-height:inherit;padding-left:.3rem}.note-article li+li{margin-top:.6rem}.note-article ol>li::marker{color:var(--blog-orientation);font-weight:600}.note-article ul>li::marker{color:var(--text-secondary)}.benchmark-template ul{margin:0}html.js body[data-page^="/projects/"] [data-reveal],html.js body[data-page^="/paper-reviews/"] [data-reveal]{opacity:1;filter:none;transition:none;animation:none;transform:none}body[data-page^="/projects/"] .detail-block>*{opacity:1;animation:none;transform:none}body[data-page^="/projects/"] .detail-chips{gap:.75rem 2rem}body[data-page^="/projects/"] .detail-chip{background:0 0;border:0;border-radius:0;padding:0;transform:none}body[data-page^="/projects/"] .detail-nav{gap:.5rem 1.25rem}body[data-page^="/projects/"] .detail-nav a{box-shadow:none;background:0 0;border:0;border-bottom:1px solid #0000;border-radius:0;padding:.6rem 0;transform:none}body[data-page^="/projects/"] .detail-nav a:hover{border-bottom-color:var(--border-strong)}body[data-page^="/projects/"] .detail-nav a.is-active{border-bottom-color:var(--text);font-weight:600}.project-components{margin:0;padding-left:1.3rem}.project-components li{padding-left:.3rem}.project-components li+li{margin-top:1rem}.project-table-scroll{margin:1rem 0;overflow-x:auto}.project-table-scroll table{border-collapse:collapse;width:100%;min-width:38rem;display:table}.project-table-scroll th,.project-table-scroll td{text-align:left;border-bottom:1px solid var(--border);padding:.9rem 1rem .9rem 0}.project-table-scroll th{color:var(--text);font-weight:600}body[data-page="/projects/"] .cards-grid{display:block}body[data-page="/projects/"] .project-card{border:0;border-bottom:1px solid var(--border);min-height:0;box-shadow:none;background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) 13rem;column-gap:3rem;padding:1.8rem 0;animation:none;display:grid;transform:none}body[data-page="/projects/"] .project-card:before,body[data-page="/projects/"] .project-card:after{display:none}body[data-page="/projects/"] .card-meta,body[data-page="/projects/"] .card-title,body[data-page="/projects/"] .card-summary{grid-column:1}body[data-page="/projects/"] .card-title{margin:.45rem 0;font-size:clamp(1.35rem,1.8vw,1.85rem);line-height:1.22}body[data-page="/projects/"] .card-summary{max-width:none;margin:0}body[data-page="/projects/"] .project-stack{grid-area:2/2;align-self:start;margin:0}body[data-page="/projects/"] .project-stack .tag{background:0 0;border:0;border-radius:0;padding:0}body[data-page="/projects/"] .card-link{grid-area:3/2;margin-top:.8rem}.review-empty{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.25rem}.review-head__question{color:var(--text-secondary);margin:0 0 1rem;font-size:1rem;font-weight:600}.review-label__tags .tag{background:0 0;border:0;border-radius:0;padding:0}@media (width<=760px){.detail-metric{grid-template-columns:minmax(0,1fr);gap:.4rem}body[data-page="/projects/"] .project-card{display:block}body[data-page="/projects/"] .project-stack{margin-top:1rem}body[data-page^="/projects/"] .detail-block{padding:1.25rem 0}}.site-footer{margin-top:var(--space-6);padding:var(--space-4) 0;border-top:1px solid var(--border)}.site-footer p{margin:0;font-size:14px}html.js [data-reveal]{opacity:0;filter:blur(7px);transform:translateY(26px)scale(.992)}html.js [data-reveal].is-visible{opacity:1;filter:blur();transition:opacity .36s var(--ease-out), transform .56s var(--ease-out), filter .46s var(--ease-out);transition-delay:calc(var(--reveal-index,0) * 62ms);transform:translateY(0)scale(1)}.cards-grid>[data-reveal].is-visible,.notes-grid>[data-reveal].is-visible,.blog-grid>[data-reveal].is-visible,.notes-list>[data-reveal].is-visible,.blog-list>[data-reveal].is-visible,.concept-list>[data-reveal].is-visible{transition-delay:calc(var(--card-stagger-row,0) * 80ms + var(--card-stagger-col,0) * 42ms + 40ms)}@media (width<=1024px){.cards-grid>*{grid-column:span 6}.experience-layout>*{grid-column:span 12}.detail-metric-grid{grid-template-columns:1fr}.cv-skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.mega-shell{display:none}}@media (width<=760px){body{font-size:14px}.site-header__inner,.site-main,.site-footer{width:min(var(--container), 100% - var(--space-4))}.site-header__inner{gap:var(--space-2);min-height:64px;padding-block:var(--space-2);flex-wrap:wrap}.site-nav{gap:var(--space-2);flex-wrap:wrap;order:3;width:100%;margin-left:0}.hero{padding-top:var(--space-4);padding-bottom:var(--space-5);min-height:clamp(340px,52vh,480px)}.hero-container{width:min(var(--container), 100% - var(--space-4))}.hero__actions{width:100%}.hero__actions .btn{flex:200px}.cards-grid,.notes-grid,.blog-grid,.cv-skills-grid,.cv-bottom-grid{grid-template-columns:1fr}.cards-grid>*{grid-column:span 1}.section-block{margin-top:var(--space-7)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.intro-screen{display:none}body.intro-pending .site-header,body.intro-pending .site-main,body.intro-pending .site-footer{opacity:1;pointer-events:auto;transform:none}html.js [data-reveal],html.js [data-reveal].is-visible{opacity:1;filter:none;transition:none;transform:none}.premium-card,.notes-card,.blog-card,.concept-card,.btn,.theme-toggle,.contact-links a,.card-link:after,.inline-link:after{transition:none}.mega-shell,.mega-panel,.mega-col a,.mega-col h3,.project-backlink,.notes-backlink,.detail-nav a,.review-toc a,.facet-chip,.review-series__link,.detail-chip,.detail-block,.detail-metric{transition:none;animation:none}.detail-block.is-active>*{opacity:1;animation:none;transform:none}.hero__glow:before,.hero__glow:after,.hero:before{animation:none}.premium-card:after,.notes-card:after,.blog-card:after,.concept-card:after{transition:none;animation:none}}@keyframes megaPanelIn{0%{opacity:0;filter:blur(8px);transform:perspective(1200px)translateY(-30px)rotateX(-12deg)scale(.97)}to{opacity:1;filter:blur();transform:perspective(1200px)translateY(0)rotateX(0)scale(1)}}@keyframes detailBlockIn{0%{opacity:0;filter:blur(4px);transform:translateY(12px)scale(.99)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes detailBlockContentIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes heroGradientDrift{0%{transform:translate(-10%,-6%)scale(1.02)rotate(-5deg)}14%{transform:translate(8%,-8%)scale(1.14)rotate(2deg)}28%{transform:translate(10%,6%)scale(1.09)rotate(6deg)}42%{transform:translate(-6%,8%)scale(1.18)rotate(-1deg)}57%{transform:translate(-12%,-2%)scale(1.06)rotate(-6deg)}71%{transform:translate(6%,-10%)scale(1.15)rotate(2deg)}85%{transform:translate(11%,3%)scale(1.1)rotate(5deg)}to{transform:translate(-10%,-6%)scale(1.02)rotate(-5deg)}}@keyframes heroGradientDriftAlt{0%{transform:translate(8%,6%)scale(1)rotate(4deg)}16%{transform:translate(2%,-8%)scale(1.14)rotate(-2deg)}32%{transform:translate(-9%,-7%)scale(1.09)rotate(-5deg)}48%{transform:translate(-6%,9%)scale(1.18)rotate(0)}64%{transform:translate(6%,10%)scale(1.08)rotate(5deg)}80%{transform:translate(10%,-2%)scale(1.14)rotate(2deg)}to{transform:translate(8%,6%)scale(1)rotate(4deg)}}@keyframes heroBaseFlow{0%{background-position:10% 12%,88% 8%,50% 92%,22% 78%,72% 68%,0%}12%{background-position:20% 8%,80% 16%,56% 88%,18% 70%,78% 62%,24% 42%}24%{background-position:6% 18%,92% 12%,62% 82%,30% 84%,64% 74%,46% 56%}36%{background-position:16% 24%,76% 6%,48% 94%,38% 72%,58% 62%,62% 48%}48%{background-position:24% 10%,86% 18%,56% 86%,14% 82%,76% 56%,78% 40%}60%{background-position:8% 20%,94% 8%,46% 80%,26% 66%,68% 78%,54% 60%}72%{background-position:18% 14%,74% 14%,60% 90%,34% 86%,82% 66%,30% 46%}84%{background-position:12% 6%,90% 20%,52% 84%,20% 74%,70% 60%,14% 54%}to{background-position:10% 12%,88% 8%,50% 92%,22% 78%,72% 68%,0%}}@keyframes heroGradientFlow{0%{background-position:18% 44%}20%{background-position:88% 18%}40%{background-position:74% 82%}60%{background-position:12% 70%}80%{background-position:66% 26%}to{background-position:18% 44%}}@keyframes heroGradientFlowAlt{0%{background-position:74% 58%}20%{background-position:22% 24%}40%{background-position:86% 74%}60%{background-position:30% 82%}80%{background-position:62% 22%}to{background-position:74% 58%}}@keyframes heroAmbientPulse{0%{opacity:.42;transform:scale(.98)translate(-3%,1%)}25%{opacity:.58;transform:scale(1.05)translate(4%,-3%)}50%{opacity:.5;transform:scale(1.08)translate(-2%,4%)}75%{opacity:.62;transform:scale(1.03)translate(5%,2%)}to{opacity:.42;transform:scale(.98)translate(-3%,1%)}}@keyframes cardAuraDrift{0%{background-position:28% 44%}20%{background-position:86% 20%}40%{background-position:74% 84%}60%{background-position:16% 76%}80%{background-position:64% 24%}to{background-position:28% 44%}}@keyframes cardAuraPulse{0%{filter:blur(20px)saturate(122%)contrast(101%)}50%{filter:blur(24px)saturate(130%)contrast(104%)}to{filter:blur(20px)saturate(122%)contrast(101%)}}@keyframes introAmbient{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1.06)}}@keyframes introNameReveal{0%{opacity:0;filter:blur(10px);letter-spacing:.52em;transform:translateY(26px)scale(.98)}60%{opacity:1;filter:blur();transform:translateY(0)scale(1)}to{opacity:1;filter:blur();letter-spacing:.34em;transform:translateY(0)scale(1)}}@keyframes introSubReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes introLineReveal{0%{opacity:0;transform:translate(-50%)scaleX(.4)}40%{opacity:.88}to{opacity:.5;transform:translate(-50%)scaleX(1)}}.astro-code{--astro-code-foreground:var(--code-string);--astro-code-background:var(--code-bg);--astro-code-token-keyword:var(--code-keyword);--astro-code-token-function:var(--code-keyword);--astro-code-token-constant:var(--code-number);--astro-code-token-string:var(--code-string);--astro-code-token-string-expression:var(--code-string);--astro-code-token-comment:var(--code-comment);--astro-code-token-punctuation:var(--code-comment);--astro-code-token-parameter:var(--code-string);--astro-code-token-link:var(--code-keyword)}.note-article .astro-code{--astro-code-foreground:var(--text)}.note-article pre.astro-code,.review-prose pre.astro-code{margin:var(--space-4) 0}.blog-diagram .fig-replay{border:1px solid var(--border-strong);min-height:32px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border-radius:4px;margin:.5rem 0 0 auto;padding:0 .8rem;font-size:.8rem;display:block}.blog-diagram .fig-replay:hover{border-color:var(--text);color:var(--text)}.blog-diagram .fig-controls{justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}.blog-diagram .fig-controls .fig-replay{margin:0}.blog-diagram .fig-controls .fig-pause[hidden]{display:none}.scrub{--scrub-ink:#594578;--scrub-rail:var(--border-strong);--scrub-tick:#a4a4ae;--p:50%;--n:4;-webkit-appearance:none;appearance:none;cursor:pointer;background:0 0;width:100%;max-width:460px;height:30px;margin:.35rem 0 0;padding:0;display:block}.scrub:focus{outline:none}.scrub::-webkit-slider-runnable-track{background:linear-gradient(var(--scrub-ink), var(--scrub-ink)) 0 13px/var(--p) 2px no-repeat, linear-gradient(var(--scrub-rail), var(--scrub-rail)) 0 13.5px/100% 1px no-repeat, repeating-linear-gradient(to right, var(--scrub-tick) 0 1px, transparent 1px calc((100% - 1px) / var(--n))) 0 20px/100% 6px no-repeat;height:30px}.scrub::-moz-range-track{background:linear-gradient(var(--scrub-rail), var(--scrub-rail)) 0 13.5px/100% 1px no-repeat, repeating-linear-gradient(to right, var(--scrub-tick) 0 1px, transparent 1px calc((100% - 1px) / var(--n))) 0 20px/100% 6px no-repeat;height:30px}.scrub::-moz-range-progress{background:var(--scrub-ink);height:2px}.scrub::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--scrub-ink);width:4px;height:20px;box-shadow:0 0 0 3px var(--bg,#fff);transition:height .16s var(--ease-out), margin-top .16s var(--ease-out);border:0;border-radius:2px;margin-top:4px}.scrub::-moz-range-thumb{background:var(--scrub-ink);width:4px;height:20px;box-shadow:0 0 0 3px var(--bg,#fff);border:0;border-radius:2px}.scrub:hover::-webkit-slider-thumb,.scrub:active::-webkit-slider-thumb{height:24px;margin-top:2px}.scrub:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--bg,#fff), 0 0 0 5px var(--scrub-ink)}.scrub:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--bg,#fff), 0 0 0 5px var(--scrub-ink)}.scrub-scale{max-width:460px;font-family:var(--font-mono);color:var(--text-secondary);justify-content:space-between;margin-top:-2px;font-size:10.5px;display:flex}.mega-panel--topics{grid-template-columns:minmax(170px,.62fr) minmax(0,4fr);gap:34px}.mega-topics{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));align-items:start;gap:28px 30px;display:grid}.mega-topic__count{white-space:nowrap;color:var(--text-secondary);text-transform:none;letter-spacing:0;font-weight:400}.mega-topic__label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--blog-orientation);margin:0 0 6px;font-size:10.5px}.mega-latest{max-width:220px;margin-top:18px}.mega-latest__label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--blog-orientation);margin:0 0 4px;font-size:10.5px}.mega-col .mega-latest__title{color:var(--text);margin-top:0;font-weight:600;line-height:1.35}.mega-topic h3{margin-bottom:10px}.mega-topic h3 a{color:var(--text);font-size:inherit;margin:0}.mega-topic__list{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.mega-topic__list li{border-bottom:1px solid var(--border)}.mega-topic__list a{gap:10px;margin:0;padding:7px 0;font-size:13.5px;line-height:1.35;display:flex}.mega-topic__n{font-family:var(--font-mono);color:var(--blog-orientation);flex:0 0 18px;padding-top:2px;font-size:10.5px}.fig-panel{color:var(--text-secondary);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem 2rem;margin-top:.5rem;font-size:.85rem;display:grid}.fig-panel__name{gap:.5rem;margin-bottom:.3rem;display:flex}.fig-panel__name strong{color:var(--text);font-family:var(--font-mono);margin-left:auto;font-size:.8rem;font-weight:600}.fig-chips{flex-wrap:wrap;gap:.35rem;display:flex}.fig-chip{border:1px solid var(--border-strong);color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border-radius:4px;padding:.25rem .6rem;font-size:.78rem}.fig-chip:hover{color:var(--text)}.fig-chip[aria-pressed=true]{color:var(--text);border-color:#594578;box-shadow:inset 0 -2px #594578}.fig-field{border:1px solid var(--border-strong);width:100%;color:var(--text);font-family:var(--font-mono);background:0 0;border-radius:4px;padding:.35rem .5rem;font-size:.8rem}.fig-field:focus{outline-offset:1px;outline:2px solid #594578}.project-card{position:relative}.project-card .card-link{position:static}.project-card .card-link:before{content:"";z-index:2;position:absolute;inset:0}.blog-path{max-width:var(--blog-reading-measure,72ch);border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:0 0 2.5rem;padding:1rem 0}.blog-path__label{color:var(--text-secondary);margin:0 0 .6rem;font-size:.85rem;font-weight:600}.blog-path ol{counter-reset:path;gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.blog-path li{counter-increment:path;align-items:baseline;gap:.75rem;display:flex}.blog-path li:before{content:counter(path, decimal-leading-zero);font-family:var(--font-mono);color:var(--blog-orientation);flex:0 0 1.5rem;font-size:.75rem}.blog-path a{color:var(--text);text-decoration:none}.blog-path a:hover{text-decoration:underline}.case{counter-reset:case;grid-template-columns:180px minmax(0,1fr);gap:0 64px;padding:3rem 0 2rem;display:grid}.case__rail{align-self:start;font-size:.85rem;position:sticky;top:96px}.case__rail-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin:0 0 1rem;font-size:.72rem}.case__rail ol{border-left:1px solid var(--border);margin:0;padding:0;list-style:none}.case__rail li a{color:var(--text-secondary);border-left:2px solid #0000;margin-left:-1px;padding:.4rem 0 .4rem .85rem;line-height:1.35;text-decoration:none;display:block}.case__rail li a:hover{color:var(--text)}.case__rail li a[aria-current]{border-left-color:var(--blog-orientation);color:var(--text);font-weight:600}.case__rail-back{margin:2rem 0 0}.case__rail-back a{color:var(--text-secondary);text-decoration:none}.case__rail-back a:hover{color:var(--text)}.case__topline{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);justify-content:space-between;gap:1rem;margin-bottom:2rem;font-size:.75rem;display:flex}.case__name{color:var(--text)}.case__name:before{content:"";vertical-align:middle;background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:.6rem;display:inline-block}.case__status{border:1px solid var(--blog-orientation);color:var(--blog-orientation);border-radius:3px;margin-left:.6rem;padding:.05rem .4rem}.case__title{letter-spacing:-.035em;max-width:16ch;margin:0 0 2.5rem;font-size:clamp(2.6rem,6vw,4.6rem);font-weight:700;line-height:1.02}.case__finding dd{text-decoration:underline;text-decoration-color:var(--blog-orientation);text-underline-offset:6px;font-size:1.15rem;font-weight:600;line-height:1.5;text-decoration-thickness:2px}.case__rows{border-top:1px solid var(--text);margin:0}.case__rows>div{border-bottom:1px solid var(--border);grid-template-columns:140px minmax(0,1fr);gap:1.5rem;padding:1rem 0;display:grid}.case__rows dt{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--blog-orientation);padding-top:.2rem;font-size:.72rem;font-weight:600}.case__rows dd{max-width:70ch;color:var(--text);margin:0;line-height:1.6}.case__links{flex-wrap:wrap;gap:.4rem 1.5rem;display:flex}.case__links a{color:var(--text);text-underline-offset:4px;font-weight:600;text-decoration:underline 1px}.case__numbers{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:3rem 0;display:grid}.case__numbers>div{flex-direction:column;gap:.4rem;padding:0 1.5rem 0 0;display:flex}.case__numbers>div+div{border-left:1px solid var(--border);padding-left:1.5rem}.case__numbers dd{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:0;font-size:clamp(2rem,3.6vw,2.8rem);font-weight:700;line-height:1}.case__numbers dt{color:var(--text-secondary);font-size:.85rem;line-height:1.45}.case__cover{border:1px solid var(--border);border-radius:6px;width:100%;margin:0 0 3rem;display:block}.case__body{max-width:none}.case__body>:is(p,ul,ol,h3){max-width:72ch}.case__body h2{counter-increment:case;border-top:1px solid var(--border);letter-spacing:-.02em;margin:4.5rem 0 1.5rem;padding-top:2rem;font-size:clamp(1.8rem,3vw,2.4rem)}.case__body h2:before{content:counter(case, decimal-leading-zero);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--blog-orientation);margin-bottom:.9rem;font-size:.72rem;font-weight:600;display:block}.case__body h3{color:var(--blog-orientation);margin-top:2.5rem}.case__body table{width:100%}.case__body img{border:1px solid var(--border);border-radius:4px;width:100%}.case__next{border-top:1px solid var(--text);color:var(--text);gap:.35rem;margin:5rem 0 1rem;padding:2rem 0;text-decoration:none;display:grid}.case__next span{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);font-size:.72rem}.case__next strong{letter-spacing:-.02em;font-size:1.6rem}.case__next em{max-width:70ch;color:var(--text-secondary);font-style:normal}.case__next:hover strong{text-underline-offset:5px;text-decoration:underline}@media (width<=900px){.case{grid-template-columns:1fr;padding-top:1.5rem}.case__rail{margin-bottom:2rem;position:static}.case__rail ol,.case__rail-label{display:none}.case__rail-back{margin:0}.case__topline{flex-direction:column;gap:.4rem}.case__name:before{margin-right:.4rem}.case__rows>div{grid-template-columns:1fr;gap:.35rem}.case__numbers>div+div{border-left:0;border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem;padding-left:0}}.case__body figure{margin:2.5rem 0}.case__body figcaption{max-width:72ch;color:var(--text-secondary);margin-top:.75rem;font-size:.9rem;line-height:1.55}.note-article h2[data-section-number]:before{content:attr(data-section-number);color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.08em;font-variant-numeric:tabular-nums;margin-bottom:.5rem;font-size:12px;font-weight:600;display:block}.reading-path__list{color:var(--text-secondary);margin:.75rem 0 0 1.4rem;padding:0;line-height:1.7}.reading-path__list a{color:var(--text);font-weight:600}.blog-rail--constellation .blog-rail__list{gap:4px;position:relative}.blog-rail--constellation .blog-rail__sky{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.blog-rail--constellation .sky-edge{stroke:var(--border-strong);stroke-width:1px;stroke-dasharray:2 4;opacity:.7;transition:stroke .4s var(--ease-out)}.blog-rail--constellation .sky-edge.is-lit{stroke-width:1.4px;stroke-dasharray:none;opacity:.9}.blog-rail--constellation .sky-attention{fill:none;stroke-width:1px;stroke-dasharray:1 3}.blog-rail--constellation .blog-rail__list a{z-index:1;padding:6px 0 6px calc(var(--x,0px) + 24px);border-left:0;position:relative}.blog-rail--constellation .blog-rail__list a.is-active,.blog-rail--constellation .blog-rail__list a.is-read{padding-left:calc(var(--x,0px) + 24px);border-left:0}.blog-rail--constellation .blog-rail__list a.is-active{color:var(--cc)}.blog-rail--constellation .blog-rail__number{color:var(--cc);opacity:.8}.blog-rail__star{left:calc(var(--x,0px) + 4px);background:var(--bg,#fff);border:1.5px solid var(--cc);width:9px;height:9px;transition:background-color .4s var(--ease-out), box-shadow .4s var(--ease-out);border-radius:50%;position:absolute;top:13px;transform:translate(-50%,-50%)}.blog-rail__star.is-lit{background:var(--cc);box-shadow:0 0 6px color-mix(in srgb, var(--cc) 55%, transparent)}.blog-rail__star.is-current{width:12px;height:12px;animation:2.4s ease-in-out infinite star-pulse}@keyframes star-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--cc) 55%, transparent), 0 0 8px color-mix(in srgb, var(--cc) 60%, transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb, var(--cc) 0%, transparent), 0 0 14px color-mix(in srgb, var(--cc) 70%, transparent)}}@media (prefers-reduced-motion:reduce){.blog-rail__star.is-current{animation:none}}.blog-rail--constellation .blog-rail__sublist{gap:0;padding:0;display:grid}.blog-rail--constellation .blog-rail__sublist li{--x:var(--sx)}.blog-rail--constellation .blog-rail__sublist a{padding:2px 0 2px calc(var(--sx,0px) + 22px);background:0 0;border-left:0;min-height:9px;font-size:0;line-height:0}.blog-rail--constellation .blog-rail__list li.is-open>.blog-rail__sublist a{padding-top:4px;padding-bottom:4px;font-size:12px;line-height:1.4}.blog-rail--constellation .blog-rail__sublist a.is-active{color:var(--cc);padding-left:calc(var(--sx,0px) + 22px);background:0 0;border-left:0}.blog-rail__star--sub{left:calc(var(--sx,0px) + 4px);border-width:1px;width:5px;height:5px;top:50%}.blog-rail__star--sub.is-current{width:7px;height:7px}.is-constellation h2.is-starred{background:linear-gradient(90deg, var(--cc), transparent) left bottom/9rem 2px no-repeat;padding-bottom:.45rem}.is-constellation h2.is-starred[data-section-number]:before{content:"✦ " attr(data-section-number);color:var(--cc)}.is-constellation h3.is-starred:before{content:"";background:var(--cc);vertical-align:.15em;width:7px;height:7px;box-shadow:0 0 6px color-mix(in srgb, var(--cc) 50%, transparent);border-radius:50%;margin-right:.55rem;display:inline-block}.post-emblem{text-align:center;margin:3rem 0 1rem}.post-emblem svg{width:min(100%,360px);height:auto}.post-emblem figcaption{color:var(--text-secondary);letter-spacing:.04em;margin-top:.4rem;font-size:.8rem}.review-toc__item--sub.is-folded{display:none}.review-toc a.is-parent{color:var(--text);font-weight:600}.is-constellation strong{color:color-mix(in srgb, var(--cc,var(--text)) 82%, var(--text))}.is-constellation li::marker{color:var(--cc,var(--text-secondary))}.is-constellation p a,.is-constellation li a{text-decoration-color:var(--cc,currentColor);text-underline-offset:3px;text-decoration-thickness:1.5px}.is-constellation figcaption strong{color:var(--cc,var(--text))}.is-constellation blockquote{border-left-color:var(--cc,var(--border))}.is-constellation code:not(pre code){box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--cc,transparent) 35%, transparent)}.is-constellation .katex{color:color-mix(in srgb, var(--cc,var(--text)) 70%, var(--text))}.blog-post-side{justify-items:end;gap:.4rem;display:grid}.blog-post-emblem{opacity:.85;width:9.5rem;transition:opacity .22s var(--ease-out), transform .3s var(--ease-out);display:block}.blog-post-emblem svg{width:100%;height:auto;display:block}.blog-post-row:hover .blog-post-emblem{opacity:1;transform:translateY(-2px)}@media (width<=720px){.blog-post-side{justify-items:start}.blog-post-emblem{width:7.5rem}}.blog-rail__skyswitch{margin:0 0 var(--space-3);gap:4px;display:flex}.blog-rail__skyswitch button{border:1px solid var(--border);color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border-radius:999px;flex:1;padding:4px 6px;font-size:11px}.blog-rail__skyswitch button[aria-pressed=true]{border-color:var(--text);color:var(--text);font-weight:600}@media (width<=1100px){.blog-rail__skyswitch{display:none}}.site-title{align-items:center;gap:.5rem;display:inline-flex}.site-title__mark{width:1.95rem;height:1.95rem;transition:transform .4s var(--ease-out);flex:none}.site-title:hover .site-title__mark{transform:rotate(-6deg)scale(1.06)}.post-seal{color:var(--text-secondary);letter-spacing:.06em;justify-content:center;align-items:center;gap:.6rem;margin:3rem 0 0;font-size:.8rem;display:flex}.review-rail .blog-rail{margin-top:var(--space-5);grid-area:auto}@media (width>=1101px){.review-rail:has(.review-constellation:not([hidden])) .review-toc{display:none}}@media (width<=1100px){.review-rail .review-constellation{display:none}}.review-card__emblem{opacity:.85;width:8.5rem;transition:opacity .22s var(--ease-out), transform .3s var(--ease-out);margin:.6rem 0 .2rem;display:block}.review-card__emblem svg{width:100%;height:auto;display:block}.review-card:hover .review-card__emblem{opacity:1;transform:translateY(-2px)}.blog-rail--constellation,.blog-rail--constellation *,.is-constellation,.is-constellation *{--cc:var(--c)}html[data-theme=dark] :is(.blog-rail--constellation,.blog-rail--constellation *,.is-constellation,.is-constellation *){--cc:color-mix(in srgb, var(--c) 58%, #fff)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) :is(.blog-rail--constellation,.blog-rail--constellation *,.is-constellation,.is-constellation *){--cc:color-mix(in srgb, var(--c) 58%, #fff)}}html[data-theme=dark] :is(.blog-rail__sky,.post-emblem svg,.blog-post-emblem svg,.review-card__emblem svg,.site-title__mark,.post-seal__mark){filter:brightness(1.55)saturate(.9)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) :is(.blog-rail__sky,.post-emblem svg,.blog-post-emblem svg,.review-card__emblem svg,.site-title__mark,.post-seal__mark){filter:brightness(1.55)saturate(.9)}}.blog-rail__current-sub{display:none}@media (width<=1100px){.blog-rail__current{align-items:center}.blog-rail__current-text{min-width:0;display:grid}.blog-rail.has-sub .blog-rail__current-title{color:var(--text-secondary);font-size:.72rem;font-weight:500}.blog-rail.has-sub .blog-rail__current-sub{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.blog-rail:after{content:"";height:2px;width:var(--progress,0%);background:var(--bar,var(--blog-orientation));transition:width .3s var(--ease-out), background-color .3s var(--ease-out);position:absolute;bottom:-1px;left:0}}.site-title__mark,.post-seal__mark{color:var(--text)}.post-seal__mark{width:3.2rem;height:3.2rem}.fig-stepper{border:1px solid var(--border);background:var(--surface);border-radius:6px;margin-top:.75rem;padding:.75rem .9rem}.fig-stepper__controls{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.fig-stepper__controls button:disabled{opacity:.4;cursor:default}.fig-stepper__next{font-weight:600}.fig-stepper__count{color:var(--text-secondary);font-family:var(--font-mono);margin-left:auto;font-size:12px}.fig-stepper__say{color:var(--text);margin:.6rem 0 0;font-size:.95rem;line-height:1.5}.fig-stepper__math{border-left:3px solid var(--blog-orientation);background:var(--bg);color:var(--text);font-family:var(--font-mono);white-space:pre-wrap;margin:.35rem 0 0;padding:.4rem .6rem;font-size:.85rem;line-height:1.5;overflow-x:auto}.blog-post-titleline h3,.card-title,.review-card__title{font-weight:400}.blog-post-titleline h3 strong,.card-title strong,.review-card__title strong{font-weight:700}
