@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-gray-200:oklch(92.8% .006 264.531);--color-gray-500:oklch(55.1% .027 264.364);--color-white:#fff;--spacing:.25rem;--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--radius-sm:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.contents{display:contents}.flex{display:flex}.gap-8{gap:calc(var(--spacing) * 8)}.rounded-sm{border-radius:var(--radius-sm)}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-gray-500{border-color:var(--color-gray-500)}.bg-white{background-color:var(--color-white)}.px-2{padding-inline:calc(var(--spacing) * 2)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-6{padding-block:calc(var(--spacing) * 6)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}ul[role=list],ol[role=list]{list-style:none}:root{--bg:#f5f2ee;--bg2:#ede9e4;--bg3:#e6e0d8;--surface:#e8e3dd;--border:#00000014;--border-mid:#00000026;--text:#1a1714;--text-dim:#9b948c;--text-mid:#6b6157;--accent:#b5341e;--accent-warm:#c94830;--accent-dim:#b5341e1a;--amber:#b5341e;--amber-dim:#54190f;--nav-bg:#f5f2eee0;--font-sans:"DM Sans", sans-serif;--font-serif:"Fraunces", serif;--font-mono:"JetBrains Mono", "Courier New", monospace;--max-width:1100px;--content-width:740px;--nav-height:64px;--radius:3px;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-hover:0 4px 12px #00000014, 0 2px 4px #0000000d}[data-theme=dark]{--bg:#1a1614;--bg2:#211c1a;--bg3:#2a2320;--surface:#2a2320;--border:#ffffff14;--border-mid:#ffffff21;--text:#e8e4df;--text-dim:#6b6560;--text-mid:#9e9892;--accent:#c0392b;--accent-warm:#d4442f;--accent-dim:#c0392b26;--amber:#f8d952;--amber-dim:#413915;--nav-bg:#1a1614d9;--shadow:0 1px 3px #0000003d, 0 1px 2px #0003;--shadow-hover:0 4px 12px #00000052, 0 2px 4px #0003}body:before{content:"";opacity:.028;pointer-events:none;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");position:fixed;inset:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);flex-direction:column;min-height:100vh;font-size:1rem;line-height:1.65;transition:background .4s,color .3s;display:flex;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--text);letter-spacing:-.02em;line-height:1.2}h1{font-size:clamp(2rem,5vw,3rem);font-weight:700}h2{font-size:clamp(1.5rem,3.5vw,2.1rem);font-weight:600}h3{font-size:clamp(1.2rem,2.5vw,1.5rem);font-weight:600}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-warm)}p{margin-bottom:1.25rem}p:last-child{margin-bottom:0}.container{max-width:var(--content-width);margin:0 auto;padding:0 1.5rem}.container-wide{max-width:var(--max-width);margin:0 auto;padding:0 2.75rem}.site-header{z-index:100;height:var(--nav-height);background:0 0;justify-content:center;align-items:center;padding:0 2.5rem;transition:background .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s,box-shadow .3s;display:flex;position:fixed;top:0;left:0;right:0}.site-header.scrolled{background:var(--nav-bg);-webkit-backdrop-filter:blur(18px)saturate(1.4);box-shadow:0 1px 0 var(--border)}.nav-inner{width:100%;max-width:var(--max-width);justify-content:space-between;align-items:center;gap:1rem;display:flex}.nav-logo{color:var(--text);flex-shrink:0;align-items:center;gap:.6rem;text-decoration:none;display:flex}.nav-logo:hover{color:var(--text);text-decoration:none}.nav-logo img{transform-origin:bottom;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.nav-logo:hover img{transform:rotate(-10deg)scale(1.18)}.nav-wordmark{font-family:var(--font-serif);letter-spacing:-.01em;color:inherit;font-size:1.15rem;font-weight:600}.nav-links{align-items:center;gap:2.25rem;list-style:none;display:flex}.nav-link{font-family:var(--font-sans);color:var(--text-mid);padding:.35rem 0;font-size:.88rem;font-weight:400;text-decoration:none;transition:color .2s;position:relative}.nav-link:after{content:"";background:var(--accent);width:0;height:1px;transition:width .25s;position:absolute;bottom:0;left:0}.nav-link:hover{color:var(--text);background:0 0;text-decoration:none}.nav-link:hover:after{width:100%}.nav-link.active{color:var(--text)}.nav-link.active:after{background:var(--amber);width:100%}.nav-actions{align-items:center;gap:.5rem;display:flex}.theme-toggle{border:1px solid var(--border-mid);color:var(--text-mid);border-radius:var(--radius);cursor:pointer;width:34px;height:34px;font-family:var(--font-sans);background:0 0;flex-shrink:0;justify-content:center;align-items:center;font-size:.82rem;transition:all .2s;display:flex}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.mobile-menu{display:none;position:relative}.mobile-menu-btn{border:1px solid var(--border);color:var(--text-mid);border-radius:var(--radius);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:34px;height:34px;list-style:none;display:flex}.mobile-menu-btn::-webkit-details-marker{display:none}.mobile-menu-btn:hover{color:var(--text);border-color:var(--text-mid)}.mobile-menu-list{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);min-width:160px;box-shadow:var(--shadow);z-index:200;padding:.4rem;list-style:none;position:absolute;top:calc(100% + .5rem);right:0}.mobile-menu-link{color:var(--text);border-radius:var(--radius);padding:.5rem .75rem;font-size:.95rem;text-decoration:none;display:block}.mobile-menu-link:hover{background:var(--accent-dim);color:var(--accent);text-decoration:none}@media(max-width:640px){.nav-links{display:none}.mobile-menu{display:block}}.main-content{padding-top:var(--nav-height);flex:1}.page-header{border-bottom:1px solid var(--border);margin-bottom:0;padding:5rem 0 3rem}.page-header-eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--amber);align-items:center;gap:.75rem;margin-bottom:1rem;font-size:.72rem;display:flex}.page-header-eyebrow:before{content:"";background:var(--amber);width:18px;height:1px}.page-title{font-family:var(--font-serif);letter-spacing:-.03em;margin-bottom:.5rem;font-size:clamp(2.2rem,4vw,3.5rem);font-weight:700;line-height:1}.page-subtitle{font-family:var(--font-sans);color:var(--text-mid);max-width:480px;margin-top:.75rem;font-size:1rem;font-weight:300}.section{border-bottom:1px solid var(--border);padding:3rem 0}.section:last-child{border-bottom:none}.section-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;margin-bottom:2rem;padding-bottom:1rem;display:flex}.section-title{font-family:var(--font-serif);letter-spacing:-.02em;font-size:1.6rem;font-weight:600}.section-link{font-family:var(--font-sans);color:var(--accent);font-size:.85rem;font-weight:400;text-decoration:none}.section-link:hover{text-decoration:underline}.card-grid{gap:1.25rem;display:grid}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--text);padding:1.5rem;text-decoration:none;transition:transform .2s,box-shadow .2s;display:block}.card:hover{box-shadow:var(--shadow-hover);color:var(--text);text-decoration:none;transform:translateY(-2px)}.card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.6rem;display:flex}.card-title{font-family:var(--font-serif);color:var(--text);font-size:1.3rem;font-weight:600;line-height:1.25}.card:hover .card-title{color:var(--accent)}.card-date{color:var(--text-dim);white-space:nowrap;flex-shrink:0;font-size:.82rem;font-style:italic}.card-meta{color:var(--text-dim);align-items:center;gap:.5rem;font-size:.82rem;font-style:italic;display:flex}.card-desc{color:var(--text-mid);margin-bottom:.75rem;font-size:.95rem;line-height:1.6}.tag-list{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;list-style:none;display:flex}.tag{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:1px solid #b5341e59;border-radius:1px;padding:.2rem .6rem;font-size:.62rem;line-height:1.4}.tag.t-research{color:var(--accent);border-color:#b5341e66}.tag.t-tool{color:var(--amber);border-color:#a67c2066}.featured{padding:3rem 0 0}.featured-inner{border:1px solid var(--border);color:var(--text);grid-template-columns:1fr 280px;gap:0;text-decoration:none;transition:border-color .2s;display:grid;position:relative;overflow:hidden}.featured-inner:hover{border-color:var(--border-mid)}.featured-inner:before{content:"";background:var(--accent);width:3px;height:0;transition:height .4s;position:absolute;top:0;left:0}.featured-inner:hover:before{height:100%}.featured-body{border-right:1px solid var(--border);padding:2.5rem}.featured-badge{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:.65rem;display:flex}.featured-badge:before{content:"★"}.featured-title{font-family:var(--font-serif);letter-spacing:-.025em;margin-bottom:1rem;font-size:clamp(1.6rem,2.5vw,2.2rem);font-weight:700;line-height:1.15}.featured-excerpt{font-family:var(--font-sans);color:var(--text-mid);margin-bottom:1.75rem;font-size:1rem;font-weight:300;line-height:1.75}.featured-footer{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.read-more{font-family:var(--font-sans);color:var(--accent);align-items:center;gap:.4rem;font-size:.88rem;font-weight:500;text-decoration:none;display:flex}.read-more:after{content:"→";transition:transform .2s}.featured-inner:hover .read-more:after{transform:translate(4px)}.featured-meta{flex-direction:column;gap:2rem;padding:2.5rem;display:flex}.meta-block{flex-direction:column;gap:.3rem;display:flex}.meta-key{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);font-size:.65rem}.meta-val{font-family:var(--font-sans);color:var(--text-mid);font-size:.9rem;font-weight:400}.post-list{flex-direction:column;padding:2rem 0 0;display:flex}.post-row{border-bottom:1px solid var(--border);color:var(--text);grid-template-columns:100px 1fr 200px;align-items:start;gap:2rem;padding:2rem 0;text-decoration:none;transition:padding-left .2s;display:grid;position:relative}.post-row:hover{padding-left:.65rem}.post-row:hover .post-row-title{color:var(--accent)}.post-date{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.06em;padding-top:.2rem;font-size:.72rem}.post-type{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.4rem;font-size:.62rem;display:block}.post-type.research{color:var(--accent)}.post-type.tool{color:var(--amber)}.post-type.notes{color:var(--text-dim)}.post-row-title{font-family:var(--font-serif);letter-spacing:-.015em;margin-bottom:.6rem;font-size:1.15rem;font-weight:600;line-height:1.3;transition:color .2s}.post-excerpt{font-family:var(--font-sans);color:var(--text-mid);font-size:.9rem;font-weight:300;line-height:1.7}.post-aside{flex-direction:column;align-items:flex-end;gap:.5rem;padding-top:.2rem;display:flex}.post-readtime{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.08em;font-size:.65rem}.post-tags{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}#progress-bar{z-index:200;background:linear-gradient(to right,var(--accent),var(--amber));pointer-events:none;width:0%;height:2px;transition:width .1s linear;position:fixed;top:0;left:0}.post-header-wrap{border-bottom:1px solid var(--border);grid-template-columns:120px 1fr;align-items:start;gap:0 2rem;width:100%;max-width:960px;margin:0 auto;padding:3.5rem 2.75rem 2.5rem;display:grid}.post-header-wrap>:not(.post-breadcrumb){grid-column:2}.post-breadcrumb{font-family:var(--font-sans);color:var(--text-dim);top:calc(var(--nav-height) + 2rem);flex-direction:column;grid-area:1/1/span 4;align-items:flex-start;gap:.3rem;padding-top:.35rem;font-size:.78rem;display:flex;position:sticky}.post-breadcrumb .sep{display:none}.post-breadcrumb a{color:var(--text-dim);text-decoration:none;transition:color .2s}.post-breadcrumb a:hover{color:var(--accent)}.post-breadcrumb .sep{color:var(--border-mid)}.post-type-badge{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:1.25rem;font-size:.68rem}.post-detail-title{font-family:var(--font-serif);letter-spacing:-.03em;margin-bottom:1.25rem;font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.1}.post-desc{font-family:var(--font-sans);color:var(--text-mid);max-width:56ch;margin-bottom:2rem;font-size:1.05rem;font-weight:300;line-height:1.7}.post-meta-row{flex-wrap:wrap;align-items:center;gap:2rem;display:flex}.post-meta-item{flex-direction:column;gap:.2rem;display:flex}.post-meta-key{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);font-size:.62rem}.post-meta-val{font-family:var(--font-sans);color:var(--text-mid);font-size:.88rem}.content-wrap{max-width:var(--max-width);grid-template-columns:1fr 200px;align-items:start;gap:3.5rem;margin:0 auto;padding:3.5rem 2.75rem 0;display:grid}.toc{font-family:var(--font-sans);font-size:.82rem;position:sticky;top:5.5rem}.toc-title{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--amber);margin-bottom:1rem;font-size:.62rem}.toc-list{flex-direction:column;gap:.1rem;list-style:none;display:flex}.toc-item a{color:var(--text-dim);border-left:1px solid var(--border);padding:.25rem 0 .25rem .75rem;line-height:1.4;text-decoration:none;transition:color .2s,border-color .2s;display:block}.toc-item a:hover,.toc-item.active a{color:var(--text);border-left-color:var(--accent)}.toc-item.h3 a{padding-left:1.5rem;font-size:.78rem}.article-header{border-bottom:1px solid var(--border);margin-bottom:3rem;padding:3rem 0 2.5rem}.article-title{font-family:var(--font-serif);margin-bottom:1rem;font-size:clamp(1.8rem,5vw,2.8rem);font-weight:700;line-height:1.15}.article-meta{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.88rem;font-style:italic;display:flex}.article-back{color:var(--text-mid);align-items:center;gap:.4rem;margin-bottom:2rem;font-size:.875rem;text-decoration:none;display:inline-flex}.article-back:hover{color:var(--accent);text-decoration:none}.article-footer{border-top:1px solid var(--border);margin-top:3rem;padding:2.5rem 0}.prose{font-family:var(--font-sans);color:var(--text);min-width:0;max-width:68ch;font-size:1rem;line-height:1.8}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{font-family:var(--font-serif);letter-spacing:-.02em;margin-top:2.5em;margin-bottom:.75em;scroll-margin-top:5.5rem;font-weight:700;line-height:1.2}.prose h1{font-size:1.9rem}.prose h2{border-bottom:1px solid var(--border);padding-bottom:.5rem;font-size:1.5rem}.prose h3{color:var(--text-mid);font-size:1.2rem}.prose h4{font-size:1rem;font-weight:600;font-family:var(--font-sans);color:var(--text-mid)}.prose p{margin-bottom:1.25em}.prose p:last-child{margin-bottom:0}.prose strong{color:var(--text);font-weight:600}.prose em{font-style:italic}.prose a{color:var(--accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.prose a:hover{color:var(--amber)}.prose :not(pre)>code{font-family:var(--font-mono);background:var(--bg2);color:var(--amber);border:1px solid var(--border);border-radius:3px;padding:.1em .4em;font-size:.82em}[data-theme=light] .prose :not(pre)>code{background:var(--bg3)}.prose ul,.prose ol{margin-bottom:1.25em;padding-left:1.5rem}.prose li{margin-bottom:.4em}.prose li:last-child{margin-bottom:0}.prose ul li::marker{color:var(--accent)}.prose ol li::marker{color:var(--amber);font-family:var(--font-mono);font-size:.85em}.prose blockquote{border-left:3px solid var(--amber);background:var(--bg2);color:var(--text-mid);border-radius:0 4px 4px 0;margin:1.75em 0;padding:.75em 1.5em;font-style:italic}.prose blockquote p{margin-bottom:0}.prose table{border-collapse:collapse;width:100%;margin:1.75em 0;font-size:.9rem}.prose th{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--border-mid);text-align:left;background:var(--bg2);padding:.6rem 1rem;font-size:.7rem}.prose td{border-bottom:1px solid var(--border);color:var(--text-mid);vertical-align:top;padding:.65rem 1rem}.prose tr:hover td{background:var(--bg2)}.prose hr{border:none;border-top:1px solid var(--border);margin:2.5em 0}.prose pre{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:1.75rem 0;padding:1.25rem 1.5rem;line-height:1.6;overflow-x:auto}.prose pre code{font-family:var(--font-mono);color:var(--text);background:0 0;border:none;padding:0;font-size:.85rem}.prose img{border-radius:var(--radius);max-width:100%;height:auto;margin:1.5rem 0}.hljs{background:var(--surface);color:var(--text)}.hljs-keyword,.hljs-selector-tag,.hljs-built_in{color:var(--accent);font-style:italic}.hljs-string,.hljs-attr{color:#5a7a48}[data-theme=dark] .hljs-string,[data-theme=dark] .hljs-attr{color:#8aab79}.hljs-comment,.hljs-quote{color:var(--text-dim);font-style:italic}.hljs-number,.hljs-literal{color:#a0612f}[data-theme=dark] .hljs-number,[data-theme=dark] .hljs-literal{color:#c47c47}.hljs-type,.hljs-class .hljs-title,.hljs-title{color:#6b5030;font-weight:600}[data-theme=dark] .hljs-type,[data-theme=dark] .hljs-class .hljs-title,[data-theme=dark] .hljs-title{color:#c4a26b}.hljs-variable,.hljs-template-variable{color:var(--text-mid)}.hljs-addition{color:var(--amber);background:var(--amber-dim)}.hljs-deletion{color:var(--accent);background:var(--accent-dim)}.site-footer{border-top:1px solid var(--border);font-family:var(--font-sans);color:var(--text-dim);justify-content:space-between;align-items:center;margin-top:auto;padding:1.75rem 2.75rem;font-size:.82rem;font-weight:300;display:flex}.footer-links{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.footer-link{color:var(--text-dim);font-size:.82rem;text-decoration:none;transition:color .2s}.footer-link:hover{color:var(--accent);text-decoration:none}.footer-sep{color:var(--text-dim)}.footer-copy{color:var(--text-dim);font-size:.82rem}.hero{text-align:center;border-bottom:1px solid var(--border);padding:5rem 0 4rem}.hero-logo{width:100px;height:100px;margin:0 auto 2rem;transition:transform .3s;display:block}.hero-logo:hover{transform:scale(1.04)rotate(-1deg)}.hero-title{font-family:var(--font-serif);letter-spacing:-.02em;margin-bottom:.75rem;font-size:clamp(2.2rem,6vw,3.6rem);font-weight:700;line-height:1.1}.hero-tagline{color:var(--text-mid);font-size:1.05rem;font-style:italic;font-family:var(--font-serif);margin-bottom:1.5rem;font-weight:300}.hero-desc{max-width:520px;color:var(--text-mid);margin:0 auto;font-size:1rem;font-weight:300;line-height:1.7}.about-section{padding:3rem 0}.about-intro{margin-bottom:2.5rem;font-size:1.1rem;line-height:1.85}.about-contact{flex-direction:column;gap:.75rem;margin-top:2rem;display:flex}.about-contact-item{align-items:center;gap:.75rem;font-size:.95rem;display:flex}.about-contact-label{text-transform:uppercase;letter-spacing:.09em;color:var(--text-dim);width:80px;font-size:.78rem;font-family:var(--font-mono);flex-shrink:0}.search-wrapper{max-width:100%}.search-input-wrap{margin-bottom:2.5rem;position:relative}.search-icon{color:var(--text-dim);pointer-events:none;position:absolute;top:50%;left:.9rem;transform:translateY(-50%)}.search-input{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);font-family:var(--font-sans);appearance:none;outline:none;padding:.8rem 1rem .8rem 2.75rem;font-size:1rem;transition:border-color .15s,box-shadow .15s}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.search-input::placeholder{color:var(--text-dim)}.search-status{color:var(--text-dim);padding:1rem 0;font-size:.95rem;font-style:italic}.search-hint{text-align:center}.search-section{margin-bottom:2.5rem}.search-section-title{font-family:var(--font-serif);color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);margin-bottom:.75rem;padding-bottom:.5rem;font-size:1.1rem;font-weight:600}.search-list{flex-direction:column;gap:.75rem;list-style:none;display:flex}.search-result{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.25rem;padding:1rem 1.25rem;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.search-result:hover{border-color:var(--accent);text-decoration:none;transform:translate(3px)}.search-result-title{font-family:var(--font-serif);color:var(--text);font-size:1.15rem;font-weight:600}.search-result:hover .search-result-title{color:var(--accent)}.search-result-desc{color:var(--text-mid);font-size:.9rem;line-height:1.5}.hero-split{grid-template-columns:1fr 1fr;align-items:center;min-height:100vh;display:grid;position:relative;overflow:hidden}.hero-grid{background-image:radial-gradient(circle,var(--text-dim) 1px,transparent 1px);opacity:.09;pointer-events:none;background-size:44px 44px;position:absolute;inset:0}.hero-text{z-index:2;max-width:560px;padding:8rem 3rem 5rem 2.75rem;position:relative}.hero-eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--amber);align-items:center;gap:.75rem;margin-bottom:1.75rem;font-size:.75rem;animation:.55s .1s both fadeUp;display:flex}.hero-eyebrow:before{content:"";background:var(--amber);width:20px;height:1px;display:block}.hero-name{font-family:var(--font-serif);letter-spacing:-.03em;color:var(--text);margin-bottom:.3em;font-size:clamp(3.8rem,6vw,6.5rem);font-weight:700;line-height:.88;animation:.55s .2s both fadeUp}.hero-sub{font-family:var(--font-serif);color:var(--text-mid);margin-bottom:2rem;font-size:clamp(1.1rem,2vw,1.5rem);font-style:italic;font-weight:300;line-height:1.4;animation:.55s .28s both fadeUp}.hero-desc{font-family:var(--font-sans);color:var(--text-mid);max-width:420px;margin-bottom:2.75rem;font-size:1rem;font-weight:300;line-height:1.75;animation:.55s .36s both fadeUp}.hero-desc strong{color:var(--text);font-weight:500}.hero-meta-block{border-left:2px solid var(--border-mid);flex-direction:column;gap:.45rem;margin-bottom:3rem;padding-left:1.1rem;animation:.55s .44s both fadeUp;display:flex}.hero-meta-item{font-family:var(--font-sans);color:var(--text-dim);gap:1rem;font-size:.88rem;display:flex}.hero-meta-item .k{color:var(--text-mid);min-width:80px;font-weight:500}.hero-cta{flex-wrap:wrap;align-items:center;gap:1rem;animation:.55s .52s both fadeUp;display:flex}.btn-primary{font-family:var(--font-sans);color:var(--bg);background:var(--text);border-radius:2px;padding:.8rem 1.8rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-block}.btn-primary:hover{background:var(--accent);color:#fff}.btn-ghost{font-family:var(--font-sans);color:var(--text-mid);border:1px solid var(--border-mid);border-radius:2px;padding:.8rem 1.8rem;font-size:.9rem;font-weight:400;text-decoration:none;transition:all .2s;display:inline-block}.btn-ghost:hover{border-color:var(--text-mid);color:var(--text)}.hero-visual{justify-content:center;align-items:flex-end;height:100vh;display:flex;position:relative;overflow:visible}.duck-wrap{width:140%;margin-bottom:-30px;margin-right:-100px;animation:.9s .2s both fadeIn;position:relative}.duck-glow{filter:blur(55px);z-index:1;pointer-events:none;background:radial-gradient(#c0392b52,#0000 68%);width:65%;height:40%;position:absolute;bottom:12%;left:50%;transform:translate(-50%)}[data-theme=light] .duck-glow{background:radial-gradient(#c0392b29,#0000 68%)}.duck-svg-hero{z-index:2;transform-origin:50% 12%;filter:drop-shadow(0 50px 80px #91030380);width:100%;animation:7s ease-in-out infinite duckFloat;position:relative}[data-theme=light] .duck-svg-hero{filter:drop-shadow(0 25px 50px #0000002e)}@keyframes duckFloat{0%,to{transform:translateY(0)rotate(0)}30%{transform:translateY(-16px)rotate(.7deg)}65%{transform:translateY(-8px)rotate(-.4deg)}}.scroll-hint{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);z-index:10;align-items:center;gap:.8rem;font-size:.68rem;animation:1s 1s both fadeIn;display:flex;position:absolute;bottom:2.25rem;left:2.75rem}.scroll-bar{background:var(--border-mid);width:36px;height:1px;position:relative;overflow:hidden}.scroll-bar:after{content:"";background:var(--accent);width:100%;height:100%;animation:2.4s ease-in-out infinite sweep;position:absolute;top:0;left:-100%}@keyframes sweep{0%{left:-100%}50%,to{left:100%}}.intro-strip{border-top:1px solid var(--border);grid-template-columns:240px 1fr;align-items:start;gap:5rem;max-width:1100px;margin:0 auto;padding:5.5rem 2.75rem 4.5rem;display:grid}.intro-label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--amber);margin-bottom:1.25rem;font-size:.72rem}.intro-heading{font-family:var(--font-serif);color:var(--text);font-size:clamp(1.5rem,2.5vw,2.1rem);font-style:italic;font-weight:300;line-height:1.3}.intro-body{font-family:var(--font-sans);color:var(--text-mid);font-size:1rem;font-weight:300;line-height:1.8}.intro-body p+p{margin-top:1.1rem}.specialties{max-width:1100px;margin:0 auto;padding:0 2.75rem 5.5rem}.spec-grid{background:var(--border);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.spec-item{background:var(--bg);padding:2.25rem 2rem;transition:background .25s;position:relative;overflow:hidden}.spec-item:hover{background:var(--bg2)}.spec-item:before{content:"";background:var(--accent);width:2px;height:0;transition:height .35s;position:absolute;top:0;left:0}.spec-item:hover:before{height:100%}.spec-num{font-family:var(--font-mono);letter-spacing:.16em;color:var(--text-dim);margin-bottom:1.25rem;font-size:.65rem}.spec-title-text{font-family:var(--font-serif);color:var(--text);letter-spacing:-.01em;margin-bottom:.7rem;font-size:1.1rem;font-weight:600}.spec-desc{font-family:var(--font-sans);color:var(--text-dim);font-size:.9rem;font-weight:300;line-height:1.7}.recent{max-width:1100px;margin:0 auto;padding:4rem 2.75rem 7rem}.entry-list{flex-direction:column;display:flex}.entry-item{border-bottom:1px solid var(--border);color:var(--text);grid-template-columns:100px 1fr auto;align-items:center;gap:2rem;padding:1.3rem 0;text-decoration:none;transition:padding-left .2s;display:grid}.entry-item:hover{padding-left:.65rem}.entry-type{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem}.entry-type.research{color:var(--accent)}.entry-type.project{color:var(--amber)}.entry-name{font-family:var(--font-sans);font-size:1rem;font-weight:500}.entry-date{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.05em;white-space:nowrap;font-size:.7rem}.mermaid-diagram{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);text-align:center;margin:1.75rem 0;padding:1.5rem;overflow-x:auto}.mermaid-diagram svg{max-width:100%;height:auto}.mermaid-diagram .nodeLabel{font-family:var(--font-sans);font-size:.9rem}.mermaid-diagram .edgeLabel{font-family:var(--font-mono);font-size:.78rem}.mermaid-diagram .label{font-family:var(--font-sans)}.code-block-wrap{position:relative}.code-copy-btn{background:var(--bg2);border:1px solid var(--border);color:var(--text-dim);font-family:var(--font-mono);border-radius:var(--radius);cursor:pointer;opacity:0;z-index:5;padding:.25rem .6rem;font-size:.68rem;transition:opacity .2s,color .2s,border-color .2s;position:absolute;top:.5rem;right:.5rem}.code-block-wrap:hover .code-copy-btn{opacity:1}.code-copy-btn:hover{color:var(--accent);border-color:var(--accent)}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:.55s both fadeUp}.fade-in-delay-1{animation-delay:.1s}.fade-in-delay-2{animation-delay:.2s}.fade-in-delay-3{animation-delay:.3s}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.skip-link{background:var(--accent);color:#fff;z-index:1000;border-radius:var(--radius);padding:.5rem 1rem;font-size:.875rem;position:absolute;top:-100%;left:1rem}.skip-link:focus{top:.5rem}@media(max-width:900px){.featured-inner{grid-template-columns:1fr}.featured-body{border-right:none;border-bottom:1px solid var(--border)}.content-wrap{grid-template-columns:1fr}.toc{display:none}.post-row{grid-template-columns:1fr;gap:.5rem}.post-date{font-size:.68rem}.post-aside{flex-direction:row;justify-content:flex-start;align-items:center}.post-header-wrap{grid-template-columns:1fr;padding:3rem 1.5rem 2rem}.post-header-wrap>:not(.post-breadcrumb){grid-column:1}.post-breadcrumb{flex-direction:row;grid-area:auto/1;gap:.5rem;margin-bottom:1.5rem;position:static}.post-breadcrumb .sep{display:inline}}@media(max-width:800px){.hero-split{grid-template-columns:1fr;min-height:100svh}.hero-visual{order:-1;align-items:center;height:65vw;min-height:260px;padding-top:5.5rem}.duck-wrap{width:82vw;margin:0 auto}.hero-text{max-width:100%;padding:2rem 1.5rem 4rem}.hero-name{font-size:clamp(3rem,12vw,5rem)}.intro-strip{grid-template-columns:1fr;gap:2rem;padding:3.5rem 1.5rem}.spec-grid{grid-template-columns:1fr}.recent,.specialties{padding-left:1.5rem;padding-right:1.5rem}.entry-item{grid-template-columns:90px 1fr}.entry-date{display:none}}@media(max-width:768px){.site-header,.container-wide{padding:0 1.5rem}.page-header{padding:4rem 0 2.5rem}.site-footer{text-align:center;flex-direction:column;gap:.75rem}}@media(max-width:480px){html{font-size:15px}.container{padding:0 1rem}.hero{padding:3.5rem 0 2.5rem}.hero-logo{width:80px;height:80px}.page-header{padding:3rem 0 1.5rem}}.empty-state{text-align:center;font-family:var(--font-sans);color:var(--text-dim);padding:4rem 0;font-size:.9rem}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}
