:root{--snyder-primary-50: oklch(.97 .02 250);--snyder-primary-100: oklch(.93 .04 250);--snyder-primary-200: oklch(.88 .06 250);--snyder-primary-300: oklch(.78 .1 250);--snyder-primary-400: oklch(.68 .14 250);--snyder-primary-500: oklch(.58 .18 250);--snyder-primary-600: oklch(.48 .16 250);--snyder-primary-700: oklch(.4 .14 250);--snyder-primary-800: oklch(.32 .1 250);--snyder-primary-900: oklch(.24 .06 250);--snyder-primary-950: oklch(.16 .04 250);--snyder-grey-0: oklch(1 0 0);--snyder-grey-50: oklch(.98 0 0);--snyder-grey-100: oklch(.96 0 0);--snyder-grey-200: oklch(.92 0 0);--snyder-grey-300: oklch(.84 0 0);--snyder-grey-400: oklch(.72 0 0);--snyder-grey-500: oklch(.56 0 0);--snyder-grey-600: oklch(.42 0 0);--snyder-grey-700: oklch(.3 0 0);--snyder-grey-800: oklch(.2 0 0);--snyder-grey-900: oklch(.12 0 0);--snyder-grey-950: oklch(.08 0 0);--snyder-accent-coral-light: oklch(.78 .16 25);--snyder-accent-coral-base: oklch(.7 .18 25);--snyder-accent-coral-dark: oklch(.58 .16 25);--snyder-accent-amber-light: oklch(.88 .14 80);--snyder-accent-amber-base: oklch(.8 .16 80);--snyder-accent-amber-dark: oklch(.68 .14 80);--snyder-accent-lime-light: oklch(.9 .18 130);--snyder-accent-lime-base: oklch(.85 .2 130);--snyder-accent-lime-dark: oklch(.72 .18 130);--snyder-accent-teal-light: oklch(.78 .1 180);--snyder-accent-teal-base: oklch(.7 .12 180);--snyder-accent-teal-dark: oklch(.58 .1 180);--snyder-accent-azure-light: oklch(.75 .13 250);--snyder-accent-azure-base: oklch(.65 .15 250);--snyder-accent-azure-dark: oklch(.52 .13 250);--snyder-accent-violet-light: oklch(.7 .18 290);--snyder-accent-violet-base: oklch(.6 .2 290);--snyder-accent-violet-dark: oklch(.48 .18 290);--snyder-accent-rose-light: oklch(.78 .16 350);--snyder-accent-rose-base: oklch(.7 .18 350);--snyder-accent-rose-dark: oklch(.58 .16 350);--snyder-accent-slate-light: oklch(.6 .02 250);--snyder-accent-slate-base: oklch(.5 .02 250);--snyder-accent-slate-dark: oklch(.38 .02 250);--snyder-font-display: "Inter Variable", "Inter", system-ui, sans-serif;--snyder-font-body: "Inter Variable", "Inter", system-ui, sans-serif;--snyder-font-mono: "JetBrains Mono Variable", "JetBrains Mono", monospace;--snyder-text-xs: clamp(.75rem, .7rem + .25vw, .875rem);--snyder-text-sm: clamp(.875rem, .8rem + .375vw, 1rem);--snyder-text-base: clamp(1rem, .9rem + .5vw, 1.125rem);--snyder-text-lg: clamp(1.125rem, 1rem + .625vw, 1.25rem);--snyder-text-xl: clamp(1.25rem, 1.1rem + .75vw, 1.5rem);--snyder-text-2xl: clamp(1.5rem, 1.25rem + 1.25vw, 2rem);--snyder-text-3xl: clamp(2rem, 1.5rem + 2.5vw, 3rem);--snyder-text-4xl: clamp(2.5rem, 1.75rem + 3.75vw, 4rem);--snyder-text-5xl: clamp(3rem, 2rem + 5vw, 5rem);--snyder-font-weight-light: 300;--snyder-font-weight-regular: 400;--snyder-font-weight-medium: 500;--snyder-font-weight-semibold: 600;--snyder-font-weight-bold: 700;--snyder-leading-tight: 1.1;--snyder-leading-snug: 1.25;--snyder-leading-normal: 1.5;--snyder-leading-relaxed: 1.625;--snyder-space-0: 0;--snyder-space-1: .25rem;--snyder-space-2: .5rem;--snyder-space-3: .75rem;--snyder-space-4: 1rem;--snyder-space-5: 1.25rem;--snyder-space-6: 1.5rem;--snyder-space-8: 2rem;--snyder-space-10: 2.5rem;--snyder-space-12: 3rem;--snyder-space-16: 4rem;--snyder-space-20: 5rem;--snyder-space-24: 6rem;--snyder-radius-sm: .125rem;--snyder-radius-default: .25rem;--snyder-radius-md: .375rem;--snyder-radius-lg: .5rem;--snyder-radius-xl: .75rem;--snyder-radius-2xl: 1rem;--snyder-radius-full: 9999px;--snyder-shadow-sm: 0 1px 2px 0 oklch(0 0 0 / .05);--snyder-shadow-default: 0 1px 3px 0 oklch(0 0 0 / .1), 0 1px 2px -1px oklch(0 0 0 / .1);--snyder-shadow-md: 0 4px 6px -1px oklch(0 0 0 / .1), 0 2px 4px -2px oklch(0 0 0 / .1);--snyder-shadow-lg: 0 10px 15px -3px oklch(0 0 0 / .1), 0 4px 6px -4px oklch(0 0 0 / .1);--snyder-shadow-xl: 0 20px 25px -5px oklch(0 0 0 / .1), 0 8px 10px -6px oklch(0 0 0 / .1);--snyder-ease-linear: linear;--snyder-ease-snappy: cubic-bezier(.2, 0, 0, 1);--snyder-ease-smooth: cubic-bezier(.4, 0, .2, 1);--snyder-ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--snyder-ease-strokeDraw: cubic-bezier(.65, 0, .35, 1);--snyder-ease-enter: cubic-bezier(0, 0, .2, 1);--snyder-ease-exit: cubic-bezier(.4, 0, 1, 1);--snyder-duration-instant: 50ms;--snyder-duration-fast: .15s;--snyder-duration-normal: .3s;--snyder-duration-page: .4s;--snyder-duration-slow: .5s}:root,[data-theme=light]{--snyder-brand: var(--snyder-primary-500);--snyder-text-primary: var(--snyder-grey-900);--snyder-text-secondary: var(--snyder-grey-600);--snyder-text-tertiary: var(--snyder-grey-500);--snyder-text-inverted: var(--snyder-grey-0);--snyder-text-link: var(--snyder-primary-600);--snyder-text-link-hover: var(--snyder-primary-700);--snyder-background-primary: var(--snyder-grey-0);--snyder-background-secondary: var(--snyder-grey-50);--snyder-background-tertiary: var(--snyder-grey-100);--snyder-background-elevated: var(--snyder-grey-0);--snyder-background-overlay: oklch(0 0 0 / .5);--snyder-border-subtle: var(--snyder-grey-200);--snyder-border-default: var(--snyder-grey-300);--snyder-border-strong: var(--snyder-grey-400);--snyder-border-focus: var(--snyder-primary-500);--snyder-interactive-primary: var(--snyder-primary-500);--snyder-interactive-primary-hover: var(--snyder-primary-600);--snyder-interactive-secondary: var(--snyder-grey-100);--snyder-interactive-secondary-hover: var(--snyder-grey-200);--snyder-status-success: var(--snyder-accent-lime-base);--snyder-status-warning: var(--snyder-accent-amber-base);--snyder-status-error: var(--snyder-accent-coral-base);--snyder-status-info: var(--snyder-accent-azure-base)}[data-theme=dark]{--snyder-brand: var(--snyder-primary-400);--snyder-text-primary: var(--snyder-grey-50);--snyder-text-secondary: var(--snyder-grey-300);--snyder-text-tertiary: var(--snyder-grey-400);--snyder-text-inverted: var(--snyder-grey-900);--snyder-text-link: var(--snyder-primary-400);--snyder-text-link-hover: var(--snyder-primary-300);--snyder-background-primary: var(--snyder-grey-950);--snyder-background-secondary: var(--snyder-grey-900);--snyder-background-tertiary: var(--snyder-grey-800);--snyder-background-elevated: var(--snyder-grey-900);--snyder-background-overlay: oklch(0 0 0 / .7);--snyder-border-subtle: var(--snyder-grey-800);--snyder-border-default: var(--snyder-grey-700);--snyder-border-strong: var(--snyder-grey-600);--snyder-border-focus: var(--snyder-primary-400);--snyder-interactive-primary: var(--snyder-primary-400);--snyder-interactive-primary-hover: var(--snyder-primary-300);--snyder-interactive-secondary: var(--snyder-grey-800);--snyder-interactive-secondary-hover: var(--snyder-grey-700);--snyder-status-success: var(--snyder-accent-lime-light);--snyder-status-warning: var(--snyder-accent-amber-light);--snyder-status-error: var(--snyder-accent-coral-light);--snyder-status-info: var(--snyder-accent-azure-light)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--snyder-brand: var(--snyder-primary-400);--snyder-text-primary: var(--snyder-grey-50);--snyder-text-secondary: var(--snyder-grey-300);--snyder-text-tertiary: var(--snyder-grey-400);--snyder-text-inverted: var(--snyder-grey-900);--snyder-text-link: var(--snyder-primary-400);--snyder-text-link-hover: var(--snyder-primary-300);--snyder-background-primary: var(--snyder-grey-950);--snyder-background-secondary: var(--snyder-grey-900);--snyder-background-tertiary: var(--snyder-grey-800);--snyder-background-elevated: var(--snyder-grey-900);--snyder-background-overlay: oklch(0 0 0 / .7);--snyder-border-subtle: var(--snyder-grey-800);--snyder-border-default: var(--snyder-grey-700);--snyder-border-strong: var(--snyder-grey-600);--snyder-border-focus: var(--snyder-primary-400);--snyder-interactive-primary: var(--snyder-primary-400);--snyder-interactive-primary-hover: var(--snyder-primary-300);--snyder-interactive-secondary: var(--snyder-grey-800);--snyder-interactive-secondary-hover: var(--snyder-grey-700);--snyder-status-success: var(--snyder-accent-lime-light);--snyder-status-warning: var(--snyder-accent-amber-light);--snyder-status-error: var(--snyder-accent-coral-light);--snyder-status-info: var(--snyder-accent-azure-light)}}[data-brand=hackerman]{--snyder-primary-50: oklch(.95 .08 145);--snyder-primary-100: oklch(.9 .12 145);--snyder-primary-200: oklch(.85 .18 145);--snyder-primary-300: oklch(.8 .24 145);--snyder-primary-400: oklch(.75 .28 145);--snyder-primary-500: oklch(.7 .3 145);--snyder-primary-600: oklch(.6 .28 145);--snyder-primary-700: oklch(.5 .25 145);--snyder-primary-800: oklch(.4 .2 145);--snyder-primary-900: oklch(.3 .15 145);--snyder-primary-950: oklch(.2 .1 145);--snyder-grey-0: oklch(1 0 0);--snyder-grey-50: oklch(.96 .01 145);--snyder-grey-100: oklch(.92 .02 145);--snyder-grey-200: oklch(.82 .02 145);--snyder-grey-300: oklch(.68 .02 145);--snyder-grey-400: oklch(.48 .02 145);--snyder-grey-500: oklch(.3 .03 145);--snyder-grey-600: oklch(.2 .03 145);--snyder-grey-700: oklch(.14 .04 145);--snyder-grey-800: oklch(.1 .04 145);--snyder-grey-900: oklch(.08 .05 145);--snyder-grey-950: oklch(.06 .05 145);--snyder-accent-matrix-light: oklch(.85 .28 145);--snyder-accent-matrix-base: oklch(.7 .3 145);--snyder-accent-matrix-dark: oklch(.55 .28 145);--snyder-accent-cyan-light: oklch(.85 .18 195);--snyder-accent-cyan-base: oklch(.75 .2 195);--snyder-accent-cyan-dark: oklch(.6 .18 195);--snyder-accent-magenta-light: oklch(.75 .22 330);--snyder-accent-magenta-base: oklch(.65 .25 330);--snyder-accent-magenta-dark: oklch(.5 .22 330);--snyder-accent-electric-light: oklch(.8 .2 260);--snyder-accent-electric-base: oklch(.7 .22 260);--snyder-accent-electric-dark: oklch(.55 .2 260);--snyder-font-body: var(--snyder-font-mono);--snyder-glow: none}[data-brand=hackerman][data-theme=light]{--snyder-brand: var(--snyder-primary-600);--snyder-text-primary: var(--snyder-grey-900);--snyder-text-secondary: var(--snyder-grey-600);--snyder-text-tertiary: var(--snyder-grey-500);--snyder-text-inverted: var(--snyder-grey-0);--snyder-text-link: var(--snyder-primary-700);--snyder-text-link-hover: var(--snyder-primary-800);--snyder-background-primary: var(--snyder-grey-0);--snyder-background-secondary: var(--snyder-grey-50);--snyder-background-tertiary: var(--snyder-grey-100);--snyder-background-elevated: var(--snyder-grey-0);--snyder-background-overlay: oklch(0 0 0 / .5);--snyder-border-subtle: var(--snyder-grey-200);--snyder-border-default: var(--snyder-primary-300);--snyder-border-strong: var(--snyder-primary-400);--snyder-border-focus: var(--snyder-primary-500);--snyder-interactive-primary: var(--snyder-primary-500);--snyder-interactive-primary-hover: var(--snyder-primary-600);--snyder-interactive-secondary: var(--snyder-grey-100);--snyder-interactive-secondary-hover: var(--snyder-grey-200);--snyder-status-success: var(--snyder-accent-matrix-base);--snyder-status-warning: var(--snyder-accent-cyan-base);--snyder-status-error: var(--snyder-accent-magenta-base);--snyder-status-info: var(--snyder-accent-electric-base)}[data-brand=hackerman][data-theme=dark]{--snyder-brand: var(--snyder-primary-400);--snyder-text-primary: var(--snyder-primary-300);--snyder-text-secondary: var(--snyder-primary-400);--snyder-text-tertiary: var(--snyder-grey-400);--snyder-text-inverted: var(--snyder-grey-950);--snyder-text-link: var(--snyder-accent-electric-base);--snyder-text-link-hover: var(--snyder-accent-electric-light);--snyder-background-primary: var(--snyder-grey-950);--snyder-background-secondary: var(--snyder-grey-900);--snyder-background-tertiary: var(--snyder-grey-800);--snyder-background-elevated: var(--snyder-grey-900);--snyder-background-overlay: oklch(0 0 0 / .8);--snyder-border-subtle: var(--snyder-grey-800);--snyder-border-default: var(--snyder-primary-800);--snyder-border-strong: var(--snyder-primary-700);--snyder-border-focus: var(--snyder-primary-400);--snyder-interactive-primary: var(--snyder-primary-400);--snyder-interactive-primary-hover: var(--snyder-primary-300);--snyder-interactive-secondary: var(--snyder-grey-800);--snyder-interactive-secondary-hover: var(--snyder-grey-700);--snyder-status-success: var(--snyder-accent-matrix-light);--snyder-status-warning: var(--snyder-accent-cyan-light);--snyder-status-error: var(--snyder-accent-magenta-light);--snyder-status-info: var(--snyder-accent-electric-light);--snyder-glow: 0 0 10px oklch(.7 .3 145 / .4)}[data-brand=hackerman][data-theme=dark] a:hover,[data-brand=hackerman][data-theme=dark] button:hover,[data-brand=hackerman][data-theme=dark] .theme-toggle:hover{box-shadow:var(--snyder-glow)}[data-brand=hackerman][data-theme=dark] a:focus-visible,[data-brand=hackerman][data-theme=dark] button:focus-visible{box-shadow:0 0 0 2px var(--snyder-background-primary),0 0 15px oklch(.7 .3 145 / .6)}[data-brand=hackerman][data-theme=dark]:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,transparent,transparent 2px,oklch(.7 .3 145 / .015) 2px,oklch(.7 .3 145 / .015) 4px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{color:var(--snyder-text-primary);font-size:16px;font-family:var(--snyder-font-body);line-height:var(--snyder-leading-normal);background:var(--snyder-background-primary);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;display:flex;flex-direction:column}a{color:var(--snyder-text-link);text-decoration:none;transition:color var(--snyder-duration-fast) var(--snyder-ease-snappy)}a:hover{color:var(--snyder-text-link-hover)}a:focus-visible{outline:2px solid var(--snyder-border-focus);outline-offset:2px;border-radius:var(--snyder-radius-sm)}h1,h2,h3,h4,h5,h6{font-family:var(--snyder-font-display);font-weight:var(--snyder-font-weight-bold);line-height:var(--snyder-leading-tight);color:var(--snyder-text-primary)}h1{font-size:var(--snyder-text-4xl)}h2{font-size:var(--snyder-text-3xl)}h3{font-size:var(--snyder-text-2xl)}h4{font-size:var(--snyder-text-xl)}h5{font-size:var(--snyder-text-lg)}h6{font-size:var(--snyder-text-base)}p{margin-bottom:var(--snyder-space-4);line-height:var(--snyder-leading-relaxed)}code,pre{font-family:var(--snyder-font-mono)}code{padding:.125em .25em;background:var(--snyder-background-secondary);border-radius:var(--snyder-radius-sm);font-size:.9em}pre{padding:var(--snyder-space-4);background:var(--snyder-background-secondary);border-radius:var(--snyder-radius-lg);overflow-x:auto}pre code{padding:0;background:none}img,video{max-width:100%;height:auto;display:block}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--snyder-space-4)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.home-page{min-height:100vh;display:flex;flex-direction:column}.home-header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--snyder-space-4) var(--snyder-space-6);background:var(--snyder-background-primary);border-bottom:1px solid var(--snyder-border-subtle)}.home-logo{display:flex;flex-direction:column;text-decoration:none}.home-logo__text{font-family:var(--snyder-font-display);font-size:var(--snyder-text-lg);font-weight:var(--snyder-font-weight-bold);color:var(--snyder-text-primary)}.home-logo__subtitle{font-size:var(--snyder-text-xs);color:var(--snyder-text-secondary);text-transform:uppercase;letter-spacing:.1em}.home-main{flex:1;display:flex;align-items:center;justify-content:center;padding-top:64px}.brand-theme-toggle{position:relative}.brand-theme-toggle__trigger{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:var(--snyder-background-secondary);border:1px solid var(--snyder-border-subtle);border-radius:var(--snyder-radius-full);cursor:pointer;color:var(--snyder-text-primary);transition:background-color var(--snyder-duration-fast) var(--snyder-ease-snappy),border-color var(--snyder-duration-fast) var(--snyder-ease-snappy)}.brand-theme-toggle__trigger:hover{background:var(--snyder-background-tertiary);border-color:var(--snyder-border-default)}.brand-theme-toggle__trigger:focus-visible{outline:2px solid var(--snyder-border-focus);outline-offset:2px}.brand-theme-toggle__trigger svg{width:20px;height:20px}.brand-theme-toggle__popover{position:absolute;top:calc(100% + var(--snyder-space-2));right:0;z-index:100;min-width:200px;background:var(--snyder-background-elevated);border:1px solid var(--snyder-border-default);border-radius:var(--snyder-radius-lg);box-shadow:var(--snyder-shadow-lg);animation:popover-in var(--snyder-duration-fast) var(--snyder-ease-snappy)}@keyframes popover-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.brand-theme-toggle__list{list-style:none;padding:var(--snyder-space-2);margin:0;display:flex;flex-direction:column;gap:var(--snyder-space-1)}.brand-theme-toggle__item{display:flex;align-items:center;gap:var(--snyder-space-2);padding:var(--snyder-space-2);border-radius:var(--snyder-radius-md);transition:background-color var(--snyder-duration-fast) var(--snyder-ease-snappy)}.brand-theme-toggle__item:hover,.brand-theme-toggle__item--active{background:var(--snyder-background-secondary)}.brand-theme-toggle__item--active .brand-theme-toggle__option-icon svg{color:var(--snyder-brand)}.brand-theme-toggle__option{display:flex;align-items:center;gap:var(--snyder-space-2);flex:1;padding:0;background:transparent;border:none;cursor:pointer;font-family:var(--snyder-font-body);font-size:var(--snyder-text-sm);color:var(--snyder-text-primary);text-align:left}.brand-theme-toggle__option-icon{display:flex;align-items:center;justify-content:center}.brand-theme-toggle__option-icon svg{width:18px;height:18px}.brand-theme-toggle__option-label{flex:1;font-weight:var(--snyder-font-weight-medium)}.brand-theme-toggle__mode{display:flex;align-items:center;gap:0;background:var(--snyder-background-tertiary);border-radius:var(--snyder-radius-md);padding:2px}.brand-theme-toggle__mode-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:var(--snyder-radius-sm);cursor:pointer;color:var(--snyder-text-tertiary);transition:background-color var(--snyder-duration-fast) var(--snyder-ease-snappy),color var(--snyder-duration-fast) var(--snyder-ease-snappy)}.brand-theme-toggle__mode-btn:hover{color:var(--snyder-text-secondary)}.brand-theme-toggle__mode-btn--active{background:var(--snyder-brand);color:#fff}.brand-theme-toggle__mode-btn--active:hover{color:#fff}.brand-theme-toggle__mode-btn svg{width:16px;height:16px}.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--snyder-background-secondary);border:1px solid var(--snyder-border-subtle);border-radius:var(--snyder-radius-lg);cursor:pointer;transition:background-color var(--snyder-duration-fast) var(--snyder-ease-snappy),border-color var(--snyder-duration-fast) var(--snyder-ease-snappy)}.theme-toggle:hover{background:var(--snyder-background-tertiary);border-color:var(--snyder-border-default)}.theme-toggle:focus-visible{outline:2px solid var(--snyder-border-focus);outline-offset:2px}.theme-toggle__icon{width:20px;height:20px;color:var(--snyder-text-primary)}.site-footer{padding:var(--snyder-space-6) var(--snyder-space-4);background:var(--snyder-background-secondary);border-top:1px solid var(--snyder-border-subtle);text-align:center}.site-footer__text{font-size:var(--snyder-text-sm);color:var(--snyder-text-secondary);margin:0}@view-transition{navigation:auto}::view-transition-old(root){animation:fade-out var(--snyder-duration-fast) var(--snyder-ease-exit)}::view-transition-new(root){animation:fade-in var(--snyder-duration-fast) var(--snyder-ease-enter)}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}
