@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";
@import "https://fonts.googleapis.com/css2?family=Inconsolata:wght@200;300;400;500;600;700;800;900&display=swap";
@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap";
@import "https://fonts.googleapis.com/css?family=Press+Start+2P";
:root{--color-foreground:var(--color-text);--color-foreground-secondary:var(--color-text-secondary);--color-foreground-muted:var(--color-text-muted);--color-background:var(--color-background);--color-surface:var(--color-surface);--color-border:var(--color-border);--color-accent:var(--color-accent);--dynamic-bg:linear-gradient(120deg,#f7f7f5 0%,#e9eef3 45%,#f7f7f5 100%);--dynamic-text-color:var(--color-primary);--dynamic-text-color-secondary:var(--color-secondary);--article-bg:var(--color-surface);--article-text:var(--color-text);--article-text-secondary:var(--color-text-secondary);--article-border:var(--color-border);--article-surface:var(--color-surface)}@media (prefers-color-scheme:dark){:root{--color-foreground:var(--color-text-dark);--color-foreground-secondary:var(--color-text-secondary-dark);--color-foreground-muted:var(--color-text-muted-dark);--color-background:var(--color-background-dark);--color-surface:var(--color-surface-dark);--color-border:var(--color-border-dark);--color-accent:var(--color-accent-dark);--dynamic-bg:linear-gradient(120deg,#0b0d12 0%,#161a22 45%,#0b0d12 100%);--dynamic-text-color:var(--color-primary-dark);--dynamic-text-color-secondary:var(--color-secondary-dark);--article-bg:var(--color-surface-dark);--article-text:var(--color-text-dark);--article-text-secondary:var(--color-text-secondary-dark);--article-border:var(--color-border-dark);--article-surface:var(--color-surface-dark)}}.space-y-1>*+*{margin-top:var(--space-1)}.space-y-2>*+*{margin-top:var(--space-2)}.space-y-3>*+*{margin-top:var(--space-3)}.space-y-4>*+*{margin-top:var(--space-4)}.space-y-6>*+*{margin-top:var(--space-6)}.space-y-8>*+*{margin-top:var(--space-8)}:root{--font-primary:"Space Grotesk","Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-secondary:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"Inconsolata","JetBrains Mono","Monaco","Menlo",monospace;--font-code:"JetBrains Mono","Inconsolata","Monaco","Menlo",monospace;--color-primary:#1a1a1a;--color-secondary:#666;--color-tertiary:#999;--color-accent:#06f;--color-background:#fafafa;--color-surface:#fff;--color-border:#e5e5e5;--color-text:#1a1a1a;--color-text-secondary:#666;--color-text-muted:#999;--color-primary-dark:#fff;--color-secondary-dark:#a0a0a0;--color-tertiary-dark:#707070;--color-accent-dark:#3b82f6;--color-background-dark:#0a0a0a;--color-surface-dark:#1a1a1a;--color-border-dark:#2a2a2a;--color-text-dark:#fff;--color-text-secondary-dark:#a0a0a0;--color-text-muted-dark:#707070;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--text-7xl:4.5rem;--text-8xl:6rem;--text-9xl:8rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--tech-item-padding:.2rem 1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-secondary);background:var(--dynamic-bg,var(--color-background));color:var(--color-primary);font-feature-settings:"kern" 1,"liga" 1,"calt" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}.body-xl{font-family:var(--font-secondary);font-size:var(--text-xl);color:var(--color-secondary);font-weight:400;line-height:1.7}.body-lg{font-family:var(--font-secondary);font-size:var(--text-lg);color:var(--color-secondary);font-weight:400;line-height:1.7}.body-md{font-family:var(--font-secondary);font-size:var(--text-base);color:var(--color-secondary);font-weight:400;line-height:1.6}.body-sm{font-family:var(--font-secondary);font-size:var(--text-sm);color:var(--color-secondary);font-weight:400;line-height:1.5}.label{font-family:var(--font-mono);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.1em;color:var(--color-tertiary);font-weight:500}.code{font-family:var(--font-code);font-size:var(--text-sm);font-feature-settings:"liga" 1,"calt" 1;font-weight:400;line-height:1.5}.container{max-width:1400px;margin:0 auto;padding:0 2rem}.section{align-items:center;min-height:100vh;padding:4rem 0;display:flex}.grid{gap:2rem;display:grid}.flex{display:flex}.project-section{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;max-width:1400px;min-height:100vh;margin:0 auto;padding:4rem 2rem;display:grid;position:relative}.project-section-timeline{background:0 0!important;padding:0!important;display:block!important}.project-timeline-wrapper{grid-template-columns:1fr 2fr;gap:4rem;width:100%;max-width:1400px;margin:0 auto;padding:4rem 2rem;display:grid;position:relative}.project-timeline-left{z-index:10;align-self:flex-start;align-items:flex-start;width:100%;min-width:0;min-height:50vh;padding-top:2rem;display:flex;position:relative;overflow:visible}@media (min-width:1024px){.project-timeline-left{flex-direction:column;justify-content:center;display:flex;position:sticky;top:0}}.project-timeline-title{width:100%;min-width:0;position:relative}.project-timeline-title .project-description{margin-bottom:var(--space-8)}.project-timeline-title .tech-stack,.project-timeline-title .project-story{margin-bottom:var(--space-6)}.project-timeline-title .cta-button{margin-top:var(--space-6)}.project-timeline-right{min-width:0;min-height:100vh;padding:2rem 0;position:relative}@media (min-width:1024px){.project-timeline-right{min-height:150vh}.project-timeline-right .project-content{justify-content:center;min-height:150vh;margin-top:50vh}}.project-timeline-right .project-content{flex-direction:column;justify-content:center;min-height:100vh;display:flex}.project-timeline-right .project-canvas{z-index:0;flex-shrink:0;width:100%;height:60vh;min-height:400px}.project-timeline-right .project-canvas.canvas-3d{width:200%;height:100vh;min-height:480px;margin-left:-50%}.project-section-flipped .project-content{order:2}.project-section-flipped .project-canvas{order:1}canvas{touch-action:none!important}.project-content{padding:2rem 0}.project-number{font-family:var(--font-mono);font-size:var(--text-base);color:var(--dynamic-text-color-secondary,var(--color-tertiary));margin-bottom:var(--space-2);letter-spacing:.1em;text-transform:uppercase;font-weight:500;transition:color .3s}.project-title{font-family:var(--font-primary);font-size:clamp(var(--text-3xl),4vw,var(--text-6xl));margin-bottom:var(--space-6);text-transform:uppercase;letter-spacing:-.02em;font-feature-settings:"ss01" 1;color:var(--dynamic-text-color,var(--color-primary));font-weight:600;line-height:1.05;transition:color .3s}.project-description{font-family:var(--font-secondary);font-size:var(--text-lg);color:var(--dynamic-text-color-secondary,var(--color-secondary));margin-bottom:var(--space-8);line-height:1.7;transition:color .3s}.tech-stack{flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;display:flex}.tech-item{padding:var(--tech-item-padding);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--dynamic-text-color-secondary,var(--color-secondary));background:#ffffff0d;border:1px solid #ffffff26;border-radius:2rem;font-weight:500;transition:all .3s;box-shadow:0 2px 8px #0000000d}.tech-item:hover{background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.project-story{font-family:var(--font-secondary);font-size:var(--text-base);color:var(--dynamic-text-color-secondary,var(--color-tertiary));font-style:italic;line-height:1.6;transition:color .3s}.video-player-shell{justify-content:center;width:100%;display:flex}.video-player-frame{aspect-ratio:16/10;background:radial-gradient(circle at 20% 20%,#ffffff14,#000000bf);width:100%;max-width:800px;overflow:hidden;box-shadow:0 24px 80px #00000059,0 12px 40px #00000040}.portfolio-media-player{color:#fff;background:#050505;border-radius:0;width:100%;height:100%;overflow:hidden}.portfolio-media-player .vds-poster{background-position:50%;background-size:cover;border-radius:0}.portfolio-media-player .vds-poster img{object-fit:cover;border-radius:0;width:100%;height:100%}.portfolio-media-player .vds-media,.portfolio-media-player .vds-controls,.portfolio-media-player .vds-controls-group,.portfolio-media-player .vds-scrubber,.portfolio-media-player .vds-chapter-title,.portfolio-media-player .vds-time,.portfolio-media-player .vds-tooltip{border-radius:0!important}.video-player-placeholder{background:linear-gradient(135deg,#1c1c1f,#0f1217);width:100%;height:100%;animation:1.8s ease-in-out infinite pulse}.video-player-canvas{justify-content:center;align-items:center;height:60vh;min-height:360px;padding:clamp(1.5rem,2vw,3rem);display:flex}.portfolio-media-player,.portfolio-media-player :where(.vds-layout,.vds-video-layout,.vds-media,.vds-media-container,.vds-media-slot,.vds-video,.vds-ui,.vds-controls,.vds-controls-group,.vds-time-slider,.vds-scrubber,.vds-tooltip,.vds-chapter-title,.vds-time,.vds-captions,.vds-poster,.vds-poster img){border-radius:0!important}@keyframes pulse{0%{opacity:.75}50%{opacity:1}to{opacity:.75}}.cta-button{align-items:center;gap:var(--space-3);margin-top:var(--space-8);padding:var(--space-4)var(--space-6);background:var(--color-accent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-family:var(--font-primary);font-size:var(--text-base);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;border:1px solid #fff3;border-radius:50px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex;box-shadow:0 4px 20px #0066ff4d}a.cta-button{text-decoration:none}.cta-button:hover{background:#0052cc;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 8px 30px #0066ff80}.cta-button:active{transform:translateY(0)}.cta-arrow{font-size:var(--text-lg);transition:transform .3s}.cta-button:hover .cta-arrow{transform:translate(4px)}.project-story{will-change:opacity,height;overflow:hidden}.hero-section{width:100vw;height:calc(100vh + 100px);position:relative;overflow:hidden}.hero-canvas{z-index:1;width:150%;height:100%;position:absolute;top:0;left:0;-webkit-mask:linear-gradient(#000 0% 100vh,#0000 calc(100vh + 100px));mask:linear-gradient(#000 0% 100vh,#0000 calc(100vh + 100px))}.hero-content{z-index:10;pointer-events:none;align-items:center;width:100%;height:100%;padding:0 4rem;display:flex;position:absolute;top:0;left:0}.hero-text{text-align:left;max-width:50%}.hero-title{font-family:var(--font-primary);font-size:clamp(var(--text-3xl),6vw,var(--text-6xl));letter-spacing:-.03em;color:var(--dynamic-text-color,var(--color-primary));margin-bottom:var(--space-4);text-transform:none;font-feature-settings:"ss01" 1,"ss02" 1;font-weight:600;line-height:1.1;transition:color 1s}.hero-subtitle{font-family:var(--font-secondary);font-size:clamp(var(--text-lg),3vw,var(--text-2xl));color:var(--dynamic-text-color-secondary,var(--color-secondary));letter-spacing:-.01em;max-width:600px;font-weight:400;line-height:1.4;transition:color 1s}.about-section{margin-top:-100px;padding:calc(8rem + 100px) 0 8rem}.about-grid{grid-template-columns:1fr 2fr;align-items:start;gap:4rem;display:grid}.about-title{font-family:var(--font-primary);font-size:clamp(var(--text-5xl),6vw,var(--text-8xl));text-transform:none;letter-spacing:-.03em;top:var(--space-8);font-feature-settings:"ss01" 1,"ss02" 1;color:var(--dynamic-text-color,var(--color-primary));font-weight:600;line-height:.95;transition:color .3s;position:sticky}.about-content-col{padding-top:1rem}.about-text{font-family:var(--font-secondary);font-size:clamp(var(--text-base),2vw,var(--text-lg));color:var(--dynamic-text-color-secondary,var(--color-secondary));margin-bottom:var(--space-8);line-height:1.8;transition:color .3s}.about-text:last-child{margin-bottom:0}.resume-section{padding:0 0}.resume-container{max-width:1400px;padding:0 var(--space-6);margin:0 auto}.resume-wrapper{grid-template-columns:1fr 2fr;gap:4rem;max-width:1200px;margin:0 auto;display:grid}.resume-left{align-self:flex-start;position:sticky;top:2rem}.resume-right{color:var(--dynamic-text-color,var(--color-primary));padding:0}.resume-profile{aspect-ratio:1;border-radius:8px;width:100%;margin-bottom:2rem;overflow:hidden}.resume-profile img{object-fit:cover;width:100%;height:100%}.resume-content{padding:0}.resume-item{border-bottom:1px solid var(--color-border);margin-bottom:2rem;padding:0 0 2rem;transition:border-color .3s}.resume-item:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.resume-title{margin-bottom:1rem}.resume-bold{font-family:var(--font-primary);font-weight:600;font-size:var(--text-xl);text-transform:none;color:var(--dynamic-text-color,var(--color-primary));letter-spacing:-.02em;line-height:1.1;transition:color .3s}.resume-right .resume-bold{color:var(--dynamic-text-color,var(--color-primary));font-size:clamp(var(--text-2xl),3vw,var(--text-4xl))}.resume-left .resume-bold{font-size:clamp(var(--text-lg),2vw,var(--text-xl))}.resume-semi-bold{font-family:var(--font-primary);font-weight:600;font-size:var(--text-base);color:var(--dynamic-text-color,var(--color-primary));line-height:1.4;transition:color .3s}.resume-medium{font-family:var(--font-secondary);font-weight:500;font-size:var(--text-sm);color:var(--dynamic-text-color-secondary,var(--color-secondary));line-height:1.5;transition:color .3s}.resume-small{font-family:var(--font-secondary);font-weight:400;font-size:var(--text-sm);color:var(--dynamic-text-color-secondary,var(--color-secondary));line-height:1.6;transition:color .3s}.resume-white{color:var(--dynamic-text-color,var(--color-primary))}.resume-grey{color:var(--dynamic-text-color-secondary,var(--color-secondary))}.resume-contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.resume-contact a{color:inherit;align-items:center;width:100%;text-decoration:none;display:flex}.resume-contact li{align-items:center;display:flex}.resume-contact li:last-child{margin-bottom:0}.resume-icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:32px;height:32px;color:var(--dynamic-text-color,var(--color-primary));background:#ffffff0d;border:1px solid #ffffff26;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-right:.75rem;font-size:.875rem;transition:all .3s;display:flex;position:relative;box-shadow:0 2px 8px #0000000d}.resume-icon i{color:inherit;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.resume-icon i:before{color:inherit}.resume-data{color:var(--dynamic-text-color-secondary,var(--color-secondary));font-size:var(--text-sm);font-family:var(--font-secondary);transition:color .3s}.resume-skills ul{margin:0;padding:0;list-style:none}.resume-skills ul li{color:var(--dynamic-text-color,var(--color-primary));justify-content:space-between;align-items:center;margin-bottom:.875rem;display:flex}.resume-skills ul li:last-child{margin-bottom:0}.skill-focus-card{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;padding:0}.skill-focus-sub{max-width:none;font-size:.75rem;line-height:1.4;font-family:var(--font-secondary);color:var(--dynamic-text-color-secondary,var(--color-secondary));text-align:left;margin:.5rem 0 0}.skill-focus-canvas{background:0 0;border:none;width:100%;height:clamp(220px,24vw,320px);display:block;overflow:hidden}.qualifications-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.qualifications-list li{padding-left:1.25rem;line-height:1.6;position:relative}.qualifications-list li:before{content:"•";color:var(--dynamic-text-color,var(--color-primary));font-weight:600;transition:color .3s;position:absolute;left:0}.qualifications-list li:last-child{margin-bottom:0}.resume-about p{font-family:var(--font-secondary);font-size:clamp(var(--text-base),1.5vw,var(--text-lg));color:var(--dynamic-text-color-secondary,var(--color-secondary));margin-bottom:0;line-height:1.7;transition:color .3s}.resume-timeline{padding-left:2rem;list-style:none;position:relative}.resume-timeline li{margin-bottom:2.5rem;position:relative}.resume-timeline li:last-child{margin-bottom:0}.resume-timeline li:before{content:"";background:var(--dynamic-text-color,var(--color-primary));border-radius:50%;width:8px;height:8px;transition:background-color .3s;position:absolute;top:.25rem;left:-2rem}.resume-timeline li:after{content:"";background:var(--color-border);opacity:.3;width:2px;height:calc(100% + 1rem);transition:opacity .3s;position:absolute;top:1rem;left:-1.75rem}.resume-timeline li:last-child:after{display:none}.resume-date{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--dynamic-text-color-secondary,var(--color-tertiary));margin-bottom:.5rem;font-weight:500;transition:color .3s}.resume-info{margin-bottom:0}.resume-info p{margin-bottom:.5rem}.resume-info p:last-child{margin-bottom:0}@media (min-width:1400px){.container{padding:0 3rem}}@media (max-width:1200px){.hero-title{font-size:clamp(var(--text-4xl),7vw,var(--text-8xl));letter-spacing:-.025em;color:var(--dynamic-text-color,var(--color-primary))}.about-title{font-size:clamp(var(--text-4xl),5vw,var(--text-7xl))}.project-title{font-size:clamp(var(--text-2xl),4vw,var(--text-5xl))}}@media (max-width:968px){.hero-content{justify-content:flex-start;align-items:flex-start;padding:20vh 1.5rem 0}.hero-text{text-align:left;max-width:85%}.hero-title{font-size:clamp(var(--text-4xl),9vw,var(--text-7xl));margin-bottom:var(--space-5);color:var(--dynamic-text-color,var(--color-primary))}.hero-subtitle{font-size:clamp(var(--text-lg),4vw,var(--text-3xl));max-width:100%;color:var(--dynamic-text-color-secondary,var(--color-secondary))}.about-grid{grid-template-columns:1fr;gap:2rem}.about-title{margin-bottom:1rem;position:static}.project-section{grid-template-columns:1fr;gap:3rem;padding:3rem 2rem;overflow-x:hidden}.project-timeline-wrapper{grid-template-columns:1fr;gap:2rem;width:100%;max-width:100%;margin:0;padding:0}.project-timeline-left{padding:0 1.5rem}.project-timeline-right{width:100%;padding:0;overflow:visible}.project-timeline-right .project-content{width:100%;min-height:auto}.project-timeline-right .project-canvas{width:100vw;max-width:100vw;height:60vh;min-height:350px;margin:0;padding:0;position:relative;left:50%;transform:translate(-50%)}.project-timeline-right .project-canvas.canvas-3d{width:100vw;height:60vh;min-height:350px;margin-left:0;left:50%;transform:translate(-50%)}.video-player-canvas{height:auto;min-height:260px;padding:0 1rem}.project-timeline-left{max-width:100%;height:auto;min-height:auto;margin-bottom:0;padding-top:0;position:static}.project-timeline-title .project-story{margin-bottom:0}.project-timeline-title{max-width:100%;height:auto;position:static;top:auto}.project-timeline-right{max-width:100%;min-height:auto;padding:0}.project-timeline-right .project-content{max-width:100%;min-height:auto}.project-section-flipped .project-content{order:1}.project-section-flipped .project-canvas{order:2}.project-canvas-background{height:60vh;min-height:400px;position:relative}.video-player-canvas{padding:0 2rem}.project-content-overlay-left{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;width:100%;min-height:auto;padding:2rem 0;position:relative}.project-canvas{width:100%;height:50vh;min-height:300px}.project-canvas canvas{transform-origin:50%;transform:none;touch-action:pan-y!important}.project-canvas-background{height:50vh;min-height:350px}.project-content-overlay-left{padding:1.5rem 0}.project-content{padding-top:0}.cta-button{margin-top:var(--space-6);padding:var(--space-3)var(--space-5);font-size:var(--text-sm)}.back-button{padding:var(--space-2)var(--space-4);font-size:var(--text-xs);top:1rem;left:1rem}}@media (max-width:768px){.container{padding:0 var(--space-4)}.hero-content{padding:var(--space-4);align-items:flex-start;padding-top:15vh}.hero-text{text-align:left;max-width:60%}.hero-title{font-size:clamp(var(--text-4xl),10vw,var(--text-7xl));margin-bottom:var(--space-5);color:var(--dynamic-text-color,var(--color-primary));line-height:1}.hero-subtitle{font-size:clamp(var(--text-base),4.5vw,var(--text-2xl));max-width:100%;color:var(--dynamic-text-color-secondary,var(--color-secondary));line-height:1.5}.hero-canvas{height:100vh;min-height:100vh}.sample-indicator{opacity:.8;width:50px!important;height:25px!important;font-size:8px!important}.code-anchor-btn{display:none!important}.about-section{padding:var(--space-16)0}.about-title{color:var(--dynamic-text-color,var(--color-primary))}.about-text{color:var(--dynamic-text-color-secondary,var(--color-secondary))}.resume-section{padding:var(--space-16)0}.resume-wrapper{grid-template-columns:1fr;gap:3rem}.resume-left{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"profile info""skills skills""qualifications qualifications";align-items:start;display:grid;position:static}.project-section{padding:var(--space-8)var(--space-4);gap:var(--space-8);overflow-x:hidden}.project-timeline-wrapper{gap:2rem;max-width:100%;padding:1.5rem 0;overflow-x:hidden}.project-timeline-left{padding:0 var(--space-4);max-width:100%;height:auto;margin-bottom:0}.project-timeline-right,.project-timeline-right .project-content{max-width:100%;min-height:auto}.project-timeline-right .project-canvas{width:100%;height:42vh;min-height:280px}.video-player-canvas{padding:0 var(--space-4)}.project-title{font-size:clamp(var(--text-2xl),6vw,var(--text-4xl));letter-spacing:-.015em}.tech-stack{gap:var(--space-1)}:root{--tech-item-padding:0rem 1rem}.tech-item{font-size:var(--text-xs)}.hero-title{font-size:clamp(var(--text-3xl),10vw,var(--text-6xl));color:var(--dynamic-text-color,var(--color-primary));line-height:.85}.about-title{font-size:clamp(var(--text-3xl),8vw,var(--text-5xl))}.resume-container{padding:0 var(--space-4)}.resume-right{padding:0}.resume-item{margin-bottom:1.5rem;padding:0 0 1.5rem}.resume-content{padding:0}.resume-title{margin-bottom:.75rem}.resume-right .resume-bold{font-size:clamp(var(--text-xl),5vw,var(--text-3xl))}.resume-left .resume-bold{font-size:var(--text-lg)}.resume-about p{font-size:var(--text-base);line-height:1.6}.resume-contact{flex-direction:column;gap:.625rem;display:flex}.skill-focus-card{padding:0}.skill-focus-header{flex-direction:column;align-items:flex-start}.skill-focus-sub{text-align:left;max-width:none}.skill-focus-canvas{height:240px}.resume-contact li{margin-bottom:0}.resume-icon{width:28px;height:28px;margin-right:.5rem;font-size:.75rem}.resume-data{font-size:.75rem}.resume-profile{grid-area:profile;margin-bottom:0}.resume-content{display:contents}.resume-info{grid-area:info}.resume-skills{grid-area:skills;height:100%}.resume-qualifications{grid-area:qualifications}.resume-timeline{padding-left:1.5rem}.resume-timeline li{margin-bottom:2rem}.resume-timeline li:before{left:-1.5rem}.resume-timeline li:after{left:-1.3125rem}}@media (max-width:480px){.chatbot-section{padding:0}.chatbot-container{max-width:100%;padding:0}.chatbot-wrapper{border-radius:14px;padding:0;box-shadow:0 12px 30px #0003}.chatbot-messages{height:320px;padding:0}.chatbot-header{margin-bottom:var(--space-4)}.chatbot-subtitle{padding:0}.message-avatar{display:none}.message-content{max-width:100%}.hero-content{padding:var(--space-3);align-items:flex-start;padding-top:8vh}.hero-text{text-align:left;max-width:95%}.hero-title{font-size:clamp(var(--text-3xl),11vw,var(--text-6xl));letter-spacing:-.02em;margin-bottom:var(--space-4);color:var(--dynamic-text-color,var(--color-primary));line-height:.95}.hero-subtitle{font-size:clamp(var(--text-base),4vw,var(--text-xl));max-width:100%;color:var(--dynamic-text-color-secondary,var(--color-secondary));line-height:1.4}.sample-indicator{opacity:.7;width:45px!important;height:22px!important;font-size:7px!important}.about-title{font-size:clamp(var(--text-3xl),10vw,var(--text-4xl));color:var(--dynamic-text-color,var(--color-primary))}.about-text{font-size:var(--text-sm);color:var(--dynamic-text-color,var(--color-secondary));line-height:1.7}.project-section{padding:var(--space-6)var(--space-4);overflow-x:hidden}.project-timeline-wrapper{gap:1.5rem;max-width:100%;padding:2rem 0;overflow-x:hidden}.project-timeline-left{padding:0 var(--space-4);max-width:100%;height:auto;margin-bottom:0!important}.project-timeline-right{max-width:100%;min-height:auto}.project-canvas,.project-timeline-right .project-canvas{width:100%;max-width:100%;height:40vh;min-height:250px}.video-player-canvas{padding:0 var(--space-4)}.project-section-macbook{width:100%;max-width:100%;margin-left:0;padding:0}.project-canvas-background{height:45vh;min-height:300px}.screen-wrapper{transform-origin:50%;transform:scale(.8)}.project-title{font-size:clamp(var(--text-xl),8vw,var(--text-3xl))}.project-description{font-size:var(--text-base)}}@media (max-width:360px){.hero-content{padding:var(--space-2);align-items:flex-start;padding-top:6vh}.hero-text{text-align:left;max-width:95%}.hero-title{font-size:clamp(var(--text-3xl),10vw,var(--text-5xl));margin-bottom:var(--space-3);color:var(--dynamic-text-color,var(--color-primary));line-height:.95}.hero-subtitle{font-size:clamp(var(--text-sm),3.5vw,var(--text-lg));max-width:100%;color:var(--dynamic-text-color-secondary,var(--color-secondary));line-height:1.4}.about-title{font-size:var(--text-3xl);color:var(--dynamic-text-color,var(--color-primary))}.project-section{overflow-x:hidden}.project-timeline-wrapper{max-width:100%;overflow-x:hidden}.project-section-macbook{width:100%;max-width:100%;margin-left:0;padding:0}.project-title{font-size:var(--text-2xl)}.project-canvas{width:100%;max-width:100%;height:35vh;min-height:200px}.project-canvas-background{max-width:100%;height:40vh;min-height:250px}.video-player-canvas{padding:0 var(--space-4)}.about-text{font-size:var(--text-xs);color:var(--dynamic-text-color,var(--color-secondary))}}@media (hover:none) and (pointer:coarse){:root{--tech-item-padding:0rem 1rem}.tech-item{font-size:.875rem}.hero-canvas canvas,.project-canvas canvas{touch-action:pan-y}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.code-editor{font-size:10px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.tech-item:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.9)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}html{scroll-behavior:smooth;scroll-padding-top:6rem}::-webkit-scrollbar{width:2px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ccc;border-radius:1px}::-webkit-scrollbar-thumb:hover{background:#999}.chatbot-section{width:100%;min-height:auto;padding:var(--space-10)var(--space-4);justify-content:center;align-items:center;display:flex;position:relative}.chatbot-container{width:100%;max-width:1200px;padding:0 var(--space-4);margin:0 auto}.chatbot-wrapper{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:var(--space-6);background:#ffffff08;border:1px solid #ffffff1a;border-radius:24px;transition:all .3s;box-shadow:0 20px 60px #0000001a}.chatbot-wrapper:hover{border-color:#fff3;box-shadow:0 30px 80px #00000026}.chatbot-header{text-align:center;margin-bottom:var(--space-6)}.chatbot-title{font-family:var(--font-primary);letter-spacing:-.02em;margin-bottom:var(--space-3);color:var(--dynamic-text-color,var(--color-primary));font-size:clamp(2rem,4vw,3rem);font-weight:700;transition:color .3s}.chatbot-subtitle{font-family:var(--font-secondary);font-size:var(--text-base);color:var(--dynamic-text-color-secondary,var(--color-secondary));margin-bottom:var(--space-6);padding:0 var(--space-4);transition:color .3s}.chatbot-content{gap:var(--space-4);flex-direction:column;animation:.3s fadeIn;display:flex}.chatbot-messages{height:500px;padding:var(--space-3);gap:var(--space-4);scroll-behavior:smooth;border-radius:16px;flex-direction:column;display:flex;overflow-y:auto}.chatbot-messages::-webkit-scrollbar{width:6px}.chatbot-messages::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.chatbot-messages::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.chatbot-messages::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.chatbot-welcome{text-align:center;padding:var(--space-8);color:var(--dynamic-text-color-secondary,var(--color-secondary));transition:color .3s}.chatbot-welcome p{font-family:var(--font-secondary);font-size:var(--text-lg);margin-bottom:var(--space-6);line-height:1.6}.chatbot-suggestions{gap:var(--space-3);margin-bottom:var(--space-2);flex-direction:column;align-items:flex-start;display:flex}.chatbot-suggestions.compact{gap:var(--space-2);margin-top:var(--space-2)}.suggestions-label{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--dynamic-text-color-secondary,var(--color-tertiary));margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.05em;font-weight:500;transition:color .3s}.suggestion-chips{flex-wrap:wrap;gap:.75rem;display:flex}.suggestion-chips.compact{gap:.5rem}.suggestion-chip{color:var(--dynamic-text-color-secondary,var(--color-secondary));padding:var(--space-3)var(--space-4);font-family:var(--font-secondary);font-size:var(--text-sm);cursor:pointer;text-align:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:999px;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.suggestion-chip.compact{padding:var(--space-2)var(--space-3);font-size:var(--text-xs)}.suggestion-chip:hover{background:#ffffff1a;border-color:#fff3;transform:translate(4px)}.chatbot-message{gap:var(--space-3);align-items:flex-start;animation:.3s messageSlideIn;display:flex}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.user-message{flex-direction:row-reverse}.message-avatar{width:40px;height:40px;font-size:var(--text-lg);background:#ffffff1a;border:1px solid #fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.user-message .message-avatar,.assistant-message .message-avatar{border-color:#0000}.message-content{flex:1;max-width:70%}.user-message .message-content{align-items:flex-end}.message-text{padding:var(--space-4);font-family:var(--font-secondary);font-size:var(--text-base);color:var(--dynamic-text-color-secondary,var(--color-secondary));background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;line-height:1.6;transition:color .3s}.user-message .message-text{color:var(--dynamic-text-color,var(--color-primary));background:#667eea33;border-color:#667eea4d}.assistant-message .message-text{background:#ffffff0d;border-color:#ffffff1a}.typing-indicator{gap:var(--space-2);padding:var(--space-4);display:flex}.typing-indicator span{background:var(--color-text-muted-dark);border-radius:50%;width:8px;height:8px;animation:1.4s infinite typingBounce}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-10px)}}.chatbot-error{padding:var(--space-4);color:#fca5a5;text-align:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:12px}.chatbot-error p{margin-bottom:var(--space-2)}.error-hint{font-family:var(--font-secondary);font-size:var(--text-sm);color:var(--dynamic-text-color-secondary,var(--color-tertiary))}.chatbot-input-form{gap:var(--space-3);padding:var(--space-3);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;transition:all .2s;display:flex}.chatbot-input-form:focus-within{background:#ffffff14;border-color:#fff3}.chatbot-input{font-family:var(--font-secondary);font-size:var(--text-base);color:var(--dynamic-text-color,var(--color-primary));padding:var(--space-3);background:0 0;border:none;outline:none;flex:1;transition:color .3s}.chatbot-input::placeholder{color:var(--dynamic-text-color-secondary,var(--color-tertiary))}.chatbot-send{color:#fff;width:48px;height:48px;font-size:var(--text-xl);cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:12px;justify-content:center;align-items:center;font-weight:700;transition:all .2s;display:flex}.chatbot-send:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.chatbot-send:active:not(:disabled){transform:translateY(0)}.chatbot-send:disabled{opacity:.5;cursor:not-allowed}.chatbot-footer{width:100%;padding:0 var(--space-6)var(--space-12);justify-content:center;display:flex}.chatbot-footer .chatbot-subtitle{max-width:1200px;margin-bottom:0}body[data-debug-mode=false] [data-leva-root]{display:none!important}body[data-debug-mode=false] .leva-panel{visibility:hidden;opacity:0;pointer-events:none}@media (max-width:768px){.chatbot-section{padding:var(--space-8)var(--space-3);min-height:auto}.chatbot-container{max-width:100%;padding:0 var(--space-2)}.chatbot-wrapper{padding:var(--space-4);border-radius:16px;box-shadow:0 16px 40px #0000002e}.chatbot-messages{height:360px;padding:var(--space-2)}.message-content{max-width:85%}.chatbot-title{font-size:clamp(1.5rem,5vw,2rem)}.chatbot-subtitle{font-size:var(--text-sm);padding:0 var(--space-2)}.suggestion-chip{font-size:var(--text-xs);padding:var(--space-2)var(--space-3)}}.message-text strong{color:inherit;opacity:1;font-weight:600}.message-text em{font-style:italic}.message-text p{margin:0 0 .75em}.message-text p:last-child{margin-bottom:0}@media (max-width:480px){.message-avatar{display:none}.message-content{max-width:100%}}.message-text ul,.message-text ol{margin:.75em 0;padding-left:1.5em}.message-text li{margin:.25em 0}.message-text code{background:#0003;border-radius:3px;padding:.2em .4em;font-family:Courier New,monospace;font-size:.9em}.message-text pre{background:#0000004d;border-radius:8px;margin:.75em 0;padding:1em;overflow-x:auto}.message-text pre code{background:0 0;padding:0}.message-text a{color:var(--color-accent);text-decoration:underline;transition:opacity .2s}.message-text a:hover{opacity:.8}.contact-section{width:100%;padding:var(--space-12)var(--space-4);justify-content:center;display:flex}.contact-container{width:100%;max-width:1200px;padding:0 var(--space-6);margin:0 auto}.contact-card{padding:var(--space-8)0;box-shadow:none;background:0 0;border:none;border-radius:0}.contact-row{gap:var(--space-6);align-items:top;grid-template-columns:1.05fr 1fr;display:grid}.contact-header{max-width:720px}.contact-title{font-family:var(--font-primary);font-size:clamp(var(--text-3xl),4vw,var(--text-6xl));color:var(--dynamic-text-color,var(--color-primary));letter-spacing:-.02em;margin-bottom:var(--space-3)}.contact-subtitle{font-family:var(--font-secondary);font-size:var(--text-lg);color:var(--dynamic-text-color-secondary,var(--color-secondary));line-height:1.7}.contact-details{gap:var(--space-6);margin-top:var(--space-10);flex-direction:column;display:flex}.contact-email{padding:var(--space-5);background:0 0;border-radius:12px}.contact-top{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.contact-top:last-child{margin-bottom:0}.contact-label-stack{gap:var(--space-1);flex-direction:column;display:flex}.contact-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;color:var(--dynamic-text-color-secondary,var(--color-tertiary));text-transform:uppercase}.contact-value{font-family:var(--font-primary);font-size:clamp(var(--text-xl),3vw,var(--text-3xl));color:var(--dynamic-text-color,var(--color-primary));margin:0}.contact-actions{gap:var(--space-1);flex-wrap:wrap;display:flex}.contact-button{align-items:center;gap:var(--space-2);padding:var(--space-2);color:var(--dynamic-text-color,var(--color-primary));border:1px solid var(--color-border);font-family:var(--font-primary);font-weight:500;font-size:var(--text-xs);cursor:pointer;background:0 0;border-radius:10px;min-width:0;text-decoration:none;transition:all .2s;display:inline-flex}.contact-button:hover{background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.contact-button.ghost{border-color:var(--color-border);color:var(--dynamic-text-color,var(--color-primary));box-shadow:none;background:0 0}.contact-highlights{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.contact-pill{padding:var(--tech-item-padding);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--dynamic-text-color-secondary,var(--color-secondary));background:#ffffff0d;border:1px solid #ffffff26;border-radius:2rem;font-weight:500;transition:all .3s;box-shadow:0 2px 8px #0000000d}.contact-links{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.contact-links a{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--dynamic-text-color,var(--color-primary));border-bottom:1px solid var(--color-border);padding-bottom:2px;text-decoration:none;transition:opacity .2s}.contact-links a:hover{opacity:.8}@media (max-width:968px){.contact-section{padding:var(--space-12)var(--space-3)}.contact-card{padding:var(--space-6)0}.contact-row{gap:var(--space-5);grid-template-columns:1fr}.contact-grid{gap:var(--space-4);grid-template-columns:1fr}.contact-actions{gap:var(--space-2)}}@media (max-width:600px){.contact-card{padding:var(--space-4)0}.contact-title{font-size:clamp(var(--text-2xl),8vw,var(--text-4xl))}.contact-subtitle{font-size:var(--text-base)}.contact-actions{flex-direction:column}.contact-button,.contact-button.ghost,.contact-submit{justify-content:center;width:100%}}.site-footer{width:100%;padding:var(--space-8)var(--space-4);background:#ffffff05;border-top:1px solid #ffffff14}.footer-container{max-width:1200px;padding:0 var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin:0 auto;display:flex}.footer-text{font-family:var(--font-secondary);color:var(--dynamic-text-color-secondary,var(--color-secondary));font-size:var(--text-xs);opacity:.5}.footer-links{gap:var(--space-4);align-items:center;display:flex}.footer-links a{color:var(--dynamic-text-color,var(--color-primary));font-family:var(--font-mono);font-size:var(--text-sm);text-decoration:none;transition:opacity .2s}.footer-links a:hover{opacity:.8}.floating-theme-toggle{z-index:1000;position:fixed;top:2rem;right:2rem}.glassmorphism-toggle{-webkit-backdrop-filter:blur(20px);cursor:pointer;color:#ffffffe6;background:#ffffff1a;border:1px solid #fff3;border-radius:50px;justify-content:center;align-items:center;width:56px;height:56px;padding:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;box-shadow:0 8px 32px #0000001a,inset 0 1px #fff3}.glassmorphism-toggle:hover{background:#ffffff26;transform:translateY(-2px);box-shadow:0 12px 40px #00000026,inset 0 1px #ffffff4d}.glassmorphism-toggle:active{transform:translateY(0)}[data-theme=dark] .glassmorphism-toggle{color:#ffffffe6;background:#0003;border:1px solid #ffffff1a;box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff1a}[data-theme=dark] .glassmorphism-toggle:hover{background:#0000004d;box-shadow:0 12px 40px #0006,inset 0 1px #ffffff26}.glassmorphism-toggle svg{opacity:0;width:24px;height:24px;transition:opacity .4s,transform .4s;position:absolute;transform:rotate(-90deg)scale(.5)}.glassmorphism-toggle svg[data-visible=true]{opacity:1;transform:rotate(0)scale(1)}@media (max-width:768px){.floating-theme-toggle{top:1rem;right:1rem}.glassmorphism-toggle{width:48px;height:48px;padding:.75rem}.glassmorphism-toggle svg{width:20px;height:20px}}.navigation{z-index:1000;font-family:var(--font-mono);opacity:0;transition:opacity .22s,transform .22s;position:fixed;top:1.5rem;left:50%;transform:translate(-50%)translateY(-4px)}.navigation.navigation-visible{opacity:1;transform:translate(-50%)translateY(0)}@media (prefers-reduced-motion:reduce){.navigation{opacity:1;transition:none;transform:translate(-50%)}}.nav-container{justify-content:space-between;align-items:center;gap:1rem;display:flex}.nav-pills{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff26;border-radius:2rem;padding:.375rem;position:relative;overflow:hidden}.nav-pills:before{content:"";background:inherit;-webkit-backdrop-filter:inherit;pointer-events:none;z-index:0;position:absolute;inset:0}.nav-pill{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;z-index:1;will-change:transform,width,height,top,left;background:#fff3;border-radius:1.5rem;position:absolute;top:.375rem;left:0}.nav-list{z-index:2;margin:0;padding:0;list-style:none;display:flex;position:relative}.nav-item{transition:all .2s}.nav-link{color:var(--dynamic-text-color-secondary,var(--color-text-secondary));font-size:var(--text-sm);white-space:nowrap;text-align:center;border-radius:1.5rem;justify-content:center;align-items:center;padding:.5rem 1rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-label-short{display:none}.nav-item.active .nav-link{color:var(--color-text)}.nav-link:hover{color:var(--dynamic-text-color,var(--color-text))}.nav-theme-toggle{position:relative}.nav-actions{align-items:center;gap:.85rem;display:flex}.theme-toggle-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;width:3rem;height:3rem;color:var(--color-text);background:#ffffff0d;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:relative;overflow:hidden}.theme-toggle-btn:hover{background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-1px)}.theme-toggle-btn svg{transition:all .3s;position:absolute}.theme-toggle-btn svg[data-visible=true]{opacity:1;transform:scale(1)rotate(0)}.theme-toggle-btn svg[data-visible=false]{opacity:0;transform:scale(.8)rotate(90deg)}@media (max-width:768px){.navigation{opacity:1;width:calc(100% - 1rem);transition:none;top:1rem;left:50%;right:auto;transform:translate(-50%)}.nav-container{justify-content:center;width:100%;position:relative}.nav-pills{flex:0 auto;width:calc(100% - 3.75rem);max-width:none;margin:0 auto;display:inline-flex}.nav-list{justify-content:center;gap:.15rem;width:100%}.nav-actions{position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.nav-link{font-size:var(--text-xs);padding:.4rem .8rem}.theme-toggle-btn{width:2.5rem;height:2.5rem}.theme-toggle-btn svg{width:16px;height:16px}}@media (max-width:480px){.nav-link{padding:.3rem .6rem;font-size:.75rem}}@media (max-width:420px){.nav-label-full{display:none}.nav-label-short{display:inline}}@media (max-width:768px){.insight-floating-toggle{visibility:hidden;pointer-events:none;display:none!important}}.nav-insight-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.15em;color:var(--dynamic-text-color-secondary,var(--color-text-secondary))}body[data-debug-mode=false] .code-anchor-btn,body[data-debug-mode=false] .floating-code-box{display:none!important}body[data-debug-mode=false] [data-leva-root],body[data-debug-mode=false] .leva-panel{opacity:0;pointer-events:none;display:none}.insight-floating-toggle{visibility:hidden;pointer-events:none;display:none!important}.insight-floating-toggle:hover{transform:translateY(-1px)}.insight-floating-active{background:linear-gradient(135deg,#ffffff1f,#ffffff0a);border-color:#ffffff80}.radix-switch-thumb-insight{background:#fff;border-radius:999px;width:16px;height:16px;transition:transform .2s;display:inline-block;box-shadow:0 4px 10px #0003}.insight-floating-active .radix-switch-thumb-insight{transform:translate(6px)}.hero-section{cursor:default;position:relative}.hero-section.dragging-horizontal{cursor:grabbing;-webkit-user-select:none;user-select:none}.hero-canvas,.hero-canvas canvas{pointer-events:none}.drag-hint{color:#fff;font-size:var(--text-sm);font-family:var(--font-mono);pointer-events:none;z-index:100;background:#000000b3;border-radius:2rem;padding:.5rem 1rem;animation:.2s fadeIn;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
