@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat Fallback;src:local("Arial");ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.00%;size-adjust:112.83%}.__className_069ab3{font-family:Montserrat,Montserrat Fallback;font-style:normal}.__variable_069ab3{--font-montserrat:"Montserrat","Montserrat Fallback"}@font-face{font-family:MonumentExtended;src:url(/fonts/Monument/MonumentExtended-Ultrabold.otf) format("opentype");font-weight:800;font-display:swap}@font-face{font-family:ClashDisplay;src:url(/fonts/fonts/ClashDisplay-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:ClashDisplay;src:url(/fonts/fonts/ClashDisplay-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:ClashDisplay;src:url(/fonts/fonts/ClashDisplay-Semibold.woff2) format("woff2");font-weight:600;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:auto}body{font-family:var(--font-montserrat),"Montserrat",sans-serif;color:white;overflow-x:hidden;position:relative}.intro-splash,body{background-color:#140224}.intro-splash{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;display:flex;align-items:center;justify-content:center;opacity:1;visibility:visible;transition:opacity .8s cubic-bezier(.23,1,.32,1),visibility .8s cubic-bezier(.23,1,.32,1)}.intro-splash.hidden{opacity:0;visibility:hidden}.logo-reveal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9998;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:1;transform:scale(1);transition:opacity .5s cubic-bezier(.23,1,.32,1),transform .5s cubic-bezier(.23,1,.32,1)}.logo-reveal.exiting{opacity:0;transform:scale(.92)}.logo-reveal-svg{width:96px;height:84px}.logo-reveal-path{fill:white;fill-opacity:0;stroke:white;stroke-width:.5;stroke-dasharray:1;stroke-dashoffset:1;animation:logoStrokeDraw 1.2s cubic-bezier(.23,1,.32,1) forwards}.logo-reveal-path,.logo-reveal-path.filled{transition:fill-opacity .4s cubic-bezier(.23,1,.32,1),stroke-opacity .4s cubic-bezier(.23,1,.32,1)}.logo-reveal-path.filled{fill:white;fill-opacity:1;stroke-opacity:0}@keyframes logoStrokeDraw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.hello-container{position:relative;text-align:center}.hello-main,.hello-outline{font-family:ClashDisplay,sans-serif;font-size:clamp(4rem,10vw,8rem);font-weight:600;letter-spacing:-.02em;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(1.1);opacity:0;filter:blur(10px)}.hello-main{color:white;z-index:10;animation:helloMainIn 1.2s cubic-bezier(.23,1,.32,1) .3s forwards}.hello-outline{color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.4);z-index:5}.hello-outline-1{animation:helloOutlineIn1 1.4s cubic-bezier(.23,1,.32,1) .6s forwards}.hello-outline-2{animation:helloOutlineIn2 1.4s cubic-bezier(.23,1,.32,1) .7s forwards}.hello-outline-3{animation:helloOutlineIn3 1.4s cubic-bezier(.23,1,.32,1) .8s forwards}.hello-outline-4{animation:helloOutlineIn4 1.4s cubic-bezier(.23,1,.32,1) .9s forwards}.hello-outline-5{animation:helloOutlineIn5 1.4s cubic-bezier(.23,1,.32,1) 1s forwards}.hello-outline-6{animation:helloOutlineIn6 1.4s cubic-bezier(.23,1,.32,1) 1.1s forwards}.hello-outline-7{animation:helloOutlineIn7 1.4s cubic-bezier(.23,1,.32,1) 1.2s forwards}.hello-outline-8{animation:helloOutlineIn8 1.4s cubic-bezier(.23,1,.32,1) .6s forwards}.hello-outline-9{animation:helloOutlineIn9 1.4s cubic-bezier(.23,1,.32,1) .7s forwards}.hello-outline-10{animation:helloOutlineIn10 1.4s cubic-bezier(.23,1,.32,1) .8s forwards}.hello-outline-11{animation:helloOutlineIn11 1.4s cubic-bezier(.23,1,.32,1) .9s forwards}.hello-outline-12{animation:helloOutlineIn12 1.4s cubic-bezier(.23,1,.32,1) 1s forwards}.hello-outline-13{animation:helloOutlineIn13 1.4s cubic-bezier(.23,1,.32,1) 1.1s forwards}.hello-outline-14{animation:helloOutlineIn14 1.4s cubic-bezier(.23,1,.32,1) 1.2s forwards}@keyframes helloMainIn{0%{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(1.1)}to{opacity:1;filter:blur(0);transform:translate(-50%,-50%) scale(1)}}@keyframes helloOutlineIn1{0%{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}to{opacity:.7;filter:blur(0);transform:translate(-50%,-65%) scale(1)}}@keyframes helloOutlineIn2{0%{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}to{opacity:.6;filter:blur(0);transform:translate(-50%,-110%) scale(1)}}@keyframes helloOutlineIn3{0%{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}to{opacity:.5;filter:blur(0);transform:translate(-50%,-155%) scale(1)}}@keyframes helloOutlineIn4{0%{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}to{opacity:.4;filter:blur(0);transform:translate(-50%,-200%) scale(1)}}@keyframes helloOutlineIn5{0%{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}to{opacity:.35;filter:blur(0);transform:translate(-50%,-245%) scale(1)}}@keyframes helloOutlineIn6{0%{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}to{opacity:.3;filter:blur(0);transform:translate(-50%,-290%) scale(1)}}@keyframes helloOutlineIn7{0%{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}to{opacity:.25;filter:blur(0);transform:translate(-50%,-335%) scale(1)}}@keyframes helloOutlineIn8{0%{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}to{opacity:.7;filter:blur(0);transform:translate(-50%,-35%) scale(1)}}@keyframes helloOutlineIn9{0%{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}to{opacity:.6;filter:blur(0);transform:translate(-50%,10%) scale(1)}}@keyframes helloOutlineIn10{0%{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}to{opacity:.5;filter:blur(0);transform:translate(-50%,55%) scale(1)}}@keyframes helloOutlineIn11{0%{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}to{opacity:.4;filter:blur(0);transform:translate(-50%,100%) scale(1)}}@keyframes helloOutlineIn12{0%{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}to{opacity:.35;filter:blur(0);transform:translate(-50%,145%) scale(1)}}@keyframes helloOutlineIn13{0%{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}to{opacity:.3;filter:blur(0);transform:translate(-50%,190%) scale(1)}}@keyframes helloOutlineIn14{0%{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}to{opacity:.25;filter:blur(0);transform:translate(-50%,235%) scale(1)}}@keyframes helloMainOut{0%{opacity:1;filter:blur(0);transform:translate(-50%,-50%) scale(1)}to{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.95)}}@keyframes helloOutlineOut1{0%{opacity:.7;filter:blur(0);transform:translate(-50%,-65%) scale(1)}to{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}}@keyframes helloOutlineOut2{0%{opacity:.6;filter:blur(0);transform:translate(-50%,-110%) scale(1)}to{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}}@keyframes helloOutlineOut3{0%{opacity:.5;filter:blur(0);transform:translate(-50%,-155%) scale(1)}to{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}}@keyframes helloOutlineOut4{0%{opacity:.4;filter:blur(0);transform:translate(-50%,-200%) scale(1)}to{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}}@keyframes helloOutlineOut5{0%{opacity:.35;filter:blur(0);transform:translate(-50%,-245%) scale(1)}to{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}}@keyframes helloOutlineOut6{0%{opacity:.3;filter:blur(0);transform:translate(-50%,-290%) scale(1)}to{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}}@keyframes helloOutlineOut7{0%{opacity:.25;filter:blur(0);transform:translate(-50%,-335%) scale(1)}to{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}}@keyframes helloOutlineOut8{0%{opacity:.7;filter:blur(0);transform:translate(-50%,-35%) scale(1)}to{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}}@keyframes helloOutlineOut9{0%{opacity:.6;filter:blur(0);transform:translate(-50%,10%) scale(1)}to{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}}@keyframes helloOutlineOut10{0%{opacity:.5;filter:blur(0);transform:translate(-50%,55%) scale(1)}to{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}}@keyframes helloOutlineOut11{0%{opacity:.4;filter:blur(0);transform:translate(-50%,100%) scale(1)}to{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}}@keyframes helloOutlineOut12{0%{opacity:.35;filter:blur(0);transform:translate(-50%,145%) scale(1)}to{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}}@keyframes helloOutlineOut13{0%{opacity:.3;filter:blur(0);transform:translate(-50%,190%) scale(1)}to{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}}@keyframes helloOutlineOut14{0%{opacity:.25;filter:blur(0);transform:translate(-50%,235%) scale(1)}to{opacity:0;filter:blur(10px);transform:translate(-50%,-50%) scale(.8)}}.content-container{opacity:0;transform:scale(1.05);transition:all 1s cubic-bezier(.23,1,.32,1)}.content-container.loaded{opacity:1;transform:scale(1)}.grid-container{width:100%;height:100%;z-index:0}.grid-container,.parallax-bg{position:fixed;top:0;left:0;pointer-events:none}.parallax-bg{width:100vw;height:auto;min-height:500vh;background-image:url(/assets/images/background.png);background-size:100% auto;background-position:top;background-repeat:no-repeat;z-index:1;will-change:transform;opacity:0;transition:opacity 1s cubic-bezier(.23,1,.32,1)}.parallax-bg.loaded{opacity:1}.overlay{left:0;width:100%;height:100%;background:rgba(20,2,36,.3);z-index:2}.overlay,.vertical-text{position:fixed;top:0;pointer-events:none}.vertical-text{right:2vw;transform:rotate(90deg);transform-origin:top right;font-family:MonumentExtended,Arial,sans-serif;font-size:clamp(30rem,37.5vw,52.5rem);font-weight:800;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.3);z-index:3;letter-spacing:-.02em;will-change:transform;white-space:nowrap;margin-top:0;opacity:0;filter:blur(8px);transition:opacity 1.2s cubic-bezier(.23,1,.32,1),filter 1.2s cubic-bezier(.23,1,.32,1)}.vertical-text.loaded{opacity:1;filter:blur(0)}.vertical-text.entrance{transform:rotate(90deg) translateX(100vh);opacity:0;filter:blur(8px)}.name-section{position:absolute;top:50vh;left:15vw;transform:translateY(-50%);z-index:4;opacity:0;transform:translateY(-50%) scale(1.05);filter:blur(8px);transition:all 1s cubic-bezier(.23,1,.32,1)}.name-section.loaded{opacity:1;transform:translateY(-50%) scale(1);filter:blur(0)}@media (max-width:992px){.name-section{left:10vw}}@media (max-width:768px){.name-section{left:8vw}}.name-svg{max-width:480px;height:auto}.content-container{position:relative;z-index:5;min-height:100vh}.landing-section{height:100vh;position:relative}.hero-section{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem}.about-section{padding:6rem 2rem;max-width:1200px}.about-section,.projects-section{min-height:100vh;margin:0 auto;display:flex;flex-direction:column;justify-content:center}.projects-section{padding:4rem 2rem;max-width:1320px}.contact-section{min-height:100vh;padding:6rem 2rem;text-align:center;max-width:800px;margin:0 auto;display:flex;flex-direction:column;justify-content:center}.hero-content h1{font-family:ClashDisplay,sans-serif;font-size:clamp(2.5rem,6vw,4rem);font-weight:600;margin-bottom:1rem;letter-spacing:-.02em}.hero-content p{font-size:clamp(1rem,2.5vw,1.3rem);opacity:.9;max-width:600px;margin:0 auto 2rem;line-height:1.6}.section-title{font-family:ClashDisplay,sans-serif;font-size:clamp(2rem,5vw,3rem);font-weight:600;text-align:center;margin-bottom:3rem;letter-spacing:-.02em}.about-content{display:grid;grid-template-columns:1fr 1fr;grid-gap:4rem;gap:4rem;align-items:center}.about-text{font-size:1.1rem;line-height:1.8;opacity:.9}.about-text p{margin-bottom:1.5rem}.about-more-link{display:inline-flex;align-items:center;gap:.6rem;margin-top:.35rem;padding:0;background:none;border:none;color:rgba(255,255,255,.75);font-family:ClashDisplay,sans-serif;font-size:.75rem;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;cursor:pointer;transition:color .35s cubic-bezier(.23,1,.32,1)}.about-more-link svg{font-size:.7rem;transition:transform .4s cubic-bezier(.23,1,.32,1)}.about-more-link:focus-visible,.about-more-link:hover{color:rgba(190,110,240,.98)}.about-more-link:focus-visible svg,.about-more-link:hover svg{transform:translateX(5px)}.skills-grid-container{position:relative;display:flex;flex-direction:column;align-items:center;gap:.75rem}.skills-title{align-self:flex-start;margin-top:1.9rem;font-family:ClashDisplay,sans-serif;font-size:.95rem;font-weight:500;letter-spacing:1.5px;color:rgba(255,255,255,.85);padding-left:.25rem}.skills-scroll-area{position:relative;width:100%}.skills-grid{display:flex;flex-direction:column;gap:.5rem;max-height:370px;overflow-y:auto;padding:.5rem;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;width:100%}.skills-grid::-webkit-scrollbar{display:none}.skills-scroll-btn{width:34px;height:34px;padding:0;background:rgba(255,255,255,.06);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.14);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.65);cursor:pointer;z-index:45;transition:opacity .35s cubic-bezier(.23,1,.32,1),color .3s cubic-bezier(.23,1,.32,1),background .3s cubic-bezier(.23,1,.32,1),border-color .3s cubic-bezier(.23,1,.32,1);font-size:.75rem}.skills-scroll-btn:hover{background:rgba(255,255,255,.16);border-color:rgba(190,110,240,.6);color:white}.skills-scroll-btn:focus-visible{outline:2px solid rgba(190,110,240,.9);outline-offset:3px}.skills-scroll-btn.disabled{opacity:0;pointer-events:none}.skill-item{padding:.65rem .85rem;text-align:left;transition:all .3s cubic-bezier(.23,1,.32,1);position:relative;display:flex;align-items:center;gap:.65rem;font-size:.82rem;line-height:1.3;color:rgba(255,255,255,.9);width:100%}.skill-item svg{font-size:1.05rem;color:rgba(255,255,255,.8);flex-shrink:0}.skill-card-glass{transition:all .3s cubic-bezier(.23,1,.32,1);will-change:opacity}.skill-group{margin-bottom:1.5rem}.skill-group-title{font-family:ClashDisplay,sans-serif;font-size:.8rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:.75rem;padding-left:.25rem}.skill-group-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.6rem;gap:.6rem}.skill-item:hover{color:white}.scrolling-text{position:relative;width:100%;height:1.2em;overflow:hidden}.scrolling-text span{display:inline-block;white-space:nowrap;animation:scrollText 3s linear infinite}@keyframes scrollText{0%{transform:translateX(100%)}to{transform:translateX(-100%)}}.scrolling-text:hover span{animation-play-state:paused}.projects-container{position:relative;margin-top:1.5rem}.projects-grid{--project-col-min:300px;--project-col-max:330px;display:grid;grid-auto-flow:row;grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(var(--project-cols,5),minmax(var(--project-col-min),var(--project-col-max)));grid-gap:1.1rem;gap:1.1rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;padding:0 56px;margin:0 -56px;position:relative;cursor:-webkit-grab;cursor:grab}.projects-grid[data-dragging=true]{cursor:-webkit-grabbing;cursor:grabbing;scroll-behavior:auto}.projects-grid::-webkit-scrollbar{display:none}.projects-scroll-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;padding:0;background:none;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);cursor:pointer;transition:opacity .35s cubic-bezier(.23,1,.32,1),transform .35s cubic-bezier(.23,1,.32,1);font-size:1rem;z-index:50;pointer-events:auto}.projects-scroll-left{left:-4px}.projects-scroll-right{right:-4px}.projects-scroll-btn:hover{color:white;transform:translateY(-50%) scale(1.07)}.projects-scroll-btn.disabled{opacity:0;pointer-events:none}.project-card{background:rgba(255,255,255,.05);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:2rem;transition:all .4s cubic-bezier(.23,1,.32,1);position:relative;overflow:hidden;display:flex;flex-direction:column}.project-card:hover{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2)}.project-logo{height:80px;display:flex;align-items:center;justify-content:flex-start;font-size:2rem;color:rgba(255,255,255,.7);overflow:hidden;margin-bottom:1.5rem;width:auto;min-width:80px;max-width:200px}.project-logo img{max-height:60px;width:auto;object-fit:contain}.project-card-content{flex:1 1;display:flex;flex-direction:column;height:100%}.project-thumbnail{width:100%;aspect-ratio:16/9;background:rgba(255,255,255,.1);border-radius:12px;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-size:.9rem}.project-title{font-family:ClashDisplay,sans-serif;font-size:1.5rem;font-weight:600;margin-bottom:1rem;letter-spacing:-.01em}.project-description{flex:1 1;font-size:.95rem;line-height:1.6;opacity:.8;margin-bottom:1.5rem}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.tech-tag{background:rgba(134,35,169,.3);border:1px solid rgba(134,35,169,.5);border-radius:8px;padding:.3rem .8rem;font-size:.8rem;color:rgba(255,255,255,.9)}.project-actions{gap:1rem;margin-top:auto;min-height:48px}.action-btn,.project-actions{display:flex;align-items:center}.action-btn{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:.8rem 1.5rem;color:white;text-decoration:none;font-size:.9rem;font-weight:500;transition:all .3s cubic-bezier(.23,1,.32,1);gap:.5rem}.action-btn:hover{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);transform:translateY(-2px)}.action-icon{width:40px;height:40px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:10px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.8);transition:all .3s cubic-bezier(.23,1,.32,1);text-decoration:none}.action-icon:hover{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);color:white;transform:translateY(-2px)}.contact-container{position:relative;width:100%}.contact-grid{display:grid;grid-template-columns:repeat(3,190px);justify-content:center;grid-gap:1.5rem;gap:1.5rem;padding:15px 40px;margin:3rem auto 0;max-width:800px;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth}@media (max-width:768px){.contact-grid{grid-template-columns:none;grid-template-rows:repeat(2,1fr);grid-auto-flow:column;overflow-x:auto;column-gap:1rem;row-gap:1.5rem;margin:3rem -20px 0;max-width:calc(100% + 40px);justify-content:start}}.contact-grid::-webkit-scrollbar{display:none}.contact-scroll-btn{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);cursor:pointer;transition:all .3s cubic-bezier(.23,1,.32,1);font-size:1rem;z-index:50;pointer-events:auto}.contact-scroll-left{left:-10px}.contact-scroll-right{right:-10px}.contact-scroll-btn.disabled{opacity:0;pointer-events:none}.contact-card-glass{min-width:160px;max-width:200px;flex-shrink:0;height:max-content}.contact-item{padding:2rem 1rem;text-decoration:none;color:white;display:block;width:100%;word-wrap:break-word}.contact-card-glass,.contact-item{transition:all .3s cubic-bezier(.23,1,.32,1)}.contact-card-flash{animation:contactCardFlash 2.4s cubic-bezier(.45,0,.55,1)}@keyframes contactCardFlash{0%,to{border-color:rgba(255,255,255,.15);box-shadow:inset 0 1px 0 0 rgba(255,255,255,.2),inset 0 -1px 0 0 rgba(255,255,255,.1),0 0 0 0 rgba(190,110,240,0),0 0 0 rgba(134,35,169,0),0 10px 30px rgba(0,0,0,.1)}55%{border-color:rgba(190,110,240,.95);box-shadow:inset 0 1px 0 0 rgba(255,255,255,.28),inset 0 -1px 0 0 rgba(255,255,255,.1),0 0 0 1px rgba(190,110,240,.6),0 0 34px rgba(134,35,169,.75),0 10px 30px rgba(0,0,0,.1)}}.contact-icon{font-size:2rem;margin-bottom:1rem;color:rgba(255,255,255,.8)}.contact-label{font-size:.9rem;opacity:.7;margin-bottom:.5rem}.contact-value{font-weight:500;font-size:.9rem}.footer{text-align:right;color:white;display:flex;align-items:center;justify-content:flex-end;opacity:0;transform:scale(1.05);filter:blur(8px);transition:all 1s cubic-bezier(.23,1,.32,1)}.footer.loaded{opacity:1;transform:scale(1);filter:blur(0)}.footer-line{height:1px;width:66vw;background:linear-gradient(270deg,rgba(134,35,169,.8),rgba(134,35,169,0));margin-right:15px}.footer-logo{opacity:.7}.footer-container{position:fixed;bottom:0;left:0;width:100%;padding:0 5vw 5vh;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none;z-index:10}.footer-copyright{font-size:.65rem;letter-spacing:1px;color:white;opacity:0;filter:blur(8px);font-weight:400;transition:all 1s cubic-bezier(.23,1,.32,1);margin-bottom:8px}.footer-copyright.loaded{opacity:.4;filter:blur(0)}.section-nav{position:fixed;left:2vw;top:50%;transform:translateY(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;opacity:0;transform:translateY(-50%) scale(1.05);filter:blur(8px);transition:all 1s cubic-bezier(.23,1,.32,1)}.section-nav.loaded{opacity:1;transform:translateY(-50%) scale(1);filter:blur(0)}.nav-pill{background:rgba(255,255,255,.1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:50px;padding:1.5rem .8rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.nav-dot{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.3);border:2px solid rgba(255,255,255,.5);cursor:pointer;transition:all .4s cubic-bezier(.23,1,.32,1);position:relative}.nav-dot:hover{background:rgba(255,255,255,.5);border-color:rgba(255,255,255,.8);transform:scale(1.2)}.nav-dot.active{background:rgba(134,35,169,.8);border-color:rgba(134,35,169,1);transform:scale(1.3);box-shadow:0 0 20px rgba(134,35,169,.4)}.nav-tooltip{position:absolute;left:200%;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:.5rem 1rem;font-size:.8rem;white-space:nowrap;opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.23,1,.32,1);z-index:10000}.nav-dot:hover .nav-tooltip{opacity:1}@media (max-width:768px){.section-nav{left:1vw}.nav-pill{padding:1rem .6rem;gap:.8rem}.nav-dot{width:10px;height:10px}.nav-tooltip{display:none}}.scroll-hint{position:fixed;bottom:8vh;left:50%;transform:translateX(-50%);z-index:15;display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:0;pointer-events:none;transition:all 1s cubic-bezier(.23,1,.32,1)}.scroll-hint.loaded{opacity:.6;pointer-events:auto}.scroll-hint.hidden{opacity:0;filter:blur(8px);pointer-events:none}.scroll-hint-text{font-family:ClashDisplay,sans-serif;font-size:.75rem;color:white;letter-spacing:2px;opacity:.8;font-weight:500}.scroll-hint-icon{width:24px;height:40px;border:2px solid rgba(255,255,255,.4);border-radius:12px;position:relative;display:flex;justify-content:center;padding-top:6px}.scroll-hint-dot{width:3px;height:6px;background:rgba(255,255,255,.6);border-radius:2px;animation:scrollHintBounce 2s infinite}@keyframes scrollHintBounce{0%,to{transform:translateY(0);opacity:.6}50%{transform:translateY(12px);opacity:1}}.scroll-hint.loaded:not(.hidden):hover{opacity:1}[data-cursor=pointer],[data-cursor=view]{cursor:pointer}[data-cursor=text]{cursor:text}[data-cursor=hover]{cursor:pointer}@media (max-width:1200px){.name-svg{max-width:400px}.vertical-text{font-size:clamp(20rem,40vw,48rem);right:2vw}}@media (max-width:992px){.about-content{grid-template-columns:1fr}.name-section{left:4vw}.vertical-text{font-size:clamp(16rem,40vw,40rem);right:3vw}}@media (max-width:768px){.name-svg{max-width:300px}.vertical-text{font-size:clamp(12rem,40vw,30rem);right:2vw}.footer-line{width:40vw}.name-section{left:8vw}.skills-grid{grid-template-columns:repeat(2,1fr);max-height:240px;gap:1rem}.skills-scroll-btn{width:35px;height:35px;font-size:.8rem}.skill-item{padding:1rem .8rem;min-height:70px}.projects-scroll-btn{width:40px;height:40px;font-size:1rem}.project-card{padding:1.5rem}}@media (orientation:portrait) and (max-width:900px){.parallax-bg{width:100vw;height:auto;min-height:800vh;background-size:cover;background-position:top}}@media (max-width:768px){.parallax-bg{min-height:700vh;background-size:cover;background-position:50%}}@media (max-width:480px){.parallax-bg{min-height:800vh;background-size:cover;background-position:top}}.mobile-popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(20,2,36,.9);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:2rem;opacity:1;visibility:visible;transition:all .5s cubic-bezier(.23,1,.32,1)}.mobile-popup-overlay.hidden{opacity:0;visibility:hidden;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0)}.mobile-popup{background:rgba(255,255,255,.1);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid rgba(255,255,255,.2);border-radius:24px;padding:2.5rem 2rem;max-width:400px;width:100%;text-align:center;position:relative;box-shadow:0 20px 40px rgba(0,0,0,.3);transform:scale(.9) translateY(20px);opacity:0;animation:popupEnter .6s cubic-bezier(.23,1,.32,1) .2s forwards}@keyframes popupEnter{0%{transform:scale(.9) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.popup-icon{width:60px;height:60px;background:linear-gradient(135deg,rgba(134,35,169,.3),rgba(134,35,169,.6));border:2px solid rgba(134,35,169,.8);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:1.5rem;color:rgba(255,255,255,.9);box-shadow:0 0 30px rgba(134,35,169,.4)}.popup-title{font-size:1.4rem;font-weight:600;margin-bottom:1rem;letter-spacing:-.01em;background:linear-gradient(135deg,#ffffff,rgba(255,255,255,.8));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.popup-text{font-size:.95rem;line-height:1.6;opacity:.85;margin-bottom:2rem;color:rgba(255,255,255,.9)}.popup-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.popup-btn{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:.8rem 1.5rem;color:white;text-decoration:none;font-size:.9rem;font-weight:500;transition:all .3s cubic-bezier(.23,1,.32,1);display:flex;align-items:center;gap:.5rem;cursor:pointer;font-family:inherit}.popup-btn:hover{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);transform:translateY(-2px)}.popup-btn.primary{background:linear-gradient(135deg,rgba(134,35,169,.6),rgba(134,35,169,.8));border:1px solid rgba(134,35,169,.9);box-shadow:0 4px 20px rgba(134,35,169,.3)}.popup-btn.primary:hover{background:linear-gradient(135deg,rgba(134,35,169,.7),rgba(134,35,169,.9));border:1px solid rgba(134,35,169,1);box-shadow:0 6px 25px rgba(134,35,169,.4)}.close-btn{position:absolute;top:1rem;right:1rem;width:32px;height:32px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);cursor:pointer;transition:all .3s cubic-bezier(.23,1,.32,1);font-size:.8rem}.close-btn:hover{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);color:white;transform:scale(1.1)}@media (min-width:1024px){.mobile-popup-overlay{display:none!important}}.mobile-popup-overlay.dismissing{animation:overlayFadeOut .5s cubic-bezier(.23,1,.32,1) forwards}.mobile-popup-overlay.dismissing .mobile-popup{animation:popupExit .4s cubic-bezier(.23,1,.32,1) forwards}@keyframes overlayFadeOut{0%{opacity:1;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}to{opacity:0;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0)}}@keyframes popupExit{0%{transform:scale(1) translateY(0);opacity:1}to{transform:scale(.95) translateY(-20px);opacity:0}}@media (max-width:480px){.mobile-popup{padding:2rem 1.5rem;margin:1rem}.popup-actions{flex-direction:column;gap:.8rem}.popup-btn{padding:1rem 1.5rem;justify-content:center}}.custom-cursor{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;mix-blend-mode:difference;opacity:1;transition:opacity .3s ease}.cursor-dot{width:8px;height:8px;background:rgba(255,255,255,.9);border-radius:50%;position:absolute;transition:all .1s ease;z-index:10001}.cursor-ring{width:40px;height:40px;border:2px solid rgba(255,255,255,.3);border-radius:50%;position:absolute;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.23,1,.32,1);z-index:10000}.custom-cursor.cursor-hover .cursor-ring{transform:scale(1.5);border-color:rgba(134,35,169,.8);background:rgba(134,35,169,.1);border-width:3px}.custom-cursor.cursor-hover .cursor-dot{background:rgba(134,35,169,1);transform:scale(1.2)}.custom-cursor.cursor-view .cursor-ring{transform:scale(4);border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.05)}.custom-cursor.cursor-view .cursor-dot{background:rgba(255,255,255,1);transform:scale(.8)}.custom-cursor.cursor-text .cursor-ring{transform:scaleX(.2) scaleY(1.8);border-radius:2px;border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.1)}.custom-cursor.cursor-text .cursor-dot{opacity:0}.custom-cursor.cursor-nav .cursor-ring{transform:scale(.3);border-color:rgba(134,35,169,1);background:rgba(134,35,169,.8);border-width:4px;box-shadow:0 0 20px rgba(134,35,169,.6)}.custom-cursor.cursor-nav .cursor-dot{background:rgba(134,35,169,1);transform:scale(1.5);box-shadow:0 0 10px rgba(134,35,169,.8)}@media (hover:none) and (pointer:coarse){.custom-cursor{display:none!important}}.nav-pill-glass{display:flex!important;flex-direction:column;align-items:center;overflow:visible!important}.nav-pill-glass .glass-surface__content{overflow:visible}.nav-dots-container{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:0;overflow:visible}.project-card-glass{min-width:300px;min-height:232px;will-change:opacity;transition:all .4s cubic-bezier(.23,1,.32,1)}.project-card-inner{position:relative;width:100%;height:100%;display:flex;flex-direction:column;padding:1.15rem 1.25rem}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.9rem}.project-header .project-logo{margin-bottom:0;height:auto}.project-actions-mini{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.action-icon-mini{width:31px;height:31px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:10px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);transition:all .3s cubic-bezier(.23,1,.32,1);text-decoration:none;font-size:.9rem}.action-icon-mini:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.4);color:white;transform:translateY(-2px)}.project-body{flex:1 1;display:flex;flex-direction:column}.project-body .project-title{font-family:ClashDisplay,sans-serif;font-size:1.4rem;font-weight:600;margin-bottom:.5rem;letter-spacing:-.01em}.project-body .project-description{font-size:.9rem;line-height:1.55;opacity:.8;margin-bottom:.75rem;flex:1 1}.project-footer{margin-top:auto}.project-footer .project-tech{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:0}.project-footer .tech-tag{background:rgba(134,35,169,.25);border:1px solid rgba(134,35,169,.4);border-radius:6px;padding:.25rem .6rem;font-size:.75rem;color:rgba(255,255,255,.85)}.project-card-featured{border:1px solid rgba(134,35,169,.3)}.featured-glare{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 30% 40%,rgba(134,35,169,.25) 0,transparent 60%);opacity:0;animation:glow-pulse 5s ease-in-out infinite;pointer-events:none;z-index:1}@keyframes glow-pulse{0%,to{opacity:0}50%{opacity:1}}.curved-logo{border-radius:8px}.project-ascii-logo{margin:0;font-size:6.5px;line-height:1.05;font-weight:400;font-style:normal;white-space:pre;color:rgba(255,255,255,.88);-webkit-font-smoothing:antialiased}.project-ascii-logo,.project-text-logo{font-family:JetBrains Mono,Fira Code,Courier New,monospace;letter-spacing:0}.project-text-logo{font-size:1.4rem;font-weight:500;color:rgba(255,255,255,.85)}.scroll-btn-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);font-size:1rem}.projects-scroll-btn:focus-visible{outline:2px solid rgba(190,110,240,.9);outline-offset:3px}.fluid-glass-cursor{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9998}@media (max-width:992px){.project-card-glass{min-width:300px;min-height:260px}.projects-grid{--project-col-min:280px;--project-col-max:320px}}@media (max-width:768px){.project-card-glass{min-width:280px;min-height:260px}.project-card-inner{padding:1rem}.project-body .project-title{font-size:1.2rem}.project-body .project-description{font-size:.85rem}}@media (min-width:1024px){:root[data-nav=scrubber] .about-section,:root[data-nav=scrubber] .contact-section,:root[data-nav=scrubber] .hero-section,:root[data-nav=scrubber] .projects-section{padding-top:9rem}}.narrow-prompt-overlay{z-index:10001}@media (min-width:1024px){.narrow-prompt-overlay{display:flex!important}}.glass-cursor{position:fixed;top:0;left:0;pointer-events:none;z-index:20000;border-radius:50%;will-change:transform,width,height;opacity:1;transition:opacity .3s ease}.glass-cursor--svg{backdrop-filter:var(--glass-cursor-filter);-webkit-backdrop-filter:var(--glass-cursor-filter);border:1px solid rgba(255,255,255,.1);box-shadow:0 0 15px rgba(0,0,0,.1)}.glass-cursor--fallback{backdrop-filter:blur(1px) brightness(1.15) saturate(1.4);-webkit-backdrop-filter:blur(1px) brightness(1.15) saturate(1.4);border:1px solid rgba(255,255,255,.1)}.glass-cursor--click{border-color:rgba(134,35,169,.5);box-shadow:0 0 15px rgba(134,35,169,.15)}.glass-cursor--nav{border-color:rgba(134,35,169,.8);box-shadow:0 0 12px rgba(134,35,169,.35)}.glass-cursor--text{background:rgba(255,255,255,.7);border:none;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 0 8px rgba(255,255,255,.3)}.glass-cursor--arrow{border-color:rgba(134,35,169,.5);box-shadow:0 0 15px rgba(134,35,169,.15)}.glass-cursor--arrow:before{content:"→";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-45deg);font-size:16px;color:rgba(255,255,255,.9);animation:arrow-blur-in .3s ease-out forwards}@keyframes arrow-blur-in{0%{filter:blur(4px);opacity:0}to{filter:blur(0);opacity:1}}.glass-cursor-svg{position:fixed;width:0;height:0;pointer-events:none}@media (hover:none) and (pointer:coarse){.glass-cursor{display:none!important}}.reticle{position:fixed;top:0;left:0;pointer-events:none;z-index:20000;will-change:transform,width,height;opacity:0;transition:opacity .25s ease;--reticle-tint:rgba(255,255,255,0.55)}.reticle[data-kind=arrow],.reticle[data-kind=click],.reticle[data-kind=nav]{--reticle-tint:rgba(190,110,240,0.95)}.reticle__corner{position:absolute;width:9px;height:9px;border:1px solid var(--reticle-tint);transition:border-color .3s cubic-bezier(.23,1,.32,1)}.reticle__corner--tl{top:-1px;left:-1px;border-right:none;border-bottom:none}.reticle__corner--tr{top:-1px;right:-1px;border-left:none;border-bottom:none}.reticle__corner--bl{bottom:-1px;left:-1px;border-right:none;border-top:none}.reticle__corner--br{bottom:-1px;right:-1px;border-left:none;border-top:none}.reticle__readout{position:absolute;top:100%;left:0;margin-top:9px;font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:9px;letter-spacing:1.4px;line-height:1;white-space:nowrap;color:rgba(255,255,255,.92);opacity:.9}.reticle[data-kind=text] .reticle__readout{opacity:0}.reticle-axis{position:fixed;top:0;left:0;pointer-events:none;z-index:19998;opacity:0;will-change:transform,opacity}.reticle-axis--x{width:100vw;height:1px;background:linear-gradient(90deg,transparent,rgba(190,110,240,.5) 30%,rgba(190,110,240,.5) 70%,transparent)}.reticle-axis--y{width:1px;height:100vh;background:linear-gradient(180deg,transparent,rgba(190,110,240,.5) 30%,rgba(190,110,240,.5) 70%,transparent)}@media (hover:none) and (pointer:coarse){.reticle,.reticle-axis{display:none}}.comet{position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;z-index:20000;filter:url(#comet-goo);mix-blend-mode:screen;opacity:0;transition:opacity .25s ease}.comet__bead{position:absolute;top:0;left:0;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.95),rgba(190,110,240,.9) 45%,rgba(134,35,169,.75) 100%);will-change:transform,width,height}.comet[data-kind=text] .comet__bead{background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.95),rgba(255,255,255,.6) 60%,rgba(255,255,255,.25) 100%)}.comet__ring{top:0;left:0;z-index:19998;border:1px solid rgba(190,110,240,.8);box-shadow:0 0 18px rgba(134,35,169,.35),inset 0 0 18px rgba(134,35,169,.2);opacity:0;will-change:transform,width,height}.comet-defs,.comet__ring{position:fixed;pointer-events:none}.comet-defs{width:0;height:0}@media (hover:none) and (pointer:coarse){.comet,.comet__ring{display:none}}.spotlight-veil{inset:0;z-index:19996;background-image:repeating-linear-gradient(90deg,rgba(190,110,240,.55) 0 1px,transparent 1px 25px),repeating-linear-gradient(180deg,rgba(190,110,240,.55) 0 1px,transparent 1px 25px);-webkit-mask-image:radial-gradient(circle var(--sr,190px) at var(--sx,50%) var(--sy,50%),rgba(0,0,0,.9) 0,rgba(0,0,0,.35) 55%,transparent 100%);mask-image:radial-gradient(circle var(--sr,190px) at var(--sx,50%) var(--sy,50%),rgba(0,0,0,.9) 0,rgba(0,0,0,.35) 55%,transparent 100%)}.spotlight-glow,.spotlight-veil{position:fixed;pointer-events:none;opacity:0;transition:opacity .35s ease}.spotlight-glow{top:0;left:0;z-index:19997;border-radius:50%;mix-blend-mode:screen;will-change:transform,width,height;background:radial-gradient(circle,rgba(134,35,169,.42) 0,rgba(134,35,169,.16) 42%,transparent 72%)}.spotlight-glow[data-kind=arrow],.spotlight-glow[data-kind=click],.spotlight-glow[data-kind=nav]{background:radial-gradient(circle,rgba(190,110,240,.55) 0,rgba(134,35,169,.22) 45%,transparent 72%)}.spotlight-glow[data-kind=text]{background:radial-gradient(circle,rgba(255,255,255,.22) 0,rgba(255,255,255,.08) 45%,transparent 72%)}.spotlight-outline{position:fixed;top:0;left:0;pointer-events:none;z-index:19998;opacity:0;border:1px solid rgba(255,255,255,.55);box-shadow:0 0 22px rgba(134,35,169,.35);will-change:transform,width,height}@media (hover:none) and (pointer:coarse){.spotlight-glow,.spotlight-outline,.spotlight-veil{display:none}}.lab-panel{position:fixed;right:1.25rem;bottom:1.25rem;z-index:12000;width:236px;display:flex;flex-direction:column;border-radius:16px;background:rgba(20,2,36,.72);backdrop-filter:blur(22px) saturate(1.6);-webkit-backdrop-filter:blur(22px) saturate(1.6);border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 44px rgba(0,0,0,.45);overflow:hidden;font-family:var(--font-montserrat),sans-serif;color:white}.lab-panel__toggle{display:flex;align-items:center;gap:.55rem;width:100%;padding:.7rem .85rem;background:none;border:none;color:inherit;cursor:pointer;font-family:inherit}.lab-panel__pulse{width:6px;height:6px;border-radius:50%;background:rgba(190,110,240,1);box-shadow:0 0 10px rgba(190,110,240,.9);animation:labPulse 2.4s ease-in-out infinite}@keyframes labPulse{0%,to{opacity:.4}50%{opacity:1}}.lab-panel__title{flex:1 1;text-align:left;font-size:.62rem;font-weight:600;letter-spacing:3px;color:rgba(255,255,255,.85)}.lab-panel__key{font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:.6rem;line-height:1;padding:.2rem .35rem;border-radius:4px;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.5)}.lab-panel__body{display:flex;flex-direction:column;gap:.9rem;padding:0 .85rem .9rem;max-height:420px;opacity:1;transition:max-height .45s cubic-bezier(.23,1,.32,1),opacity .3s ease,padding .45s cubic-bezier(.23,1,.32,1)}.lab-panel[data-collapsed=true] .lab-panel__body{max-height:0;padding-top:0;padding-bottom:0;opacity:0;pointer-events:none;overflow:hidden}.lab-panel__legend{font-size:.55rem;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:.45rem}.lab-panel__options{display:flex;flex-wrap:wrap;gap:.3rem}.lab-panel__option{padding:.35rem .6rem;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:rgba(255,255,255,.72);font-family:inherit;font-size:.68rem;cursor:pointer;transition:all .25s cubic-bezier(.23,1,.32,1)}.lab-panel__option:hover{background:rgba(255,255,255,.12);color:white}.lab-panel__option[data-selected=true]{background:rgba(134,35,169,.65);border-color:rgba(190,110,240,.9);color:white;box-shadow:0 0 14px rgba(134,35,169,.4)}.lab-panel__hint{margin-top:.45rem;font-size:.6rem;line-height:1.45;color:rgba(255,255,255,.42)}.lab-panel__reset{padding:.45rem .6rem;border-radius:8px;border:1px dashed rgba(255,255,255,.18);background:none;color:rgba(255,255,255,.5);font-family:inherit;font-size:.62rem;letter-spacing:.5px;cursor:pointer;transition:all .25s cubic-bezier(.23,1,.32,1)}.lab-panel__reset:hover{color:white;border-color:rgba(255,255,255,.35)}@media (max-width:768px){.lab-panel{right:.75rem;bottom:.75rem;width:200px}}