#neural-bg{position:fixed;inset:0;z-index:0;display:flex;flex-direction:column;background:#050507;pointer-events:none}#neural-bg .raster-layer{flex:1 1 0;min-height:0;position:relative;width:100%}#neural-bg #rasterCanvas{width:100%;height:100%;display:block;transform:translateZ(0);will-change:transform;contain:paint}#neural-bg #lfpCanvas{flex:0 0 5%;min-height:40px;max-height:64px;width:100%;display:block;transform:translateZ(0);contain:paint}:root{--dark-bg: #050507;--dark-bg-soft: #08080a;--dark-fg: #f5f5f4;--dark-fg-muted: rgba(245, 245, 244, .42);--dark-fg-faint: rgba(245, 245, 244, .22);--dark-rule: rgba(255, 255, 255, .08);--text-halo: 0 0 2px rgba(0, 0, 0, .85), 0 0 6px rgba(0, 0, 0, .65);--text-halo-strong: 0 0 3px rgba(0, 0, 0, .9), 0 0 10px rgba(0, 0, 0, .7), 0 0 20px rgba(0, 0, 0, .45);--light-bg: #f5f3ee;--light-bg-soft: #efece6;--light-fg: #1a1a1a;--light-fg-muted: #6b6a66;--light-fg-faint: #a8a6a1;--light-rule: rgba(0, 0, 0, .1);--light-accent: #1a1a1a;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", "Segoe UI", system-ui, sans-serif;--font-text: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", "Menlo", monospace;--measure: 80ch;--measure-narrow: 56ch;--measure-wide: 100ch;--chrome-max: 1280px;--chrome-pad-x: clamp(20px, 4vw, 64px);--chrome-pad-top: clamp(36px, 5vw, 72px);--chrome-pad-bottom: clamp(32px, 5vw, 64px)}.page-chrome{max-width:var(--chrome-max);margin:0 auto;padding:var(--chrome-pad-top) var(--chrome-pad-x) var(--chrome-pad-bottom)}.crumbs{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.crumb{color:var(--light-fg-muted);text-decoration:none;transition:color .15s ease}.crumb:hover,a.crumb:focus-visible{color:var(--light-fg);outline:none}.crumb-current{color:var(--light-fg)}.crumb-sep{color:var(--light-fg-faint)}.site-footer{max-width:var(--chrome-max);margin:clamp(64px,10vw,120px) auto 0;padding:24px var(--chrome-pad-x) var(--chrome-pad-bottom);border-top:1px solid var(--light-rule);display:flex;justify-content:space-between;gap:24px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--light-fg-faint)}.site-footer a{color:inherit;text-decoration:none;transition:color .15s ease}.site-footer a:hover{color:var(--light-fg)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;font-family:var(--font-text);line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}img,svg,canvas,video{display:block;max-width:100%}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes nav-slide-out-left{0%{transform:translate(0);opacity:1}to{transform:translate(-40px);opacity:0}}@keyframes nav-slide-in-right{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes nav-slide-out-right{0%{transform:translate(0);opacity:1}to{transform:translate(40px);opacity:0}}@keyframes nav-slide-in-left{0%{transform:translate(-40px);opacity:0}to{transform:translate(0);opacity:1}}[data-astro-transition=forward]::view-transition-old(root){animation-name:nav-slide-out-left;animation-duration:.24s;animation-timing-function:cubic-bezier(.4,0,.2,1);animation-fill-mode:both}[data-astro-transition=forward]::view-transition-new(root){animation-name:nav-slide-in-right;animation-duration:.28s;animation-timing-function:cubic-bezier(.4,0,.2,1);animation-fill-mode:both}[data-astro-transition=back]::view-transition-old(root){animation-name:nav-slide-out-right;animation-duration:.24s;animation-timing-function:cubic-bezier(.4,0,.2,1);animation-fill-mode:both}[data-astro-transition=back]::view-transition-new(root){animation-name:nav-slide-in-left;animation-duration:.28s;animation-timing-function:cubic-bezier(.4,0,.2,1);animation-fill-mode:both}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
