.portfolio-module__9Yd_Uq__site{--p-bg:#f6f5f0;--p-panel:#fdfcf9;--p-inset:#eeede7;--p-line:#deded5;--p-text:#242a26;--p-muted:#6c746e;--p-accent:#26785f;--p-orange:#b76035;background:var(--p-bg);color:var(--p-text);min-height:100vh;font-family:var(--font-geist-sans),sans-serif}.dark .portfolio-module__9Yd_Uq__site{--p-bg:#111613;--p-panel:#181e1a;--p-inset:#141a16;--p-line:#2b352e;--p-text:#e8ede6;--p-muted:#95a397;--p-accent:#a3d3b2;--p-orange:#e6a06d}.portfolio-module__9Yd_Uq__site a{color:inherit;text-decoration:none}.portfolio-module__9Yd_Uq__site a:focus-visible,.portfolio-module__9Yd_Uq__site button:focus-visible{outline:2px solid var(--p-accent);outline-offset:5px;border-radius:5px}.portfolio-module__9Yd_Uq__site ::selection{background:var(--p-accent);color:var(--p-bg)}.portfolio-module__9Yd_Uq__header{border-bottom:1px solid var(--p-line);align-items:center;gap:36px;max-width:1200px;margin:auto;padding:25px 40px;display:flex}.portfolio-module__9Yd_Uq__wordmark{font-family:var(--font-geist-mono),monospace;letter-spacing:-1px;align-items:center;font-size:21px;font-weight:650;display:inline-flex}.portfolio-module__9Yd_Uq__wordmark>span:first-child{color:var(--p-accent);margin-right:10px;font-size:18px}.portfolio-module__9Yd_Uq__wordmarkDot{color:var(--p-orange)}.portfolio-module__9Yd_Uq__header nav{color:var(--p-muted);gap:28px;margin-left:auto;font-size:12px;display:flex}.portfolio-module__9Yd_Uq__header nav a:hover{color:var(--p-accent)}.portfolio-module__9Yd_Uq__themeToggle{border:1px solid var(--p-line);width:34px;height:34px;color:var(--p-text);cursor:pointer;background:0 0;border-radius:50%;place-items:center;display:grid}.portfolio-module__9Yd_Uq__themeToggle:hover{background:var(--p-inset)}.portfolio-module__9Yd_Uq__container{max-width:1200px;margin:auto;padding:0 40px}.portfolio-module__9Yd_Uq__hero{grid-template-columns:1.1fr 1fr;align-items:center;gap:64px;padding:100px 0 88px;display:grid}.portfolio-module__9Yd_Uq__eyebrow{font-family:var(--font-geist-mono),monospace;letter-spacing:1.3px;color:var(--p-muted);align-items:center;gap:9px;margin:0 0 25px;font-size:10px;line-height:1.7;display:flex}.portfolio-module__9Yd_Uq__statusDot{background:var(--p-accent);border-radius:50%;width:6px;height:6px}.portfolio-module__9Yd_Uq__hero h1{letter-spacing:-4px;margin:0 0 25px;font-size:clamp(48px,5.5vw,76px);font-weight:550;line-height:1.08}.portfolio-module__9Yd_Uq__hero h1 em,.portfolio-module__9Yd_Uq__contact h2 em{color:var(--p-orange);font-style:normal}.portfolio-module__9Yd_Uq__heroDescription{max-width:400px;color:var(--p-muted);margin:0 0 30px;font-size:15px;line-height:1.9}.portfolio-module__9Yd_Uq__heroActions{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.portfolio-module__9Yd_Uq__site .portfolio-module__9Yd_Uq__primaryButton{background:var(--p-accent);color:var(--p-bg);border-radius:6px;justify-content:center;align-items:center;gap:11px;padding:13px 17px;font-size:12px;font-weight:600;transition:transform .2s;display:inline-flex}.portfolio-module__9Yd_Uq__site .portfolio-module__9Yd_Uq__primaryButton:hover{transform:translateY(-2px)}.portfolio-module__9Yd_Uq__textButton{align-items:center;gap:8px;font-size:12px;display:inline-flex}.portfolio-module__9Yd_Uq__site .portfolio-module__9Yd_Uq__textButton:hover{color:var(--p-accent)}.portfolio-module__9Yd_Uq__heroSignature{align-items:center;gap:11px;margin-top:39px;display:flex}.portfolio-module__9Yd_Uq__heroSignature img{aspect-ratio:1;object-fit:cover;filter:grayscale();border:1px solid var(--p-line);border-radius:50%;flex:0 0 38px;width:38px;height:38px;display:block}.portfolio-module__9Yd_Uq__heroSignature>div{flex-direction:column;gap:3px;display:flex}.portfolio-module__9Yd_Uq__heroSignature strong{font-size:11px;font-weight:550}.portfolio-module__9Yd_Uq__heroSignature span{color:var(--p-muted);font-size:10px;font-family:var(--font-geist-mono),monospace}.portfolio-module__9Yd_Uq__editor{border:1px solid var(--p-line);background:var(--p-inset);box-shadow:16px 20px 0 -4px var(--p-bg),16px 20px 0 -3px var(--p-line);border-radius:10px;min-width:0;overflow:hidden;transform:rotate(1deg)}.portfolio-module__9Yd_Uq__editorBar{border-bottom:1px solid var(--p-line);color:var(--p-muted);font-family:var(--font-geist-mono),monospace;justify-content:space-between;align-items:center;padding:14px 17px;font-size:10px;display:flex}.portfolio-module__9Yd_Uq__windowDots{gap:5px;display:flex}.portfolio-module__9Yd_Uq__windowDots i{background:var(--p-line);border-radius:50%;width:6px;height:6px}.portfolio-module__9Yd_Uq__windowDots i:first-child{background:#b87963}.portfolio-module__9Yd_Uq__windowDots i:nth-child(2){background:#c1ab73}.portfolio-module__9Yd_Uq__windowDots i:last-child{background:#7caa8b}.portfolio-module__9Yd_Uq__editorCode{font-family:var(--font-geist-mono),monospace;white-space:nowrap;padding:28px 25px;font-size:11px;line-height:2.15;overflow-x:auto}.portfolio-module__9Yd_Uq__codeComment{color:var(--p-muted);margin-bottom:8px}.portfolio-module__9Yd_Uq__codeComment:last-child{margin:15px 0 0}.portfolio-module__9Yd_Uq__codeIndent{padding-left:19px}.portfolio-module__9Yd_Uq__codeIndentDouble{padding-left:38px}.portfolio-module__9Yd_Uq__codePurple{color:#967bb4}.portfolio-module__9Yd_Uq__codeString{color:var(--p-accent)}.portfolio-module__9Yd_Uq__codeOrange{color:var(--p-orange)}.portfolio-module__9Yd_Uq__cursor{background:var(--p-accent);vertical-align:middle;width:6px;height:12px;margin-left:6px;display:inline-block}.portfolio-module__9Yd_Uq__editorStatus{font-family:var(--font-geist-mono),monospace;color:var(--p-muted);border-top:1px solid var(--p-line);justify-content:space-between;gap:10px;padding:9px 14px;font-size:9px;display:flex}.portfolio-module__9Yd_Uq__editorStatus>span:first-child{align-items:center;gap:6px;display:flex}.portfolio-module__9Yd_Uq__workshopStrip{border-block:1px solid var(--p-line);justify-content:space-between;align-items:center;gap:20px;padding:21px 0;display:flex}.portfolio-module__9Yd_Uq__workshopStrip>span{font-family:var(--font-geist-mono),monospace;letter-spacing:.8px;color:var(--p-muted);align-items:center;gap:8px;font-size:9px;display:flex}.portfolio-module__9Yd_Uq__workshopStrip p{color:var(--p-accent);margin:0;font-size:14px}.portfolio-module__9Yd_Uq__section{padding:80px 0;scroll-margin-top:110px}.portfolio-module__9Yd_Uq__sectionHeading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:32px;display:flex}.portfolio-module__9Yd_Uq__sectionHeading .portfolio-module__9Yd_Uq__eyebrow{margin-bottom:15px}.portfolio-module__9Yd_Uq__sectionHeading h2{letter-spacing:-1.5px;margin:0;font-size:clamp(29px,3.5vw,42px);font-weight:500;line-height:1.2}.portfolio-module__9Yd_Uq__sectionHeading h2 span{color:var(--p-muted)}.portfolio-module__9Yd_Uq__sectionHeading>p{color:var(--p-muted);margin:0;font-size:12px;line-height:1.9}.portfolio-module__9Yd_Uq__projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.portfolio-module__9Yd_Uq__project{--project-color:var(--p-accent);border:1px solid var(--p-line);background:var(--p-panel);border-radius:9px;flex-direction:column;padding:28px;transition:border-color .2s,transform .2s;display:flex}.portfolio-module__9Yd_Uq__project:hover{border-color:var(--project-color);transform:translateY(-3px)}.portfolio-module__9Yd_Uq__project[data-project=ultron]{--project-color:#cd7b80}.portfolio-module__9Yd_Uq__project[data-project=dum-e]{--project-color:#bc9650}.portfolio-module__9Yd_Uq__project[data-project=u]{--project-color:#a392cd}.portfolio-module__9Yd_Uq__projectTop{color:var(--p-muted);font-family:var(--font-geist-mono),monospace;align-items:center;gap:12px;font-size:9px;display:flex}.portfolio-module__9Yd_Uq__projectNumber{opacity:.65}.portfolio-module__9Yd_Uq__projectCategory{text-transform:uppercase;letter-spacing:1px;color:var(--project-color)}.portfolio-module__9Yd_Uq__projectTop>svg{margin-left:auto}.portfolio-module__9Yd_Uq__projectBrand{align-items:center;gap:15px;margin:25px 0 18px;display:flex}.portfolio-module__9Yd_Uq__projectBrand img{border-radius:15px}.portfolio-module__9Yd_Uq__projectBrand h3{letter-spacing:-1px;margin:0;font-size:29px;font-weight:550}.portfolio-module__9Yd_Uq__project>p{color:var(--p-muted);margin:0 0 22px;font-size:13px;line-height:1.9}.portfolio-module__9Yd_Uq__tags{flex-wrap:wrap;gap:7px;margin:auto 0 25px;padding:0;list-style:none;display:flex}.portfolio-module__9Yd_Uq__tags li{border:1px solid var(--p-line);color:var(--p-muted);font-family:var(--font-geist-mono),monospace;border-radius:4px;padding:5px 7px;font-size:9px}.portfolio-module__9Yd_Uq__projectActions{border-top:1px solid var(--p-line);justify-content:space-between;gap:16px;padding-top:18px;display:flex}.portfolio-module__9Yd_Uq__projectActions a{align-items:center;gap:7px;font-size:11px;display:inline-flex}.portfolio-module__9Yd_Uq__projectActions a:last-child{color:var(--p-muted)}.portfolio-module__9Yd_Uq__site .portfolio-module__9Yd_Uq__projectActions a:hover{color:var(--project-color)}.portfolio-module__9Yd_Uq__site .portfolio-module__9Yd_Uq__allProjects{color:var(--p-muted);justify-content:center;align-items:center;gap:8px;width:fit-content;margin:25px auto 0;font-size:12px;display:flex}.portfolio-module__9Yd_Uq__site .portfolio-module__9Yd_Uq__allProjects:hover{color:var(--p-accent)}.portfolio-module__9Yd_Uq__section+.portfolio-module__9Yd_Uq__section{border-top:1px solid var(--p-line)}.portfolio-module__9Yd_Uq__playgroundGrid{grid-template-columns:1fr;gap:18px;display:grid}.portfolio-module__9Yd_Uq__experiment{border:1px solid var(--p-line);background:var(--p-panel);border-radius:8px;align-items:flex-start;gap:15px;padding:24px;display:flex}.portfolio-module__9Yd_Uq__experiment:hover{border-color:var(--p-orange)}.portfolio-module__9Yd_Uq__experimentIcon{color:var(--p-orange);background:var(--p-inset);border-radius:7px;place-items:center;padding:10px;display:grid}.portfolio-module__9Yd_Uq__experiment>svg{color:var(--p-muted);flex-shrink:0;margin-left:auto}.portfolio-module__9Yd_Uq__experiment span{font-family:var(--font-geist-mono),monospace;letter-spacing:.8px;color:var(--p-muted);font-size:8px}.portfolio-module__9Yd_Uq__experiment h3{letter-spacing:-.4px;margin:8px 0;font-size:17px;font-weight:550}.portfolio-module__9Yd_Uq__experiment p{color:var(--p-muted);margin:0;font-size:12px;line-height:1.8}.portfolio-module__9Yd_Uq__socialGrid{border-top:1px solid var(--p-line);border-left:1px solid var(--p-line);border-radius:7px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.portfolio-module__9Yd_Uq__socialGrid a{border-right:1px solid var(--p-line);border-bottom:1px solid var(--p-line);justify-content:space-between;gap:10px;min-width:0;padding:21px 16px;display:flex}.portfolio-module__9Yd_Uq__socialGrid a:hover{background:var(--p-panel)}.portfolio-module__9Yd_Uq__socialGrid a>div{min-width:0}.portfolio-module__9Yd_Uq__socialGrid strong{font-size:12px;font-weight:500;display:block}.portfolio-module__9Yd_Uq__socialGrid span{color:var(--p-muted);overflow-wrap:anywhere;margin-top:7px;font-size:9px;display:block}.portfolio-module__9Yd_Uq__socialGrid svg{color:var(--p-muted);flex-shrink:0}.portfolio-module__9Yd_Uq__footer{border-top:1px solid var(--p-line);color:var(--p-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:25px 0 35px;font-size:10px;display:flex}.portfolio-module__9Yd_Uq__footer>span:nth-child(2){font-family:var(--font-geist-mono),monospace;font-size:9px}.portfolio-module__9Yd_Uq__footer a:hover{color:var(--p-accent)}@media (max-width:900px){.portfolio-module__9Yd_Uq__hero{gap:35px;padding-top:70px}.portfolio-module__9Yd_Uq__hero h1{letter-spacing:-2.5px}.portfolio-module__9Yd_Uq__editorCode{padding:20px 16px;font-size:10px}.portfolio-module__9Yd_Uq__workshopStrip>span:first-child{display:none}.portfolio-module__9Yd_Uq__socialGrid{grid-template-columns:1fr 1fr}}@media (max-width:650px){.portfolio-module__9Yd_Uq__header{gap:15px;padding:20px}.portfolio-module__9Yd_Uq__wordmark{font-size:17px}.portfolio-module__9Yd_Uq__wordmark>span:first-child{display:none}.portfolio-module__9Yd_Uq__header nav{gap:16px;font-size:10px}.portfolio-module__9Yd_Uq__themeToggle{flex-shrink:0;width:30px;height:30px}.portfolio-module__9Yd_Uq__container{padding:0 22px}.portfolio-module__9Yd_Uq__hero{grid-template-columns:1fr;gap:45px;padding:55px 0}.portfolio-module__9Yd_Uq__hero h1{font-size:54px}.portfolio-module__9Yd_Uq__heroDescription{max-width:360px;font-size:14px}.portfolio-module__9Yd_Uq__heroSignature{margin-top:28px}.portfolio-module__9Yd_Uq__editor{margin-right:10px;transform:none}.portfolio-module__9Yd_Uq__editorCode{padding:23px;font-size:11px}.portfolio-module__9Yd_Uq__workshopStrip{flex-direction:column;align-items:flex-start;gap:9px;padding:20px 0}.portfolio-module__9Yd_Uq__workshopStrip p{font-size:15px}.portfolio-module__9Yd_Uq__section{padding:55px 0}.portfolio-module__9Yd_Uq__sectionHeading{flex-direction:column;align-items:flex-start;gap:18px}.portfolio-module__9Yd_Uq__sectionHeading h2{font-size:33px}.portfolio-module__9Yd_Uq__sectionHeading>p br{display:none}.portfolio-module__9Yd_Uq__projects,.portfolio-module__9Yd_Uq__playgroundGrid{grid-template-columns:1fr}.portfolio-module__9Yd_Uq__project{padding:24px}.portfolio-module__9Yd_Uq__experiment{padding:21px}.portfolio-module__9Yd_Uq__socialGrid a{padding:18px 12px}.portfolio-module__9Yd_Uq__footer{gap:14px}.portfolio-module__9Yd_Uq__footer>span:nth-child(2){flex-basis:100%;order:3}}@media (prefers-reduced-motion:reduce){.portfolio-module__9Yd_Uq__site *,.portfolio-module__9Yd_Uq__site :before,.portfolio-module__9Yd_Uq__site :after{scroll-behavior:auto;transition:none;animation:none}}@keyframes portfolio-module__9Yd_Uq__arrive{0%{opacity:0;translate:0 20px}to{opacity:1;translate:0}}@keyframes portfolio-module__9Yd_Uq__editorArrive{0%{opacity:0;translate:18px 20px;rotate:-2deg}to{opacity:1;translate:0;rotate:none}}@keyframes portfolio-module__9Yd_Uq__cursorBlink{0%,45%{opacity:1}46%,to{opacity:0}}@keyframes portfolio-module__9Yd_Uq__statusPulse{0%,to{box-shadow:0 0 #0000}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--p-accent)15%,transparent)}}@media (prefers-reduced-motion:no-preference){.portfolio-module__9Yd_Uq__header{animation:.65s both portfolio-module__9Yd_Uq__arrive}.portfolio-module__9Yd_Uq__heroCopy>*{animation:.75s cubic-bezier(.22,1,.36,1) both portfolio-module__9Yd_Uq__arrive}.portfolio-module__9Yd_Uq__heroCopy>:nth-child(2){animation:none}.portfolio-module__9Yd_Uq__heroCopy>:nth-child(3){animation-delay:.18s}.portfolio-module__9Yd_Uq__heroCopy>:nth-child(4){animation-delay:.27s}.portfolio-module__9Yd_Uq__heroCopy>:nth-child(5){animation-delay:.36s}.portfolio-module__9Yd_Uq__editor{animation:.95s cubic-bezier(.22,1,.36,1) .18s both portfolio-module__9Yd_Uq__editorArrive}.portfolio-module__9Yd_Uq__cursor{animation:1.1s step-end 4 portfolio-module__9Yd_Uq__cursorBlink}.portfolio-module__9Yd_Uq__statusDot{animation:2s ease-in-out 2 portfolio-module__9Yd_Uq__statusPulse}.portfolio-module__9Yd_Uq__site [data-reveal]{transition:opacity .65s,translate .65s cubic-bezier(.22,1,.36,1),transform .25s,border-color .25s,box-shadow .25s}.portfolio-module__9Yd_Uq__site [data-motion-state=pending]{opacity:0;translate:0 24px}.portfolio-module__9Yd_Uq__site [data-motion-state=visible]{opacity:1;translate:0}.portfolio-module__9Yd_Uq__projects>:nth-child(2n)[data-motion-state=visible]{transition-delay:90ms,90ms,0s,0s,0s}}.portfolio-module__9Yd_Uq__header nav a{transition:color .2s;position:relative}.portfolio-module__9Yd_Uq__header nav a:after{content:"";background:var(--p-accent);transform-origin:0;height:1px;transition:transform .22s;position:absolute;inset:auto 0 -5px;transform:scaleX(0)}.portfolio-module__9Yd_Uq__header nav a:hover:after,.portfolio-module__9Yd_Uq__header nav a:focus-visible:after{transform:scaleX(1)}.portfolio-module__9Yd_Uq__themeToggle{transition:background .2s,transform .25s}.portfolio-module__9Yd_Uq__themeToggle:hover{transform:rotate(12deg)}.portfolio-module__9Yd_Uq__primaryButton svg,.portfolio-module__9Yd_Uq__textButton svg,.portfolio-module__9Yd_Uq__projectTop>svg,.portfolio-module__9Yd_Uq__projectActions svg,.portfolio-module__9Yd_Uq__allProjects svg,.portfolio-module__9Yd_Uq__experiment>svg,.portfolio-module__9Yd_Uq__socialGrid svg{transition:transform .25s}.portfolio-module__9Yd_Uq__primaryButton:hover svg:last-child{transform:translateY(2px)}.portfolio-module__9Yd_Uq__textButton:hover svg:last-child,.portfolio-module__9Yd_Uq__project:hover .portfolio-module__9Yd_Uq__projectTop>svg,.portfolio-module__9Yd_Uq__projectActions a:hover svg:last-child,.portfolio-module__9Yd_Uq__allProjects:hover svg,.portfolio-module__9Yd_Uq__experiment:hover>svg,.portfolio-module__9Yd_Uq__socialGrid a:hover svg{transform:translate(3px,-3px)}.portfolio-module__9Yd_Uq__project:hover{box-shadow:0 12px 28px -20px var(--project-color)}.portfolio-module__9Yd_Uq__projectBrand img{transition:transform .3s}.portfolio-module__9Yd_Uq__project:hover .portfolio-module__9Yd_Uq__projectBrand img{transform:rotate(-5deg)scale(1.04)}.portfolio-module__9Yd_Uq__experiment{transition:border-color .25s,transform .25s}.portfolio-module__9Yd_Uq__experiment:hover{transform:translateY(-3px)}.portfolio-module__9Yd_Uq__experimentIcon{transition:transform .3s}.portfolio-module__9Yd_Uq__experiment:hover .portfolio-module__9Yd_Uq__experimentIcon{transform:rotate(-7deg)}.portfolio-module__9Yd_Uq__socialGrid a{transition:background .2s}@media (prefers-reduced-motion:reduce){.portfolio-module__9Yd_Uq__site *,.portfolio-module__9Yd_Uq__site :before,.portfolio-module__9Yd_Uq__site :after{transition:none!important;animation:none!important}.portfolio-module__9Yd_Uq__site [data-motion-state=pending]{opacity:1;translate:none}.portfolio-module__9Yd_Uq__site a:hover,.portfolio-module__9Yd_Uq__site button:hover,.portfolio-module__9Yd_Uq__site a:hover svg,.portfolio-module__9Yd_Uq__site .portfolio-module__9Yd_Uq__project:hover,.portfolio-module__9Yd_Uq__site .portfolio-module__9Yd_Uq__project:hover svg,.portfolio-module__9Yd_Uq__site .portfolio-module__9Yd_Uq__project:hover img,.portfolio-module__9Yd_Uq__site .portfolio-module__9Yd_Uq__experiment:hover .portfolio-module__9Yd_Uq__experimentIcon{transform:none}}.portfolio-module__9Yd_Uq__readingProgress{background:var(--p-accent);height:3px;transform:scaleX(var(--reading-progress,0));transform-origin:0;z-index:50;pointer-events:none;position:fixed;inset:0 0 auto}.portfolio-module__9Yd_Uq__header{z-index:30;background:var(--p-bg);position:sticky;top:0}.portfolio-module__9Yd_Uq__header nav a[aria-current=location]{color:var(--p-accent)}.portfolio-module__9Yd_Uq__header nav a[aria-current=location]:after{transform:scaleX(1)}.portfolio-module__9Yd_Uq__project{isolation:isolate;position:relative}.portfolio-module__9Yd_Uq__project:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(320px circle at var(--spotlight-x,50%)var(--spotlight-y,50%),color-mix(in srgb,var(--project-color)12%,transparent),transparent 75%);transition:opacity .3s;position:absolute;inset:0}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.portfolio-module__9Yd_Uq__project[data-spotlight=active]:before{opacity:1}}.portfolio-module__9Yd_Uq__frictionLine,.portfolio-module__9Yd_Uq__buildingLine,.portfolio-module__9Yd_Uq__frictionWord,.portfolio-module__9Yd_Uq__frictionWord>span{display:inline-block}.portfolio-module__9Yd_Uq__frictionLine,.portfolio-module__9Yd_Uq__buildingLine{white-space:nowrap}.portfolio-module__9Yd_Uq__buildingDot{display:inline-block;position:relative}.portfolio-module__9Yd_Uq__buildingDot:after{content:"";opacity:0;pointer-events:none;border:1.5px solid;border-radius:50%;width:.55em;height:.55em;margin-left:-.275em;position:absolute;bottom:.08em;left:50%}@keyframes portfolio-module__9Yd_Uq__frictionSettle{0%,15%{transform:translate(var(--friction-x,-2px),var(--friction-y,3px))rotate(var(--friction-angle,-3deg))}55%{transform:translate(1px,-1px)rotate(.5deg)}to{transform:none}}@keyframes portfolio-module__9Yd_Uq__buildingFlow{0%{opacity:0;transform:translateY(.22em)}to{opacity:1;transform:translateY(0)}}@keyframes portfolio-module__9Yd_Uq__buildComplete{0%,to{text-shadow:none}40%{text-shadow:0 0 .18em}}@keyframes portfolio-module__9Yd_Uq__completionRing{0%{opacity:0;transform:scale(.25)}18%{opacity:.65}to{opacity:0;transform:scale(2.2)}}@media (prefers-reduced-motion:no-preference){.portfolio-module__9Yd_Uq__frictionLine{animation:.5s 90ms both portfolio-module__9Yd_Uq__arrive}.portfolio-module__9Yd_Uq__frictionWord>span{animation:.9s .14s both portfolio-module__9Yd_Uq__frictionSettle}.portfolio-module__9Yd_Uq__frictionWord>span:nth-child(2n){--friction-x:2px;--friction-y:-3px;--friction-angle:3deg}.portfolio-module__9Yd_Uq__frictionWord>span:nth-child(3n){--friction-x:-1px;--friction-y:2px;--friction-angle:-2deg}.portfolio-module__9Yd_Uq__buildingLine{animation:.85s cubic-bezier(.22,1,.36,1) .65s both portfolio-module__9Yd_Uq__buildingFlow}.portfolio-module__9Yd_Uq__buildingDot{animation:.7s 1.45s both portfolio-module__9Yd_Uq__buildComplete}.portfolio-module__9Yd_Uq__buildingDot:after{animation:.85s 1.45s both portfolio-module__9Yd_Uq__completionRing}}@media (max-width:650px){.portfolio-module__9Yd_Uq__hero h1{font-size:clamp(38px,8.3vw,54px)}}.portfolio-module__9Yd_Uq__runButton{border:1px solid var(--p-line);background:var(--p-panel);color:var(--p-accent);font:inherit;cursor:pointer;border-radius:4px;align-items:center;gap:5px;padding:5px 8px;transition:background .18s,border-color .18s;display:inline-flex}.portfolio-module__9Yd_Uq__runButton:hover{background:var(--p-bg);border-color:var(--p-accent)}.portfolio-module__9Yd_Uq__site .portfolio-module__9Yd_Uq__codeProjectLink{color:var(--p-accent);-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:color-mix(in srgb,var(--p-accent)45%,transparent);text-decoration-color:color-mix(in srgb,var(--p-accent)45%,transparent);text-underline-offset:4px;border-radius:3px}.portfolio-module__9Yd_Uq__site .portfolio-module__9Yd_Uq__codeProjectLink:hover{background:color-mix(in srgb,var(--p-accent)12%,transparent);text-decoration-style:solid}.portfolio-module__9Yd_Uq__editorTerminal{border-top:1px solid var(--p-line);background:var(--p-panel);font-family:var(--font-geist-mono),monospace;padding:16px 20px;font-size:10px;line-height:1.8}.portfolio-module__9Yd_Uq__editorTerminal[hidden]{display:none}.portfolio-module__9Yd_Uq__terminalHeading{color:var(--p-muted);align-items:center;gap:6px;font-size:9px;display:flex}.portfolio-module__9Yd_Uq__terminalHeading>span{margin-left:auto}.portfolio-module__9Yd_Uq__terminalCommand{color:var(--p-muted);margin:12px 0 8px}.portfolio-module__9Yd_Uq__project{scroll-margin-top:110px}.portfolio-module__9Yd_Uq__project:focus-visible{outline:2px solid var(--project-color);outline-offset:4px}@keyframes portfolio-module__9Yd_Uq__projectFound{0%,35%{border-color:var(--project-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--project-color)20%,transparent)}to{border-color:var(--p-line);box-shadow:none}}@media (prefers-reduced-motion:no-preference){.portfolio-module__9Yd_Uq__project:target{animation:2.4s ease-out portfolio-module__9Yd_Uq__projectFound}}@media (prefers-reduced-motion:reduce){.portfolio-module__9Yd_Uq__project:target{border-color:var(--project-color)}}.portfolio-module__9Yd_Uq__editorCode[hidden]{display:none}.portfolio-module__9Yd_Uq__editorTerminal{min-height:365px}.portfolio-module__9Yd_Uq__arcadeDialog{color:#e8ede6;width:min(1100px,160dvh - 352px,100vw - 32px);max-width:none;max-height:calc(100dvh - 24px);font-family:var(--font-geist-mono),monospace;background:#0b1116;border:1px solid #334652;border-radius:14px;margin:auto;padding:0;overflow:auto;box-shadow:0 24px 100px #0009}.portfolio-module__9Yd_Uq__arcadeDialog::backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#05090ee8}.portfolio-module__9Yd_Uq__arcadeShell{padding:0}.portfolio-module__9Yd_Uq__arcadeHeader{border-bottom:1px solid #263540;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.portfolio-module__9Yd_Uq__arcadeHeader>div:first-child>span{color:#78909e;margin-bottom:8px;font-size:9px;display:block}.portfolio-module__9Yd_Uq__arcadeHeader h2{color:#e6a06d;margin:0;font-size:12px;font-weight:400}.portfolio-module__9Yd_Uq__arcadeHeader h2 strong{color:#d7e4db;letter-spacing:1px;margin-left:10px;font-size:12px;font-weight:500}.portfolio-module__9Yd_Uq__arcadeStats{color:#78909e;gap:24px;font-size:8px;display:flex}.portfolio-module__9Yd_Uq__arcadeStats b{color:#a3d3b2;margin-top:3px;font-size:18px;font-weight:500;display:block}.portfolio-module__9Yd_Uq__arcadeActions{gap:6px;display:flex}.portfolio-module__9Yd_Uq__arcadeActions button,.portfolio-module__9Yd_Uq__arcadeControls button{color:#a3d3b2;cursor:pointer;touch-action:none;background:#141f27;border:1px solid #334652;border-radius:6px;place-items:center;min-width:38px;min-height:38px;display:grid}.portfolio-module__9Yd_Uq__arcadeDialog button:hover{filter:brightness(1.15);border-color:#a3d3b2}.portfolio-module__9Yd_Uq__arcadeDialog button:focus-visible,.portfolio-module__9Yd_Uq__arcadeDialog canvas:focus-visible{outline-offset:3px;outline:2px solid #e6a06d}.portfolio-module__9Yd_Uq__arcadeBoard{position:relative}.portfolio-module__9Yd_Uq__arcadeBoard canvas{aspect-ratio:8/5;touch-action:none;cursor:none;width:100%;height:auto;display:block}.portfolio-module__9Yd_Uq__arcadeOverlay{text-align:center;background:#0b1116e8;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.portfolio-module__9Yd_Uq__arcadeKicker{color:#a3d3b2;letter-spacing:2px;font-size:9px}.portfolio-module__9Yd_Uq__arcadeOverlay h3{font-family:var(--font-geist-sans),sans-serif;letter-spacing:-2px;margin:22px 0 16px;font-size:clamp(28px,5vw,62px);font-weight:550;line-height:1.05}.portfolio-module__9Yd_Uq__arcadeOverlay h3 em,.portfolio-module__9Yd_Uq__arcadeOverlay h3>span{color:#e6a06d;font-style:normal}.portfolio-module__9Yd_Uq__arcadeOverlay p{color:#9aadb9;max-width:430px;margin:0 0 22px;font-size:11px;line-height:1.9}.portfolio-module__9Yd_Uq__arcadeSequence{color:#a3d3b2;align-items:center;gap:14px;margin-bottom:25px;font-size:9px;display:flex}.portfolio-module__9Yd_Uq__arcadeSequence i{color:#536b79;font-style:normal}.portfolio-module__9Yd_Uq__arcadeOverlay>button{font:inherit;color:#0b1116;cursor:pointer;background:#a3d3b2;border:1px solid #a3d3b2;border-radius:5px;align-items:center;gap:9px;padding:12px 20px;font-size:11px;display:inline-flex}.portfolio-module__9Yd_Uq__arcadeOverlay>.portfolio-module__9Yd_Uq__arcadeSecondary{color:#9aadb9;background:0 0;border:0;margin-top:10px}.portfolio-module__9Yd_Uq__arcadeOverlay small{color:#78909e;margin-top:15px;font-size:9px}.portfolio-module__9Yd_Uq__arcadeFooter{border-top:1px solid #263540;justify-content:space-between;align-items:center;gap:14px;padding:14px 24px;display:flex}.portfolio-module__9Yd_Uq__arcadeFooter p{color:#9aadb9;max-width:580px;margin:0;font-size:9px;line-height:1.7}.portfolio-module__9Yd_Uq__arcadeControls{gap:5px;display:flex}.portfolio-module__9Yd_Uq__arcadeAnnouncement{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:650px){.portfolio-module__9Yd_Uq__arcadeDialog{border-radius:8px;width:calc(100vw - 12px)}.portfolio-module__9Yd_Uq__arcadeHeader{flex-wrap:wrap;gap:8px;padding:12px}.portfolio-module__9Yd_Uq__arcadeHeader>div:first-child{flex:1}.portfolio-module__9Yd_Uq__arcadeHeader h2 strong{letter-spacing:0;margin-left:5px;font-size:10px}.portfolio-module__9Yd_Uq__arcadeStats{order:3;justify-content:space-between;gap:12px;width:100%}.portfolio-module__9Yd_Uq__arcadeStats b{margin-left:7px;font-size:14px;display:inline}.portfolio-module__9Yd_Uq__arcadeBoard{min-height:330px}.portfolio-module__9Yd_Uq__arcadeBoard canvas{aspect-ratio:auto;height:330px}.portfolio-module__9Yd_Uq__arcadeOverlay{padding:15px}.portfolio-module__9Yd_Uq__arcadeOverlay h3{margin:13px 0;font-size:34px}.portfolio-module__9Yd_Uq__arcadeOverlay p{margin-bottom:15px;font-size:10px}.portfolio-module__9Yd_Uq__arcadeKicker{letter-spacing:1px;font-size:7px}.portfolio-module__9Yd_Uq__arcadeSequence{gap:8px;margin-bottom:15px;font-size:8px}.portfolio-module__9Yd_Uq__arcadeOverlay small{font-size:7px}.portfolio-module__9Yd_Uq__arcadeFooter{flex-direction:column;padding:12px}.portfolio-module__9Yd_Uq__arcadeControls button{min-width:48px;min-height:44px}}.portfolio-module__9Yd_Uq__arcadeLevelStrip{color:#9aadb9;border-bottom:1px solid #263540;align-items:center;gap:14px;padding:10px 24px;font-size:9px;display:flex}.portfolio-module__9Yd_Uq__arcadeLevelStrip>span:first-child{min-width:130px}.portfolio-module__9Yd_Uq__arcadeLevelStrip>div{flex:1;grid-template-columns:repeat(9,1fr);gap:4px;display:grid}.portfolio-module__9Yd_Uq__arcadeLevelStrip i{background:#263540;border-radius:2px;height:4px}.portfolio-module__9Yd_Uq__arcadeLevelStrip i[data-state=done]{background:#a3d3b2}.portfolio-module__9Yd_Uq__arcadeLevelStrip i[data-state=current]{background:#e6a06d}@media (max-width:650px){.portfolio-module__9Yd_Uq__arcadeLevelStrip{gap:10px;padding:10px 12px;font-size:8px}.portfolio-module__9Yd_Uq__arcadeLevelStrip>span:first-child{min-width:100px}}
