:root{--color-surface: #0a0a0a;--color-surface-secondary: #0f0f0f;--color-surface-tertiary: #141414;--color-surface-elevated: #1a1a1a;--color-surface-overlay: rgba(0, 0, 0, .8);--color-primary: #818cf8;--color-primary-hover: #a5b4fc;--color-primary-muted: #6366f1;--color-primary-surface: rgba(129, 140, 248, .1);--color-text-primary: #ffffff;--color-text-secondary: #a1a1aa;--color-text-muted: #71717a;--color-text-inverse: #0a0a0a;--color-border: rgba(255, 255, 255, .08);--color-border-hover: rgba(255, 255, 255, .16);--color-border-focus: rgba(129, 140, 248, .5);--dark-overlay-heavy: rgba(0, 0, 0, .97);--dark-overlay-medium: rgba(0, 0, 0, .9);--dark-overlay-light: rgba(0, 0, 0, .8);--dark-border-subtle: rgba(255, 255, 255, .05);--dark-border-light: rgba(255, 255, 255, .1);--dark-border-medium: rgba(255, 255, 255, .2);--dark-text-emphasis: rgba(255, 255, 255, .9);--dark-text-normal: rgba(255, 255, 255, .7);--light-bg-primary: #ffffff;--light-bg-secondary: #fafafa;--light-bg-tertiary: #f5f5f5;--light-text-primary: #0a0a0a;--light-text-secondary: #52525b;--light-text-muted: #a1a1aa;--light-border: rgba(0, 0, 0, .08);--light-overlay-heavy: rgba(255, 255, 255, .97);--light-overlay-medium: rgba(255, 255, 255, .9);--light-overlay-light: rgba(255, 255, 255, .8);--light-border-subtle: rgba(0, 0, 0, .05);--light-border-light: rgba(0, 0, 0, .08);--light-border-medium: rgba(0, 0, 0, .1);--light-text-emphasis: rgba(0, 0, 0, .9);--light-text-normal: rgba(0, 0, 0, .7);--light-card-bg: #ffffff;--light-card-hover: #f8f8f8;--light-accent-primary: #6366f1;--light-accent-primary-hover: #4f46e5;--light-accent-secondary: #4a4a4a;--light-accent-tertiary: #6b6b6b;--light-accent-muted: #8c8c8c;--light-accent-surface: #f0f0f0;--light-accent-warning: #fbbf24;--light-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .04);--light-shadow-md: 0 2px 8px -1px rgba(0, 0, 0, .08);--light-shadow-lg: 0 10px 24px -3px rgba(0, 0, 0, .1);--light-shadow-xl: 0 20px 32px -8px rgba(0, 0, 0, .12);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .9);--shadow-md: 0 4px 12px -2px rgba(0, 0, 0, .9);--shadow-lg: 0 12px 24px -4px rgba(0, 0, 0, .9);--shadow-xl: 0 24px 48px -12px rgba(0, 0, 0, .9);--shadow-2xl: 0 32px 64px -16px rgba(0, 0, 0, .9);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--shadow-glow: 0 0 32px -8px var(--color-primary);--gradient-primary: linear-gradient( 135deg, var(--color-primary) 0%, var(--color-primary-hover) 100% );--gradient-surface: linear-gradient( 180deg, var(--color-surface) 0%, var(--color-surface-secondary) 100% );--gradient-radial: radial-gradient( ellipse at top, var(--color-surface-elevated) 0%, var(--color-surface) 100% );--gradient-noise: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.02'/%3E%3C/svg%3E");--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-soft: .36s ease;--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .6s cubic-bezier(.68, -.55, .265, 1.55);--transition-smooth: cubic-bezier(.4, 0, .2, 1);--transition-overshoot: cubic-bezier(.68, -.55, .265, 1.55);--transition-decelerate: cubic-bezier(0, 0, .2, 1);--transition-theme: .7s ease;--transition-sidebar: .5s ease;--transition-sidebar-transform: .5s ease;--font-xs: clamp(.75rem, 2vw, .875rem);--font-sm: clamp(.875rem, 2.5vw, 1rem);--font-base: clamp(1rem, 3vw, 1.125rem);--font-lg: clamp(1.25rem, 4vw, 1.5rem);--font-xl: clamp(1.875rem, 5vw, 2.25rem);--font-2xl: clamp(2.25rem, 6vw, 3rem);--font-3xl: clamp(3rem, 8vw, 4rem);--font-4xl: clamp(3.75rem, 10vw, 5rem);--font-5xl: clamp(4.5rem, 12vw, 6rem);--font-display: clamp(5rem, 15vw, 8rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 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-section: clamp(4rem, 10vw, 8rem);--space-element: clamp(2rem, 5vw, 4rem);--space-component: clamp(1rem, 3vw, 2rem);--radius-sm: .375rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-2xl: 2rem;--radius-full: 9999px;--z-base: 0;--z-dropdown: 10;--z-header: 20;--z-overlay: 30;--z-modal: 40;--z-notification: 50;--z-tooltip: 60;--will-change-transform: transform;--will-change-opacity: opacity;--will-change-filter: filter;--backdrop-blur-sm: blur(4px);--backdrop-blur-md: blur(8px);--backdrop-blur-lg: blur(16px);--backdrop-blur-xl: blur(24px);--dark-bg-primary: var(--color-surface);--dark-bg-secondary: var(--color-surface-secondary);--dark-bg-tertiary: var(--color-surface-tertiary);--dark-bg-card: var(--color-surface-secondary);--dark-bg-card-hover: var(--color-surface-elevated);--dark-text-primary: var(--color-text-primary);--dark-text-secondary: var(--color-text-secondary);--dark-border: var(--color-border);--dark-card-border: var(--color-border);--dark-accent-primary: var(--color-primary);--dark-accent-primary-hover: var(--color-primary-hover);--dark-accent-warning: var(--light-accent-warning);--dark-shadow-sm: var(--shadow-sm);--dark-shadow-md: var(--shadow-md);--dark-shadow-lg: var(--shadow-lg);--dark-shadow-xl: var(--shadow-xl);--dark-shadow: rgba(0, 0, 0, .35);--dark-shadow-stronger: rgba(0, 0, 0, .5);--light-shadow: rgba(0, 0, 0, .08);--light-shadow-stronger: rgba(0, 0, 0, .12);--light-card-border: var(--light-border)}*{box-sizing:border-box}:root{color-scheme:dark light}html{scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:Inter var,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-feature-settings:"liga" 1,"calt" 1,"kern" 1,"ss01" 1,"ss02" 1;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none;line-height:1.6;color:var(--color-text-primary);background-color:var(--color-surface);transition:background-color var(--transition-theme),color var(--transition-theme);position:relative;min-height:100vh;min-height:100dvh;overflow-x:hidden}.light body{color:var(--light-text-primary);background-color:var(--light-bg-primary);color-scheme:light}.portfolio-body{position:relative;background:var(--gradient-radial),var(--gradient-noise);background-attachment:fixed;margin:0;padding:0;transition:padding-left var(--transition-sidebar);will-change:padding-left}@media (min-width: 1025px){.portfolio-body{padding-left:280px}.sidebar-collapsed .portfolio-body{padding-left:80px}}@media (max-width: 1024px){.portfolio-body,.sidebar-collapsed .portfolio-body{padding-left:0}}#header-root{margin:0;padding:0;height:0;overflow:visible}section:first-of-type{margin-top:0}.portfolio-body:before{content:"";position:fixed;inset:0;background:radial-gradient(at 20% 80%,var(--color-primary-surface) 0%,transparent 50%),radial-gradient(at 80% 20%,var(--color-primary-surface) 0%,transparent 50%),radial-gradient(at 40% 40%,var(--color-surface-elevated) 0%,transparent 50%);opacity:.5;pointer-events:none;z-index:-1}.portfolio-body:before{transition:opacity var(--transition-theme)}.light .portfolio-body:before{opacity:0}h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--color-text-primary);transition:color var(--transition-theme)}h1{font-size:var(--font-display);font-weight:800;letter-spacing:-.04em;line-height:1;background:linear-gradient(135deg,var(--color-text-primary) 0%,var(--color-text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}section h1,article h1,nav h1,aside h1{font-size:var(--font-display)}h2{font-size:var(--font-4xl);font-weight:700}h3{font-size:var(--font-3xl);font-weight:600}h4{font-size:var(--font-2xl);font-weight:600}.light h1,.light h2,.light h3,.light h4,.light h5,.light h6{color:var(--light-text-primary)}.light h1{background:linear-gradient(135deg,var(--light-text-primary) 0%,var(--light-text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}::-moz-selection{background-color:var(--color-primary);color:var(--color-surface)}::selection{background-color:var(--color-primary);color:var(--color-surface)}.light ::-moz-selection{background-color:var(--light-accent-primary);color:#fff}.light ::selection{background-color:var(--light-accent-primary);color:#fff}:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:var(--radius-sm)}.light :focus-visible{outline-color:var(--light-accent-primary)}:focus:not(:focus-visible){outline:none}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--color-surface)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full);border:3px solid var(--color-surface)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.light ::-webkit-scrollbar-track{background:var(--light-bg-primary)}.light ::-webkit-scrollbar-thumb{background:var(--light-border);border-color:var(--light-bg-primary)}.light ::-webkit-scrollbar-thumb:hover{background:var(--light-text-muted)}header{background-color:#0a0a0af2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:fixed;top:0;left:0;right:0;z-index:50;border-bottom:1px solid var(--dark-border);transition:all var(--transition-base)}.light header{background-color:#fafafaf2;border-bottom-color:var(--light-border)}header.scrolled{background-color:#ffffffb3;box-shadow:var(--light-shadow-md)}.dark header.scrolled{background-color:#000000b3;box-shadow:var(--dark-shadow-md)}.container,.section-container{max-width:1280px;margin-left:auto;margin-right:auto;padding-left:max(1.5rem,env(safe-area-inset-left));padding-right:max(1.5rem,env(safe-area-inset-right))}section{padding-top:var(--space-20);padding-bottom:var(--space-20);position:relative;overflow:hidden}@media (min-width: 768px){section{padding-top:var(--space-24);padding-bottom:var(--space-24)}}#hero{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;position:relative;padding-top:0}body{padding-top:80px}footer{background:var(--light-bg-primary);border-top:1px solid var(--light-border);color:var(--light-text-secondary);position:relative}.dark footer{background:var(--dark-bg-primary);border-top:1px solid var(--dark-border);color:var(--dark-text-secondary)}@keyframes spin-reverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:.5}}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-bounce{animation:bounce 1s ease-in-out infinite}.animate-fadeIn{animation:fadeIn .3s ease-out}.animate-slideIn{animation:slideIn .3s ease-out}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{opacity:.5}50%{opacity:1}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes subtle-pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.02);opacity:.9}to{transform:scale(1);opacity:1}}@keyframes pulse{0%{transform:scale(1);opacity:.7}70%{transform:scale(2);opacity:0}to{transform:scale(1);opacity:0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulse-slow{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.6;transform:scale(1.05)}}.animate-float{animation:float 3s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-gradient{background-size:200% 200%;animation:gradient-shift 3s ease infinite}.animate-slide-up{animation:slide-up .5s ease-out forwards}.animate-slide-in{animation:slide-in .5s ease-out forwards}.hero-pulse{animation:subtle-pulse 5s infinite}.animate-pulse{animation:pulse 1.5s infinite}.animate-bounce{animation:bounce 1.5s ease-in-out infinite}.animate-pulse-slow{animation:pulse-slow 8s ease-in-out infinite}.animation-delay-100{animation-delay:.1s}.animation-delay-200{animation-delay:.2s}.animation-delay-300{animation-delay:.3s}.animation-delay-400{animation-delay:.4s}.animation-delay-500{animation-delay:.5s}.animation-delay-1000{animation-delay:1s}.animation-delay-2000{animation-delay:2s}.animation-delay-3000{animation-delay:3s}.animation-delay-4000{animation-delay:4s}.animation-delay-5000{animation-delay:5s}.animation-duration-fast{animation-duration:.3s}.animation-duration-base{animation-duration:.5s}.animation-duration-slow{animation-duration:1s}.animation-duration-slower{animation-duration:2s}.animation-paused{animation-play-state:paused}.animation-running{animation-play-state:running}.hover\:animation-paused:hover{animation-play-state:paused}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.btn{--btn-transform-x: 0;--btn-transform-y: 0;display:inline-flex;align-items:center;justify-content:center;position:relative;cursor:pointer;text-decoration:none;font-weight:500;transition:all var(--transition-base);transform:translate(var(--btn-transform-x),var(--btn-transform-y));will-change:transform}.btn-primary{padding:var(--space-4) var(--space-8);font-size:var(--font-sm);letter-spacing:.03em;color:var(--color-surface);background:var(--color-primary);border:2px solid transparent;border-radius:var(--radius-full);position:relative;overflow:hidden;isolation:isolate}.btn-primary:before{content:"";position:absolute;inset:-2px;background:var(--gradient-primary);border-radius:inherit;opacity:0;z-index:-1;transition:opacity var(--transition-base);filter:blur(10px)}.btn-primary:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(255,255,255,.1),transparent 40%);opacity:0;transition:opacity var(--transition-fast)}.btn-primary:hover{background:var(--color-primary-hover);transform:translate(var(--btn-transform-x),var(--btn-transform-y)) scale(1.05);box-shadow:var(--shadow-glow)}.btn-primary:hover:before{opacity:.5}.btn-primary:hover:after{opacity:1}.btn-primary:active{transform:translate(var(--btn-transform-x),var(--btn-transform-y)) scale(.98)}.light .btn-primary{background:var(--light-accent-primary);color:#fff}.light .btn-primary:hover{background:var(--light-accent-primary-hover);box-shadow:var(--light-shadow-lg)}.btn-secondary{padding:var(--space-4) var(--space-8);font-size:var(--font-sm);letter-spacing:.03em;color:var(--color-text-primary);background:transparent;border:2px solid var(--color-border);border-radius:var(--radius-full);position:relative;overflow:hidden;-webkit-backdrop-filter:var(--backdrop-blur-sm);backdrop-filter:var(--backdrop-blur-sm)}.btn-secondary:before{content:"";position:absolute;inset:0;background:var(--color-primary);opacity:0;transition:opacity var(--transition-base);border-radius:inherit}.btn-secondary:hover{color:var(--color-surface);border-color:var(--color-primary);transform:translate(var(--btn-transform-x),var(--btn-transform-y)) scale(1.05)}.btn-secondary:hover:before{opacity:1}.btn-secondary:active{transform:translate(var(--btn-transform-x),var(--btn-transform-y)) scale(.98)}.light .btn-secondary{color:var(--light-text-primary);border-color:var(--light-border)}.light .btn-secondary:hover{color:#fff;border-color:var(--light-accent-primary)}.light .btn-secondary:before{background:var(--light-accent-primary)}.card{background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);transition:all var(--transition-base);position:relative;overflow:hidden;-webkit-backdrop-filter:var(--backdrop-blur-sm);backdrop-filter:var(--backdrop-blur-sm)}.light .card{background:var(--light-card-bg);border-color:var(--light-border);-webkit-backdrop-filter:none;backdrop-filter:none}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);opacity:0;transition:opacity var(--transition-slow)}.card:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%),var(--color-primary-surface),transparent 40%);opacity:0;transition:opacity var(--transition-base);pointer-events:none}.card:hover{background:var(--color-surface-elevated);transform:translateY(-8px) rotateX(2deg);box-shadow:var(--shadow-xl);border-color:var(--color-border-hover)}.card:hover:before{opacity:1}.card:hover:after{opacity:1}.light .card:hover{background:var(--light-card-hover);box-shadow:var(--light-shadow-xl)}.light .card:before{background:linear-gradient(90deg,transparent,var(--light-accent-primary),transparent)}.card-glass{background:#ffffff0d;backdrop-filter:var(--backdrop-blur-lg);-webkit-backdrop-filter:var(--backdrop-blur-lg);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:inset 0 1px #ffffff1a,var(--shadow-lg);transition:all var(--transition-base)}.card-glass:hover{background:#ffffff14;border-color:#fff3}.light .card-glass{background:#ffffffb3;border-color:#0000001a;box-shadow:inset 0 1px #ffffff80,var(--light-shadow-lg)}.light .card-glass:hover{background:#ffffffe6}.project-card{background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;transition:all var(--transition-slow);display:flex;flex-direction:column;height:100%;position:relative;transform-style:preserve-3d;transform:perspective(1000px) rotateX(0) rotateY(0)}.project-card-image{width:100%;height:240px;-o-object-fit:cover;object-fit:cover;transition:transform var(--transition-slower);position:relative}.project-card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,rgba(0,0,0,.7) 100%);opacity:0;transition:opacity var(--transition-base)}.project-card:hover{transform:perspective(1000px) rotateX(-5deg) rotateY(var(--rotate-y, 0deg)) translateZ(20px);box-shadow:0 25px 50px -12px #00000080,0 0 25px -5px var(--color-primary-surface)}.project-card:hover .project-card-image{transform:scale(1.1) translateZ(30px)}.project-card:hover .project-card-image:after{opacity:1}.project-card-description{color:var(--light-text-secondary);margin-bottom:var(--space-4);flex:1}.project-card-description{color:var(--dark-text-secondary)}.skill-card{background:var(--dark-bg-tertiary);border:1px solid var(--dark-border);border-radius:var(--radius-md);padding:var(--space-8);transition:all var(--transition-base);position:relative;overflow:hidden}.light .skill-card{background:var(--light-bg-secondary);border-color:var(--light-border)}.nav-pill{padding:var(--space-2) 0;font-weight:400;font-size:var(--font-sm);letter-spacing:.03em;color:var(--dark-text-secondary);transition:all var(--transition-fast);text-decoration:none;position:relative}.nav-pill:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--dark-accent-primary);transition:width var(--transition-fast)}.nav-pill:hover{color:var(--dark-text-primary)}.nav-pill:hover:after,.nav-pill.active:after{width:100%}.nav-pill.active{color:var(--dark-accent-primary)}.light .nav-pill{color:var(--light-text-secondary)}.light .nav-pill:hover{color:var(--light-text-primary)}.light .nav-pill.active{color:var(--light-accent-primary)}.light .nav-pill:after{background:var(--light-accent-primary)}.fab{position:fixed;bottom:var(--space-8);right:var(--space-8);width:56px;height:56px;border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--light-shadow-lg);cursor:pointer;transition:all var(--transition-base);z-index:40}.dark .fab{background:var(--gradient-dark);box-shadow:var(--dark-shadow-lg)}.section-header{margin-bottom:var(--space-16);text-align:center}.section-subtitle{font-size:var(--font-sm);color:var(--dark-accent-primary);font-weight:400;letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--space-3)}.section-title{font-size:clamp(var(--font-3xl),4vw,var(--font-5xl));font-weight:300;letter-spacing:-.02em;line-height:1.1;margin-bottom:var(--space-6)}.section-description{font-size:var(--font-lg);color:var(--dark-text-secondary);font-weight:300;line-height:1.6;max-width:720px;margin-left:auto;margin-right:auto}.light .section-subtitle{color:var(--light-accent-primary)}.light .section-description{color:var(--light-text-secondary)}.btn-base,.btn-primary,.btn-secondary,.btn-ghost,.filter-btn,.project-filter-btn,.other-project-filter-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;padding:var(--space-3) var(--space-8);border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:500;letter-spacing:.05em;text-decoration:none;text-transform:uppercase;cursor:pointer;transition:all var(--transition-base)}.btn-base svg,.btn-primary svg,.btn-secondary svg,.btn-ghost svg{width:1.25rem;height:1.25rem;margin-left:.5rem;transition:transform var(--transition-base)}.btn-primary{color:var(--light-bg-primary);background:var(--light-accent-primary);transform:translateZ(0)}.btn-primary:before{position:absolute;inset:0;content:"";background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 100%);opacity:0;transition:opacity var(--transition-base)}.btn-primary:hover{background:var(--light-accent-primary-hover);transform:translate(2px)}.btn-primary:hover:before{opacity:1}.btn-primary:hover svg{transform:translate(.25rem)}.dark .btn-primary{color:var(--dark-bg-primary);background:var(--dark-accent-primary)}.dark .btn-primary:hover{background:var(--dark-accent-primary-hover)}.btn-secondary{border:2px solid var(--light-accent-primary);letter-spacing:.03em;text-transform:none;color:var(--light-accent-primary);background:transparent}.btn-secondary:hover{color:var(--light-bg-primary);background:var(--light-accent-primary)}.btn-secondary:hover svg{transform:scale(1.1)}.dark .btn-secondary{color:var(--dark-accent-primary);border-color:var(--dark-accent-primary)}.dark .btn-secondary:hover{color:var(--dark-bg-primary);background:var(--dark-accent-primary)}.btn-ghost{padding:var(--space-2) var(--space-6);border:1px solid var(--dark-border);font-weight:400;letter-spacing:.03em;text-transform:none;color:var(--dark-text-secondary);background:transparent}.btn-ghost:after{position:absolute;bottom:0;left:0;content:"";width:0;height:1px;background:var(--dark-accent-primary);transition:width var(--transition-base)}.btn-ghost:hover{color:var(--dark-accent-primary);border-color:var(--dark-accent-primary)}.btn-ghost:hover:after{width:100%}.light .btn-ghost{color:var(--light-text-primary);border-color:var(--light-border)}.light .btn-ghost:hover{color:var(--light-accent-primary);border-color:var(--light-accent-primary)}.light .btn-ghost:after{background:var(--light-accent-primary)}.filter-btn,.project-filter-btn,.other-project-filter-btn{padding:var(--space-2) var(--space-6);border:1px solid var(--light-border);text-transform:none;letter-spacing:normal;color:var(--light-text-primary);background-color:var(--light-bg-primary)}.filter-btn:hover:not(.active),.project-filter-btn:hover:not(.active),.other-project-filter-btn:hover:not(.active){color:var(--light-accent-primary);background-color:var(--light-bg-secondary)}.filter-btn.active,.project-filter-btn.active,.other-project-filter-btn.active{color:var(--light-bg-primary);background:var(--light-accent-primary);border-color:var(--light-accent-primary);box-shadow:var(--light-shadow-sm)}.dark .filter-btn,.dark .project-filter-btn,.dark .other-project-filter-btn{color:var(--dark-text-primary);background-color:var(--dark-bg-card);border-color:var(--dark-border)}.dark .filter-btn:hover:not(.active),.dark .project-filter-btn:hover:not(.active),.dark .other-project-filter-btn:hover:not(.active){color:var(--dark-accent-primary);background-color:var(--dark-bg-secondary)}.dark .filter-btn.active,.dark .project-filter-btn.active,.dark .other-project-filter-btn.active{color:var(--dark-bg-primary);background:var(--dark-accent-primary);border-color:var(--dark-accent-primary);box-shadow:var(--dark-shadow-sm)}.fab{position:fixed;bottom:var(--space-8);right:var(--space-8);z-index:40;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;width:56px;height:56px;padding:0;border:1px solid transparent;border-radius:var(--radius-full);font-weight:500;color:var(--light-bg-primary);text-decoration:none;background:var(--gradient-primary);box-shadow:var(--light-shadow-lg);cursor:pointer;transition:all var(--transition-base)}.fab:hover{transform:translateY(-2px);box-shadow:var(--light-shadow-xl)}.dark .fab{color:var(--dark-bg-primary);background:var(--gradient-dark);box-shadow:var(--dark-shadow-lg)}.btn-full-width{width:100%}.card-base{border-radius:var(--radius-md);transition:all var(--transition-base);position:relative;overflow:hidden;border:1px solid var(--dark-border);background:var(--dark-bg-card)}.light .card-base{background:var(--light-card-bg);border-color:var(--light-border)}.card{border-radius:var(--radius-md);transition:all var(--transition-base);position:relative;overflow:hidden;border:1px solid var(--dark-border);background:var(--dark-bg-card)}.light .card{background:var(--light-card-bg);border-color:var(--light-border)}.card{padding:var(--space-8)}.card:before{content:"";position:absolute;top:0;left:0;width:2px;height:0;background:var(--dark-accent-primary);transition:height var(--transition-slow)}.card:hover{background:var(--dark-bg-card-hover);transform:translateY(-4px);box-shadow:var(--dark-shadow-lg)}.card:hover:before{height:100%}.light .card:hover{background:var(--light-card-hover);box-shadow:var(--light-shadow-lg)}.light .card:before{background:var(--light-accent-primary)}.card-glass{border-radius:var(--radius-md);transition:all var(--transition-base);position:relative;overflow:hidden;border:1px solid var(--dark-border);background:var(--dark-bg-card)}.light .card-glass{background:var(--light-card-bg);border-color:var(--light-border)}.card-glass{padding:var(--space-8);background:#14141499;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--dark-shadow-md)}.light .card-glass{background:#fffc;box-shadow:var(--light-shadow-md)}.project-card{border-radius:var(--radius-md);transition:all var(--transition-base);position:relative;overflow:hidden;border:1px solid var(--dark-border);background:var(--dark-bg-card)}.project-card{display:flex;flex-direction:column;height:100%}.project-card-image{width:100%;height:240px;-o-object-fit:cover;object-fit:cover;transition:transform var(--transition-slower)}.project-card-title{font-size:var(--font-2xl);font-weight:600;margin-bottom:var(--space-2)}.project-card-description{color:var(--dark-text-secondary);margin-bottom:var(--space-4);flex:1}.light .project-card-description{color:var(--light-text-secondary)}.project-card-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.other-project-card{border-radius:var(--radius-md);transition:all var(--transition-base);position:relative;overflow:hidden;border:1px solid var(--dark-border);background:var(--dark-bg-card)}.light .other-project-card{background:var(--light-card-bg);border-color:var(--light-border)}.other-project-card{padding:var(--space-6)}.other-project-card:hover{transform:translateY(-2px);box-shadow:var(--dark-shadow-md)}.light .other-project-card:hover{box-shadow:var(--light-shadow-md)}.skill-card{border-radius:var(--radius-md);transition:all var(--transition-base);position:relative;overflow:hidden;border:1px solid var(--dark-border);background:var(--dark-bg-card)}.light .skill-card{background:var(--light-card-bg);border-color:var(--light-border)}.skill-card{padding:var(--space-8);background:var(--dark-bg-tertiary)}.light .skill-card{background:var(--light-bg-secondary)}.skill-card:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--dark-accent-primary);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}.skill-card:hover:after{transform:scaleX(1)}.light .skill-card:after{background:var(--light-accent-primary)}.skill-icon{width:48px;height:48px;padding:var(--space-3);background:var(--dark-bg-secondary);border-radius:var(--radius-md);color:var(--dark-accent-primary)}.light .skill-icon{background:var(--light-bg-tertiary);color:var(--light-accent-primary)}.contact-icon{width:48px;height:48px;padding:var(--space-3);background:var(--dark-bg-tertiary);border-radius:var(--radius-full);color:var(--dark-text-secondary);display:flex;align-items:center;justify-content:center}.light .contact-icon{background:var(--light-bg-secondary);color:var(--light-text-secondary)}.timeline-item{position:relative;padding-left:var(--space-8);margin-bottom:var(--space-8)}.timeline-item:before{content:"";position:absolute;left:0;top:var(--space-2);bottom:calc(-1 * var(--space-8));width:2px;background:var(--dark-border)}.timeline-item:last-child:before{display:none}.light .timeline-item:before{background:var(--light-border)}.timeline-marker{position:absolute;left:-4px;top:var(--space-2);width:10px;height:10px;background:var(--dark-accent-primary);border-radius:var(--radius-full);border:2px solid var(--dark-bg-primary)}.light .timeline-marker{background:var(--light-accent-primary);border-color:var(--light-bg-primary)}.timeline-content{background:var(--dark-bg-card);padding:var(--space-6);border-radius:var(--radius-md);border:1px solid var(--dark-border)}.sidebar-navigation{position:fixed;top:0;left:0;width:280px;height:100vh;height:100dvh;background:var(--dark-overlay-heavy);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--dark-border-subtle);z-index:1000;display:flex;flex-direction:column;padding:var(--space-8) var(--space-6);transition:width var(--transition-sidebar),background-color var(--transition-theme),border-color var(--transition-theme),transform var(--transition-sidebar-transform);overflow-y:auto;overflow-x:visible;will-change:width,padding;transform:translateZ(0)}.sidebar-navigation.collapsed{width:80px;padding:var(--space-8) var(--space-6)}.light .sidebar-navigation{background:#fffffff7;border-right-color:#00000014}.sidebar-collapse-btn{position:absolute;top:var(--sidebar-toggle-top, 50%);right:var(--sidebar-toggle-right, -12px);transform:translateY(-50%);width:28px;height:28px;background:transparent;border:none;border-radius:999px;z-index:1001;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--transition-base),transform var(--transition-base),opacity var(--transition-base);color:#ffffffe6;opacity:0;pointer-events:none}.light .sidebar-collapse-btn{color:#000000e6}.sidebar-navigation:hover .sidebar-collapse-btn,.sidebar-collapse-btn:focus-visible{opacity:1;pointer-events:auto}.sidebar-collapse-btn:hover{background:#ffffff0f;color:#fff;transform:translateY(-50%) translate(2px)}.light .sidebar-collapse-btn:hover{background:#0000000f;color:#000}.collapse-icon,.sidebar-collapse-btn svg{width:16px;height:16px;transition:transform var(--transition-base)}.sidebar-navigation.collapsed .collapse-icon,.sidebar-navigation.collapsed .sidebar-collapse-btn svg{transform:rotate(180deg)}.sidebar-collapse-btn:hover .collapse-icon{transform:none}.sidebar-navigation.collapsed .sidebar-collapse-btn:hover .collapse-icon{transform:rotate(180deg)}.sidebar-brand{margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid rgba(255,255,255,.1)}.light .sidebar-brand{border-bottom-color:#0000001a}.brand-link{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;transition:opacity var(--transition-base);cursor:pointer;-webkit-tap-highlight-color:transparent}.brand-link:hover{opacity:1}.brand-initial{width:40px;height:40px;background:#fff;color:#000;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:var(--font-lg);font-weight:900;letter-spacing:-.02em;flex-shrink:0;transition:background-color var(--transition-theme),color var(--transition-theme)}.light .brand-initial{background:#000;color:#fff}.brand-full{font-size:var(--font-sm);font-weight:600;letter-spacing:.1em;color:#ffffffe6;transition:opacity var(--transition-sidebar-transform),transform var(--transition-sidebar-transform),color var(--transition-theme);white-space:nowrap;overflow:hidden;-moz-user-select:none;user-select:none;-webkit-user-select:none;-ms-user-select:none}.light .brand-full{color:#000000e6}.sidebar-navigation.collapsed .brand-full{opacity:0;transform:none;pointer-events:none}.sidebar-navigation.collapsed .brand-link{justify-content:flex-start}.sidebar-menu{flex:1;display:flex;flex-direction:column;gap:var(--space-8)}.nav-section{display:flex;flex-direction:column;gap:var(--space-4)}.nav-label{font-size:var(--font-xs);font-weight:400;letter-spacing:.15em;color:#fff6;margin-bottom:var(--space-2);transition:opacity var(--transition-sidebar-transform),transform var(--transition-sidebar-transform),max-width var(--transition-sidebar),margin var(--transition-sidebar),color var(--transition-theme);white-space:nowrap;overflow:hidden;display:inline-block;max-width:200px}.light .nav-label{color:#0006}.sidebar-navigation.collapsed .nav-label{opacity:0;transform:none;pointer-events:none;max-width:0;margin:0;overflow:hidden}.nav-items{display:flex;flex-direction:column;gap:var(--space-1)}.nav-item{display:grid;align-items:center;grid-template-columns:var(--nav-icon-col, 20px) var(--nav-number-col, 24px) var( --nav-text-col, 1fr );-moz-column-gap:var(--space-3);column-gap:var(--space-3);padding:var(--space-3) var(--space-2);min-height:44px;text-decoration:none;border-radius:var(--radius-md);transition:padding var(--transition-sidebar),gap var(--transition-sidebar),background-color var(--transition-sidebar),transform var(--transition-sidebar-transform);position:relative;overflow:hidden;will-change:padding,gap,transform}.nav-icon{width:20px;height:20px;color:#fffc}.light .nav-icon{color:#000000b3}.nav-item svg,.sidebar-navigation .nav-item .lucide{width:20px;height:20px;flex-shrink:0;color:#fffc;display:block;line-height:0;justify-self:center;align-self:center}.light .nav-item svg,.light .sidebar-navigation .nav-item .lucide{color:#000000b3}.sidebar-navigation .nav-icon{display:block;line-height:0;justify-self:center;align-self:center}.nav-item:hover{background:#ffffff0d;transform:none}.nav-item:hover .nav-icon,.nav-item:hover .lucide,.nav-item:focus-visible .nav-icon,.nav-item:focus-visible .lucide{transform:scale(1.06)}.light .nav-item:hover{background:#0000000d}.nav-item.active{background:#ffffff14;transform:none}.light .nav-item.active{background:#00000014}.nav-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#fff}.light .nav-item.active:before{background:#000}.nav-number{display:inline-block;font-size:var(--font-xs);font-weight:500;color:#ffffff80;min-width:24px;max-width:24px;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;align-self:center;transition:opacity var(--transition-sidebar-transform),max-width var(--transition-sidebar),margin var(--transition-sidebar),transform var(--transition-sidebar-transform),color var(--transition-theme);will-change:max-width,opacity,transform}.light .nav-number{color:#00000080}.nav-item:hover .nav-number,.nav-item.active .nav-number{color:#fffc}.light .nav-item:hover .nav-number,.light .nav-item.active .nav-number{color:#000c}.nav-text{display:inline-block;font-size:var(--font-sm);font-weight:500;letter-spacing:.05em;line-height:1.3;align-self:center;color:#ffffffb3;transition:opacity var(--transition-sidebar-transform),transform var(--transition-sidebar-transform),max-width var(--transition-sidebar),margin var(--transition-sidebar),color var(--transition-theme);white-space:nowrap;overflow:hidden;max-width:160px;will-change:max-width,opacity,transform}.sidebar-navigation .nav-text{text-transform:uppercase}.light .nav-text{color:#000000b3}.nav-item:hover .nav-text,.nav-item.active .nav-text{color:#fff}.light .nav-item:hover .nav-text,.light .nav-item.active .nav-text{color:#000}.sidebar-navigation.collapsed .nav-item{justify-content:flex-start;padding:var(--space-3) var(--space-2)}.sidebar-navigation.collapsed .sidebar-menu .nav-item{justify-content:flex-start;justify-items:start;grid-template-columns:var(--nav-icon-col, 20px) var(--nav-number-col, 24px) var(--nav-text-col, 1fr)}.sidebar-navigation.collapsed .sidebar-menu .nav-item .nav-number,.sidebar-navigation.collapsed .sidebar-menu .nav-item .nav-text{display:none}.sidebar-navigation.collapsed .nav-number{opacity:0;transform:none}.sidebar-navigation.collapsed .nav-text{opacity:0;transform:none;pointer-events:none}#theme-toggle-icon-light{display:block}#theme-toggle-icon-dark,.dark #theme-toggle-icon-light{display:none}.dark #theme-toggle-icon-dark{display:block}.scroll-progress-container{display:flex;flex-direction:column;gap:var(--space-1);align-items:flex-start}.scroll-progress-linear{width:100%;position:relative;transition:opacity var(--transition-base);display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.light .scroll-progress-linear{background:#0000001a}.progress-bar{width:100%;height:4px;background:#ffffff1a;border-radius:var(--radius-sm);overflow:hidden;position:relative}.progress-bar:after{content:"";position:absolute;top:0;left:0;height:100%;background:#fff;border-radius:var(--radius-sm);transition:width var(--transition-fast);transform-origin:left;width:var(--progress, 0%)}.light .progress-bar{background:#0000001a}.light .progress-bar:after{background:#000}.scroll-progress-circular{width:32px;height:32px;opacity:0;transition:all var(--transition-base);align-self:center;position:relative;display:flex;align-items:center;justify-content:center;margin-top:-8px}.progress-circle{width:100%;height:100%;transform:rotate(-90deg)}.progress-circle-bg{fill:none;stroke:#ffffff1a;stroke-width:2}.light .progress-circle-bg{stroke:#0000001a}.progress-circle-fill{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;transition:stroke-dasharray var(--transition-fast)}.light .progress-circle-fill{stroke:#000}.progress-text{font-size:var(--font-xs);font-weight:500;color:#fff9;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;transition:opacity var(--transition-sidebar-transform),transform var(--transition-sidebar-transform),max-width var(--transition-sidebar);white-space:nowrap;margin-top:-2px;max-width:120px;will-change:max-width,opacity,transform}.progress-text-circular{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:8px;font-weight:600;color:#fffc;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;opacity:0;transition:opacity var(--transition-sidebar-transform);pointer-events:none}.light .progress-text-circular{color:#000c}.light .progress-text{color:#0009}.sidebar-navigation.collapsed .scroll-progress-container{align-items:flex-start;margin-top:0}.sidebar-navigation.collapsed .scroll-progress-linear{opacity:0;pointer-events:none}.sidebar-navigation.collapsed .scroll-progress-circular{opacity:1}.sidebar-navigation.collapsed .progress-text{opacity:0;transform:none;pointer-events:none}.sidebar-navigation.collapsed .progress-text-circular{opacity:1}.theme-control{display:grid;align-items:center;justify-content:flex-start;justify-items:start;grid-template-columns:var(--nav-icon-col, 20px) var(--nav-number-col, 24px) var( --nav-text-col, 1fr );-moz-column-gap:var(--space-3);column-gap:var(--space-3);padding:var(--space-3) var(--space-2);min-height:44px;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-sidebar),border-color var(--transition-sidebar),transform var(--transition-sidebar-transform),padding var(--transition-sidebar),color var(--transition-theme);color:#ffffffb3;width:100%}.theme-control .theme-label{grid-column:3;text-align:left}.light .theme-control{color:#000000b3}.theme-control:hover{background:#ffffff0d;transform:none;color:#fff}.theme-control:hover .theme-icon svg,.theme-control:focus-visible .theme-icon svg{transform:scale(1.06)}.light .theme-control:hover{background:#0000000d;color:#000}.theme-control:active{transform:none}.theme-label{font-size:var(--font-sm);font-weight:500;letter-spacing:inherit;transition:opacity var(--transition-sidebar-transform),transform var(--transition-sidebar-transform),max-width var(--transition-sidebar),margin var(--transition-sidebar);white-space:nowrap;overflow:hidden;display:inline-block;max-width:160px}.theme-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.theme-icon svg{width:16px;height:16px}@keyframes sun-pop{0%{transform:rotate(0) scale(1)}35%{transform:rotate(15deg) scale(1.06)}to{transform:rotate(0) scale(1)}}@keyframes moon-drift{0%{transform:rotate(-10deg) translateY(0)}50%{transform:rotate(10deg) translateY(-1px)}to{transform:rotate(0) translateY(0)}}#minimal-toggle .theme-icon{position:relative}#minimal-toggle .theme-icon i,#minimal-toggle .theme-icon .lucide{position:absolute;inset:0;transition:opacity var(--transition-soft),transform var(--transition-soft);will-change:transform,opacity}#minimal-toggle .theme-icon .icon-min,#minimal-toggle .theme-icon .lucide-minimize-2{opacity:1;transform:translateY(0) scale(1)}#minimal-toggle .theme-icon .icon-max,#minimal-toggle .theme-icon .lucide-maximize-2{opacity:0;transform:translateY(-2px) scale(.96)}.minimalist #minimal-toggle .theme-icon .icon-min,.minimalist #minimal-toggle .theme-icon .lucide-minimize-2{opacity:0;transform:translateY(2px) scale(.96)}.minimalist #minimal-toggle .theme-icon .icon-max,.minimalist #minimal-toggle .theme-icon .lucide-maximize-2{opacity:1;transform:translateY(0) scale(1)}#theme-toggle.anim-light .theme-icon svg{animation:sun-pop .5s ease}#theme-toggle.anim-dark .theme-icon svg{animation:moon-drift .5s ease}#minimal-toggle .theme-icon svg *{stroke-dasharray:none;stroke-dashoffset:0}.sidebar-navigation .nav-icon,.sidebar-navigation .nav-item .lucide,.sidebar-navigation .theme-icon svg,.sidebar-navigation .social-link svg{width:20px;height:20px;stroke-width:1.75;transition:transform var(--transition-fast),color var(--transition-theme),stroke var(--transition-theme);transform-origin:center;will-change:transform}.sidebar-navigation button:hover:not(.sidebar-collapse-btn),.sidebar-navigation .btn:hover{box-shadow:none!important;transform:none!important}.sidebar-navigation .social-link.nav-item:hover{box-shadow:none!important;background:#ffffff0d;transform:none}.light .sidebar-navigation .social-link.nav-item:hover{background:#0000000d}.theme-control:focus-visible,.nav-item:focus-visible,.social-link:focus-visible,.sidebar-collapse-btn:focus-visible,.mobile-nav-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:0}.footer-section{display:flex;flex-direction:column;gap:var(--space-4);position:relative;padding-top:var(--space-6);padding-bottom:var(--space-6)}.footer-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:#ffffff1a;transition:all var(--transition-base)}.light .footer-section:before{background:#0000001a}.sidebar-navigation.collapsed .footer-section{align-items:stretch}.sidebar-navigation.collapsed .footer-section .nav-label{opacity:0;transform:none;pointer-events:none;height:0;margin:0;overflow:hidden}.sidebar-navigation.collapsed .footer-section .theme-control{justify-content:flex-start;align-items:center;padding:var(--space-3) var(--space-2);width:100%;height:auto;border-radius:var(--radius-md);background:transparent;border:none}.sidebar-navigation .theme-control:hover .theme-icon svg{color:#fff}.light .sidebar-navigation .theme-control:hover .theme-icon svg{color:#000}.sidebar-navigation.collapsed .footer-section .theme-label{opacity:0;transform:none;pointer-events:none}.sidebar-navigation.collapsed .nav-item,.sidebar-navigation.collapsed .nav-item:hover,.sidebar-navigation.collapsed .nav-item.active,.sidebar-navigation.collapsed .theme-control:hover,.sidebar-navigation.collapsed .social-link:hover{transform:none}.sidebar-navigation .social-links{display:flex;flex-direction:column;gap:var(--space-1);transition:gap var(--transition-base)}.sidebar-navigation.collapsed .social-links{gap:var(--space-1);justify-content:flex-start;align-items:stretch;flex-direction:column}.sidebar-navigation.collapsed .social-link{background:transparent}.sidebar-navigation .social-link.nav-item{display:grid;grid-template-columns:var(--nav-icon-col, 20px) var(--nav-number-col, 24px) var( --nav-text-col, 1fr );-moz-column-gap:var(--space-3);column-gap:var(--space-3);align-items:center;justify-content:flex-start;width:100%;min-height:44px;height:auto;background:transparent;border:none;border-radius:var(--radius-md);color:inherit}.social-link.nav-item .nav-text{grid-column:3;text-align:left;margin-top:0;text-transform:uppercase;letter-spacing:inherit}.social-link:hover{background:#ffffff0d;transform:none}.light .social-link:hover{background:#0000000d}.sidebar-navigation .social-link:hover svg{color:#fff}.sidebar-navigation .social-link:hover svg,.sidebar-navigation .social-link:focus-visible svg{transform:scale(1.06)}.light .sidebar-navigation .social-link:hover svg{color:#000}.social-label{font-size:var(--font-xs);font-weight:600;letter-spacing:.05em;color:#ffffffb3;transition:color var(--transition-theme);margin-top:0;text-align:left}.sidebar-navigation.collapsed .social-link.nav-item .nav-text{opacity:0;visibility:hidden;pointer-events:none;max-width:160px}.light .social-label{color:#000000b3}.mobile-nav-toggle{position:fixed;top:max(var(--space-6),env(safe-area-inset-top));left:max(var(--space-6),env(safe-area-inset-left));width:48px;height:48px;background:#000000e6;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);z-index:1001;display:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:all var(--transition-sidebar)}.sidebar-navigation.active~.mobile-nav-toggle{left:calc(280px + var(--space-6))}.light .mobile-nav-toggle{background:#ffffffe6;border-color:#0000001a}.hamburger-line{width:20px;height:2px;background:#fff;border-radius:var(--radius-sm);transition:all var(--transition-base)}.light .hamburger-line{background:#000}@media (max-width: 1024px){.sidebar-navigation{transform:translate3d(-100%,0,0);transition:transform var(--transition-sidebar-transform),background-color var(--transition-theme),border-color var(--transition-theme);will-change:transform}.sidebar-navigation.active{transform:translateZ(0)}.mobile-nav-toggle{display:flex}.sidebar-collapse-btn{display:none}}@media (prefers-reduced-motion: reduce){.sidebar-navigation,.brand-full,.nav-label,.nav-text,.progress-text,.progress-text-circular,.sidebar-collapse-btn,.collapse-icon,#theme-toggle .theme-icon svg,#minimal-toggle .theme-icon svg{transition:none!important}#theme-toggle.anim-dark .theme-icon svg,#theme-toggle.anim-light .theme-icon svg,#minimal-toggle.anim-minimal-on .theme-icon svg,#minimal-toggle.anim-minimal-off .theme-icon svg{animation:none!important}}@media (max-width: 768px){.sidebar-navigation.collapsed{width:280px;padding:var(--space-8) var(--space-6)}.sidebar-navigation.collapsed .brand-full,.sidebar-navigation.collapsed .nav-label,.sidebar-navigation.collapsed .nav-text,.sidebar-navigation.collapsed .theme-label,.sidebar-navigation.collapsed .progress-text{opacity:1;transform:none;pointer-events:auto}}body:after{content:"";position:fixed;inset:0;background:#0006;opacity:0;pointer-events:none;transition:opacity var(--transition-base);z-index:900}@media (max-width: 1024px){body.nav-open{overflow:hidden;touch-action:none}body.nav-open:after{opacity:1;pointer-events:auto}}@media (min-width: 1025px){body{padding-left:280px;transition:padding-left var(--transition-sidebar)}body.sidebar-collapsed{padding-left:80px}}#sidebar-toggle{display:grid;grid-template-columns:var(--nav-icon-col, 20px) var(--nav-number-col, 24px) var( --nav-text-col, 1fr );align-items:center;-moz-column-gap:var(--space-3);column-gap:var(--space-3);width:100%;min-height:44px}#sidebar-toggle .nav-icon,#sidebar-toggle .lucide{grid-column:1}#sidebar-toggle .nav-text{grid-column:3;text-align:left}.sidebar-navigation.collapsed #sidebar-toggle .nav-text{display:none}#sidebar-toggle .nav-icon,#sidebar-toggle .lucide{transition:transform var(--transition-sidebar-transform)}.sidebar-navigation.collapsed #sidebar-toggle .nav-icon,.sidebar-navigation.collapsed #sidebar-toggle .lucide{transform:rotate(180deg)}.sidebar-navigation.animating{pointer-events:none}.mobile-nav-toggle.active .hamburger-line:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.mobile-nav-toggle.active .hamburger-line:nth-child(2){opacity:0}.mobile-nav-toggle.active .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}#minimal-toggle .theme-icon svg path,#minimal-toggle .theme-icon svg line,#minimal-toggle .theme-icon svg polyline,#minimal-toggle .theme-icon svg polygon{stroke-dasharray:none}#hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;overflow:hidden;background-color:var(--color-surface);transition:background-color var(--transition-base);background-image:linear-gradient(to bottom,#0003,#0000001a)}.hero-bg-elements{position:absolute;inset:0;pointer-events:none}.hero-circle{position:absolute;width:600px;height:600px;border-radius:50%;border:1px solid rgba(255,255,255,.08);top:50%;left:-300px;transform:translateY(-50%)}.hero-line-1{position:absolute;width:1px;height:100%;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.08),transparent);left:15%;top:0}.hero-line-2{position:absolute;width:100%;height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.08),transparent);top:30%;left:0}.hero-wrapper{position:relative;width:100%;max-width:1400px;margin:0 auto;padding:0 var(--space-8)}.hero-content{display:grid;grid-template-columns:1fr auto;gap:var(--space-16);align-items:center}.hero-name{font-size:clamp(4rem,15vw,10rem);font-weight:900;letter-spacing:-.08em;line-height:.8;margin:0 0 var(--space-8) 0;font-family:system-ui,-apple-system,sans-serif;color:#fff;-webkit-text-fill-color:currentColor;text-fill-color:currentColor;background:transparent;background-image:none}.name-line{display:block;position:relative}.name-line:first-child{margin-bottom:-.1em}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-info{margin-bottom:var(--space-12)}.hero-role{font-size:clamp(.875rem,2vw,1.125rem);font-weight:400;letter-spacing:.2em;color:#fff9;margin-bottom:var(--space-2)}.hero-location{font-size:clamp(.75rem,1.5vw,.875rem);font-weight:300;letter-spacing:.15em;color:#fff6}.hero-actions{display:flex;gap:var(--space-10)}.hero-link{position:relative;color:#fff;text-decoration:none;font-size:var(--font-sm);font-weight:500;letter-spacing:.1em;padding:var(--space-2) 0;transition:opacity var(--transition-base)}.hero-link:hover{opacity:.7}.link-underline{position:absolute;bottom:0;left:0;width:100%;height:1px;background:#fff;transform-origin:left;transition:transform var(--transition-base)}.hero-link:hover .link-underline{transform:scaleX(0)}.hero-side{display:flex;flex-direction:column;gap:var(--space-8);padding-left:var(--space-8);border-left:1px solid rgba(255,255,255,.1)}.hero-detail{display:flex;flex-direction:column;gap:var(--space-1)}.detail-label{font-size:var(--font-xs);font-weight:400;letter-spacing:.15em;color:#fff6}.detail-value{font-size:var(--font-sm);font-weight:500;letter-spacing:.05em;color:#fffc}.light #hero{background-color:var(--light-bg-primary);background-image:linear-gradient(to bottom,#fff3,#ffffff1a)}.light .hero-circle{border-color:#0000001a}.light .hero-line-1{background:linear-gradient(to bottom,transparent,rgba(0,0,0,.08),transparent)}.light .hero-line-2{background:linear-gradient(to right,transparent,rgba(0,0,0,.08),transparent)}.hero-name,.hero-name .name-line{color:#fff!important;-webkit-text-fill-color:#ffffff!important}.light .hero-name,.light .hero-name .name-line{color:var(--light-text-primary)!important;-webkit-text-fill-color:var(--light-text-primary)!important}.light .hero-link{color:var(--light-text-primary)}.light .hero-role{color:var(--light-text-secondary)}.light .hero-location,.light .detail-label{color:var(--light-text-muted)}.light .detail-value{color:#000c}.light .link-underline{background:#000}.light .hero-side{border-color:#0000001a}@media (max-width: 1024px){.hero-content{grid-template-columns:1fr;gap:var(--space-12)}.hero-side{flex-direction:row;justify-content:center;padding-left:0;padding-top:var(--space-8);border-left:none;border-top:1px solid rgba(255,255,255,.1)}.light .hero-side{border-top-color:#0000001a}}@media (max-width: 768px){.hero-name{font-size:clamp(3rem,12vw,5rem)}.hero-circle{width:400px;height:400px;left:-200px}.hero-actions,.hero-side{gap:var(--space-6)}}#about{position:relative;padding:var(--space-section) 0;background:var(--color-surface);overflow:hidden}.about-background{position:absolute;inset:0;pointer-events:none}.about-gradient{position:absolute;width:800px;height:800px;background:radial-gradient(circle,rgba(255,255,255,.02) 0%,transparent 60%);filter:blur(120px);top:50%;left:50%;transform:translate(-50%,-50%)}.about-dot-grid{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.03) 1px,transparent 1px);background-size:40px 40px;opacity:.4;-webkit-mask-image:radial-gradient(ellipse at 50% 50%,black 20%,transparent 60%);mask-image:radial-gradient(ellipse at 50% 50%,black 20%,transparent 60%)}.about-content{position:relative;max-width:1400px;margin:0 auto;padding:0 var(--space-6)}.about-label{display:inline-flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-16);text-align:center;justify-content:center;width:100%}.label-number{font-size:var(--font-xl);font-weight:500;color:#ffffff80;min-width:24px;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.label-text{font-size:var(--font-xl);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#ffffffe6}.about-three-columns{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:var(--space-16);align-items:start}.about-text-column{display:flex;flex-direction:column;gap:var(--space-8)}.about-title{font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.1;letter-spacing:-.03em;margin-bottom:var(--space-8);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.title-line{display:block;color:#ffffffe6}.title-line.accent{color:#ffffff80;font-weight:400}.about-description{display:flex;flex-direction:column;gap:var(--space-4)}.intro-text{font-size:1.125rem;line-height:1.7;color:#fffc;font-weight:400;margin-bottom:var(--space-2)}.about-description p{font-size:.875rem;line-height:1.8;color:#ffffff80;font-weight:300}.about-timeline-column{display:flex;flex-direction:column;gap:var(--space-6)}.timeline-title{font-size:.625rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:#ffffff4d}.journey-visual{display:flex;flex-direction:column;gap:0;position:relative;padding-left:80px}.journey-node{position:relative;padding:var(--space-3) 0;background:transparent;border:none;border-radius:0;transition:all var(--transition-base);cursor:default;display:flex;flex-direction:column;gap:var(--space-1)}.journey-node:before{content:attr(data-year);position:absolute;left:-80px;width:70px;text-align:right;font-size:.625rem;font-weight:500;color:#ffffff4d;text-transform:uppercase;letter-spacing:.05em}.journey-node:after{content:"";position:absolute;left:-6px;top:18px;width:4px;height:4px;background:#fff3;border-radius:var(--radius-full)}.journey-node.active:after{background:#fffc;box-shadow:0 0 0 6px #ffffff0d}.node-label{font-size:.75rem;font-weight:500;color:#ffffffb3;letter-spacing:.02em;line-height:1.4}.journey-node.active .node-label{color:#ffffffe6}.node-detail{font-size:.625rem;color:#ffffff4d;text-transform:uppercase;letter-spacing:.1em;font-weight:400}.journey-path{width:1px;height:20px;background:#ffffff0d;margin-left:-4px;position:relative}.about-tech-column{display:flex;flex-direction:column}.tech-stack{padding:0;background:transparent;border-radius:0;border:none;display:flex;flex-direction:column;gap:var(--space-8)}.tech-category{display:flex;flex-direction:column;gap:var(--space-3);align-items:center}.tech-category-title{font-size:.625rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:#ffffff4d;text-align:center}.tech-items{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.tech-item{padding:var(--space-1) var(--space-3);background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);font-size:.625rem;font-weight:400;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;transition:all var(--transition-fast);cursor:default}.tech-item:hover{background:#ffffff0d;border-color:#ffffff1a;color:#ffffffb3}@media (max-width: 1200px){.about-three-columns{grid-template-columns:1fr .8fr 1fr;gap:var(--space-12)}.journey-visual{padding-left:60px}.journey-node:before{left:-60px;width:50px}}@media (max-width: 1024px){.about-three-columns{grid-template-columns:1fr;gap:var(--space-16)}.about-timeline-column{order:-1}.journey-visual{padding-left:0;padding-top:var(--space-4)}.journey-node{padding-left:var(--space-6);border-left:1px solid rgba(255,255,255,.05)}.journey-node:before{position:static;display:block;margin-bottom:var(--space-2);text-align:left;width:auto}.journey-node:after{left:-2px}.journey-path{display:none}}@media (max-width: 768px){.about-title{font-size:clamp(1.75rem,5vw,2.25rem)}.about-three-columns{gap:var(--space-12)}}.about-content [data-aos]{transition-property:transform,opacity;transition-duration:.8s;transition-timing-function:var(--easing-smooth)}.light #about{background:var(--light-bg-primary);border-top-color:#0000001a}.light .about-gradient{background:radial-gradient(circle,rgba(0,0,0,.02) 0%,transparent 60%)}.light .about-dot-grid{background-image:radial-gradient(circle,rgba(0,0,0,.03) 1px,transparent 1px)}.light .label-number{color:#00000080}.light .label-text,.light .title-line{color:#000000e6}.light .title-line.accent{color:#00000080}.light .intro-text{color:#000c}.light .about-description p{color:#00000080}.light .timeline-title{color:#0000004d}.light .journey-node:before{color:#0000004d}.light .journey-node:after{background:#0003}.light .journey-node.active:after{background:#000c;box-shadow:0 0 0 6px #0000000d}.light .node-label{color:#000000b3}.light .journey-node.active .node-label{color:#000000e6}.light .node-detail{color:#0000004d}.light .journey-path{background:#0000000d}.light .tech-category-title{color:#0000004d}.light .tech-item{background:#00000008;border-color:#0000000f;color:#00000080}.light .tech-item:hover{background:#0000000d;border-color:#0000001a;color:#000000b3}#projects{position:relative;padding:var(--space-section) 0;background:var(--color-surface);overflow:hidden}.projects-bg-elements{position:absolute;inset:0;pointer-events:none;z-index:0}.projects-line-1{position:absolute;top:20%;left:-10%;width:200px;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);transform:rotate(-15deg)}.projects-line-2{position:absolute;bottom:30%;right:-5%;width:150px;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.08) 50%,transparent 100%);transform:rotate(25deg)}.projects-dot-grid{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.02) 1px,transparent 1px);background-size:50px 50px;opacity:.3;-webkit-mask-image:radial-gradient(ellipse at 70% 30%,black 20%,transparent 70%);mask-image:radial-gradient(ellipse at 70% 30%,black 20%,transparent 70%)}.projects-content{position:relative;max-width:1400px;margin:0 auto;padding:0 var(--space-6)}.projects-label{display:inline-flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-16);text-align:center;justify-content:center;width:100%}.projects-label .label-number{font-size:var(--font-xl);font-weight:500;color:#ffffff80;min-width:24px;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.projects-label .label-text{font-size:var(--font-xl);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#ffffffe6}.projects-gallery{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-16);align-items:start}.project-featured{position:relative;padding:var(--space-12);background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-lg);transition:all var(--transition-base)}.project-featured:hover{background:#ffffff08;border-color:#ffffff1a;transform:translateY(-4px)}.projects-grid{display:grid;grid-template-columns:1fr;gap:var(--space-8)}.project-item{position:relative;padding:var(--space-8);background:#ffffff03;border:1px solid rgba(255,255,255,.03);border-radius:var(--radius-md);transition:all var(--transition-base)}.project-item:hover{background:#ffffff05;border-color:#ffffff14;transform:translate(4px)}.project-number{position:absolute;top:var(--space-4);right:var(--space-4);font-size:.625rem;font-weight:500;color:#ffffff4d;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.project-info{display:flex;flex-direction:column;gap:var(--space-3)}.project-title{font-size:1.25rem;font-weight:600;color:#ffffffe6;letter-spacing:.02em;margin:0}.project-featured .project-title{font-size:1.5rem;font-weight:700}.project-type{font-size:.625rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:#fff6;margin:0}.project-description{font-size:.875rem;line-height:1.6;color:#fff9;margin:0}.project-featured .project-description{font-size:1rem;line-height:1.7}.project-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.project-tag{padding:var(--space-1) var(--space-3);background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);font-size:.625rem;font-weight:400;color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em;transition:all var(--transition-fast)}.project-tag:hover{background:#ffffff14;border-color:#ffffff26}.project-link{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:#ffffffb3;text-decoration:none;transition:all var(--transition-base)}.project-link:hover{color:#ffffffe6;transform:translate(2px)}.link-arrow{font-size:.875rem;transition:transform var(--transition-base)}.project-link:hover .link-arrow{transform:translate(4px)}.project-featured .project-link{font-size:.875rem;margin-top:var(--space-6)}@media (max-width: 1024px){.projects-gallery{grid-template-columns:1fr;gap:var(--space-12)}.projects-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-6)}}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr}.project-featured{padding:var(--space-8)}.project-item{padding:var(--space-6)}.project-title{font-size:1.125rem}.project-featured .project-title{font-size:1.375rem}}.projects-content [data-aos]{transition-property:transform,opacity;transition-duration:.8s;transition-timing-function:var(--easing-smooth)}.light #projects{background:var(--light-bg-primary)}.light .projects-line-1,.light .projects-line-2{background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 50%,transparent 100%)}.light .projects-dot-grid{background-image:radial-gradient(circle,rgba(0,0,0,.02) 1px,transparent 1px)}.light .projects-label .label-number{color:#00000080}.light .projects-label .label-text{color:#000000e6}.light .project-featured{background:#00000005;border-color:#0000000d}.light .project-featured:hover{background:#00000008;border-color:#0000001a}.light .project-item{background:#00000003;border-color:#00000008}.light .project-item:hover{background:#00000005;border-color:#00000014}.light .project-number{color:#0000004d}.light .project-title{color:#000000e6}.light .project-type{color:#0006}.light .project-description{color:#0009}.light .project-tag{background:#0000000d;border-color:#00000014;color:#000000b3}.light .project-tag:hover{background:#00000014;border-color:#00000026}.light .project-link{color:#000000b3}.light .project-link:hover{color:#000000e6}section{position:relative;padding:var(--space-section) 0;overflow:hidden}.section-container{max-width:1200px;margin:0 auto;padding:0 var(--space-6)}section+section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;z-index:10;pointer-events:none;background:linear-gradient(90deg,transparent 0%,var(--color-border) 10%,var(--color-border) 90%,transparent 100%)}.light section+section:before{background:linear-gradient(90deg,transparent 0%,var(--light-border) 10%,var(--light-border) 90%,transparent 100%)}section:nth-child(2n){background:var(--color-surface-secondary)}.light section:nth-child(2n){background:var(--light-bg-secondary)}#hero{min-height:90vh;padding:0;display:flex;align-items:center}.hero-content{padding-top:var(--space-24);padding-bottom:var(--space-16)}.company-highlight{color:var(--color-primary);font-weight:600}.about-content{text-align:center}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-6);margin-top:var(--space-12)}.stat-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);text-align:center;transition:all var(--transition-base)}.stat-card:hover{transform:translateY(-4px);border-color:var(--color-primary);box-shadow:var(--shadow-lg)}.stat-number{font-size:var(--font-3xl);font-weight:800;margin-bottom:var(--space-2)}.stat-label{font-size:var(--font-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.filter-container{display:flex;justify-content:center;margin-bottom:var(--space-12)}.filter-group{display:inline-flex;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-1);gap:var(--space-1)}.filter-btn{padding:var(--space-2) var(--space-6);border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--font-sm);font-weight:500;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.filter-btn:hover{color:var(--color-text-primary)}.filter-btn.active{background:var(--color-primary);color:var(--color-surface)}.projects-scroll-container{position:relative;width:100%;overflow:hidden}.projects-grid-unified{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-6);padding-bottom:var(--space-4)}@media (min-width: 1024px){.projects-scroll-container{overflow-x:auto;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.projects-scroll-container::-webkit-scrollbar{height:8px}.projects-scroll-container::-webkit-scrollbar-track{background:transparent}.projects-scroll-container::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.projects-grid-unified{grid-auto-flow:column;grid-template-columns:repeat(auto-fill,340px);grid-template-rows:1fr;width:-moz-max-content;width:max-content}}.project-card{height:420px;display:flex;flex-direction:column;background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;transition:all var(--transition-base)}.project-card:hover{transform:translateY(-8px);border-color:var(--color-primary);box-shadow:0 20px 40px -10px #00000080,0 0 20px -5px var(--color-primary-surface)}.project-card-image{height:200px;-o-object-fit:cover;object-fit:cover;transition:transform var(--transition-slow)}.project-card:hover .project-card-image{transform:scale(1.05)}.project-card-image-wrapper{position:relative;overflow:hidden}.project-card-placeholder{width:100%;height:200px;background:var(--gradient-primary);opacity:.2}.project-card-content{padding:var(--space-6);flex:1;display:flex;flex-direction:column}.project-card-title{font-size:var(--font-xl);font-weight:700;margin-bottom:var(--space-2);color:var(--color-text-primary)}.project-card-description{font-size:var(--font-sm);color:var(--color-text-secondary);margin-bottom:auto;line-height:1.6}.project-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-4)}.project-card-tags{display:flex;gap:var(--space-2);flex-wrap:wrap}.project-card-link{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-primary);color:var(--color-surface);border-radius:var(--radius-full);transition:all var(--transition-base)}.project-card-link:hover{background:var(--color-primary-hover);transform:translate(2px)}.skills-grid-wrapper{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-8);max-width:1000px;margin:0 auto}.skill-category{text-align:center}.skill-category-title{font-size:var(--font-lg);font-weight:600;color:var(--color-primary);margin-bottom:var(--space-4)}.skill-list{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.skill-tag{padding:var(--space-2) var(--space-4);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-sm);color:var(--color-text-primary);transition:all var(--transition-fast)}.skill-tag:hover{border-color:var(--color-primary);background:var(--color-primary-surface);transform:translateY(-2px)}.timeline-wrapper{position:relative;max-width:800px;margin:0 auto;padding-left:120px}.timeline-line{position:absolute;left:80px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--color-primary) 0%,var(--color-border) 100%)}.timeline-item{position:relative;padding-bottom:var(--space-12)}.timeline-item:last-child{padding-bottom:0}.timeline-year{position:absolute;left:-120px;top:0;width:60px;text-align:right;font-size:var(--font-lg);font-weight:700;color:var(--color-primary)}.timeline-marker{position:absolute;left:-88px;top:8px;width:16px;height:16px;background:var(--color-surface);border:3px solid var(--color-primary);border-radius:var(--radius-full);z-index:1}.timeline-item.current .timeline-marker{width:20px;height:20px;left:-90px;top:6px;background:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-surface)}.timeline-content{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--transition-base)}.timeline-content:hover{border-color:var(--color-primary);transform:translate(4px)}.timeline-position{font-size:var(--font-lg);font-weight:700;margin-bottom:var(--space-1)}.timeline-company{font-size:var(--font-sm);color:var(--color-primary);margin-bottom:var(--space-2)}.timeline-description{font-size:var(--font-sm);color:var(--color-text-secondary)}.light .stat-card,.light .filter-group{background:var(--light-bg-tertiary);border-color:var(--light-border)}.light .filter-btn.active{background:var(--light-accent-primary);color:#fff}.light .project-card{background:var(--light-card-bg);border-color:var(--light-border)}.light .skill-tag{background:var(--light-bg-tertiary);border-color:var(--light-border)}.light .timeline-content{background:var(--light-card-bg);border-color:var(--light-border)}.light .timeline-line{background:linear-gradient(180deg,var(--light-accent-primary) 0%,var(--light-border) 100%)}.light .timeline-marker{background:var(--light-bg-primary);border-color:var(--light-accent-primary)}.light .timeline-item.current .timeline-marker{background:var(--light-accent-primary)}@media (max-width: 768px){.timeline-wrapper{padding-left:60px}.timeline-line{left:20px}.timeline-year{left:-60px;width:40px;font-size:var(--font-sm)}.timeline-marker{left:-28px}.timeline-item.current .timeline-marker{left:-30px}}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.gap-8{gap:2rem}.gap-12{gap:3rem}.projects-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1.5rem;max-width:80rem;margin:0 auto}.skills-grid-wrapper{max-width:80rem;margin:0 auto}.other-projects-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1.5rem;max-width:64rem;margin:0 auto}.about-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:3rem;align-items:center;max-width:72rem;margin:0 auto}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}.stat-card{position:relative;padding:1rem;text-align:center;background-color:var(--light-bg-tertiary);border:1px solid var(--light-border);border-radius:var(--radius-md)}.dark .stat-card{background-color:var(--dark-bg-tertiary);border-color:var(--dark-border)}.stat-number{font-size:var(--font-3xl);font-weight:700;margin-bottom:.25rem}.stat-label{font-size:var(--font-sm);color:var(--light-text-secondary)}.dark .stat-label{color:var(--dark-text-secondary)}.contact-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:3rem;max-width:72rem;margin:0 auto}.max-w-5xl{max-width:64rem}.max-w-7xl{max-width:80rem}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.projects-grid,.other-projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3,.projects-grid,.other-projects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.about-grid,.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.section-pill{display:flex;align-items:center;justify-content:center;padding:.625rem 2rem;margin-bottom:2.5rem;max-width:-moz-fit-content;max-width:fit-content;margin-left:auto;margin-right:auto;border-radius:var(--radius-full);box-shadow:0 2px 8px 0 var(--light-shadow),0 1.5px 4px 0 var(--light-shadow-stronger);border:1px solid var(--light-card-border);background:var(--light-card-bg);color:var(--light-text-primary);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:700;letter-spacing:-.01em}.dark .section-pill{box-shadow:0 2px 8px 0 var(--dark-shadow),0 1.5px 4px 0 var(--dark-shadow-stronger);border:1px solid var(--dark-card-border);background:var(--dark-bg-card);color:var(--dark-text-primary)}.section-pill h2,.section-pill h3{margin:0;line-height:1;font-family:inherit;font-weight:inherit;letter-spacing:inherit}.tag{padding:var(--space-1) var(--space-3);background-color:var(--color-surface-elevated);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:500;letter-spacing:.025em;text-transform:capitalize;transition:all var(--transition-fast);display:inline-block}.tag:hover{color:var(--color-primary);border-color:var(--color-primary);transform:translateY(-1px)}.light .tag{background-color:var(--light-bg-tertiary);color:var(--light-text-secondary);border-color:var(--light-border)}.light .tag:hover{color:var(--light-accent-primary);border-color:var(--light-accent-primary)}.tag-container{display:flex;flex-wrap:wrap;gap:var(--space-2)}.navbar{background:#0a0a0af2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--dark-border);transition:all var(--transition-base);position:fixed;top:0;left:0;right:0;z-index:50}.light .navbar{background:#fffffff2;border-bottom-color:var(--light-border)}.navbar-container{max-width:1280px;margin:0 auto;padding:0 var(--space-6);display:flex;align-items:center;justify-content:space-between;height:4rem}.navbar-brand{font-size:var(--font-xl);font-weight:700;color:var(--dark-text-primary);text-decoration:none;transition:color var(--transition-fast)}.light .navbar-brand{color:var(--light-text-primary)}.navbar-brand:hover{color:var(--dark-accent-primary)}.light .navbar-brand:hover{color:var(--light-accent-primary)}.navbar-nav{display:flex;align-items:center;gap:var(--space-8);list-style:none;margin:0;padding:0}.nav-link{color:var(--dark-text-secondary);text-decoration:none;font-weight:500;font-size:var(--font-sm);letter-spacing:.025em;transition:color var(--transition-fast);position:relative}.light .nav-link{color:var(--light-text-secondary)}.nav-link:hover,.nav-link.active{color:var(--dark-accent-primary)}.light .nav-link:hover,.light .nav-link.active{color:var(--light-accent-primary)}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--dark-accent-primary);transition:width var(--transition-base)}.light .nav-link:after{background:var(--light-accent-primary)}.nav-link:hover:after,.nav-link.active:after{width:100%}.theme-toggle{padding:var(--space-2);background:transparent;border:1px solid var(--dark-border);border-radius:var(--radius-md);color:var(--dark-text-secondary);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem}.light .theme-toggle{border-color:var(--light-border);color:var(--light-text-secondary)}.theme-toggle:hover{background:var(--dark-bg-secondary);border-color:var(--dark-accent-primary);color:var(--dark-accent-primary)}.light .theme-toggle:hover{background:var(--light-bg-secondary);border-color:var(--light-accent-primary);color:var(--light-accent-primary)}.mobile-menu-toggle{display:none;flex-direction:column;gap:4px;background:transparent;border:none;cursor:pointer;padding:var(--space-2)}.mobile-menu-toggle span{width:1.5rem;height:2px;background:var(--dark-text-primary);transition:all var(--transition-fast)}.light .mobile-menu-toggle span{background:var(--light-text-primary)}@media (max-width: 768px){.navbar-nav{display:none}.mobile-menu-toggle{display:flex}}#contact{position:relative;padding:var(--space-12) 0;background:var(--color-surface);overflow:hidden;min-height:100vh;min-height:100dvh;display:flex;align-items:center}.contact-bg-elements{position:absolute;inset:0;pointer-events:none;z-index:0}.contact-line-1{position:absolute;top:25%;right:-10%;width:250px;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.08) 50%,transparent 100%);transform:rotate(-20deg)}.contact-line-2{position:absolute;bottom:40%;left:-5%;width:180px;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.06) 50%,transparent 100%);transform:rotate(30deg)}.contact-dot-grid{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.02) 1px,transparent 1px);background-size:5px 5px;opacity:.3;-webkit-mask-image:radial-gradient(ellipse at 30% 70%,black 20%,transparent 65%);mask-image:radial-gradient(ellipse at 30% 70%,black 20%,transparent 65%)}.contact-content{position:relative;max-width:1400px;margin:0 auto;padding:0 var(--space-6);width:100%}.contact-label{display:inline-flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-16);text-align:center;justify-content:center;width:100%}.contact-label .label-number{font-size:var(--font-xl);font-weight:500;color:#ffffff80;min-width:24px;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.contact-label .label-text{font-size:var(--font-xl);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#ffffffe6}.contact-layout{display:flex;flex-direction:column;gap:var(--space-12);align-items:center;text-align:center;max-width:800px;margin:0 auto}.contact-info{display:flex;flex-direction:column;gap:var(--space-8)}.contact-title{font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.1;letter-spacing:-.03em;margin-bottom:var(--space-6);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.contact-title .title-line{display:block;color:#ffffffe6}.contact-title .title-line.accent{color:#ffffff80;font-weight:400}.contact-description{font-size:1rem;line-height:1.7;color:#fff9;font-weight:300}.contact-methods{display:flex;flex-direction:column;gap:var(--space-8);padding-top:var(--space-4);width:100%;align-items:center}.contact-method{display:flex;flex-direction:column;gap:var(--space-2);align-items:center;text-align:center}.method-label{font-size:.625rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:#ffffff4d}.method-value{font-size:.875rem;font-weight:400;color:#fffc;text-decoration:none;transition:all var(--transition-base);cursor:pointer}.method-value:hover{color:#fff;transform:translate(2px)}.method-value.static{cursor:default;color:#fff9}.method-value.static:hover{transform:none;color:#fff9}#contact .social-links{display:flex;flex-direction:row;gap:var(--space-3);justify-content:center}#contact .social-link{display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:#ffffffb3;text-decoration:none;transition:all var(--transition-base);width:40px;height:40px;border:1px solid rgba(255,255,255,.1);border-radius:50%;background:#ffffff05}#contact .social-link:hover{color:#ffffffe6;border-color:#fff3;background:#ffffff0d}#contact .social-link.nav-item{display:grid;grid-template-columns:var(--nav-icon-col, 20px) 1fr;-moz-column-gap:var(--space-2);column-gap:var(--space-2);align-items:center;justify-content:flex-start;width:auto;height:auto;padding:var(--space-3) var(--space-2);border:none;border-radius:var(--radius-md);background:transparent;color:#fffc}#contact .social-link.nav-item .nav-text{grid-column:2;font-size:var(--font-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fffc}.light #contact .social-link.nav-item .nav-text{color:#000000b3}#contact .social-link.nav-item:hover{background:#ffffff0d;box-shadow:none;transform:none}#contact .social-link.nav-item:hover .nav-text{color:#fff}#contact .social-link.nav-item svg{width:20px;height:20px}.light #contact .social-link.nav-item{color:#000000b3;background:transparent}.light #contact .social-link.nav-item:hover{background:#0000000d}.light #contact .social-link.nav-item:hover .nav-text{color:#000}.light #contact .social-link.nav-item:hover{box-shadow:none;transform:none}#contact .social-link .link-arrow{font-size:.875rem;transition:transform var(--transition-base)}#contact .social-link:hover .link-arrow{transform:translate(4px)}@media (max-width: 1024px){.contact-layout{grid-template-columns:1fr;gap:var(--space-16)}.contact-methods{padding-top:0}}@media (max-width: 768px){#contact{min-height:auto;padding:var(--space-20) 0}.contact-title{font-size:clamp(1.75rem,5vw,2.25rem)}.contact-layout{gap:var(--space-12)}.contact-methods{gap:var(--space-6)}}.contact-content [data-aos]{transition-property:transform,opacity;transition-duration:.8s;transition-timing-function:var(--easing-smooth)}.light #contact{background:var(--light-bg-primary)}.light .contact-line-1,.light .contact-line-2{background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.06) 50%,transparent 100%)}.light .contact-dot-grid{background-image:radial-gradient(circle,rgba(0,0,0,.02) 1px,transparent 1px)}.light .contact-label .label-number{color:#00000080}.light .contact-label .label-text,.light .contact-title .title-line{color:#000000e6}.light .contact-title .title-line.accent{color:#00000080}.light .contact-description{color:#0009}.light .method-label{color:#0000004d}.light .method-value{color:#000c}.light .method-value:hover{color:#000}.light .method-value.static,.light .method-value.static:hover{color:#0009}.light #contact .social-link{color:#000000b3;border-color:#0000001a;background:#00000005}.light #contact .social-link:hover{color:#000000e6;border-color:#0003;background:#0000000d;transform:translateY(-2px);box-shadow:0 6px 15px #0003}.hover-underline{position:absolute;bottom:0;left:0;width:0;height:1px;background:currentColor;transition:width .3s cubic-bezier(.4,0,.2,1)}a:hover .hover-underline,button:hover .hover-underline,.nav-item:hover .hover-underline{width:100%}.project-item,.project-featured{opacity:0;transform:translateY(30px);transition:all .6s cubic-bezier(.4,0,.2,1)}.project-item.animate-in,.project-featured.animate-in{opacity:1;transform:translateY(0)}.focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:var(--radius-sm)}.using-keyboard *:focus{outline:2px solid var(--color-primary);outline-offset:4px}button,.btn{position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}button:hover,.btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #fff3}.light button:hover,.light .btn:hover{box-shadow:0 8px 25px #0003}button:active,.btn:active{transform:translateY(0)}.nav-active{background:#ffffff1a;border-radius:var(--radius-sm)}.light .nav-active{background:#0000001a}section{transition:transform .3s ease,opacity .3s ease;will-change:transform,opacity}::-moz-selection{background:#ffffff4d;color:var(--color-surface);text-shadow:none}::selection{background:#ffffff4d;color:var(--color-surface);text-shadow:none}.light ::-moz-selection{background:#0000004d;color:#fff}.light ::selection{background:#0000004d;color:#fff}.blur-depth{transition:filter .3s ease,opacity .3s ease}[data-parallax-speed]{will-change:transform}.floating{animation:float 3s ease-in-out infinite alternate}@keyframes float{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-10px) rotate(1deg)}}.spotlight{position:fixed;width:600px;height:600px;border-radius:50%;pointer-events:none;z-index:9999;mix-blend-mode:overlay;opacity:0;transition:opacity .3s ease;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%)}.light .spotlight{background:radial-gradient(circle,rgba(0,0,0,.05) 0%,transparent 70%)}.click-ripple{position:absolute;border-radius:50%;background:#ffffff4d;transform:scale(0);animation:ripple .6s linear;pointer-events:none;z-index:1000}.light .click-ripple{background:#0000004d}@keyframes ripple{to{transform:scale(4);opacity:0}}.skeleton{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a,#ffffff0d 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-sm)}.light .skeleton{background:linear-gradient(90deg,#0000000d 25%,#0000001a,#0000000d 75%)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1em;margin-bottom:.5em}.skeleton-title{height:2em;width:60%;margin-bottom:1em}.skeleton-button{height:2.5em;width:120px}.global-loader{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--color-surface);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;animation:fadeIn .3s ease-out forwards}.loader-content{text-align:center;color:var(--color-text-primary)}.loader-spinner{width:40px;height:40px;border:2px solid rgba(255,255,255,.2);border-top:2px solid rgba(255,255,255,.8);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.light .loader-spinner{border:2px solid rgba(0,0,0,.2);border-top:2px solid rgba(0,0,0,.8)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loader-text{font-size:var(--font-sm);letter-spacing:.1em;text-transform:uppercase}.high-contrast{--color-primary: #ffffff;--color-text-primary: #ffffff;--color-text-secondary: #cccccc}.high-contrast .spotlight{display:none}.fade-in-up{animation:fadeInUp .6s ease-out forwards}.fade-out-down{animation:fadeOutDown .4s ease-in forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(30px)}}*:focus{transition:outline .2s ease,box-shadow .2s ease}a{position:relative;transition:color .3s ease}a:not(.project-link):not(.social-link):not(.brand-link):hover{color:#ffffffe6}.light a:not(.project-link):not(.social-link):not(.brand-link):hover{color:#000000e6}.project-item:hover,.project-featured:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000026}.light .project-item:hover,.light .project-featured:hover{box-shadow:0 12px 40px #0000001a}.tech-item{transition:all .3s cubic-bezier(.4,0,.2,1)}.tech-item:hover{background:#ffffff1a;transform:translateY(-2px)}.light .tech-item:hover{background:#0000001a}.social-link{transition:all .3s cubic-bezier(.4,0,.2,1)}.social-link:hover{transform:translateY(-2px);box-shadow:0 6px 15px #fff3}.light .social-link:hover{box-shadow:0 6px 15px #0003}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.spotlight,.floating{display:none!important}}.hero-circle,.hero-line-1,.hero-line-2,.about-line-1,.about-line-2,.projects-line-1,.projects-line-2{will-change:transform;transform:translateZ(0)}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}#minimal-hero{display:none}html.minimalist body{background:radial-gradient(1200px 800px at 20% 20%,var(--color-surface-elevated),var(--color-surface));color:var(--color-text-primary)}html.minimalist body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:var(--gradient-noise);opacity:.03;z-index:var(--z-base)}html.minimalist .portfolio-body:before{content:none!important}html.light.minimalist body{background:radial-gradient(1200px 800px at 20% 20%,var(--light-bg-tertiary),var(--light-bg-primary));color:var(--light-text-primary)}html.minimalist #hero,html.minimalist #about,html.minimalist #projects,html.minimalist #contact{display:none!important}html.minimalist #minimal-hero{display:grid;place-items:center;min-height:100svh;padding:var(--space-20) var(--space-8)}.minimal-hero-inner{display:grid;gap:var(--space-4);align-content:center;justify-items:center;max-width:1100px;margin:0 auto;text-wrap:balance}.minimal-topline{font-size:var(--font-xs);letter-spacing:.22em;color:var(--color-text-secondary);text-transform:uppercase;opacity:.6;animation:fade-in .7s ease-out both .12s}.minimal-tagline{font-size:clamp(.9rem,2.2vw,1.125rem);line-height:1.2;letter-spacing:.2em;font-weight:400;text-transform:uppercase;color:var(--color-text-secondary);opacity:.8;animation:fade-in .7s ease-out both .22s}.light .minimal-tagline{color:var(--light-text-primary)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}html.minimalist .minimal-fab{position:fixed;top:var(--space-6);right:var(--space-6);width:10px;height:10px;border-radius:var(--radius-full);background:currentColor;color:var(--color-text-secondary);opacity:.4;border:none;padding:12px;background-clip:content-box;cursor:pointer;transition:opacity var(--transition-fast),color var(--transition-fast)}html.minimalist .minimal-fab:hover,html.minimalist .minimal-fab:focus-visible{opacity:.85;color:var(--color-text-primary);outline:none}html,body{min-height:100vh;min-height:100dvh}.hidden{display:none!important}.grid-pattern{background-image:linear-gradient(rgba(0,0,0,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.05) 1px,transparent 1px);background-size:50px 50px}.dark .grid-pattern{background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px)}.dot-pattern{background-image:radial-gradient(circle,rgba(0,0,0,.1) 1px,transparent 1px);background-size:20px 20px}.dark .dot-pattern{background-image:radial-gradient(circle,rgba(255,255,255,.1) 1px,transparent 1px)}.pulse-dot{position:relative;display:inline-block;width:8px;height:8px;background-color:var(--light-accent-warning);border-radius:50%;margin-right:6px}.dark .pulse-dot{background-color:var(--dark-accent-warning)}.pulse-dot:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;background-color:var(--light-accent-warning);opacity:.7;animation:pulse 1.5s infinite}.dark .pulse-dot:after{background-color:var(--dark-accent-warning)}.hide-mobile{display:block}.show-mobile{display:none}@media (max-width: 768px){.hide-mobile{display:none}.show-mobile{display:block}}.text-balance{text-wrap:balance}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.aspect-portrait{aspect-ratio:3 / 4}.social-link{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--dark-bg-secondary);border-radius:var(--radius-full);color:var(--dark-text-secondary);transition:all var(--transition-base)}.social-link:hover{background:#ffffff1a;color:#ffffffe6;transform:translateY(-2px)}.light .social-link{background:var(--light-bg-secondary);color:var(--light-text-secondary)}.light .social-link:hover{background:#0000001a;color:#000000e6}.social-link svg{width:1.5rem;height:1.5rem}.portfolio-body{min-height:100vh;min-height:100dvh;position:relative}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.dark body{background-color:var(--dark-bg-primary);color:var(--dark-text-primary)}.dark h2{color:var(--dark-text-primary)}.dark header{background-color:#0f0f0fe6;box-shadow:0 4px 15px -1px var(--dark-shadow);border-bottom:1px solid var(--dark-border)}.dark .neumorphic-card,.dark .neumorphic-card-dark{background-color:var(--dark-bg-card);box-shadow:8px 8px 16px #0006,-8px -8px 16px #232325;border:1px solid var(--dark-card-border);color:var(--dark-text-primary)}.dark .neumorphic-button,.dark .neumorphic-button-dark{background-color:var(--dark-bg-card);box-shadow:4px 4px 8px #0006,-4px -4px 8px #18181a;color:var(--dark-accent-primary);border:1px solid var(--dark-card-border)}.dark .pulse-dot{background-color:#fbbf24}.dark .pulse-dot:after{background-color:#fbbf24}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.bottom-4{bottom:1rem}.left-1\/2{left:50%}.right-4{right:1rem}.top-1\/2{top:50%}.top-4{top:1rem}.z-40{z-index:40}.z-50{z-index:50}.col-span-1{grid-column:span 1 / span 1}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-2{height:.5rem}.h-5{height:1.25rem}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-32{width:8rem}.w-5{width:1.25rem}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-6xl{max-width:72rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.border-t{border-top-width:1px}.border-amber-300{--tw-border-opacity: 1;border-color:rgb(252 211 77 / var(--tw-border-opacity, 1))}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.border-fuchsia-300{--tw-border-opacity: 1;border-color:rgb(240 171 252 / var(--tw-border-opacity, 1))}.border-gray-400{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.border-gray-500{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.border-green-300{--tw-border-opacity: 1;border-color:rgb(134 239 172 / var(--tw-border-opacity, 1))}.border-green-800{--tw-border-opacity: 1;border-color:rgb(22 101 52 / var(--tw-border-opacity, 1))}.border-indigo-300{--tw-border-opacity: 1;border-color:rgb(165 180 252 / var(--tw-border-opacity, 1))}.border-orange-300{--tw-border-opacity: 1;border-color:rgb(253 186 116 / var(--tw-border-opacity, 1))}.border-orange-800{--tw-border-opacity: 1;border-color:rgb(154 52 18 / var(--tw-border-opacity, 1))}.border-purple-300{--tw-border-opacity: 1;border-color:rgb(216 180 254 / var(--tw-border-opacity, 1))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.border-red-500\/50{border-color:#ef444480}.border-red-800{--tw-border-opacity: 1;border-color:rgb(153 27 27 / var(--tw-border-opacity, 1))}.border-sky-300{--tw-border-opacity: 1;border-color:rgb(125 211 252 / var(--tw-border-opacity, 1))}.border-slate-600{--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-yellow-400{--tw-border-opacity: 1;border-color:rgb(250 204 21 / var(--tw-border-opacity, 1))}.border-yellow-800{--tw-border-opacity: 1;border-color:rgb(133 77 14 / var(--tw-border-opacity, 1))}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-fuchsia-100{--tw-bg-opacity: 1;background-color:rgb(250 232 255 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-green-900{--tw-bg-opacity: 1;background-color:rgb(20 83 45 / var(--tw-bg-opacity, 1))}.bg-indigo-100{--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity, 1))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity, 1))}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-orange-900{--tw-bg-opacity: 1;background-color:rgb(124 45 18 / var(--tw-bg-opacity, 1))}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-red-900{--tw-bg-opacity: 1;background-color:rgb(127 29 29 / var(--tw-bg-opacity, 1))}.bg-sky-100{--tw-bg-opacity: 1;background-color:rgb(224 242 254 / var(--tw-bg-opacity, 1))}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.bg-yellow-200{--tw-bg-opacity: 1;background-color:rgb(254 240 138 / var(--tw-bg-opacity, 1))}.bg-yellow-400{--tw-bg-opacity: 1;background-color:rgb(250 204 21 / var(--tw-bg-opacity, 1))}.bg-yellow-900{--tw-bg-opacity: 1;background-color:rgb(113 63 18 / var(--tw-bg-opacity, 1))}.bg-opacity-20{--tw-bg-opacity: .2}.bg-opacity-90{--tw-bg-opacity: .9}.bg-opacity-95{--tw-bg-opacity: .95}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-\[\'Inter\'\]{font-family:Inter}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-fuchsia-800{--tw-text-opacity: 1;color:rgb(134 25 143 / var(--tw-text-opacity, 1))}.text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-indigo-800{--tw-text-opacity: 1;color:rgb(55 48 163 / var(--tw-text-opacity, 1))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-orange-800{--tw-text-opacity: 1;color:rgb(154 52 18 / var(--tw-text-opacity, 1))}.text-purple-800{--tw-text-opacity: 1;color:rgb(107 33 168 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-sky-800{--tw-text-opacity: 1;color:rgb(7 89 133 / var(--tw-text-opacity, 1))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-300{--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.text-yellow-900{--tw-text-opacity: 1;color:rgb(113 63 18 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.opacity-75{opacity:.75}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.hover\:bg-amber-200:hover{--tw-bg-opacity: 1;background-color:rgb(253 230 138 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-200:hover{--tw-bg-opacity: 1;background-color:rgb(191 219 254 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-fuchsia-200:hover{--tw-bg-opacity: 1;background-color:rgb(245 208 254 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-300:hover{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-500:hover{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-600:hover{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.hover\:bg-green-200:hover{--tw-bg-opacity: 1;background-color:rgb(187 247 208 / var(--tw-bg-opacity, 1))}.hover\:bg-indigo-200:hover{--tw-bg-opacity: 1;background-color:rgb(199 210 254 / var(--tw-bg-opacity, 1))}.hover\:bg-orange-200:hover{--tw-bg-opacity: 1;background-color:rgb(254 215 170 / var(--tw-bg-opacity, 1))}.hover\:bg-purple-200:hover{--tw-bg-opacity: 1;background-color:rgb(233 213 255 / var(--tw-bg-opacity, 1))}.hover\:bg-red-200:hover{--tw-bg-opacity: 1;background-color:rgb(254 202 202 / var(--tw-bg-opacity, 1))}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\:bg-sky-200:hover{--tw-bg-opacity: 1;background-color:rgb(186 230 253 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-700:hover{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.hover\:bg-yellow-200:hover{--tw-bg-opacity: 1;background-color:rgb(254 240 138 / var(--tw-bg-opacity, 1))}.hover\:bg-yellow-300:hover{--tw-bg-opacity: 1;background-color:rgb(253 224 71 / var(--tw-bg-opacity, 1))}.hover\:opacity-100:hover{opacity:1}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width: 640px){.sm\:inline{display:inline}.sm\:hidden{display:none}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 768px){.md\:col-span-2{grid-column:span 2 / span 2}.md\:block{display:block}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:p-8{padding:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}}@media (min-width: 1024px){.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}
