.site-header[data-astro-cid-nen7h5rs]{z-index:var(--z-sticky);padding:var(--space-4) var(--page-margin);max-width:var(--max-page-width);background:color-mix(in srgb, var(--color-bg) 85%, transparent);-webkit-backdrop-filter:blur(8px);justify-content:space-between;align-items:center;margin:0 auto;display:flex;position:sticky;top:0}.site-logo[data-astro-cid-nen7h5rs]{font-family:var(--font-heading);font-size:var(--font-size-h6);font-weight:var(--font-weight-heading);letter-spacing:var(--letter-spacing-heading);color:var(--color-fg);flex-shrink:0;text-decoration:none}.site-logo[data-astro-cid-nen7h5rs]:hover{text-decoration:none}.site-nav[data-astro-cid-nen7h5rs]{gap:var(--space-6);display:flex}.nav-link[data-astro-cid-nen7h5rs]{font-size:var(--font-size-utility);font-weight:var(--font-weight-utility);text-transform:uppercase;letter-spacing:var(--letter-spacing-utility);color:var(--color-fg-secondary);transition:color var(--transition-fast);text-decoration:none;position:relative}.nav-link[data-astro-cid-nen7h5rs]:hover{color:var(--color-fg);text-decoration:none}.nav-link[data-astro-cid-nen7h5rs].active{color:var(--color-fg)}.nav-link[data-astro-cid-nen7h5rs].active:after{content:"";background:var(--color-accent);height:1px;position:absolute;bottom:-4px;left:0;right:0}.contact-trigger[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);font-size:var(--font-size-utility);font-weight:var(--font-weight-utility);text-transform:uppercase;letter-spacing:var(--letter-spacing-utility);border:var(--border-width-1) solid var(--color-border);border-radius:var(--radius-md);color:var(--color-fg);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast);background:0 0;flex-shrink:0;font-family:inherit;display:inline-flex}.contact-trigger[data-astro-cid-nen7h5rs]:hover{border-color:var(--color-accent)}.contact-trigger[data-astro-cid-nen7h5rs]:active{transform:scale(.97)}.contact-trigger-arrow[data-astro-cid-nen7h5rs]{width:var(--space-4);height:var(--space-4);transition:transform var(--transition-slow)}.contact-trigger[data-astro-cid-nen7h5rs][aria-expanded=true] .contact-trigger-arrow[data-astro-cid-nen7h5rs]{transform:rotate(180deg)}.contact-drawer-overlay[data-astro-cid-k7djo4gl]{z-index:var(--z-modal);pointer-events:none;transition:background var(--transition-base);background:0 0;justify-content:flex-end;display:flex;position:fixed;inset:0}.contact-drawer-overlay[data-astro-cid-k7djo4gl].open{pointer-events:auto;background:#00000026}.contact-drawer[data-astro-cid-k7djo4gl]{background:var(--color-bg);border-left:var(--border-width-1) solid var(--color-border);width:min(360px,90vw);height:100%;padding:var(--space-6);transition:transform var(--transition-spring);box-shadow:var(--shadow-elevated);will-change:transform;overflow-y:auto;transform:translate(100%)}.contact-drawer-overlay[data-astro-cid-k7djo4gl].open .contact-drawer[data-astro-cid-k7djo4gl]{transform:translate(0)}.contact-drawer-header[data-astro-cid-k7djo4gl]{margin-bottom:var(--space-8);padding-bottom:var(--space-4);border-bottom:var(--border-width-1) solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.contact-drawer-title[data-astro-cid-k7djo4gl]{font-family:var(--font-heading);font-size:var(--font-size-h5);font-weight:var(--font-weight-heading);letter-spacing:var(--letter-spacing-heading)}.contact-drawer-close[data-astro-cid-k7djo4gl]{color:var(--color-fg-secondary);cursor:pointer;padding:var(--space-1);transition:color var(--transition-fast);background:0 0;border:none;place-items:center;display:grid}.contact-drawer-close[data-astro-cid-k7djo4gl]:hover{color:var(--color-fg)}.contact-drawer-close[data-astro-cid-k7djo4gl] svg[data-astro-cid-k7djo4gl]{width:var(--space-5);height:var(--space-5)}.contact-drawer-content[data-astro-cid-k7djo4gl]{gap:var(--space-2);flex-direction:column;display:flex}.contact-item[data-astro-cid-k7djo4gl]{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--color-fg);border-radius:var(--radius-md);transition:background var(--transition-fast);text-decoration:none;display:flex}.contact-item[data-astro-cid-k7djo4gl]:hover{background:var(--color-bg-secondary);text-decoration:none}.contact-icon[data-astro-cid-k7djo4gl]{width:var(--space-5);height:var(--space-5);color:var(--color-fg-secondary);flex-shrink:0}.contact-item-text[data-astro-cid-k7djo4gl]{flex-direction:column;gap:0;line-height:1.3;display:flex}.contact-item-label[data-astro-cid-k7djo4gl]{font-size:var(--font-size-utility);font-weight:var(--font-weight-utility);text-transform:uppercase;letter-spacing:var(--letter-spacing-utility);color:var(--color-fg-secondary)}.contact-item-value[data-astro-cid-k7djo4gl]{font-size:var(--font-size-body);font-weight:var(--font-weight-medium)}@font-face{font-family:MD Nichrome;src:url(/fonts/md-nichrome/MDNichromeTrial-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:MD Nichrome;src:url(/fonts/md-nichrome/MDNichromeTrial-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--color-bg:#fafafa;--color-bg-secondary:#f0f0f0;--color-fg:#1a1a1a;--color-fg-secondary:#6b6b6b;--color-accent:#000;--color-border:#e5e5e5;--color-border-secondary:#d4d4d4;--color-focus:#000;--font-body:"Helvetica Neue", Helvetica, Arial, sans-serif;--font-heading:"MD Nichrome", Helvetica, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, monospace;--sg-min-heading-size:1rem;--sg-font-scale:1.3;--font-size-body:.875rem;--font-size-h6:var(--sg-min-heading-size);--font-size-h5:calc(var(--sg-min-heading-size) * var(--sg-font-scale));--font-size-h4:calc(var(--sg-min-heading-size) * var(--sg-font-scale) * var(--sg-font-scale));--font-size-h3:calc(var(--sg-min-heading-size) * var(--sg-font-scale) * var(--sg-font-scale) * var(--sg-font-scale));--font-size-h2:calc(var(--sg-min-heading-size) * var(--sg-font-scale) * var(--sg-font-scale) * var(--sg-font-scale) * var(--sg-font-scale));--font-size-h1:calc(var(--sg-min-heading-size) * var(--sg-font-scale) * var(--sg-font-scale) * var(--sg-font-scale) * var(--sg-font-scale) * var(--sg-font-scale));--font-size-caption:.75rem;--font-size-utility:.75rem;--font-size-meta:.6875rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:700;--font-weight-heading:700;--font-weight-body:400;--font-weight-utility:500;--line-height-tight:1.1;--line-height-heading:1.2;--line-height-body:1.5;--letter-spacing-heading:-.01em;--letter-spacing-body:0em;--letter-spacing-utility:.06em;--letter-spacing-meta:.04em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--border-width-1:1px;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000000f;--shadow-lg:0 12px 24px #00000014;--shadow-elevated:0 24px 48px #0000002e;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s cubic-bezier(.4, 0, .2, 1);--transition-spring:.5s cubic-bezier(.34, 1.56, .64, 1);--focus-ring-width:2px;--focus-ring-offset:2px;--focus-ring-color:var(--color-focus);--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--page-margin:var(--space-4);--max-page-width:75rem}[data-theme=dark]{--color-bg:#0a0a0a;--color-bg-secondary:#141414;--color-fg:#e8e8e8;--color-fg-secondary:#8a8a8a;--color-accent:#fff;--color-border:#1e1e1e;--color-border-secondary:#2a2a2a;--color-focus:#fff;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 12px #00000040;--shadow-lg:0 12px 24px #0000004d;--shadow-elevated:0 24px 48px #0009}*,:before,:after{box-sizing:border-box;margin:0;padding:0}::selection{background:color-mix(in srgb, var(--color-accent) 15%, transparent)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:100%}body{font-family:var(--font-body);font-size:var(--font-size-body);font-weight:var(--font-weight-body);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);color:var(--color-fg);background-color:var(--color-bg)}h1,h2,h3,h4,h5{font-family:var(--font-heading);font-weight:var(--font-weight-heading);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-heading)}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}h4{font-size:var(--font-size-h4)}h5{font-size:var(--font-size-h5)}h6{font-family:var(--font-body);font-weight:var(--font-weight-body);font-size:var(--font-size-h6);line-height:var(--line-height-heading)}p{margin-bottom:var(--space-4)}caption,.caption{font-size:var(--font-size-caption);color:var(--color-fg-secondary)}.utility,.label,.meta{font-size:var(--font-size-utility);font-weight:var(--font-weight-utility);text-transform:uppercase;letter-spacing:var(--letter-spacing-utility)}.meta,.meta-text{font-size:var(--font-size-meta);letter-spacing:var(--letter-spacing-meta);color:var(--color-fg-secondary)}a{color:inherit;text-decoration:none}a:hover{text-underline-offset:var(--space-1);text-decoration:underline}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}html{scroll-behavior:smooth}button{cursor:pointer;font-family:inherit}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);border:var(--border-width-1) solid transparent;outline:none;line-height:1;display:inline-flex}.btn-primary{background:var(--color-accent);color:var(--color-bg);box-shadow:var(--shadow-sm)}.btn-primary:hover{box-shadow:var(--shadow-md)}.btn-primary:active{transform:scale(.97)}.btn-secondary{border-color:var(--color-border);color:var(--color-fg);background:0 0}.btn-secondary:hover{border-color:var(--color-accent)}.btn-secondary:active{transform:scale(.97)}.btn-ghost{color:var(--color-fg);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--color-bg-secondary)}.btn-ghost:active{transform:scale(.97)}input,textarea,select{font-family:inherit;font-size:var(--font-size-body);padding:var(--space-2) var(--space-3);border:var(--border-width-1) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-fg);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--color-accent);box-shadow:0 0 0 var(--focus-ring-width) color-mix(in srgb, var(--color-accent) 15%, transparent)}textarea{resize:vertical;min-height:6rem}label{font-size:var(--font-size-utility);font-weight:var(--font-weight-medium);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:var(--letter-spacing-utility);display:block}input[type=checkbox],input[type=radio]{accent-color:var(--color-accent)}.accordion-trigger{width:100%;padding:var(--space-3) 0;border:none;border-bottom:var(--border-width-1) solid var(--color-border);color:var(--color-fg);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);text-align:left;cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;justify-content:space-between;align-items:center;display:flex}.accordion-trigger:hover{color:var(--color-accent)}.accordion-trigger[aria-expanded=true]{border-bottom-color:var(--color-border-secondary)}.accordion-trigger .accordion-icon{font-weight:var(--font-weight-regular);transition:transform var(--transition-slow);-webkit-user-select:none;user-select:none;margin-left:var(--space-2);flex-shrink:0}.accordion-trigger[aria-expanded=true] .accordion-icon{transform:rotate(45deg)}.accordion-panel{border-bottom:var(--border-width-1) solid var(--color-border);transition:height .3s;overflow:hidden}.accordion-panel p{padding:var(--space-3) 0;color:var(--color-fg-secondary)}.badge{padding:var(--space-1) var(--space-2);font-size:var(--font-size-meta);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-meta);border-radius:var(--radius-full);border:var(--border-width-1) solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-fg-secondary);line-height:1;display:inline-block}.badge-accent{background:var(--color-accent);color:var(--color-bg);border-color:var(--color-accent)}.card{background:var(--color-bg);border:var(--border-width-1) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base), transform var(--transition-slow), border-color var(--transition-fast)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-secondary);transform:translateY(-2px)}hr,.divider{border:none;border-top:var(--border-width-1) solid var(--color-border);margin:var(--space-6) 0}.container{max-width:var(--max-page-width);padding-left:var(--page-margin);padding-right:var(--page-margin);margin-left:auto;margin-right:auto}header.container{padding-top:var(--space-6);padding-bottom:var(--space-6)}header nav a{color:var(--color-fg);text-decoration:none}footer.container{padding-top:var(--space-8);padding-bottom:var(--space-8);margin-top:var(--space-16)}footer nav{gap:var(--space-6);display:flex}footer nav a{color:var(--color-fg-secondary);font-size:var(--font-size-body);transition:color var(--transition-fast);text-decoration:none;position:relative}footer nav a:hover{color:var(--color-fg)}.tweak-toggle{bottom:var(--space-4);right:var(--space-4);z-index:var(--z-modal);width:var(--space-10);height:var(--space-10);background:var(--color-accent);color:var(--color-bg);border-radius:var(--radius-full);cursor:pointer;transition:opacity var(--transition-fast), transform var(--transition-spring);box-shadow:var(--shadow-elevated);border:none;place-items:center;display:grid;position:fixed}.tweak-toggle:hover{opacity:.85;transform:scale(1.05)}.tweak-toggle:active{transform:scale(.95)}.tweak-toggle svg{width:var(--space-5);height:var(--space-5);transition:transform var(--transition-slow)}.tweak-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.tweak-menu{bottom:calc(var(--space-4) + var(--space-10) + var(--space-2));right:var(--space-4);z-index:var(--z-modal);background:var(--color-bg-secondary);border:var(--border-width-1) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-1);opacity:0;transform:translateY(var(--space-2)) scale(.96);pointer-events:none;transition:opacity var(--transition-slow), transform var(--transition-spring);box-shadow:var(--shadow-elevated);position:fixed}.tweak-menu.visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.tweak-menu-item{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);text-align:left;color:var(--color-fg);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;display:block}.tweak-menu-item:hover{background:var(--color-border)}.tweak-menu-item:active{background:var(--color-border-secondary)}.tweak-overlay{z-index:var(--z-modal);pointer-events:none;transition:background var(--transition-base);background:0 0;justify-content:flex-end;display:flex;position:fixed;inset:0}.tweak-overlay.active{pointer-events:auto;background:#00000026}.tweak-drawer{background:var(--color-bg-secondary);border-left:var(--border-width-1) solid var(--color-border);width:min(320px,90vw);height:100%;padding:var(--space-4);transition:transform var(--transition-spring);box-shadow:var(--shadow-elevated);will-change:transform;overflow-y:auto;transform:translate(100%)}.tweak-overlay.active .tweak-drawer{transform:translate(0)}.tweak-drawer-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.tweak-title{font-family:var(--font-heading);font-size:var(--font-size-h5);font-weight:var(--font-weight-heading);text-transform:uppercase;letter-spacing:var(--letter-spacing-heading)}.tweak-close{color:var(--color-fg-secondary);cursor:pointer;padding:var(--space-1);transition:color var(--transition-fast);background:0 0;border:none;place-items:center;display:grid}.tweak-close:hover{color:var(--color-fg)}.tweak-close svg{width:var(--space-5);height:var(--space-5)}.tweak-theme-toggle{gap:var(--space-1);margin-bottom:var(--space-4);display:flex}.tweak-theme-btn{padding:var(--space-2) var(--space-3);font-size:var(--font-size-utility);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-utility);border:var(--border-width-1) solid var(--color-border);border-radius:var(--radius-md);color:var(--color-fg-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;flex:1}.tweak-theme-btn:hover{border-color:var(--color-border-secondary);color:var(--color-fg)}.tweak-theme-btn.active{background:var(--color-accent);color:var(--color-bg);border-color:var(--color-accent)}.tweak-theme-btn:active{transform:scale(.97)}.tweak-section{margin-bottom:var(--space-4)}.tweak-section-title{font-size:var(--font-size-utility);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-utility);color:var(--color-fg-secondary);margin-bottom:var(--space-3)}.tweak-control{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.tweak-control label{font-size:var(--font-size-body);text-transform:none;letter-spacing:inherit;flex:1;margin-bottom:0}.tweak-control input[type=color]{width:var(--space-5);height:var(--space-5);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:0}.tweak-hex{font-family:var(--font-mono);font-size:var(--font-size-meta);color:var(--color-fg-secondary);min-width:var(--space-10);text-align:right}.tweak-slider-control{gap:var(--space-1);margin-bottom:var(--space-3);flex-direction:column;display:flex}.tweak-slider-header{justify-content:space-between;align-items:baseline;display:flex}.tweak-slider-header label{font-size:var(--font-size-body);text-transform:none;letter-spacing:inherit;margin-bottom:0}.tweak-slider-value{font-family:var(--font-mono);font-size:var(--font-size-meta);color:var(--color-fg-secondary)}.tweak-slider-control input[type=range]{width:100%;height:var(--space-2);cursor:pointer;accent-color:var(--color-accent)}
