body{min-width:320px}@layer base{html,body{margin:0;padding:0}body{overscroll-behavior:none}main>:first-child{margin-top:0!important}main>:last-child{margin-bottom:0!important}}::-webkit-scrollbar{display:none}html{scroll-behavior:smooth}.portfolio-stage{isolation:isolate}.portfolio-stage>section{z-index:1;position:relative}@media (width>=1024px){#about{max-width:1600px;padding-inline:clamp(24px,4vw,64px)}#about>div{grid-template-columns:minmax(0,1fr) minmax(200px,19%);column-gap:30%;min-height:660px}#about>div>:first-child{grid-column:1}#about .hero-companions{grid-column:2;align-self:center;width:100%}#about .hero-portrait{max-width:260px}#about .floating-profile{width:100%;margin-top:8px;padding:10px;position:relative;inset:auto}#about .floating-profile pre{font-size:10px}#about .robot-scene{text-align:center;flex-direction:column;min-height:230px;margin-top:20px;padding:12px}#about .robot-float{flex:0 0 165px;width:135px}#about .robot-caption{font-size:12px}#about .robot-caption small{margin-top:4px;font-size:9px}#about .font-display-hero{font-size:clamp(36px,3.5vw,56px);line-height:1.15}}.ambient-light{z-index:0;pointer-events:none;background:#030405;position:fixed;inset:0;overflow:hidden}.black-hole-artwork{pointer-events:none;position:absolute;inset:0}.black-hole-artwork-position{transition:filter .5s}.black-hole-colors{z-index:30;color:#dfe2f1;background:#0a0e18ed;border:1px solid #ffffff26;border-radius:16px;align-items:center;gap:10px;padding:12px 15px;font:11px/1.5 Inter,sans-serif;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 6px 24px #0006}.black-hole-colors strong{font-size:12px;display:block}.black-hole-colors button{cursor:pointer;border:3px solid #0a0e18;border-radius:50%;width:28px;height:28px}.black-hole-colors button[aria-pressed=true]{outline:2px solid #fff}.black-hole-colors button:focus-visible{outline-offset:4px;outline:2px dashed #fff}@media (width<=640px){.black-hole-colors{padding:10px;bottom:12px;right:12px}.black-hole-colors button{width:32px;height:32px}}.black-hole-artwork-position{width:min(66vw,1040px);position:absolute;top:48%;left:62%;translate:-53% -48%}.black-hole-artwork-image{width:100%;height:auto;display:block;-webkit-mask-image:radial-gradient(47% 48% at 53% 48%,#000 35%,#000e 55%,#0008 75%,#0000 100%);mask-image:radial-gradient(47% 48% at 53% 48%,#000 35%,#000e 55%,#0008 75%,#0000 100%)}@keyframes cosmic-drift{0%{transform:scale(1)rotate(-1deg)}to{transform:scale(1.055)rotate(1deg)}}.accretion-plane{aspect-ratio:1;pointer-events:none;width:74%;position:absolute;top:48%;left:53%;transform:rotate(-24deg)scaleY(.5)}.accretion-stream{mix-blend-mode:screen;background:conic-gradient(#0000 0deg 40deg,#ffaf2933 75deg,#ffe6a6aa 110deg,#0000 145deg 220deg,#ff862d66 265deg,#fff0bbaa 285deg,#0000 320deg);border-radius:50%;animation:9s linear infinite accretion-spin;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#0000 24%,#0004 32%,#000b 40%,#0000 65%);mask-image:radial-gradient(circle,#0000 24%,#0004 32%,#000b 40%,#0000 65%)}.accretion-stream-two{opacity:.7;animation-duration:5s;animation-direction:reverse;inset:13%}.accretion-orbit{border-radius:50%;animation:7s linear infinite accretion-spin;position:absolute}.accretion-orbit i{background:#fff0c2;border-radius:50%;width:4px;height:4px;position:absolute;top:0;left:50%;box-shadow:0 0 7px #ffb840,-7px 0 4px #ffd07988,-14px 1px 5px #ff9f4133}@keyframes accretion-spin{to{transform:rotate(360deg)}}.black-hole-vignette{background:linear-gradient(#03040555,#0000 25% 70%,#03040599);position:absolute;inset:0}@media (width<=640px){.black-hole-artwork-position{opacity:.65;width:760px;top:40%;left:76%}}main section{transition:opacity .75s,translate .75s cubic-bezier(.2,.7,.2,1)}main section.reveal-pending{opacity:0;translate:0 28px}main section:focus-within,main section:target{opacity:1;translate:none}.depth-card{transform:perspective(1100px) rotateX(var(--rotate-x,0deg)) rotateY(var(--rotate-y,0deg));transition:transform .35s,box-shadow .35s,background-color .35s;position:relative}.depth-card:after{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(500px circle at var(--light-x,50%) var(--light-y,50%), #4cd7f612, transparent 65%);opacity:0;border:1px solid #adc6ff12;transition:opacity .35s;position:absolute;inset:0}.depth-card.depth-active{box-shadow:0 22px 50px -24px #000b,0 0 28px #06b6d412}.depth-card.depth-active:after,.depth-card:focus-within:after{opacity:1}.floating-profile{animation:7s ease-in-out infinite profile-float}#about{animation:.9s cubic-bezier(.2,.7,.2,1) both hero-arrive}@keyframes profile-float{50%{transform:translateY(-9px)}}@keyframes hero-arrive{0%{opacity:0;translate:0 16px}to{opacity:1;translate:0}}@media (hover:hover) and (pointer:fine){#about a:hover{translate:0 -3px}#about a{transition:translate .25s,box-shadow .25s,color .25s}}@media (width<=640px){#about .font-display-hero{font-size:36px;line-height:44px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}main section.reveal-pending{opacity:1;translate:none}.depth-card{transform:none}#about a:hover{translate:none}}.robot-scene{color:#dfe2f1;text-align:left;cursor:pointer;isolation:isolate;background:linear-gradient(125deg,#071410d9,#0a0e18d9);border:1px solid #84eec32b;border-radius:18px;align-items:center;width:100%;max-width:384px;min-height:190px;margin-top:42px;padding:12px 18px;display:flex;position:relative;overflow:hidden}.robot-scene:focus-visible{outline-offset:5px;outline:2px solid #4cd7f6}.robot-spotlight{pointer-events:none;background:radial-gradient(at 24% 60%,#b9ffe544,#0000 48%);position:absolute;inset:0}.robot-float{perspective:600px;flex:0 0 135px;height:165px;animation:6s ease-in-out infinite profile-float;display:block;position:relative}.robot-model{transform-style:preserve-3d;transform:rotateX(var(--robot-pitch,0deg)) rotateY(var(--robot-yaw,-12deg));transition:transform .2s ease-out;position:absolute;inset:0}.robot-model>span{background:linear-gradient(110deg,#c7d3d0 0%,#424c4c 13%,#101819 36%,#020707 68%,#798782 100%);border:1px solid #a7c6bc66;display:block;position:absolute;box-shadow:inset 2px 1px 3px #e5fff54d,3px 5px 8px #0008}.robot-head{width:40px;height:43px;transform:translateZ(14px) rotateY(var(--robot-yaw,0deg));border-radius:45% 45% 40% 40%;top:5px;left:48px}.robot-visor{background:#010707;border-radius:9px 9px 12px 12px;justify-content:center;align-items:center;gap:9px;display:flex;position:absolute;inset:12px 4px 9px;box-shadow:inset 0 1px 2px #bdffdf55}.robot-visor i{background:#abffe1;border-radius:50%;width:5px;height:4px;box-shadow:0 0 8px #4dffb5}.robot-neck{border-radius:4px;width:16px;height:10px;top:47px;left:60px}.robot-torso{border-radius:18px 18px 24px 24px;width:58px;height:58px;top:56px;left:39px;transform:translateZ(8px)}.robot-core{background:#77f7c0;border-radius:50%;width:10px;height:10px;position:absolute;top:20px;left:23px;box-shadow:0 0 15px #35f5b6}.robot-arm{transform-origin:50% 8px;border-radius:12px;width:17px;height:42px;top:59px}.robot-arm-left{left:20px;transform:rotate(23deg)}.robot-arm-right{right:18px;transform:rotate(-28deg)}.robot-arm>span{transform-origin:top;background:linear-gradient(100deg,#6a827a,#09100e 45%,#263d33);border:1px solid #a7c6bc66;border-radius:9px;width:18px;height:29px;position:absolute;top:31px;left:-1px;transform:rotate(-15deg)}.robot-hip{border-radius:7px;width:42px;height:15px;top:115px;left:47px}.robot-leg{border-radius:5px 5px 8px 8px;width:18px;height:30px;top:130px}.robot-leg-left{left:46px;transform:rotate(5deg)}.robot-leg-right{left:73px;transform:rotate(-5deg)}.robot-caption{max-width:170px;font:600 14px/1.5 Inter,sans-serif;position:relative}.robot-caption small{color:#99b5ab;margin-top:8px;font:10px/1.7 JetBrains Mono,monospace;display:block}.robot-waving .robot-arm-right{animation:1.3s ease-in-out infinite robot-wave}.robot-waving .robot-visor i{height:7px}@keyframes robot-wave{0%,to{transform:rotate(-130deg)}50%{transform:rotate(-105deg)}}@media (width<=380px){.robot-float{flex-basis:120px}.robot-scene{padding-inline:10px}}@media (prefers-reduced-motion:reduce){.robot-model,.robot-head{transform:none}.robot-waving .robot-arm-right{transform:rotate(-120deg)}}.picker-robot{filter:drop-shadow(0 5px 8px #0008);width:80px;height:88px;animation:8s ease-in-out infinite picker-hover;overflow:visible}.picker-robot-body{transform-origin:50px 65px;animation:8s ease-in-out infinite picker-sway}.picker-robot-head{transform-box:view-box;transform-origin:51px 61px;animation:6s ease-in-out infinite picker-look-around}.picker-robot-head-turn{transform-box:view-box;transform-origin:51px 43px;animation:7s ease-in-out infinite picker-head-turn}.picker-robot-face-turn{transform-box:view-box;transform-origin:54px 42px;animation:7s ease-in-out infinite picker-face-turn}@keyframes picker-head-turn{0%,45%,to{transform:translate(0)scaleX(1)}15%,28%{transform:translate(-3px)scaleX(.86)skewY(3deg)}65%,78%{transform:translate(3px)scaleX(.86)skewY(-3deg)}}@keyframes picker-face-turn{0%,45%,to{transform:translate(0)scaleX(1)}15%,28%{transform:translate(-9px)scaleX(.82)}65%,78%{transform:translate(5px)scaleX(.82)}}.picker-robot-button:is(:hover,:focus-visible) .picker-robot-head{animation:1.2s ease-in-out infinite picker-nod}@keyframes picker-look-around{0%,to{transform:rotate(0)}18%,30%{transform:rotate(-13deg)translate(-2px)}48%,60%{transform:rotate(12deg)translate(2px)}75%{transform:translateY(2px)rotate(-4deg)}85%{transform:translateY(-1px)rotate(4deg)}}@keyframes picker-nod{0%,to{transform:rotate(-7deg)translateY(-1px)}45%{transform:rotate(6deg)translateY(3px)scaleY(.94)}70%{transform:rotate(-3deg)translateY(0)}}.picker-robot-arm-left{transform-origin:27px 68px;animation:8s ease-in-out infinite picker-left-wave}.picker-robot-core{animation:2.5s ease-in-out infinite picker-core}.picker-robot-eyes{transform-box:fill-box;transform-origin:50%;animation:5s infinite picker-blink}.picker-robot-arm-right{transform-origin:73px 68px;animation:3s ease-in-out infinite picker-wave}.picker-robot-button:focus-visible{outline-offset:4px;outline:2px solid #4cd7f6}.picker-robot-button:is(:hover,:focus-visible) .picker-robot{filter:drop-shadow(0 0 12px #4cd7f666)}.picker-robot-button:is(:hover,:focus-visible) .picker-robot-body{animation:.7s ease-in-out infinite picker-excited}.picker-robot-button:is(:hover,:focus-visible) .picker-robot-arm-right{animation:.8s ease-in-out infinite picker-wave}.picker-robot-button:is(:hover,:focus-visible) .picker-robot-arm-left{animation:1s ease-in-out infinite picker-left-wave}.picker-robot-button:active .picker-robot{scale:.9}@keyframes picker-hover{0%,to{transform:translate(0)}20%{transform:translate(-8px,-14px)}40%{transform:translate(-12px,-5px)}60%{transform:translate(-4px,-18px)}80%{transform:translateY(-6px)}}@keyframes picker-sway{0%,to{transform:rotate(0)}20%{transform:rotate(-9deg)}40%{transform:rotate(7deg)}60%{transform:rotate(-5deg)}80%{transform:rotate(5deg)}}@keyframes picker-left-wave{0%,40%,to{transform:rotate(0)}55%,75%{transform:rotate(45deg)}65%,85%{transform:rotate(20deg)}}@keyframes picker-excited{0%,to{transform:translateY(0)rotate(-5deg)}50%{transform:translateY(-5px)rotate(5deg)}}@keyframes picker-core{50%{opacity:.6;filter:drop-shadow(0 0 4px #38f5f0)}}@keyframes picker-blink{0%,43%,49%,to{transform:scaleY(1)}46%{transform:scaleY(.12)}}@keyframes picker-wave{0%,55%,to{transform:rotate(0)}65%,85%{transform:rotate(-28deg)}75%,95%{transform:rotate(-12deg)}}@media (prefers-reduced-motion:reduce){.picker-robot,.picker-robot *{animation:none!important}}.companion-live{flex-direction:column}.companion-greeting{width:100%;color:inherit;cursor:pointer;text-align:center;background:0 0;border:0;flex-direction:column;align-items:center;padding:0;display:flex;position:relative}.companion-greeting:focus-visible,.companion-input input:focus-visible{outline-offset:4px;border-radius:8px;outline:2px solid #4cd7f6}.companion-greeting .robot-float{width:135px;animation:none}.companion-live .robot-model{transform:perspective(600px) rotateZ(var(--robot-lean,0deg))}.companion-live .robot-head{transform:translateZ(14px) rotateY(var(--robot-yaw,0deg)) rotateX(var(--robot-pitch,0deg))}.companion-idle .robot-torso{transform-origin:bottom;animation:3.8s ease-in-out infinite companion-breathe}.companion-idle .robot-head{animation:3.8s ease-in-out infinite companion-head-bob}.companion-blink .robot-visor i{transform:scaleY(0)}.companion-wave .robot-arm-right{animation:2.4s ease-in-out both companion-greet-arm}.companion-wave .robot-arm-right>span{animation:2.4s ease-in-out both companion-forearm}.companion-flare .robot-core{animation:2.4s ease-in-out both companion-flare}.companion-flare .robot-model{animation:2.4s ease-in-out both companion-proud}.companion-flare .robot-head{animation:2.4s ease-in-out both companion-chin-up}.companion-joy .robot-model{animation:2.4s ease-in-out both companion-hop}.companion-joy .robot-arm-left{animation:2.4s ease-in-out both companion-tuck-left}.companion-joy .robot-arm-right{animation:2.4s ease-in-out both companion-tuck-right}.companion-joy .robot-visor i{background:0 0;border-top:2px solid #abffe1;border-radius:50% 50% 0 0;height:6px}.companion-input{color:#99b5ab;justify-content:center;align-items:center;gap:8px;margin-top:12px;font:10px/1.5 Inter,sans-serif;display:flex;position:relative}.companion-input input{color:#dfe2f1;background:#0a171b;border:1px solid #9be9d144;border-radius:7px;width:58px;padding:6px 8px}@keyframes companion-breathe{50%{transform:translateZ(8px)scaleY(1.018)}}@keyframes companion-head-bob{50%{translate:0 -1px}}@keyframes companion-greet-arm{0%,to{transform:rotate(-28deg)}20%,80%{transform:rotate(-125deg)}}@keyframes companion-forearm{0%,to{transform:rotate(-15deg)}25%,45%,65%{transform:rotate(-40deg)}35%,55%,75%{transform:rotate(15deg)}}@keyframes companion-flare{35%,55%{background:#e7fff7;box-shadow:0 0 18px 8px #55ffc9,0 0 40px #55ffc9}}@keyframes companion-proud{40%,60%{transform:perspective(600px)rotateX(-12deg)translateY(-3px)}}@keyframes companion-chin-up{40%,60%{transform:translateZ(14px)rotateX(20deg)}}@keyframes companion-hop{12%{transform:translateY(3px)scaleY(.95)}30%,40%{transform:translateY(-20px)}55%{transform:translateY(2px)scaleY(.96)}65%{transform:translateY(-5px)}80%,to{transform:none}}@keyframes companion-tuck-left{20%,55%{transform:rotate(-12deg)}}@keyframes companion-tuck-right{20%,55%{transform:rotate(12deg)}}@media (prefers-reduced-motion:reduce){.companion-live .robot-model,.companion-live .robot-head{transform:none}}.companion-input{gap:6px;width:100%}.companion-input input{width:100%;min-width:0}.companion-input button{color:#c5ffeb;cursor:pointer;background:#14372e;border:1px solid #9be9d144;border-radius:7px;padding:6px 8px}.companion-input button:disabled{opacity:.4;cursor:default}.companion-input button:focus-visible{outline-offset:3px;outline:2px solid #4cd7f6}.companion-confused .robot-head{animation:3.6s ease-in-out both companion-puzzled}.companion-confused .robot-arm-left{transform:rotate(65deg)}.companion-confused .robot-arm-right{transform:rotate(-65deg)}.companion-confused .robot-core,.companion-confused .robot-visor i{background:#ffc35c;animation:1.2s ease-in-out infinite companion-processing;box-shadow:0 0 12px #e9a632}.companion-defensive .robot-model{transform:scale(.95)}.companion-defensive .robot-head{transform:translateZ(14px)rotateX(-18deg)translateY(2px)}.companion-defensive .robot-arm-left{transform:rotate(-35deg)}.companion-defensive .robot-arm-right{transform:rotate(35deg)}.companion-defensive .robot-core,.companion-defensive .robot-visor i{background:#8b4747;box-shadow:0 0 4px #753333}.companion-bye .robot-model{animation:3.6s ease-in-out both companion-goodbye}.companion-bye .robot-arm-right{animation:3.6s ease-in-out both companion-greet-arm}.companion-bye .robot-arm-right>span{animation:3.6s ease-in-out both companion-forearm}.companion-love .robot-visor i{clip-path:polygon(50% 22%,65% 5%,90% 5%,100% 30%,90% 55%,50% 100%,10% 55%,0 30%,10% 5%,35% 5%);background:#ff80b3;width:8px;height:8px}.companion-love .robot-core{background:#ff80b3;animation:1.1s ease-in-out infinite companion-heartbeat}.companion-bot .robot-model{transform:translateY(-3px)scaleY(1.025)}.companion-bot .robot-head{animation:1.8s steps(3,end) 2 companion-mechanical}@keyframes companion-puzzled{0%,to{transform:rotate(0)}25%{transform:rotate(-15deg)}65%{transform:rotate(15deg)}}@keyframes companion-processing{50%{opacity:.5}}@keyframes companion-goodbye{0%,50%{opacity:1}85%,to{opacity:0;transform:translateY(6px)}}@keyframes companion-heartbeat{0%,45%,to{transform:scale(1);box-shadow:0 0 8px #ff80b3}15%,32%{transform:scale(1.25);box-shadow:0 0 18px #ff80b3}}@keyframes companion-mechanical{0%,to{transform:rotateY(0)}25%{transform:rotateY(-30deg)}75%{transform:rotateY(30deg)}}.companion-user-message{box-sizing:border-box;color:#dfe2f1;text-align:left;overflow-wrap:anywhere;background:#18352b99;border:1px solid #7fddbd33;border-radius:9px;width:100%;margin:12px 0 0;padding:8px 10px;font:12px/1.5 Inter,sans-serif;position:relative}.companion-user-message strong{color:#89cdb7;font-size:10px;display:block}.companion-message-hint{color:#99b5ab;text-align:center;margin-top:8px;font:10px/1.5 Inter,sans-serif;position:relative}.black-hole-gas-canvas{opacity:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}
