.photo-frame-module__ftUcZG__frame{--spotlight-radius:22%;--spotlight-x:50%;--spotlight-y:50%;--spotlight-opacity:0;border:1px solid hsl(var(--border));border-radius:var(--radius-terminal-lg);background:hsl(var(--surface));box-shadow:0 var(--space-6) var(--space-16) hsl(var(--hero-terminal-shadow) / var(--hero-terminal-shadow-opacity));position:relative;overflow:hidden}.photo-frame-module__ftUcZG__header{align-items:center;gap:var(--space-2);min-height:var(--space-12);padding-inline:var(--space-4);border-bottom:1px solid hsl(var(--border));color:hsl(var(--muted));font-family:var(--font-mono), monospace;font-size:var(--text-sm);line-height:var(--leading-sm);display:flex}.photo-frame-module__ftUcZG__indicator{width:var(--space-2);aspect-ratio:1;background:hsl(var(--accent));border-radius:999px}.photo-frame-module__ftUcZG__filename{color:hsl(var(--foreground))}.photo-frame-module__ftUcZG__status{margin-left:auto}.photo-frame-module__ftUcZG__imageArea{aspect-ratio:4/5;background:hsl(var(--background));position:relative;overflow:hidden}.photo-frame-module__ftUcZG__baseImage,.photo-frame-module__ftUcZG__colorImage{object-fit:cover;object-position:center calc(50% + var(--space-4))}.photo-frame-module__ftUcZG__baseImage{filter:saturate(.48)brightness(.74)}.photo-frame-module__ftUcZG__colorImage{opacity:var(--spotlight-opacity);clip-path:circle(var(--spotlight-radius) at var(--spotlight-x) var(--spotlight-y));transition:opacity .24s ease-out}.photo-frame-module__ftUcZG__scanlines,.photo-frame-module__ftUcZG__vignette,.photo-frame-module__ftUcZG__spotlightRing,.photo-frame-module__ftUcZG__beam{pointer-events:none;position:absolute;inset:0}.photo-frame-module__ftUcZG__scanlines{background:repeating-linear-gradient(to bottom, hsl(var(--foreground) / .07) 0 1px, transparent 1px var(--space-1));opacity:.3}.photo-frame-module__ftUcZG__vignette{background:radial-gradient(ellipse at center, transparent 45%, hsl(var(--background) / .42) 100%)}.photo-frame-module__ftUcZG__spotlightRing{opacity:var(--spotlight-opacity);background:radial-gradient(circle var(--spotlight-radius) at var(--spotlight-x) var(--spotlight-y), transparent calc(var(--spotlight-radius) - var(--space-1)), hsl(var(--accent) / .58) calc(var(--spotlight-radius) - var(--space-1)), hsl(var(--accent) / .16) var(--spotlight-radius), transparent calc(var(--spotlight-radius) + var(--space-2)));filter:blur(var(--space-1));transition:opacity .24s ease-out}.photo-frame-module__ftUcZG__beam{opacity:0;background:linear-gradient(120deg, transparent 42%, hsl(var(--accent) / .08) 48%, hsl(var(--accent) / .28) 50%, hsl(var(--accent) / .08) 52%, transparent 58%);transform:translate(-120%)}.photo-frame-module__ftUcZG__frame[data-revealed=true] .photo-frame-module__ftUcZG__beam{animation:1.2s ease-out both photo-frame-module__ftUcZG__wake-beam}@keyframes photo-frame-module__ftUcZG__wake-beam{0%{opacity:0;transform:translate(-120%)}20%{opacity:1}to{opacity:0;transform:translate(120%)}}@media (prefers-reduced-motion:reduce){.photo-frame-module__ftUcZG__baseImage{filter:none}.photo-frame-module__ftUcZG__colorImage,.photo-frame-module__ftUcZG__spotlightRing,.photo-frame-module__ftUcZG__beam{display:none}}
.about-section-module__TiRdJG__section{padding:var(--space-section) var(--space-page);background:hsl(var(--background));position:relative}.about-section-module__TiRdJG__grid{width:min(100%, var(--measure-hero));gap:var(--space-12);margin-inline:auto;display:grid}.about-section-module__TiRdJG__photoColumn{order:-1;align-self:start;position:relative}.about-section-module__TiRdJG__photoHook{z-index:2;top:calc(var(--space-section) * -1);width:var(--space-4);aspect-ratio:1;border:1px solid hsl(var(--accent-strong));background:hsl(var(--surface));box-shadow:0 0 var(--space-3) hsl(var(--accent) / .32);border-radius:999px;position:absolute;left:50%;transform:translate(-50%,-50%)}.about-section-module__TiRdJG__photoHanger{padding-top:var(--space-section);margin-top:calc(var(--space-section) * -1);transform-origin:top;animation:8s ease-in-out infinite about-section-module__TiRdJG__photo-hang;position:relative}.about-section-module__TiRdJG__photoHanger:before{width:1px;height:var(--space-section);content:"";background:linear-gradient(to bottom, hsl(var(--accent-strong) / .88), hsl(var(--border)));position:absolute;top:0;left:50%;transform:translate(-50%)}.about-section-module__TiRdJG__photoReveal{z-index:1;position:relative}.about-section-module__TiRdJG__content{align-content:center;justify-items:center;gap:var(--space-6);text-align:center;display:grid}.about-section-module__TiRdJG__title{color:hsl(var(--foreground));font-size:var(--text-3xl);text-wrap:balance;font-weight:600;line-height:1.2}.about-section-module__TiRdJG__summaries{gap:var(--space-4);max-width:60ch;display:grid}.about-section-module__TiRdJG__summary{max-width:60ch;color:hsl(var(--foreground));font-size:var(--text-lg);line-height:var(--leading-body);text-wrap:pretty}.about-section-module__TiRdJG__highlight{color:hsl(var(--accent-strong))}@media (min-width:64rem){.about-section-module__TiRdJG__grid{align-items:center;gap:var(--space-24);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.about-section-module__TiRdJG__content{text-align:left;grid-area:1/1;justify-items:start}.about-section-module__TiRdJG__photoColumn{order:initial;grid-area:1/2}}@keyframes about-section-module__TiRdJG__photo-hang{0%,to{transform:rotate(-1deg)}50%{transform:rotate(1deg)}}@media (prefers-reduced-motion:reduce){.about-section-module__TiRdJG__photoHanger{animation:none}}
.hero-entrance-module__TTjNqW__page{background-color:hsl(var(--aura-page-background))}.hero-entrance-module__TTjNqW__shell{min-height:100svh;padding:var(--space-section) var(--space-page);display:grid;position:relative;overflow:hidden}.hero-entrance-module__TTjNqW__grid{z-index:1;width:min(100%, var(--measure-hero));gap:var(--space-12);margin-inline:auto;display:grid;position:relative}.hero-entrance-module__TTjNqW__intro{align-content:center;justify-items:center;gap:var(--space-6);text-align:center;display:grid}.hero-entrance-module__TTjNqW__kicker{color:hsl(var(--accent-strong));font-family:var(--font-hanken-grotesk), sans-serif;font-size:var(--text-kicker);letter-spacing:.12em;font-weight:600;line-height:var(--leading-kicker)}.hero-entrance-module__TTjNqW__title{max-width:9ch;color:hsl(var(--foreground));font-family:var(--hero-name-font);font-size:var(--text-display);letter-spacing:-.06em;font-weight:400;line-height:var(--leading-display);text-wrap:balance;transform-origin:50%;margin-inline:auto;transition:transform .36s ease-out,text-shadow .36s ease-out}.hero-entrance-module__TTjNqW__title:hover{text-shadow:0 0 var(--space-4) hsl(var(--hero-title-glow) / .36);transform:scale(1.02)}.hero-entrance-module__TTjNqW__titleSystemShadow{z-index:0;font-family:var(--hero-name-shadow-font);opacity:var(--hero-name-shadow-opacity);transform:translate(var(--space-1), var(--space-1));transition:opacity .36s ease-out;animation:9s ease-in-out infinite hero-entrance-module__TTjNqW__name-shadow-drift}.hero-entrance-module__TTjNqW__titleSystemShadowText{transition:opacity .36s ease-out,transform .36s ease-out;display:block}.hero-entrance-module__TTjNqW__title:hover .hero-entrance-module__TTjNqW__titleSystemShadowText{transform:translate(var(--space-3), var(--space-2))}.hero-entrance-module__TTjNqW__title:hover .hero-entrance-module__TTjNqW__titleSystemShadow{opacity:var(--hero-name-shadow-hover-opacity)}.hero-entrance-module__TTjNqW__actions{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.hero-entrance-module__TTjNqW__action{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-terminal-md);font-family:var(--font-hanken-grotesk), sans-serif;font-size:var(--text-sm);font-weight:600;line-height:var(--leading-sm);border:1px solid #0000;text-decoration:none;transition:background-color .18s ease-out,border-color .18s ease-out,color .18s ease-out;display:inline-flex}.hero-entrance-module__TTjNqW__primaryAction{background:hsl(var(--accent-fill));color:hsl(var(--accent-fill-foreground))}.hero-entrance-module__TTjNqW__primaryAction:hover{background:hsl(var(--accent-fill-hover))}.hero-entrance-module__TTjNqW__secondaryAction{border-color:hsl(var(--border));color:hsl(var(--foreground))}html[data-theme=dark] .hero-entrance-module__TTjNqW__secondaryAction{border-color:hsl(var(--foreground) / .22);background:hsl(var(--surface) / .72);box-shadow:inset 0 1px 0 hsl(var(--foreground) / .06)}.hero-entrance-module__TTjNqW__secondaryAction:hover{border-color:hsl(var(--hero-secondary-hover-border));background:hsl(var(--hero-secondary-hover-background) / var(--hero-secondary-hover-background-opacity));color:hsl(var(--hero-secondary-hover-foreground))}.hero-entrance-module__TTjNqW__action:focus-visible,.hero-entrance-module__TTjNqW__scrollCue:focus-visible{outline:2px solid hsl(var(--accent));outline-offset:var(--space-2)}.hero-entrance-module__TTjNqW__actionArrow{transition:transform .18s ease-out}.hero-entrance-module__TTjNqW__primaryAction:hover .hero-entrance-module__TTjNqW__actionArrow{transform:translateX(var(--space-1))}.hero-entrance-module__TTjNqW__terminalWrap{isolation:isolate;position:relative}.hero-entrance-module__TTjNqW__scrollCue{z-index:1;bottom:var(--space-6);align-items:center;gap:var(--space-1);color:hsl(var(--accent-strong));font-family:var(--font-mono), monospace;font-size:var(--text-sm);line-height:var(--leading-sm);opacity:0;pointer-events:none;transform:translate(-50%, var(--space-3));text-decoration:none;transition:color .18s ease-out,opacity .36s ease-out,transform .36s ease-out;display:inline-flex;position:absolute;left:50%}.hero-entrance-module__TTjNqW__scrollCue[data-visible=true]{opacity:1;pointer-events:auto;transform:translate(-50%)}.hero-entrance-module__TTjNqW__scrollCue:hover{color:hsl(var(--accent-hover))}.hero-entrance-module__TTjNqW__scrollCueCaret{background:hsl(var(--accent));width:.6ch;height:1em;animation:1s step-end infinite hero-entrance-module__TTjNqW__terminal-caret;display:inline-block}.hero-entrance-module__TTjNqW__futureSectionAnchor{scroll-margin-top:var(--space-16)}@keyframes hero-entrance-module__TTjNqW__terminal-caret{50%{opacity:0}}@keyframes hero-entrance-module__TTjNqW__name-shadow-drift{0%,to{transform:translate(var(--space-1), var(--space-1))}50%{transform:translate(calc(var(--space-1) * -1), var(--space-2))}}@media (prefers-reduced-motion:reduce){.hero-entrance-module__TTjNqW__actions,.hero-entrance-module__TTjNqW__scrollCue,.hero-entrance-module__TTjNqW__scrollCueCaret,.hero-entrance-module__TTjNqW__title,.hero-entrance-module__TTjNqW__titleSystemShadow,.hero-entrance-module__TTjNqW__titleSystemShadowText{transition:none;animation:none}.hero-entrance-module__TTjNqW__titleSystemShadow{opacity:var(--hero-name-shadow-opacity);transform:translate(var(--space-1), var(--space-1))}.hero-entrance-module__TTjNqW__title:hover{text-shadow:none;transform:none}.hero-entrance-module__TTjNqW__title:hover .hero-entrance-module__TTjNqW__titleSystemShadow{opacity:var(--hero-name-shadow-opacity)}.hero-entrance-module__TTjNqW__title:hover .hero-entrance-module__TTjNqW__titleSystemShadowText{transform:none}}@media (max-width:63.999rem){.hero-entrance-module__TTjNqW__shell{padding-top:var(--space-24)}}@media (min-width:64rem){.hero-entrance-module__TTjNqW__grid{grid-template-columns:minmax(0, .85fr) minmax(var(--measure-terminal), 1.15fr);align-items:center;gap:var(--space-24)}.hero-entrance-module__TTjNqW__intro{text-align:left;justify-items:start;position:relative}.hero-entrance-module__TTjNqW__title{transform-origin:0;margin-inline:0}.hero-entrance-module__TTjNqW__actions{justify-content:start}.hero-entrance-module__TTjNqW__kicker{top:calc(var(--space-6) * -1);position:absolute;left:0}.hero-entrance-module__TTjNqW__terminalWrap:before{z-index:2;top:0;bottom:0;left:calc(var(--space-12) * -1);content:"";pointer-events:none;background:linear-gradient(to bottom, transparent, hsl(var(--accent) / .28), transparent);width:1px;position:absolute}}
.terminal-webgl-glitch-module__iSZSjq__content,.terminal-webgl-glitch-module__iSZSjq__output{width:100%;height:100%;position:absolute;inset:0}.terminal-webgl-glitch-module__iSZSjq__output{z-index:2;border-radius:inherit;pointer-events:none}
.terminal-boot-module__Rf2wJq__journey{z-index:1;gap:var(--space-6);display:grid;position:relative}.terminal-boot-module__Rf2wJq__glitch{block-size:calc(var(--space-terminal-body) + var(--space-12));border-radius:var(--radius-terminal-lg);overflow:hidden}.terminal-boot-module__Rf2wJq__glitch>canvas{border-radius:inherit}.terminal-boot-module__Rf2wJq__glitch canvas,.terminal-boot-module__Rf2wJq__glitch canvas>div,.terminal-boot-module__Rf2wJq__glitch>div{scrollbar-width:none;overflow:hidden!important}.terminal-boot-module__Rf2wJq__glitch canvas::-webkit-scrollbar{display:none}.terminal-boot-module__Rf2wJq__glitch canvas>div::-webkit-scrollbar{display:none}.terminal-boot-module__Rf2wJq__glitch>div::-webkit-scrollbar{display:none}.terminal-boot-module__Rf2wJq__terminal{border:1px solid hsl(var(--border));border-radius:var(--radius-terminal-lg);background:hsl(var(--surface) / .9);box-shadow:0 1.5rem 4rem hsl(var(--hero-terminal-shadow) / var(--hero-terminal-shadow-opacity));font-family:var(--font-mono), monospace;transform:perspective(var(--perspective-terminal)) rotateX(var(--terminal-tilt-x,0deg)) rotateY(var(--terminal-tilt-y,0deg));transform-style:preserve-3d;will-change:transform;transition:box-shadow .18s ease-out,transform .18s ease-out;position:relative;overflow:hidden}@media (hover:hover) and (pointer:fine){.terminal-boot-module__Rf2wJq__terminal:hover{box-shadow:0 var(--space-8) var(--space-24) hsl(var(--hero-terminal-shadow) / var(--hero-terminal-shadow-hover-opacity))}}.terminal-boot-module__Rf2wJq__bar{align-items:center;gap:var(--space-2);min-height:var(--space-12);padding-inline:var(--space-4);border-bottom:1px solid hsl(var(--border));color:hsl(var(--muted));font-size:var(--text-sm);line-height:var(--leading-sm);display:flex}.terminal-boot-module__Rf2wJq__indicator{width:var(--space-2);aspect-ratio:1;background:hsl(var(--accent));border-radius:999px}.terminal-boot-module__Rf2wJq__file{color:hsl(var(--foreground))}.terminal-boot-module__Rf2wJq__state{margin-left:auto}.terminal-boot-module__Rf2wJq__body{gap:var(--space-6);block-size:var(--space-terminal-body);padding:var(--space-6);grid-template-rows:minmax(0,1fr) auto;display:grid}.terminal-boot-module__Rf2wJq__output{align-content:start;gap:var(--space-6);min-block-size:0;display:grid}.terminal-boot-module__Rf2wJq__entry{gap:var(--space-2);display:grid}.terminal-boot-module__Rf2wJq__command,.terminal-boot-module__Rf2wJq__idle{color:hsl(var(--foreground));font-size:var(--text-terminal);line-height:var(--leading-terminal);overflow-wrap:anywhere}.terminal-boot-module__Rf2wJq__result{color:hsl(var(--muted));font-size:var(--text-terminal);line-height:var(--leading-terminal);overflow-wrap:anywhere}.terminal-boot-module__Rf2wJq__comment{color:hsl(var(--info));font-size:var(--text-terminal);font-style:italic;line-height:var(--leading-terminal);overflow-wrap:anywhere;text-wrap:pretty}.terminal-boot-module__Rf2wJq__resultHighlight{color:hsl(var(--accent-strong));text-shadow:0 0 var(--space-3) hsl(var(--accent) / .22)}.terminal-boot-module__Rf2wJq__projects{white-space:pre-wrap}.terminal-boot-module__Rf2wJq__projectLink{color:hsl(var(--accent-strong));text-decoration:underline;-webkit-text-decoration-color:hsl(var(--accent) / .42);text-decoration-color:hsl(var(--accent) / .42);text-underline-offset:var(--space-1);transition:color .18s ease-out,text-decoration-color .18s ease-out}.terminal-boot-module__Rf2wJq__projectLink:hover{color:hsl(var(--accent-hover));text-decoration-color:currentColor}.terminal-boot-module__Rf2wJq__projectLink:focus-visible{outline:2px solid hsl(var(--accent));outline-offset:var(--space-1)}.terminal-boot-module__Rf2wJq__prompt{color:hsl(var(--accent-strong))}.terminal-boot-module__Rf2wJq__inactivePrompt{color:hsl(var(--muted))}.terminal-boot-module__Rf2wJq__caret{width:.6ch;height:1em;margin-left:var(--space-1);background:hsl(var(--accent));animation:1s step-end infinite terminal-boot-module__Rf2wJq__caret;display:inline-block;translate:0 .15em}@keyframes terminal-boot-module__Rf2wJq__caret{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.terminal-boot-module__Rf2wJq__caret,.terminal-boot-module__Rf2wJq__terminal{transition:none;animation:none}.terminal-boot-module__Rf2wJq__terminal{transform:none}}@media (max-width:30rem){.terminal-boot-module__Rf2wJq__glitch{block-size:calc(var(--space-terminal-body-compact) + var(--space-12))}.terminal-boot-module__Rf2wJq__body{block-size:var(--space-terminal-body-compact)}}
.floating-nav-module__AZrM6q__nav{z-index:20;top:var(--space-4);width:max-content;max-width:calc(100% - var(--space-12));border:1px solid hsl(var(--border));background:hsl(var(--surface) / .88);box-shadow:0 var(--space-2) var(--space-12) hsl(var(--hero-terminal-shadow) / .16);-webkit-backdrop-filter:blur(var(--space-4));backdrop-filter:blur(var(--space-4));border-radius:999px;position:fixed;left:50%}.floating-nav-module__AZrM6q__list{align-items:center;gap:var(--space-1);padding:var(--space-1);display:flex}.floating-nav-module__AZrM6q__link{padding:var(--space-2) var(--space-3);color:hsl(var(--muted));font-size:var(--text-sm);line-height:var(--leading-sm);border-radius:999px;text-decoration:none;transition:color .18s ease-out,background-color .18s ease-out;display:block}.floating-nav-module__AZrM6q__link:hover,.floating-nav-module__AZrM6q__link[aria-current=page]{color:hsl(var(--accent-strong))}.floating-nav-module__AZrM6q__link:focus-visible,.floating-nav-module__AZrM6q__themeToggle:focus-visible{outline:2px solid hsl(var(--accent));outline-offset:var(--space-1)}.floating-nav-module__AZrM6q__themeToggle{width:var(--space-8);aspect-ratio:1;border:1px solid hsl(var(--border));background:hsl(var(--surface) / .56);box-shadow:0 var(--space-1) var(--space-3) hsl(var(--hero-terminal-shadow) / .12);color:hsl(var(--foreground));font-size:var(--text-body);cursor:pointer;border-radius:999px;place-items:center;transition:background-color .18s ease-out,box-shadow .18s ease-out,color .18s ease-out,transform .18s ease-out;display:grid}.floating-nav-module__AZrM6q__themeToggle:hover{border-color:hsl(var(--accent-strong));background:hsl(var(--accent) / .12);box-shadow:0 var(--space-2) var(--space-4) hsl(var(--accent) / .18);color:hsl(var(--accent-strong));transform:scale(1.08)}.floating-nav-module__AZrM6q__themeToggle:active{background:hsl(var(--accent) / .2);color:hsl(var(--accent-strong))}@media (prefers-reduced-motion:reduce){.floating-nav-module__AZrM6q__themeToggle{transition:none}}
.ambient-glow-module__ZsdCtW__background{pointer-events:none;position:absolute;inset:0}.ambient-glow-module__ZsdCtW__layer{pointer-events:none;will-change:transform;position:absolute;inset:0;transform:translateZ(0)}.ambient-glow-module__ZsdCtW__layerOne{background:var(--aura-layer-1-background);mix-blend-mode:var(--aura-layer-1-blend);opacity:var(--aura-layer-1-opacity)}.ambient-glow-module__ZsdCtW__layerTwo{background:var(--aura-layer-2-background);background-size:var(--aura-layer-2-size);mix-blend-mode:var(--aura-layer-2-blend);filter:blur(75px);opacity:var(--aura-layer-2-opacity)}.ambient-glow-module__ZsdCtW__layerThree{background:var(--aura-layer-3-background);mix-blend-mode:var(--aura-layer-3-blend);opacity:var(--aura-layer-3-opacity)}.ambient-glow-module__ZsdCtW__grain{mix-blend-mode:overlay;opacity:var(--aura-grain-opacity)}@media (min-width:64rem){.ambient-glow-module__ZsdCtW__layerTwo{filter:blur(108px)}}
