@media (min-width:1024px) and (not (pointer:coarse)) and (not (hover:none)) and (not (forced-colors:active)) and (not (prefers-contrast:more)){html:not([data-cursor-fx=off])[data-cursor=caret],html:not([data-cursor-fx=off])[data-cursor=caret] *{cursor:url(/cursor/caret.svg) 2 11,auto}html:not([data-cursor-fx=off])[data-cursor=reticle],html:not([data-cursor-fx=off])[data-cursor=reticle] *{cursor:url(/cursor/reticle.svg) 12 12,crosshair}html:not([data-cursor-fx=off])[data-cursor=text],html:not([data-cursor-fx=off])[data-cursor=text] *{cursor:url(/cursor/text.svg) 6 11,text}html:not([data-cursor-fx=off])[data-cursor=link],html:not([data-cursor-fx=off])[data-cursor=link] *{cursor:url(/cursor/link.svg) 11 11,pointer}}.video-invert{transition:background-color var(--motion-cursor-invert,.12s) var(--motion-ease-out),color var(--motion-cursor-invert,.12s) var(--motion-ease-out),border-color var(--motion-cursor-invert,.12s) var(--motion-ease-out),scale 90ms var(--motion-ease-out)}.video-invert:focus-visible,:where(html:not([data-pointer=coarse])) .video-invert:hover,:where(html:not([data-pointer=coarse])) .video-invert[data-active]{background-color:#22c55e;border-color:#22c55e;color:#0c0c0c}.video-invert:active,[data-magnet]:active{scale:.97}[data-magnet]{transition:scale 90ms var(--motion-ease-out)}.nav-link{border-bottom:1px solid transparent}:where(html:not([data-pointer=coarse])) #hero-title:hover .term-cursor{animation:none;opacity:1}:where(html:not([data-pointer=coarse])) .scroll-cue:hover .scroll-cue__label{color:#22c55e}:where(html:not([data-pointer=coarse])) .scroll-cue:hover .scroll-cue__caret{animation:none}.hero-window__entries>li{transition:box-shadow .15s var(--motion-ease-out)}:where(html:not([data-pointer=coarse])) .hero-window__entries>li:hover{box-shadow:inset 2px 0 0 #22c55e}.nav-brand{min-height:24px}.nav-brand:focus-visible .nav-brand__caret,:where(html:not([data-pointer=coarse])) .nav-brand:hover .nav-brand__caret{animation:none;opacity:1}.rail__head,.rail__tick{transition:scale .15s var(--motion-ease-out);transform-origin:50% 100%}:where(html:not([data-pointer=coarse])) nav:has(.nav-brand:hover) .rail__head{scale:1 1.4;transition-duration:.14s}.rail__zone{position:absolute;bottom:-1px;left:clamp(0px,calc(var(--rail-tick) - 12px),calc(100% - 24px));display:none;width:24px;height:24px;pointer-events:auto}.rail__zone--1{--rail-tick:var(--rail-tick-1)}.rail__zone--2{--rail-tick:var(--rail-tick-2)}.rail__zone--3{--rail-tick:var(--rail-tick-3)}.rail__zone--4{--rail-tick:var(--rail-tick-4)}.rail__zone--5{--rail-tick:var(--rail-tick-5)}@media (min-width:1024px) and (not (pointer:coarse)) and (not (hover:none)){html[data-rail=ready] .rail__zone{display:block}}.rail__zone:after{content:attr(data-tick-label);position:absolute;bottom:7px;left:50%;padding:1px 4px;background-color:hsla(0,0%,5%,.95);color:#e5e5e5;font-family:var(--font-jetbrains-mono),monospace;font-size:10px;line-height:12px;white-space:nowrap;opacity:0;pointer-events:none;transform:translateX(-50%);transition:opacity .12s var(--motion-ease-out)}.rail__zone--1:after{left:8px;transform:none}.rail__zone--5:after{right:8px;left:auto;transform:none}.rail__zone:hover:after{opacity:1}.rail:has(.rail__zone--1:hover) .rail__tick--1,.rail:has(.rail__zone--2:hover) .rail__tick--2,.rail:has(.rail__zone--3:hover) .rail__tick--3,.rail:has(.rail__zone--4:hover) .rail__tick--4,.rail:has(.rail__zone--5:hover) .rail__tick--5,nav:has(a[href="#about"]:hover) .rail__tick--4,nav:has(a[href="#contact"]:hover) .rail__tick--5,nav:has(a[href="#experience"]:hover) .rail__tick--1,nav:has(a[href="#projects"]:hover) .rail__tick--3,nav:has(a[href="#skills"]:hover) .rail__tick--2{scale:1 1.6;background-color:#22c55e}[data-target][data-selected]{outline:1px solid #22c55e;outline-offset:4px}button[data-target^="skills/"][data-active],button[data-target^="skills/"][data-selected]{border-color:#22c55e;color:#22c55e;background-color:rgba(34,197,94,.1)}button[data-target^="skills/"][data-selected]{background-color:rgba(34,197,94,.24);box-shadow:0 0 14px -3px rgba(34,197,94,.7)}.about-fact{transition:box-shadow .15s var(--motion-ease-out)}.about-fact[data-active],:where(html:not([data-pointer=coarse])) .about-fact:hover{box-shadow:inset 2px 0 0 #22c55e}:where(html:not([data-pointer=coarse])) [data-target="skills/hub"]:hover,[data-target="skills/hub"][data-active]{text-decoration:underline solid #22c55e 1px;text-underline-offset:4px}.ix-footer-controls{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem 1.5rem}.ix-control,.ix-footer-controls,.scene-replay{align-items:center;font-family:var(--font-jetbrains-mono),monospace;font-size:.875rem}.ix-control,.scene-replay{display:inline-flex;min-width:24px;min-height:24px;padding:.25rem .75rem;border:1px solid #333;background-color:transparent;color:#888;line-height:1.25rem}.ix-control[aria-disabled=true]{opacity:.4}.ix-copy-status{position:absolute;top:100%;left:50%;margin-top:.25rem;transform:translateX(-50%);white-space:nowrap;color:#22c55e;font-size:.75rem}[data-cursor-fx-toggle],html:not([data-scene-intent]) .ix-copy-status,html:not([data-scene-intent]) [data-copy-email]{display:none}@media (min-width:1024px){[data-cursor-fx-toggle]{display:inline-flex;visibility:hidden}html[data-pointer=fine] [data-cursor-fx-toggle]{visibility:visible}}.scene-replay{visibility:hidden;padding:.25rem .5rem}.scene-replay>span{margin-right:1ch}@media (max-width:1023.98px){.scene-replay{display:none}}@media (min-width:1024px){html[data-scene-ready=true] .scene-replay{visibility:visible}}.scene-replay[aria-disabled=true]{opacity:.4}[data-pointer-layer]{position:fixed;inset:0;z-index:70;contain:strict;pointer-events:none;visibility:hidden}[data-pointer-layer][data-visible=true]{visibility:visible}.ix-ghost{width:10px;height:18px;background-color:#22c55e}.ix-corner,.ix-ghost{position:absolute;top:0;left:0;opacity:0;will-change:transform}.ix-corner{width:8px;height:8px;filter:drop-shadow(0 0 1px #0c0c0c) drop-shadow(0 0 1px #0c0c0c)}.ix-corner--tl{border-left:1.5px solid #22c55e}.ix-corner--tl,.ix-corner--tr{border-top:1.5px solid #22c55e}.ix-corner--tr{border-right:1.5px solid #22c55e}.ix-corner--bl{border-left:1.5px solid #22c55e}.ix-corner--bl,.ix-corner--br{border-bottom:1.5px solid #22c55e}.ix-corner--br{border-right:1.5px solid #22c55e}.ix-link{position:absolute;inset:0;width:100%;height:100%;overflow:visible;opacity:0;transition:opacity .12s var(--motion-ease-out)}.ix-link[data-on=true]{opacity:1;filter:drop-shadow(0 0 3px rgb(34 197 94/.7))}.ix-link circle{fill:#22c55e}.ix-link path{fill:none;stroke:rgba(34,197,94,.9);stroke-width:1.5;stroke-dasharray:var(--ix-link-length,0);stroke-dashoffset:var(--ix-link-length,0)}.ix-link[data-on=true] path{stroke-dashoffset:0;transition:stroke-dashoffset .16s var(--motion-ease-out)}.ix-link circle,.ix-link polygon{fill:rgba(34,197,94,.9)}.ix-card{position:absolute;top:0;left:0;box-sizing:border-box;max-width:min(340px,calc(100vw - 24px));padding:8px;border:1px solid #333;background-color:hsla(0,0%,5%,.94);color:#e5e5e5;font-family:var(--font-jetbrains-mono),monospace;font-size:12px;line-height:1.4;opacity:0;overflow-wrap:anywhere;visibility:hidden;white-space:pre-wrap;will-change:transform}.ix-card[data-on=true]{opacity:1;visibility:visible;transition:opacity .1s var(--motion-ease-out)}.ix-card__action,.ix-card__command{color:#22c55e}.ix-card__open{display:inline-block;margin-top:0;color:#22c55e;pointer-events:auto}.ix-status{position:absolute;bottom:72px;left:24px;display:flex;align-items:center;box-sizing:border-box;height:24px;max-width:calc(50vw - 48px);padding:0 8px;background-color:hsla(0,0%,5%,.94);color:#e5e5e5;font-family:var(--font-jetbrains-mono),monospace;font-size:11px;opacity:0;overflow:hidden;transition:opacity .12s var(--motion-ease-out);white-space:pre}.ix-status[data-on=true]{opacity:1}.ix-status__mode{margin-right:1ch;color:#22c55e}@media (forced-colors:active){.ix-corner{filter:none;border-color:CanvasText}.ix-card,.ix-status{border:1px solid CanvasText;background-color:Canvas;color:CanvasText}.ix-card__command,.ix-status__mode{color:Highlight}.ix-link path{stroke:Highlight}.ix-link circle,.ix-link polygon{fill:Highlight}}@media (prefers-reduced-motion:reduce){.ix-card,.ix-link path,.ix-status{transition:none}}