:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111513;--text:#e9eeeb;--muted:#a0aaa4;--mint:#a5cdb8;--line:#343e37;--mono:ui-monospace, SFMono-Regular, Consolas, monospace;background:var(--bg);color:var(--text);font-synthesis:none;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:280px;margin:0;position:relative}a{color:inherit;text-decoration:none}a:hover{color:var(--mint)}a:focus-visible,button:focus-visible{outline:2px solid var(--mint);outline-offset:6px;border-radius:2px}button{font:inherit}::selection{color:#111513;background:#a5cdb8}h1,h2,h3{text-wrap:balance}.page-shell{width:min(960px,100% - 112px);margin:auto;padding-bottom:42px}.platform{background:var(--line);height:1px}.section-platform{width:100%}.floor-platform{opacity:.55}.skip-link{z-index:5;background:#1d2921;padding:12px;position:absolute;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{transform:none}@media (width>=1400px){.page-shell{width:960px}}@media (width<=640px){.page-shell{width:calc(100% - 40px);padding-bottom:24px}}.site-header.svelte-1elxaub{justify-content:space-between;align-items:center;gap:30px;padding-top:43px;display:flex}.wordmark.svelte-1elxaub{letter-spacing:-.02em;font-size:1rem;font-weight:550}nav.svelte-1elxaub{color:#bec7c1;gap:28px;font-size:.875rem;display:flex}nav.svelte-1elxaub a:where(.svelte-1elxaub) span:where(.svelte-1elxaub){color:#6f8075;margin-left:5px;font-size:.8125rem}@media (width<=640px){.site-header.svelte-1elxaub{gap:18px;padding-top:25px}.wordmark.svelte-1elxaub{font-size:.875rem}nav.svelte-1elxaub{gap:15px;font-size:.75rem}nav.svelte-1elxaub a:where(.svelte-1elxaub) span:where(.svelte-1elxaub){display:none}}@media (width<=360px){.site-header.svelte-1elxaub{flex-direction:column;align-items:flex-start;gap:18px}}.intro.svelte-1q37ri0{padding:76px 0 53px}.eyebrow.svelte-1q37ri0{text-transform:uppercase;letter-spacing:2px;font:.6875rem var(--mono);color:var(--muted);margin:0 0 20px}h1.svelte-1q37ri0{letter-spacing:-.03em;margin:0;font-size:clamp(2rem,1.5rem + 2vw,2.75rem);font-weight:500;line-height:1.15}.intro-copy.svelte-1q37ri0{max-width:62ch;color:var(--muted);text-wrap:pretty;overflow-wrap:break-word;margin:20px 0 0;font-size:1.0625rem;line-height:1.75}.focus.svelte-1q37ri0{font:.75rem var(--mono);color:#82968a;margin:18px 0 0}@media (width>=1400px){.intro.svelte-1q37ri0{padding-top:86px}}@media (width<=640px){.intro.svelte-1q37ri0{padding:76px 0 60px}.intro-copy.svelte-1q37ri0{max-width:42ch;font-size:1rem}.eyebrow.svelte-1q37ri0{letter-spacing:1.4px;font-size:.625rem}}@media (width<=360px){.intro.svelte-1q37ri0{padding-top:50px}}.project.svelte-oviq8z{grid-template-columns:50px minmax(0,1fr);gap:0 10px;padding:27px 0 56px;display:grid;position:relative}.project-number.svelte-oviq8z{font:11px var(--mono);color:#687b6e;padding-top:7px}.project-content.svelte-oviq8z{justify-content:space-between;align-items:flex-start;gap:32px;min-inline-size:0;display:flex}.project-details.svelte-oviq8z{flex:auto;min-inline-size:0}.project-heading.svelte-oviq8z{flex-wrap:wrap;align-items:center;gap:14px;display:flex}h3.svelte-oviq8z{letter-spacing:-.015em;margin:0;font-size:1.25rem;font-weight:500}.sample-label.svelte-oviq8z{font:.625rem var(--mono);color:#91a297;border:1px solid #34473c;border-radius:3px;padding:4px 6px}.project.svelte-oviq8z p:where(.svelte-oviq8z){color:var(--muted);text-wrap:pretty;overflow-wrap:break-word;max-width:64ch;margin:10px 0 19px;font-size:.9375rem;line-height:1.65}.technologies.svelte-oviq8z{flex-wrap:wrap;flex-wrap:balance;gap:7px;margin:0;padding:0;list-style:none;display:flex}.technologies.svelte-oviq8z li:where(.svelte-oviq8z){font:11px var(--mono);color:#aac4b4;background:#1f2b24;border:1px solid #2a3a30;border-radius:4px;padding:5px 8px}.project-links.svelte-oviq8z{white-space:nowrap;flex-direction:column;flex:none;align-items:flex-end;gap:9px;padding-top:4px;font-size:13px;display:flex}.project-links.svelte-oviq8z a:where(.svelte-oviq8z){align-items:center;gap:12px;display:flex}.project-links.svelte-oviq8z span:where(.svelte-oviq8z){color:#82a890}.project-platform.svelte-oviq8z{width:100%;position:absolute;bottom:0;left:0}.project.svelte-oviq8z:nth-of-type(3n+1) .project-platform:where(.svelte-oviq8z){width:94%}.project.svelte-oviq8z:nth-of-type(3n+2) .project-platform:where(.svelte-oviq8z){width:100%}.project.svelte-oviq8z:nth-of-type(3n) .project-platform:where(.svelte-oviq8z){width:89%}@media (width<=640px){.project.svelte-oviq8z{grid-template-columns:24px minmax(0,1fr);gap:0 8px;padding:28px 0 56px}.project-content.svelte-oviq8z{flex-direction:column;gap:16px}h3.svelte-oviq8z{font-size:1.125rem}.project-heading.svelte-oviq8z{gap:8px}.project.svelte-oviq8z p:where(.svelte-oviq8z){font-size:.875rem}.project-number.svelte-oviq8z{font-size:.625rem}.project-links.svelte-oviq8z{align-items:flex-start;padding-top:0;font-size:.8125rem}}.site-footer.svelte-jz8lnl{justify-content:space-between;align-items:center;gap:22px;min-height:128px;padding:30px 0;display:flex}.copyright.svelte-jz8lnl{font:.75rem var(--mono);color:#67796d;margin:0}.pet-control.svelte-jz8lnl{color:#96a99d;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #344239;border-radius:6px;align-items:center;gap:9px;padding:9px 12px;font-size:12px;display:flex}.pet-control.svelte-jz8lnl:hover{color:#d7e7dd;background:#1d2921}.pet-control[hidden].svelte-jz8lnl{display:none}.control-icon.svelte-jz8lnl{color:var(--mint);font:12px var(--mono);width:12px}@media (width<=640px){.site-footer.svelte-jz8lnl{min-height:130px}.copyright.svelte-jz8lnl{font-size:.6875rem}.pet-control.svelte-jz8lnl{padding:8px 10px;font-size:.6875rem}}@media (width<=360px){.site-footer.svelte-jz8lnl{flex-direction:column;align-items:flex-start;gap:20px;padding:25px 0 45px}}#robot-layer.svelte-1e7vvdn{pointer-events:none;position:absolute;inset:0;overflow:hidden}.robot.svelte-1e7vvdn{will-change:transform;transform-origin:50% 100%;--facing:1;width:48px;height:58px;position:absolute;top:0;left:0}.robot.svelte-1e7vvdn svg:where(.svelte-1e7vvdn){width:100%;height:100%;image-rendering:pixelated;display:block;overflow:visible}.robot-facing.svelte-1e7vvdn{transform:scaleX(var(--facing));transform-origin:50%}.robot.svelte-1e7vvdn .body-group:where(.svelte-1e7vvdn){transform-origin:24px 42px}.robot.svelte-1e7vvdn .robot-head:where(.svelte-1e7vvdn){transform-origin:24px 26px}.robot.svelte-1e7vvdn .left-leg:where(.svelte-1e7vvdn),.robot.svelte-1e7vvdn .right-leg:where(.svelte-1e7vvdn){transform-origin:24px 41px}.robot.svelte-1e7vvdn .left-arm:where(.svelte-1e7vvdn){transform-origin:12px 32px}.robot.svelte-1e7vvdn .right-arm:where(.svelte-1e7vvdn){transform-origin:34px 32px}.robot.svelte-1e7vvdn .flame:where(.svelte-1e7vvdn),.robot.svelte-1e7vvdn .sleep-z:where(.svelte-1e7vvdn),.robot.svelte-1e7vvdn .dust:where(.svelte-1e7vvdn),.robot.svelte-1e7vvdn .spark:where(.svelte-1e7vvdn){opacity:0}.robot.svelte-1e7vvdn[data-state=walk] .body-group:where(.svelte-1e7vvdn){animation:.32s steps(2,end) infinite svelte-1e7vvdn-bob}.robot.svelte-1e7vvdn[data-state=walk] .left-leg:where(.svelte-1e7vvdn){animation:.32s steps(2,end) infinite svelte-1e7vvdn-step}.robot.svelte-1e7vvdn[data-state=walk] .right-leg:where(.svelte-1e7vvdn){animation:.32s steps(2,end) infinite reverse svelte-1e7vvdn-step}.robot.svelte-1e7vvdn[data-state=idle] .eyes:where(.svelte-1e7vvdn){transform-origin:24px 22px;animation:4.1s step-end infinite svelte-1e7vvdn-blink}.robot.svelte-1e7vvdn[data-state=look] .robot-head:where(.svelte-1e7vvdn){transform:rotate(12deg)translateY(2px)}.robot.svelte-1e7vvdn[data-state=fall] .body-group:where(.svelte-1e7vvdn){animation:.8s linear infinite svelte-1e7vvdn-tumble}.robot.svelte-1e7vvdn[data-state=fall] .right-arm:where(.svelte-1e7vvdn){transform:rotate(-105deg)}.robot.svelte-1e7vvdn[data-state=fall] .left-arm:where(.svelte-1e7vvdn){transform:rotate(90deg)}.robot.svelte-1e7vvdn[data-state=land] .body-group:where(.svelte-1e7vvdn){animation:.45s ease-out both svelte-1e7vvdn-squash}.robot.svelte-1e7vvdn[data-state=land] .dust:where(.svelte-1e7vvdn){animation:.5s ease-out both svelte-1e7vvdn-dust}.robot.svelte-1e7vvdn[data-state=jetpack] .flame:where(.svelte-1e7vvdn){opacity:1;transform-origin:9px 39px;animation:.12s steps(2,end) infinite svelte-1e7vvdn-thrust}.robot.svelte-1e7vvdn[data-state=jetpack] .body-group:where(.svelte-1e7vvdn){transform:rotate(-6deg)}.robot.svelte-1e7vvdn[data-state=jetpack] .left-leg:where(.svelte-1e7vvdn){transform:translateY(2px)}.maintenance-hatch.svelte-1e7vvdn{opacity:var(--hatch-opacity,0)}.hatch-door.svelte-1e7vvdn{transform-origin:67px 36px;transform:scaleX(var(--door-scale,1)) skewY(var(--door-skew,0deg))}.maintenance-tool.svelte-1e7vvdn,.hatch-sparks.svelte-1e7vvdn{opacity:0}.robot.svelte-1e7vvdn[data-state=repair-open] .right-arm:where(.svelte-1e7vvdn),.robot.svelte-1e7vvdn[data-state=repair-close] .right-arm:where(.svelte-1e7vvdn){transform:rotate(-65deg)}.robot.svelte-1e7vvdn[data-state^=repair] .robot-head:where(.svelte-1e7vvdn){transform:rotate(9deg)translate(1px)}.robot.svelte-1e7vvdn[data-state=repair] .right-arm:where(.svelte-1e7vvdn){animation:.7s steps(3,end) infinite svelte-1e7vvdn-fix}.robot.svelte-1e7vvdn[data-state=repair] .maintenance-tool:where(.svelte-1e7vvdn){opacity:1}.robot.svelte-1e7vvdn[data-state=repair] .body-group:where(.svelte-1e7vvdn){animation:2.1s ease-in-out infinite svelte-1e7vvdn-work-lean}.robot.svelte-1e7vvdn[data-state=repair] .hatch-sparks:where(.svelte-1e7vvdn){animation:1.4s step-end infinite svelte-1e7vvdn-maintenance-sparks}.robot.svelte-1e7vvdn[data-state=repair] .hatch-gear:where(.svelte-1e7vvdn){transform-origin:46px 40px;animation:2.1s steps(6,end) infinite svelte-1e7vvdn-gear-turn}.robot.svelte-1e7vvdn[data-state=repair-close] .hatch-indicator:where(.svelte-1e7vvdn),.robot.svelte-1e7vvdn[data-state=repair-hide] .hatch-indicator:where(.svelte-1e7vvdn){fill:#a5cdb8}.robot.svelte-1e7vvdn[data-state=sleep] .body-group:where(.svelte-1e7vvdn){transform:translateY(6px)scaleY(.86)}.robot.svelte-1e7vvdn[data-state=sleep] .eyes:where(.svelte-1e7vvdn){transform-origin:24px 22px;transform:scaleY(.25)}.robot.svelte-1e7vvdn[data-state=sleep] .sleep-z:where(.svelte-1e7vvdn){animation:2.4s ease-out infinite svelte-1e7vvdn-snooze}.robot.svelte-1e7vvdn[data-state=play] .body-group:where(.svelte-1e7vvdn){animation:.6s ease-in-out infinite svelte-1e7vvdn-play-hop}.robot.svelte-1e7vvdn[data-state=play] .left-arm:where(.svelte-1e7vvdn){animation:.45s ease-in-out infinite alternate svelte-1e7vvdn-play-wave-left}.robot.svelte-1e7vvdn[data-state=play] .right-arm:where(.svelte-1e7vvdn){animation:.45s ease-in-out infinite alternate svelte-1e7vvdn-play-wave-right}.robot.svelte-1e7vvdn[data-state=play] .robot-head:where(.svelte-1e7vvdn){animation:.6s ease-in-out infinite alternate svelte-1e7vvdn-play-head}.robot.svelte-1e7vvdn[data-state=play] .spark:where(.svelte-1e7vvdn){animation:.4s steps(2,end) infinite svelte-1e7vvdn-spark}.robot.svelte-1e7vvdn[data-paused=true] *{animation-play-state:paused!important}@keyframes svelte-1e7vvdn-bob{50%{transform:translateY(-1px)}}@keyframes svelte-1e7vvdn-step{50%{transform:translate(2px,-2px)}}@keyframes svelte-1e7vvdn-blink{0%,94%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes svelte-1e7vvdn-tumble{to{transform:rotate(360deg)}}@keyframes svelte-1e7vvdn-squash{0%{transform:scale(1.2,.72)}60%{transform:scale(.94,1.05)}to{transform:scale(1)}}@keyframes svelte-1e7vvdn-dust{0%{opacity:.8;transform:scaleX(.6)}to{opacity:0;transform:scaleX(1.6)}}@keyframes svelte-1e7vvdn-thrust{50%{transform:scaleY(.65)}}@keyframes svelte-1e7vvdn-fix{0%,to{transform:rotate(-68deg)}50%{transform:rotate(-91deg)}}@keyframes svelte-1e7vvdn-work-lean{0%,to{transform:rotate(2deg)}50%{transform:rotate(6deg)}}@keyframes svelte-1e7vvdn-maintenance-sparks{0%,12%,to{opacity:0}6%{opacity:.9}}@keyframes svelte-1e7vvdn-gear-turn{to{transform:rotate(360deg)}}@keyframes svelte-1e7vvdn-spark{50%{opacity:1}}@keyframes svelte-1e7vvdn-snooze{0%{opacity:0;transform:translateY(0)}40%{opacity:.8}to{opacity:0;transform:translateY(-8px)}}@keyframes svelte-1e7vvdn-play-hop{0%,to{transform:translateY(0)scale(1)}35%{transform:translateY(-6px)scale(.95,1.06)}70%{transform:translateY(0)scale(1.06,.94)}}@keyframes svelte-1e7vvdn-play-wave-left{0%{transform:rotate(20deg)}to{transform:rotate(-70deg)}}@keyframes svelte-1e7vvdn-play-wave-right{0%{transform:rotate(-70deg)}to{transform:rotate(20deg)}}@keyframes svelte-1e7vvdn-play-head{0%{transform:rotate(-8deg)}to{transform:rotate(8deg)}}@media (width<=640px){.robot.svelte-1e7vvdn{width:40px;height:48.333px}}.projects.svelte-1n46o8q{position:relative}.section-heading.svelte-1n46o8q{justify-content:space-between;align-items:center;gap:20px;padding-bottom:23px;display:flex}h2.svelte-1n46o8q{font:.6875rem var(--mono);letter-spacing:1.7px;text-transform:uppercase;color:#c1ccc5;margin:0}.empty-state.svelte-1n46o8q{color:var(--muted);padding:45px 0 70px;font-size:1rem}
