@font-face{font-family:fontClacon;src:url(../media/clacon2-s.p.0jwq~dhx9p-oa.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:fontClacon;src:url(../media/clacon2-s.p.01k2-7fx_x~6-.ttf)format("truetype");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:fontClacon Fallback;src:local(Arial);ascent-override:74.15%;descent-override:17.11%;line-gap-override:0.0%;size-adjust:109.58%}.fontclacon_ba2c32b2-module__zewbaq__className{font-family:fontClacon,fontClacon Fallback}.fontclacon_ba2c32b2-module__zewbaq__variable{--font-clacon:"fontClacon", "fontClacon Fallback"}
@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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@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-mono:var(--font-clacon), "Classic Console Neue", "IBM Plex Mono", ui-monospace, monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-clacon), "Classic Console Neue", "IBM Plex Mono", ui-monospace, monospace;--color-background:var(--background);--color-foreground:var(--foreground);--color-primary:var(--primary);--color-primary-foreground:var(--primary-foreground);--color-muted:var(--muted);--color-muted-foreground:var(--muted-foreground);--color-accent:var(--accent);--color-accent-foreground:var(--accent-foreground);--color-destructive:var(--destructive);--color-border:var(--border);--color-input:var(--input);--font-pixel:var(--font-clacon), "Classic Console Neue", "IBM Plex Mono", ui-monospace, monospace}}@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;-webkit-text-decoration:inherit;-webkit-text-decoration: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}*{border-color:var(--color-border)}html,body{background-color:var(--color-background);height:100%;color:var(--color-foreground);font-family:var(--font-mono);letter-spacing:.02em;-webkit-font-smoothing:none;font-smooth:never;text-rendering:geometricprecision;cursor:var(--cursor-pixel-default);font-size:20px;line-height:1.3}a,button,[role=button],[role=tab],[role=menuitem],summary,label[for],select,input[type=button],input[type=submit],input[type=reset],input[type=checkbox],input[type=radio],input[type=range],input[type=file]{cursor:var(--cursor-pixel-pointer)}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed}input[type=text],input[type=search],input[type=url],input[type=tel],input[type=email],input[type=password],input[type=number],input[type=date],input[type=datetime-local],input[type=month],input[type=week],input[type=time],textarea{cursor:text}::selection{background-color:var(--color-accent);color:var(--color-accent-foreground)}a{color:var(--color-accent);text-decoration:none}a:hover{background-color:var(--color-accent);color:var(--color-accent-foreground)}}@layer components{.nc-menu-bar{z-index:45;border-bottom:2px solid var(--color-foreground);background-color:var(--color-primary);width:100%;color:var(--color-primary-foreground);flex-shrink:0;position:sticky;top:0}.nc-menu-bar__inner{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.25rem 1.25rem;width:100%;max-width:72rem;margin-left:auto;margin-right:auto;padding:.15rem .75rem;font-size:1.125rem;line-height:1.35;display:flex}.nc-menu-bar__nav{flex-wrap:wrap;align-items:center;gap:.1rem .65rem;display:flex}.nc-menu-bar__link{color:inherit;background-color:#0000;padding:.05rem .45rem;text-decoration:none}.nc-menu-bar__link:hover{background-color:var(--color-accent);color:var(--color-accent-foreground)}.nc-menu-bar__link:hover .nc-menu-bar__hotkey{color:inherit}.nc-menu-bar__link--active{background-color:var(--color-background);color:var(--color-foreground)}.nc-menu-bar__link--active .nc-menu-bar__hotkey{color:var(--color-accent)}.nc-menu-bar__link--active:hover{background-color:var(--color-background);color:var(--color-foreground)}.nc-menu-bar__hotkey{color:var(--color-accent)}.nc-menu-bar__passive{opacity:.88;pointer-events:none;-webkit-user-select:none;user-select:none;padding:.05rem .45rem}.nc-menu-bar__passive .nc-menu-bar__hotkey{color:var(--color-accent)}.nc-cmd-line{border-top:2px solid var(--color-foreground);width:100%;color:var(--color-foreground);background-color:#000;background-color:lab(0% 0 0);flex-shrink:0;font-size:1.125rem;line-height:1.35}.nc-cmd-line__inner{align-items:baseline;gap:.15rem;width:100%;max-width:72rem;margin-left:auto;margin-right:auto;padding:.15rem .75rem;display:flex}@media (min-width:640px){.nc-cmd-line__inner{padding-left:1.5rem;padding-right:1.5rem}}.nc-cmd-line__prompt{color:var(--color-foreground)}.nc-cmd-line__cursor{animation:1s steps(2,start) infinite dos-blink}.nc-window{background-color:var(--color-background);color:var(--color-foreground);border:2px solid var(--color-primary);box-shadow:none;padding:0}.nc-window--full-width{width:100%}.nc-window-title{background-color:var(--color-primary);color:var(--color-primary-foreground);text-align:left;letter-spacing:.04em;border-bottom:2px solid var(--color-background);padding:.1rem .5rem;font-size:.95rem;font-weight:400}@media (min-width:640px){.nc-window-title{font-size:1.05rem}}.nc-window-body{background-color:var(--color-background);padding:1rem 1.25rem}.nc-window-body--flush{padding:0}.nc-window-body--centered{text-align:center}.nc-panel{background-color:var(--color-primary);color:var(--color-primary-foreground);border:1px solid var(--color-border);outline:1px solid var(--color-primary-foreground);outline-offset:-4px;padding:1rem 1.25rem}.dos-cursor{background-color:var(--color-foreground);vertical-align:text-bottom;width:.55em;height:1em;animation:1s steps(2,start) infinite dos-blink;display:inline-block}.fkey{-webkit-user-select:none;user-select:none;cursor:pointer;font-size:.85rem;line-height:1;font:inherit;background:0 0;border:none;align-items:center;gap:0;padding:0;display:inline-flex}.fkey:hover{opacity:.9}.fkey:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.fkey-num{color:var(--color-foreground);background-color:var(--color-background);padding:.15rem .35rem}.fkey-label{color:var(--color-primary-foreground);background-color:var(--color-primary);padding:.15rem .5rem .15rem .35rem}.scanlines:before{content:"";pointer-events:none;z-index:50;mix-blend-mode:multiply;background:repeating-linear-gradient(#0000 0 2px,#0000002e 3px,#0000 4px);position:fixed;inset:0}.nc-nav-item{color:var(--color-foreground);padding:.1rem .6rem}.nc-nav-item:hover,.nc-nav-item[data-status=active]{background-color:var(--color-primary);color:var(--color-primary-foreground)}.pixel-heading{font-family:var(--font-pixel);letter-spacing:.05em;line-height:1.4}.dos-text--accent{color:var(--color-accent)}.dos-text--dim{color:var(--color-foreground)}@supports (color:color-mix(in lab, red, red)){.dos-text--dim{color:color-mix(in oklch, var(--color-foreground) 70%, transparent)}}.dos-text--soft{color:var(--color-foreground)}@supports (color:color-mix(in lab, red, red)){.dos-text--soft{color:color-mix(in oklch, var(--color-foreground) 80%, transparent)}}.dos-text--softer{color:var(--color-foreground)}@supports (color:color-mix(in lab, red, red)){.dos-text--softer{color:color-mix(in oklch, var(--color-foreground) 85%, transparent)}}.dos-text--muted{color:var(--color-foreground)}@supports (color:color-mix(in lab, red, red)){.dos-text--muted{color:color-mix(in oklch, var(--color-foreground) 90%, transparent)}}.dos-text--destructive{color:var(--color-destructive)}.dos-text--break{overflow-wrap:anywhere;word-break:break-word}.dos-text--typewriter{font-size:1.125rem;line-height:1.4}@media (min-width:640px){.dos-text--typewriter{font-size:1.25rem}}.page-stack{flex-direction:column;gap:1.5rem;display:flex}.page-stack--tight,.page-stack--roomy{gap:1rem}@media (min-width:640px){.page-stack--roomy{gap:1.25rem}}.home-intro-split{flex-direction:column;gap:1rem;width:100%;display:flex}@media (min-width:1024px){.home-intro-split{flex-direction:row;align-items:center;gap:1.5rem}}.home-intro-split__content{flex:auto;width:100%;min-width:0}.home-greeting{font-size:.875rem;line-height:1.35}@media (min-width:640px){.home-greeting{font-size:1rem}}.home-bio-gap{margin-top:.75rem}.home-legacy-hero{justify-content:center;width:100%;margin-bottom:.25rem;display:flex}@media (min-width:1024px){.home-legacy-hero{flex:none;justify-content:flex-start;align-self:center;width:min(40%,32rem);margin-bottom:0}}.home-legacy-hero__image{width:min(100%,31.25rem);height:auto;image-rendering:pixelated;object-fit:contain}.page-block{flex-direction:column;gap:1rem;display:flex}.page-block--spacious{gap:1.5rem}.page-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.page-row--actions{gap:.75rem;padding-top:.5rem}.home-vintage-reveal{opacity:0;filter:blur(2px)brightness(1.2)contrast(.92);animation:.38s steps(6,end) forwards home-vintage-reveal;transform:translateY(2px)}.home-vintage-reveal--hint{animation-delay:9s}.home-vintage-reveal--panel{animation-delay:3.3s}.home-intro--static .home-vintage-reveal{opacity:1;filter:none;animation:none;transform:none}@keyframes home-vintage-reveal{0%{opacity:0;filter:blur(3px)brightness(1.32)contrast(.85);transform:translateY(3px)}60%{opacity:.96;filter:blur(1px)brightness(1.1)contrast(.98);transform:translateY(0)}to{opacity:1;filter:none;transform:none}}.page-row--center{justify-content:center}.nc-panel--body-text{font-size:.875rem;line-height:1.45}@media (min-width:640px){.nc-panel--body-text{font-size:1rem}}.nc-action-link{color:var(--color-primary-foreground);background-color:var(--color-primary);border:1px solid var(--color-border);padding:.1rem .6rem;display:inline-block}.nc-action-link:hover{background-color:var(--color-accent);color:var(--color-accent-foreground)}.about-two-col{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (min-width:768px){.about-two-col{grid-template-columns:1fr 1fr}}.about-list{flex-direction:column;gap:.75rem;display:flex}.about-list--tight{gap:.5rem}.about-education-list{flex-direction:column;gap:1.25rem;display:flex}.about-education-item{border-bottom:3px solid #fff;flex-direction:column;gap:.85rem;padding-bottom:1rem;display:flex}.about-education-item:last-child{border-bottom:none;padding-bottom:0}.about-education-header{flex-direction:column;gap:.15rem;display:flex}.about-education-period{font-family:var(--font-mono);font-size:.85rem}.about-education-degree{font-weight:600}.about-education-school{font-size:.9rem}.about-education-diploma-link{color:var(--color-foreground);background-color:var(--color-background);border:1px solid var(--color-foreground);align-self:flex-start;align-items:center;margin-top:.5rem;padding:.2rem .6rem;font-size:.8rem;line-height:1.2;text-decoration:none;display:inline-flex}.about-education-diploma-link:hover,.about-education-diploma-link:focus-visible{color:var(--color-accent-foreground);background-color:var(--color-accent)}.about-education-section{flex-direction:column;gap:.4rem;display:flex}.about-education-section-title{font-size:.75rem;line-height:1.25}.about-education-activities{grid-template-columns:1fr;gap:.25rem 1rem;font-size:.875rem;line-height:1.35;display:grid}@media (min-width:640px){.about-education-activities{grid-template-columns:1fr 1fr}}@media (min-width:1024px){.about-education-activities{grid-template-columns:1fr 1fr 1fr}}.about-education-bullets{flex-direction:column;gap:.35rem;font-size:.9rem;line-height:1.45;display:flex}.about-education-dissertation{font-size:.9rem;line-height:1.45}.about-lang-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.about-lang-name{min-width:8rem}.about-lang-meter{font-family:var(--font-mono)}.about-skill-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:640px){.about-skill-grid{grid-template-columns:1fr 1fr}}.about-skill-panel-title{font-size:.75rem;line-height:1.25}.about-skill-items{grid-template-columns:1fr;gap:.25rem 1rem;margin-top:.5rem;font-size:.875rem;line-height:1.35;display:grid}@media (min-width:640px){.about-skill-items{grid-template-columns:1fr 1fr}}.about-industry-list{grid-template-columns:1fr;gap:.25rem 1.5rem;display:grid}@media (min-width:640px){.about-industry-list{grid-template-columns:1fr 1fr}}.about-career-list{flex-direction:column;gap:1rem;display:flex}.about-career-item{border-bottom:3px solid #fff;grid-template-columns:1fr;gap:.25rem;padding-bottom:.85rem;display:grid}.about-career-item:last-child{border-bottom:none;padding-bottom:0}@media (min-width:640px){.about-career-item{grid-template-columns:10rem 1fr auto;align-items:baseline;gap:1rem}.about-career-projects{grid-column:1/-1}}.about-career-item__location{color:var(--color-foreground)}@supports (color:color-mix(in lab, red, red)){.about-career-item__location{color:color-mix(in oklch, var(--color-foreground) 70%, transparent)}}@media (min-width:640px){.about-career-item__location{text-align:right}}.about-career-projects{flex-direction:column;gap:.35rem;min-width:0;margin-top:.35rem;display:flex}.about-career-projects__links{flex-flow:wrap;gap:.35rem;display:flex}@media (max-width:767px){.about-career-projects__links{flex-flow:column;align-items:stretch;gap:.45rem}.about-career-project-link{box-sizing:border-box;justify-content:flex-start;width:100%}}.about-career-project-link{border:1px solid var(--color-foreground);padding:.2rem .45rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.about-career-project-link{border:1px solid color-mix(in oklch, var(--color-foreground) 45%, transparent)}}.about-career-project-link{color:var(--color-accent);overflow-wrap:anywhere;min-width:0;line-height:1.35;text-decoration:none}.about-career-project-link:hover{color:var(--color-accent-foreground);background-color:var(--color-accent)}.about-bio-stack{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.about-title{font-size:1rem;line-height:1.35}@media (min-width:640px){.about-title{font-size:1.125rem}}.about-subline{color:var(--color-foreground);margin-top:.25rem}@supports (color:color-mix(in lab, red, red)){.about-subline{color:color-mix(in oklch, var(--color-foreground) 90%, transparent)}}.about-panel-gap{margin-top:.75rem}.about-resume-row{margin-top:1rem}.about-resume-button{color:var(--color-foreground);background-color:var(--color-background);border:1px solid var(--color-foreground);font:inherit;cursor:pointer;align-items:center;margin-top:1em;padding:.3rem .7rem;text-decoration:none;display:inline-flex}.about-resume-button:hover{color:var(--color-accent-foreground);background-color:var(--color-accent)}.contact-page-body{flex-direction:column;gap:.5rem;font-size:1rem;line-height:1.45;display:flex}@media (min-width:640px){.contact-page-body{font-size:1.125rem}}.contact-copy-btn{color:var(--color-foreground);background-color:var(--color-background);border:1px solid var(--color-foreground);cursor:pointer;margin-left:.75rem;padding:.125rem .5rem;font-family:inherit;font-size:.875rem;line-height:1.25}.contact-copy-btn:hover{color:var(--color-accent-foreground);background-color:var(--color-accent)}.contact-hint{color:var(--color-foreground);margin-top:.25rem;font-size:.875rem;line-height:1.35}@supports (color:color-mix(in lab, red, red)){.contact-hint{color:color-mix(in oklch, var(--color-foreground) 70%, transparent)}}.contact-links-list{flex-direction:column;gap:.25rem;display:flex}.contact-kv{color:var(--color-foreground)}@supports (color:color-mix(in lab, red, red)){.contact-kv{color:color-mix(in oklch, var(--color-foreground) 70%, transparent)}}.contact-line-out{padding-left:1rem}.contact-prompt-line{padding-top:.5rem}.portfolio-intro{flex-direction:column;gap:.75rem;display:flex}.portfolio-filter-row{flex-wrap:wrap;gap:.25rem;display:flex}.portfolio-filter-tab{cursor:pointer;color:var(--color-foreground);background-color:var(--color-background);border:1px solid var(--color-foreground);padding:.25rem .75rem;font-family:inherit;font-size:1rem;line-height:1.35}.portfolio-filter-tab:hover{color:var(--color-primary-foreground);background-color:var(--color-primary)}.portfolio-filter-tab--active,.portfolio-filter-tab--active:hover{color:var(--color-accent-foreground);background-color:var(--color-accent)}.portfolio-split{grid-template-columns:1fr;gap:1.5rem;display:grid}.portfolio-mobile-nav{border:1px solid var(--color-foreground);justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem .5rem;display:flex}@supports (color:color-mix(in lab, red, red)){.portfolio-mobile-nav{border:1px solid color-mix(in oklch, var(--color-foreground) 35%, transparent)}}.portfolio-mobile-nav{background-color:var(--color-background)}@supports (color:color-mix(in lab, red, red)){.portfolio-mobile-nav{background-color:color-mix(in oklch, var(--color-background) 85%, transparent)}}.portfolio-detail-window .portfolio-list-status{flex:auto}@media (min-width:768px){.portfolio-split{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.portfolio-mobile-nav{display:none}}@media (max-width:767px){.portfolio-list-window{display:none}}.portfolio-project-list{border-top:1px solid var(--color-foreground)}@supports (color:color-mix(in lab, red, red)){.portfolio-project-list{border-top:1px solid color-mix(in oklch, var(--color-foreground) 30%, transparent)}}.portfolio-list-footer{border-top:1px solid var(--color-foreground);justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .6rem;display:flex}@supports (color:color-mix(in lab, red, red)){.portfolio-list-footer{border-top:1px solid color-mix(in oklch, var(--color-foreground) 35%, transparent)}}.portfolio-list-footer{background-color:var(--color-background)}@supports (color:color-mix(in lab, red, red)){.portfolio-list-footer{background-color:color-mix(in oklch, var(--color-background) 85%, transparent)}}.portfolio-page-btn{color:var(--color-foreground);background-color:var(--color-background);border:1px solid var(--color-foreground);cursor:pointer;padding:.1rem .45rem;font-family:inherit;font-size:.875rem;line-height:1.3}.portfolio-page-btn:hover:not(:disabled){color:var(--color-accent-foreground);background-color:var(--color-accent)}.portfolio-page-btn:disabled{opacity:.45;cursor:not-allowed}.portfolio-list-status{color:var(--color-foreground)}@supports (color:color-mix(in lab, red, red)){.portfolio-list-status{color:color-mix(in oklch, var(--color-foreground) 88%, transparent)}}.portfolio-list-status{text-align:center;font-size:.875rem;line-height:1.3}.portfolio-project-row{text-align:left;cursor:pointer;width:100%;color:var(--color-foreground);border:none;border-bottom:1px solid var(--color-foreground);background:0 0;padding:.5rem .75rem;font-family:inherit;font-size:1rem;line-height:1.35;display:block}@supports (color:color-mix(in lab, red, red)){.portfolio-project-row{border-bottom:1px solid color-mix(in oklch, var(--color-foreground) 30%, transparent)}}.portfolio-project-row:hover,.portfolio-project-row--active,.portfolio-project-row--active:hover{color:var(--color-primary-foreground);background-color:var(--color-primary)}.portfolio-project-row__name{text-transform:uppercase}.portfolio-project-row__meta{color:var(--color-foreground);font-size:.75rem;line-height:1.35}@supports (color:color-mix(in lab, red, red)){.portfolio-project-row__meta{color:color-mix(in oklch, var(--color-foreground) 70%, transparent)}}@media (min-width:640px){.portfolio-project-row__meta{font-size:.875rem}}.portfolio-project-row--active .portfolio-project-row__meta{color:var(--color-primary-foreground)}@supports (color:color-mix(in lab, red, red)){.portfolio-project-row--active .portfolio-project-row__meta{color:color-mix(in oklch, var(--color-primary-foreground) 82%, transparent)}}.portfolio-detail{flex-direction:column;gap:1rem;display:flex}.portfolio-detail__head{flex-direction:column;gap:.25rem;display:flex}.portfolio-detail__title{font-family:var(--font-pixel);text-transform:uppercase;color:var(--color-accent);font-size:.875rem;line-height:1.35}.portfolio-stack-list{flex-wrap:wrap;gap:.25rem;margin-top:.25rem;display:flex}.portfolio-stack-chip{color:var(--color-foreground);background-color:var(--color-background);border:1px solid var(--color-foreground);padding:.125rem .5rem;font-size:.875rem;line-height:1.25}.portfolio-highlights{flex-direction:column;gap:.25rem;margin-top:.25rem;display:flex}.portfolio-summary-text{margin-top:.25rem}.app-root{background-color:var(--color-background);height:100vh;min-height:100vh;color:var(--color-foreground);flex-direction:column;display:flex;overflow:hidden}.app-root__main{scrollbar-width:none;-ms-overflow-style:none;flex:auto;width:100%;max-width:72rem;min-height:0;margin-left:auto;margin-right:auto;padding:.75rem .75rem 1rem;overflow:auto}.app-root__main::-webkit-scrollbar{display:none}.route-vintage-reveal{animation:.36s steps(8,end) route-vintage-reveal}@media (min-width:640px){.app-root__main{padding:1rem 1.5rem 1.25rem}}.not-found-root{background-color:var(--color-background);height:100vh;min-height:100vh;color:var(--color-foreground);flex-direction:column;display:flex;overflow:hidden}@keyframes route-vintage-reveal{0%{opacity:.2;filter:blur(2px)brightness(1.3)contrast(.88);transform:translateY(2px)}60%{opacity:.95;filter:blur(.8px)brightness(1.08)contrast(.98);transform:translateY(0)}to{opacity:1;filter:none;transform:none}}.not-found-root__main{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:auto;justify-content:center;align-items:center;width:100%;max-width:48rem;min-height:0;margin-left:auto;margin-right:auto;padding:2.5rem 1rem;display:flex;overflow:auto}.not-found-root__main::-webkit-scrollbar{display:none}.not-found-error-title{font-size:1.5rem;line-height:1.35}.not-found-lead{margin-top:1rem}.not-found-sub{color:var(--color-foreground);margin-top:.25rem}@supports (color:color-mix(in lab, red, red)){.not-found-sub{color:color-mix(in oklch, var(--color-foreground) 80%, transparent)}}.not-found-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}.status-bar{z-index:40;background-color:var(--color-primary);width:100%;color:var(--color-primary-foreground);border-top:2px solid var(--color-foreground);flex-shrink:0;position:sticky;bottom:0}.status-bar__inner{flex-wrap:wrap;align-items:center;gap:.25rem .5rem;width:100%;max-width:72rem;margin-left:auto;margin-right:auto;padding:.25rem .75rem;font-size:1rem;line-height:1.35;display:flex}@media (max-width:639px){.status-bar__inner{justify-content:center;align-items:stretch}.status-bar__nav{justify-content:center;width:100%}.status-bar__meta{justify-content:center;width:100%;margin-left:0}}.status-bar__nav{flex-wrap:wrap;align-items:center;gap:.25rem;font-size:1rem;line-height:1.35;display:flex}@media (min-width:640px){.status-bar__nav{font-size:1.125rem}}.status-bar__link{color:var(--color-primary-foreground);background-color:#0000;align-items:stretch;padding:.05rem .15rem;text-decoration:none;display:inline-flex}.status-bar__link:hover{color:var(--color-primary-foreground);background-color:#0000}.status-bar__fkey{border:1px solid var(--color-primary-foreground);align-items:baseline;gap:0;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.status-bar__fkey{border:1px solid color-mix(in oklch, var(--color-primary-foreground) 28%, transparent)}}.status-bar__fkey-num{font-variant-numeric:tabular-nums;text-align:center;min-width:1.15ch;color:var(--color-primary);background-color:var(--color-primary-foreground);padding:.05rem .25rem}.status-bar__fkey-label{color:var(--color-primary-foreground);background-color:var(--color-primary);padding:.05rem .35rem .05rem .2rem}.status-bar__link:hover .status-bar__fkey{border-color:var(--color-accent-foreground)}.status-bar__link:hover .status-bar__fkey-num,.status-bar__link:hover .status-bar__fkey-label{color:var(--color-accent-foreground);background-color:var(--color-accent)}.status-bar__link--active .status-bar__fkey{border-color:var(--color-foreground)}.status-bar__link--active .status-bar__fkey-num{color:var(--color-background);background-color:var(--color-foreground)}.status-bar__link--active .status-bar__fkey-label{color:var(--color-foreground);background-color:var(--color-background)}.status-bar__link--active:hover .status-bar__fkey-num{color:var(--color-background);background-color:var(--color-foreground)}.status-bar__link--active:hover .status-bar__fkey-label{color:var(--color-foreground);background-color:var(--color-background)}.status-bar__link--active{background-color:#0000}.status-bar__link--active:hover{color:var(--color-foreground);background-color:#0000}.status-bar__meta{color:var(--color-primary-foreground);align-items:center;gap:.75rem;margin-left:auto;display:flex}.router-error{background-color:var(--color-background);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.router-error__card{text-align:center;width:100%;max-width:28rem}.router-error__icon-wrap{background-color:var(--color-destructive);border-radius:9999px;justify-content:center;align-items:center;width:4rem;height:4rem;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;display:flex}@supports (color:color-mix(in lab, red, red)){.router-error__icon-wrap{background-color:color-mix(in oklch, var(--color-destructive) 10%, transparent)}}.router-error__icon{width:2rem;height:2rem;color:var(--color-destructive)}.router-error__title{letter-spacing:-.025em;color:var(--color-foreground);font-size:1.5rem;font-weight:700;line-height:1.2}.router-error__lead{color:var(--color-muted-foreground);margin-top:.5rem;font-size:.875rem;line-height:1.45}.router-error__trace{text-align:left;max-height:10rem;font-family:var(--font-mono);color:var(--color-destructive);background-color:var(--color-muted);border-radius:.375rem;margin-top:1rem;padding:.75rem;font-size:.75rem;line-height:1.35;overflow:auto}.router-error__actions{justify-content:center;align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}.router-error__btn{cursor:pointer;border:1px solid #0000;border-radius:.375rem;justify-content:center;align-items:center;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500;line-height:1.25;text-decoration:none;display:inline-flex}.router-error__btn--primary{color:var(--color-primary-foreground);background-color:var(--color-primary);border-color:#0000}.router-error__btn--primary:hover{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.router-error__btn--primary:hover{background-color:color-mix(in oklch, var(--color-primary) 90%, transparent)}}.router-error__btn--secondary{color:var(--color-foreground);background-color:var(--color-background);border-color:var(--color-input)}.router-error__btn--secondary:hover{background-color:var(--color-accent);color:var(--color-accent-foreground)}}@layer utilities{.absolute{position:absolute}.static{position:static}.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}}.block{display:block}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--cursor-pixel-default:url(/assets/cursors/pixel-default.svg) 0 0, auto;--cursor-pixel-pointer:url(/assets/cursors/pixel-pointer.svg) 6 5, pointer;--radius:0;--background:#0500a0;--foreground:#fff;--card:#00a7a8;--card-foreground:#000;--popover:#00a7a8;--popover-foreground:#000;--primary:#00a7a8;--primary-foreground:#000;--secondary:#ababab;--secondary-foreground:#000;--muted:#4761e4;--muted-foreground:#fff;--accent:#fff786;--accent-foreground:#000;--destructive:#a50e15;--destructive-foreground:#fff;--border:#fff;--input:#0500a0;--ring:#fff786;--chart-1:#00a7a8;--chart-2:#fff786;--chart-3:#4761e4;--chart-4:#a50e15;--chart-5:#ababab;--sidebar:#ababab;--sidebar-foreground:#000;--sidebar-primary:#00a7a8;--sidebar-primary-foreground:#000;--sidebar-accent:#fff786;--sidebar-accent-foreground:#000;--sidebar-border:#fff;--sidebar-ring:#fff786}@supports (color:lab(0% 0 0)){:root{--background:lab(16.2736% 48.3788 -78.7952);--foreground:lab(100% 0 0);--card:lab(61.9303% -42.5574 -12.7126);--card-foreground:lab(0% 0 0);--popover:lab(61.9303% -42.5574 -12.7126);--popover-foreground:lab(0% 0 0);--primary:lab(61.9303% -42.5574 -12.7126);--primary-foreground:lab(0% 0 0);--secondary:lab(69.84% 0 0);--secondary-foreground:lab(0% 0 0);--muted:lab(45.213% 24.3682 -70.9041);--muted-foreground:lab(100% 0 0);--accent:lab(96.3751% -8.94979 77.9462);--accent-foreground:lab(0% 0 0);--destructive:lab(35.549% 56.7932 41.4018);--destructive-foreground:lab(100% 0 0);--border:lab(100% 0 0);--input:lab(16.2736% 48.3788 -78.7952);--ring:lab(96.3751% -8.94979 77.9462);--chart-1:lab(61.9303% -42.5574 -12.7126);--chart-2:lab(96.3751% -8.94979 77.9462);--chart-3:lab(45.213% 24.3682 -70.9041);--chart-4:lab(35.549% 56.7932 41.4018);--chart-5:lab(69.84% 0 0);--sidebar:lab(69.84% 0 0);--sidebar-foreground:lab(0% 0 0);--sidebar-primary:lab(61.9303% -42.5574 -12.7126);--sidebar-primary-foreground:lab(0% 0 0);--sidebar-accent:lab(96.3751% -8.94979 77.9462);--sidebar-accent-foreground:lab(0% 0 0);--sidebar-border:lab(100% 0 0);--sidebar-ring:lab(96.3751% -8.94979 77.9462)}}.dark{--background:#0500a0;--foreground:#fff;--card:#00a7a8;--card-foreground:#000;--popover:#00a7a8;--popover-foreground:#000;--primary:#00a7a8;--primary-foreground:#000;--secondary:#ababab;--secondary-foreground:#000;--muted:#4761e4;--muted-foreground:#fff;--accent:#fff786;--accent-foreground:#000;--destructive:#a50e15;--destructive-foreground:#fff;--border:#fff;--input:#0500a0;--ring:#fff786;--chart-1:#00a7a8;--chart-2:#fff786;--chart-3:#4761e4;--chart-4:#a50e15;--chart-5:#ababab;--sidebar:#ababab;--sidebar-foreground:#000;--sidebar-primary:#00a7a8;--sidebar-primary-foreground:#000;--sidebar-accent:#fff786;--sidebar-accent-foreground:#000;--sidebar-border:#fff;--sidebar-ring:#fff786}@supports (color:lab(0% 0 0)){.dark{--background:lab(16.2736% 48.3788 -78.7952);--foreground:lab(100% 0 0);--card:lab(61.9303% -42.5574 -12.7126);--card-foreground:lab(0% 0 0);--popover:lab(61.9303% -42.5574 -12.7126);--popover-foreground:lab(0% 0 0);--primary:lab(61.9303% -42.5574 -12.7126);--primary-foreground:lab(0% 0 0);--secondary:lab(69.84% 0 0);--secondary-foreground:lab(0% 0 0);--muted:lab(45.213% 24.3682 -70.9041);--muted-foreground:lab(100% 0 0);--accent:lab(96.3751% -8.94979 77.9462);--accent-foreground:lab(0% 0 0);--destructive:lab(35.549% 56.7932 41.4018);--destructive-foreground:lab(100% 0 0);--border:lab(100% 0 0);--input:lab(16.2736% 48.3788 -78.7952);--ring:lab(96.3751% -8.94979 77.9462);--chart-1:lab(61.9303% -42.5574 -12.7126);--chart-2:lab(96.3751% -8.94979 77.9462);--chart-3:lab(45.213% 24.3682 -70.9041);--chart-4:lab(35.549% 56.7932 41.4018);--chart-5:lab(69.84% 0 0);--sidebar:lab(69.84% 0 0);--sidebar-foreground:lab(0% 0 0);--sidebar-primary:lab(61.9303% -42.5574 -12.7126);--sidebar-primary-foreground:lab(0% 0 0);--sidebar-accent:lab(96.3751% -8.94979 77.9462);--sidebar-accent-foreground:lab(0% 0 0);--sidebar-border:lab(100% 0 0);--sidebar-ring:lab(96.3751% -8.94979 77.9462)}}@keyframes dos-blink{to{visibility:hidden}}@media (prefers-reduced-motion:reduce){.route-vintage-reveal{animation:none}.home-vintage-reveal{opacity:1;filter:none;animation:none;transform:none}.dos-cursor{animation:none}.scanlines:before{display:none}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
