@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=IBM+Plex+Sans:wght@400;600;700&display=swap" layer(theme);@layer reset{*,:before,:after{box-sizing:border-box}html{text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin-block-end:0}ul[role=list],ol[role=list]{list-style:none}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}img,picture{max-width:100%;display:block}input,button,textarea,select{font-family:inherit;font-size:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}}@layer theme{@layer base{:root{color-scheme:light dark;--primary-color:light-dark(#fbf7f0,#141f1f);--secondary-color:light-dark(#141f1f,#f5e6d3);--scrim-color:light-dark(#fff,#000);--scrim-alpha:.45;--bezel-color:light-dark(#f7f2ea,#05010f);--focus-ring:light-dark(#0b3d91,#ffd166);--shift:18px;--shift-transition:transform .6s cubic-bezier(.22, 1, .36, 1);--backdrop-dark:url(/assets/background.avif);--backdrop-light:url(/assets/background-light.avif);--backdrop-image:var(--backdrop-dark);--font-display:"Bebas Neue", Helvetica, sans-serif;--font-body:"IBM Plex Sans", Helvetica, sans-serif;--font-accent:"Bebas Neue", Helvetica, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-lg:1.5rem;--text-title:clamp(3.5rem, 1rem + 8vw, 6.25rem);--weight-semibold:600;--weight-bold:700;--leading-none:1;--leading-body:1.5;--leading-label:1.25rem;--tracking-tight:.02em;--tracking-label:.02rem;--tracking-heading:.04em;--tracking-body:.07em;--tracking-caps:.08em;--radius-panel:0px;--radius-focus:2px;--radius-pill:9999px;--border-width:1px;--focus-width:3px;--focus-offset:3px;--space-3xs:.25rem;--space-2xs:.375rem;--space-xs:.5rem;--space-sm:1rem;--space-md:1.25rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:2.5rem;--muted-opacity:.75;--bio-left-fr:3fr;--bio-right-fr:2fr;--bio-card-min:22rem;--bio-gap:2rem;--bio-align:flex-end;--bio-text-align:right;--card-frame:14px;--card-offset:28px;--card-border-width:var(--border-width);--card-border-style:solid;--card-shadow:none;--skills-measure:420px;--navbar-align:flex-end;--page-justify:center;--page-align:center;--content-width:100%;--bio-title-order:0;--bio-card-order:0;--navbar-order:0}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--backdrop-image:var(--backdrop-light)}}:root[data-theme=light]{color-scheme:light;--backdrop-image:var(--backdrop-light)}:root[data-theme=dark]{color-scheme:dark}@media (prefers-contrast:more){:root:not([data-contrast=normal]){--scrim-alpha:.82!important}}:root[data-contrast=more]{--scrim-alpha:.82!important}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) *,:root:not([data-motion=full]) :before,:root:not([data-motion=full]) :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root[data-motion=reduce] *,:root[data-motion=reduce] :before,:root[data-motion=reduce] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]){--shift:0px!important}}:root[data-motion=reduce]{--shift:0px!important}}}@layer override;@layer base{@layer base{html{font-family:var(--font-body)}body{color:var(--secondary-color);background:var(--primary-color);margin:0}h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset);border-radius:var(--radius-focus)}}}@layer layout{body{min-height:100dvh}.page{z-index:2;flex-direction:column;min-height:100dvh;display:flex;position:relative}main{flex:1;display:flex}.section-full{justify-content:var(--page-justify);align-items:var(--page-align);width:100%;padding:var(--space-xl);flex-direction:column;flex:1;display:flex}.bio-grid{gap:min(var(--bio-gap), 6rem);max-width:min(100%, max(var(--content-width), 40rem));grid-template-columns:1fr;align-items:center;display:grid}.bio-left{padding:var(--space-sm);flex-direction:column;align-items:flex-start;display:flex;container-type:inline-size}.bio-title{font-family:var(--font-display);font-size:min(var(--text-title), 16cqi);line-height:var(--leading-none);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);text-align:left;margin-bottom:var(--space-2xl);margin-block-start:0}.skills-list{gap:var(--space-xs);max-width:max(var(--skills-measure), 12rem);flex-wrap:wrap;justify-content:flex-start;margin:0;padding:0;list-style:none;display:flex}@media (width>=1024px){.bio-grid{--track-min:clamp(16rem, var(--bio-card-min), calc((100% - min(var(--bio-gap), 6rem)) / 2));grid-template-columns:minmax(var(--track-min), var(--bio-left-fr)) minmax(var(--track-min), var(--bio-right-fr))}.bio-left{align-items:var(--bio-align)}.bio-title-block{order:var(--bio-title-order)}.bio-title{text-align:var(--bio-text-align)}.skills-list{justify-content:var(--bio-align)}}.skill-pill{border:var(--border-width) solid var(--secondary-color);border-radius:var(--radius-pill);overflow:hidden;&:hover{background-color:var(--primary-color)}}.skill-label{font-size:var(--text-sm);line-height:var(--leading-label);white-space:nowrap;font-weight:var(--weight-bold);padding:var(--space-xs) var(--space-sm);letter-spacing:var(--tracking-label);display:block}.bio-right{--offset:min(var(--card-offset), 5rem);margin-left:var(--offset);margin-top:var(--offset);padding:0}@media (width>=1024px){.bio-right{order:var(--bio-card-order);padding:var(--space-sm)}}.bio-card-outer{padding:min(var(--card-frame), 3rem);border:min(var(--card-border-width), 8px) var(--card-border-style) var(--secondary-color);border-radius:var(--radius-panel);box-shadow:var(--card-shadow)}.bio-card-inner{background-color:var(--primary-color);padding:min(var(--space-lg), 3rem);border-radius:var(--radius-panel);margin-left:calc(var(--offset) * -1);margin-top:calc(var(--offset) * -1);&>p{margin-block-start:0}&>p:last-child{margin-block-end:0}}.bio-text{line-height:var(--leading-body);letter-spacing:var(--tracking-body);margin-block-end:var(--space-lg)}.navbar{order:var(--navbar-order);justify-content:var(--navbar-align);padding:var(--space-sm);align-items:center;gap:var(--space-sm);flex-wrap:wrap;width:100%;display:flex}.navbar-name{font-size:var(--text-sm);text-transform:uppercase;margin:0}.navbar-mark{background:var(--secondary-color);width:24px;height:24px;mask:var(--mark) center / contain no-repeat;display:block}.navbar-mark--github{--mark:url(/assets/github.svg)}.navbar-mark--linkedin{--mark:url(/assets/linkedin.svg)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.settings-button{anchor-name:--settings-button;color:var(--secondary-color);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.settings-panel{width:min(19rem,100vw - 2rem);padding:var(--space-md);color:var(--secondary-color);background:var(--primary-color);border:var(--border-width) solid var(--secondary-color);border-radius:var(--radius-panel);margin:0;position:fixed;inset:auto 1rem 3.75rem auto}@container style(--navbar-order:-1){.settings-panel{inset:3.75rem 1rem auto auto}}@supports (anchor-name:--a){.settings-panel{position-anchor:--settings-button;position-area:block-start span-inline-start;position-try-fallbacks:block-start span-inline-end, block-end span-inline-start, block-end span-inline-end;margin-block:var(--space-xs);inset:auto}}.settings-heading{margin:0 0 var(--space-sm);font-family:var(--font-accent);font-size:var(--text-lg);letter-spacing:var(--tracking-heading);line-height:var(--leading-none)}.settings-group{margin:0 0 var(--space-sm);border:0;padding:0}.settings-legend{margin-bottom:var(--space-xs);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-caps);text-transform:uppercase;padding:0}.settings-choices{gap:var(--space-3xs) var(--space-sm);flex-wrap:wrap;display:flex}.settings-choice{align-items:center;gap:var(--space-2xs);font-size:var(--text-sm);cursor:pointer;display:flex}.settings-choice input{accent-color:var(--secondary-color);margin:0}.settings-choice:has(input:disabled){opacity:var(--muted-opacity);cursor:not-allowed}.ai-button{anchor-name:none}@keyframes brush-wag{0%{rotate:0deg}33%{rotate:-6deg}66%{rotate:6deg}to{rotate:0deg}}.ai-icon--theme{transform-origin:100% 0}.ai-button:hover .ai-icon--theme,.ai-button:focus-visible .ai-icon--theme{animation:.6s ease-in-out brush-wag}.theme-lab{width:min(46rem,100vw - 2rem);max-width:none;max-height:calc(100dvh - 4rem);padding:var(--space-lg);color:var(--secondary-color);font-size:var(--text-sm);background:var(--primary-color);border:var(--border-width) solid var(--secondary-color);border-radius:var(--radius-panel);overflow-y:auto}.theme-lab::backdrop{background:color-mix(in srgb, var(--scrim-color,#000) 65%, transparent)}.theme-lab-head{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-block-end:var(--space-lg);display:flex;& .settings-heading{margin:0}}.theme-lab-actions{gap:var(--space-xs);display:flex}.theme-lab-reset{display:none}:root[data-ai-theme] .theme-lab-reset{display:block}.reveal{margin:var(--space-md) 0 var(--space-lg);position:relative}.reveal-images{aspect-ratio:3010/1586;background:color-mix(in srgb, var(--primary-color) 88%, #000);border:var(--border-width) solid var(--secondary-color);border-radius:var(--radius-panel);position:relative;overflow:hidden}.reveal-image{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.reveal-overlay{clip-path:inset(0 0 0 calc(var(--reveal-progress,.5) * 100%));will-change:clip-path}.reveal-slider{width:2px;translate:var(--reveal-x,0);cursor:grab;touch-action:none;will-change:translate;margin-inline-start:-1px;position:absolute;inset-block:0;inset-inline-start:50%}.reveal-slider.active{cursor:grabbing}.reveal-bar{background:var(--secondary-color);width:100%;height:100%;opacity:var(--reveal-seam,1);filter:drop-shadow(0 0 3px var(--primary-color))}.reveal-handle{width:40px;height:40px;color:var(--primary-color);background:var(--secondary-color);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}.reveal-slider:focus-visible{outline:none}.reveal-slider:focus-visible .reveal-handle{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}.theme-lab-steps{margin:var(--space-md) 0 var(--space-lg);line-height:var(--leading-body);padding-inline-start:var(--space-md)}.theme-lab-steps li+li{margin-block-start:var(--space-lg)}.theme-lab code{overflow-wrap:anywhere;font-family:ui-monospace,monospace}.theme-lab-snippet{margin:var(--space-sm) 0;padding:var(--space-sm);background:color-mix(in srgb, var(--primary-color) 88%, #000);border:var(--border-width) solid var(--secondary-color);padding-inline-end:var(--space-2xl);position:relative}.theme-lab-code{font-family:ui-monospace,monospace;line-height:var(--leading-body);margin:0;overflow-x:auto}.theme-lab-copy{padding:var(--space-3xs);color:var(--secondary-color);border:var(--border-width) solid var(--secondary-color);border-radius:var(--radius-panel);cursor:pointer;background:0 0;display:flex;position:absolute;inset-block-start:var(--space-3xs);inset-inline-end:var(--space-3xs)}.theme-lab-copy:hover,.theme-lab-copy:focus-visible{color:var(--primary-color);background:var(--secondary-color)}.theme-lab-copy:not([data-copied]) .theme-lab-check-icon,.theme-lab-copy[data-copied] .theme-lab-copy-icon{display:none}.theme-lab-button{padding:var(--space-2xs) var(--space-sm);color:var(--secondary-color);border:var(--border-width) solid var(--secondary-color);border-radius:var(--radius-panel);cursor:pointer;background:0 0}}@layer effect{.fx-stage{width:100%;position:relative}.fx-content{inset:calc(var(--shift) * -1);z-index:0;--scrim:color-mix(in srgb, var(--scrim-color) calc(var(--scrim-alpha) * 100%), transparent);background:linear-gradient(var(--scrim), var(--scrim)), var(--backdrop-image) center / cover no-repeat, var(--bezel-color);color:var(--scrim-color);position:fixed}.fx-output{display:none}.fx-stage[data-fx=on] .fx-output{inset:calc(var(--shift) * -1);z-index:1;width:calc(100% + var(--shift) * 2);height:calc(100% + var(--shift) * 2);pointer-events:none;display:block;position:fixed}.fx-content,.fx-stage[data-fx=on] .fx-output{transform:translate3d(calc(var(--pointer-x,0) * var(--shift)), calc(var(--pointer-y,0) * var(--shift)), 0);transition:var(--shift-transition);will-change:transform;transition-property:transform}}
