@custom-variant dark (&:is(.dark *));:root{--font-size: 16px;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--background: #ffffff;--foreground: oklch(.145 0 0);--card: #ffffff;--card-foreground: oklch(.145 0 0);--popover: oklch(1 0 0);--popover-foreground: oklch(.145 0 0);--primary: #030213;--primary-foreground: oklch(1 0 0);--secondary: oklch(.95 .0058 264.53);--secondary-foreground: #030213;--muted: #ececf0;--muted-foreground: #717182;--accent: #e9ebef;--accent-foreground: #030213;--destructive: #d4183d;--destructive-foreground: #ffffff;--border: rgba(0, 0, 0, .1);--input: transparent;--input-background: #f3f3f5;--switch-background: #cbced4;--font-weight-medium: 500;--font-weight-normal: 400;--ring: oklch(.708 0 0);--chart-1: oklch(.646 .222 41.116);--chart-2: oklch(.6 .118 184.704);--chart-3: oklch(.398 .07 227.392);--chart-4: oklch(.828 .189 84.429);--chart-5: oklch(.769 .188 70.08);--radius: .625rem;--sidebar: oklch(.985 0 0);--sidebar-foreground: oklch(.145 0 0);--sidebar-primary: #030213;--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.97 0 0);--sidebar-accent-foreground: oklch(.205 0 0);--sidebar-border: oklch(.922 0 0);--sidebar-ring: oklch(.708 0 0)}.dark{--background: oklch(.145 0 0);--foreground: oklch(.985 0 0);--card: oklch(.145 0 0);--card-foreground: oklch(.985 0 0);--popover: oklch(.145 0 0);--popover-foreground: oklch(.985 0 0);--primary: oklch(.985 0 0);--primary-foreground: oklch(.205 0 0);--secondary: oklch(.269 0 0);--secondary-foreground: oklch(.985 0 0);--muted: oklch(.269 0 0);--muted-foreground: oklch(.708 0 0);--accent: oklch(.269 0 0);--accent-foreground: oklch(.985 0 0);--destructive: oklch(.396 .141 25.723);--destructive-foreground: oklch(.637 .237 25.331);--border: oklch(.269 0 0);--input: oklch(.269 0 0);--ring: oklch(.439 0 0);--font-weight-medium: 500;--font-weight-normal: 400;--chart-1: oklch(.488 .243 264.376);--chart-2: oklch(.696 .17 162.48);--chart-3: oklch(.769 .188 70.08);--chart-4: oklch(.627 .265 303.9);--chart-5: oklch(.645 .246 16.439);--sidebar: oklch(.205 0 0);--sidebar-foreground: oklch(.985 0 0);--sidebar-primary: oklch(.488 .243 264.376);--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.269 0 0);--sidebar-accent-foreground: oklch(.985 0 0);--sidebar-border: oklch(.269 0 0);--sidebar-ring: oklch(.439 0 0)}@theme inline{ --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive); --color-destructive-foreground: var(--destructive-foreground); --color-border: var(--border); --color-input: var(--input); --color-input-background: var(--input-background); --color-switch-background: var(--switch-background); --color-ring: var(--ring); --color-chart-1: var(--chart-1); --color-chart-2: var(--chart-2); --color-chart-3: var(--chart-3); --color-chart-4: var(--chart-4); --color-chart-5: var(--chart-5); --radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 4px); --color-sidebar: var(--sidebar); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-border: var(--sidebar-border); --color-sidebar-ring: var(--sidebar-ring); }@layer base{*{@apply border-border outline-ring/50;}body{@apply bg-background text-foreground;}}@layer base{:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h1{font-size:var(--text-2xl);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h2{font-size:var(--text-xl);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h3{font-size:var(--text-lg);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h4{font-size:var(--text-base);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) p{font-size:var(--text-base);font-weight:var(--font-weight-normal);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) label,:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) button{font-size:var(--text-base);font-weight:var(--font-weight-medium);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) input{font-size:var(--text-base);font-weight:var(--font-weight-normal);line-height:1.5}}html{font-size:var(--font-size)}:root{--color-primary: #1a2332;--color-secondary: #2d3e50;--color-accent: #ff6b35;--color-accent-light: #ffa06b;--color-text: #2c3e50;--color-text-light: #7f8c8d;--color-bg: #ffffff;--color-bg-alt: #f8f9fa;--color-border: #e1e8ed;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-xxl: 4rem;--radius: 12px;--radius-lg: 16px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .15);--shadow-glow: 0 0 20px rgba(255, 107, 53, .2)}*{margin:0;padding:0;box-sizing:border-box}html{background-color:#764ba2}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;color:var(--color-text);background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);background-attachment:fixed;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative;min-height:100vh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background-size:cover}body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% 50%,rgba(255,107,53,.08) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(102,126,234,.08) 0%,transparent 50%),radial-gradient(circle at 40% 90%,rgba(118,75,162,.08) 0%,transparent 50%);pointer-events:none;z-index:1}.app{min-height:100vh;min-height:-webkit-fill-available;position:relative;z-index:2;background:inherit}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.header{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);color:#fff;padding:var(--spacing-sm) 0;box-shadow:var(--shadow-lg);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,255,255,.03) 10px,rgba(255,255,255,.03) 20px),repeating-linear-gradient(-45deg,transparent,transparent 10px,rgba(255,255,255,.03) 10px,rgba(255,255,255,.03) 20px);opacity:.5}.header-content{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;position:relative;z-index:1}.profile{display:flex;align-items:center;gap:var(--spacing-sm)}.avatar{width:60px;height:60px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.3);box-shadow:var(--shadow-md),var(--shadow-glow);transition:transform .3s ease}.avatar:hover{transform:scale(1.05)}.profile-info{display:flex;flex-direction:column;gap:.2rem}.name{font-size:1.3rem;font-weight:700;letter-spacing:-.5px;text-shadow:2px 2px 4px rgba(0,0,0,.2);line-height:1.2}.title{font-size:.8rem;opacity:.9;font-weight:400;line-height:1.3}.contact{display:flex;gap:var(--spacing-md)}.contact-column{display:flex;flex-direction:column;gap:.3rem}.contact-item{display:flex;align-items:center;gap:.4rem;color:#fff;text-decoration:none;padding:.3rem .6rem;border-radius:var(--radius);transition:all .3s ease;font-size:.8rem;position:relative;overflow:hidden;white-space:nowrap}.contact-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:#fff3;transition:left .3s ease}.contact-item:hover:before{left:0}.contact-item:hover{background:#ffffff26;transform:translate(5px)}.main{max-width:1200px;margin:0 auto;padding:var(--spacing-xl) var(--spacing-md);display:grid;gap:var(--spacing-xl)}.section{background:var(--color-bg);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;animation:fadeInUp .6s ease-out backwards}.section:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.section:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--color-accent) 0%,var(--color-accent-light) 100%)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.section:nth-child(1){animation-delay:.1s}.section:nth-child(2){animation-delay:.2s}.section:nth-child(3){animation-delay:.3s}.section:nth-child(4){animation-delay:.4s}.section:nth-child(5){animation-delay:.5s}.section-title{font-size:1.85rem;margin-bottom:var(--spacing-md);color:var(--color-primary);position:relative;padding-bottom:var(--spacing-sm);font-weight:700}.section-title:after{content:"";position:absolute;bottom:0;left:0;width:70px;height:4px;background:linear-gradient(90deg,var(--color-accent) 0%,var(--color-accent-light) 100%);border-radius:2px;box-shadow:0 2px 8px #ff6b354d}.about-text{font-size:1.05rem;line-height:1.8;color:var(--color-text)}.expertise-list{list-style:none;display:grid;gap:var(--spacing-md)}.expertise-item{padding:var(--spacing-md);background:linear-gradient(135deg,#f8f9fa,#fff);border-radius:var(--radius);border-left:4px solid var(--color-accent);box-shadow:var(--shadow-sm);transition:all .3s ease;position:relative}.expertise-item:hover{transform:translate(8px);box-shadow:var(--shadow-md);border-left-width:6px}.expertise-item:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,107,53,.05) 0%,transparent 100%);border-radius:var(--radius);opacity:0;transition:opacity .3s ease}.expertise-item:hover:before{opacity:1}.expertise-title{font-size:1.1rem;margin-bottom:var(--spacing-xs);color:var(--color-primary)}.expertise-skills{color:var(--color-text-light);line-height:1.7}.timeline{position:relative;padding-left:var(--spacing-lg)}.timeline:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background:linear-gradient(180deg,var(--color-accent) 0%,var(--color-accent-light) 50%,var(--color-border) 100%);border-radius:2px}.timeline-item{position:relative;padding-bottom:var(--spacing-xl)}.timeline-item:last-child{padding-bottom:0}.timeline-marker{position:absolute;left:calc(-1 * var(--spacing-lg) - 7px);top:8px;width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-light) 100%);border:3px solid var(--color-bg);box-shadow:0 0 0 3px var(--color-border),var(--shadow-glow);transition:all .3s ease}.timeline-item:hover .timeline-marker{transform:scale(1.3);box-shadow:0 0 0 4px #ff6b3533,var(--shadow-glow)}.timeline-content{display:grid;gap:var(--spacing-sm)}.period{font-size:.9rem;color:var(--color-accent);font-weight:600}.position{font-size:1.2rem;color:var(--color-primary)}.company{color:var(--color-text-light);font-style:italic}.achievements{list-style:none;display:grid;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.achievements li{padding-left:var(--spacing-md);position:relative;line-height:1.6}.achievements li:before{content:"•";position:absolute;left:0;color:var(--color-accent);font-weight:700}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md)}.project-card{padding:var(--spacing-md);background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:var(--radius-lg);border-top:4px solid var(--color-accent);transition:all .3s ease;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-accent) 0%,var(--color-accent-light) 100%);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.project-card:hover:before{transform:scaleX(1)}.project-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.project-title{font-size:1.1rem;margin-bottom:var(--spacing-sm);color:var(--color-primary)}.project-description{color:var(--color-text-light);line-height:1.6}.sidebar-section{display:grid;gap:var(--spacing-xl)}.education-content{display:flex;gap:var(--spacing-md);align-items:start}.education-icon{flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-light) 100%);color:#fff;border-radius:var(--radius);box-shadow:var(--shadow-md),var(--shadow-glow);transition:transform .3s ease}.education-icon:hover{transform:rotate(5deg) scale(1.1)}.education-details{display:grid;gap:var(--spacing-xs)}.degree{font-size:1.1rem;color:var(--color-primary)}.field{color:var(--color-text-light);font-size:.95rem}.university{color:var(--color-text)}.year{color:var(--color-accent);font-weight:600;font-size:.9rem}.skills-wrapper{display:grid;gap:var(--spacing-xl)}.skills-list{list-style:none;display:grid;gap:var(--spacing-sm)}.skill-item{padding:var(--spacing-sm) var(--spacing-md);background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:var(--radius);color:var(--color-text);display:flex;align-items:center;gap:var(--spacing-xs);box-shadow:var(--shadow-sm);transition:all .3s ease;border-left:3px solid transparent}.skill-item:hover{transform:translate(8px);border-left-color:var(--color-accent);box-shadow:var(--shadow-md)}.skill-item:before{content:"✓";color:var(--color-accent);font-weight:700;font-size:1.2rem;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#ff6b351a;border-radius:50%}.language-list{list-style:none;display:grid;gap:var(--spacing-sm)}.language-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:all .3s ease}.language-item:hover{transform:scale(1.03);box-shadow:var(--shadow-md)}.language-name{font-weight:600;color:var(--color-primary)}.language-level{color:var(--color-text-light);font-size:.9rem}@media(max-width:768px){body,.app{overflow-x:hidden;width:100%}.container{max-width:100vw;padding-left:var(--spacing-md);padding-right:var(--spacing-md);box-sizing:border-box}.header-content,.profile,.contact,.contact-column,.contact-item{max-width:100%}.header{position:relative;padding:var(--spacing-sm) 0}.header-content{flex-direction:column;text-align:center;gap:var(--spacing-sm)}.profile{flex-direction:row;text-align:left;gap:var(--spacing-sm)}.contact{justify-content:flex-start;text-align:left;width:100%;flex-wrap:nowrap}.contact-column{align-items:flex-start;min-width:0;flex:1}.contact-item{justify-content:flex-start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-item:hover{transform:scale(1.02)}.name{font-size:1.1rem}.title{font-size:.75rem}.avatar{width:50px;height:50px}.project-grid{grid-template-columns:1fr}.section{padding:var(--spacing-md)}.main{padding:var(--spacing-md);gap:var(--spacing-md)}.section-title{font-size:1.5rem}.timeline{padding-left:var(--spacing-md)}.timeline-marker{left:calc(-1 * var(--spacing-md) - 7px)}.timeline-content{margin-left:0}.expertise-item:hover,.skill-item:hover{transform:translate(4px)}}@media(max-width:480px){.header{padding:.75rem 0}.name{font-size:1rem}.title{font-size:.7rem}.avatar{width:45px;height:45px}.section-title{font-size:1.35rem}.about-text{font-size:1rem}.contact-item{font-size:.75rem;padding:.25rem var(--spacing-xs)}.contact-item svg{width:14px;height:14px}}@media(min-width:1024px){.sidebar-section{grid-template-columns:1fr 1fr}}
