@import url("https://fonts.googleapis.com/css2?family=Fragment+Mono&display=swap");:root{--container-width:1200px;--gap:1rem;--radius:10px;--accent:rgba(255,255,255,0.18);--muted:#6b7280;--footer-padding-vertical:2.25rem;--footer-padding-horizontal:1.5rem;--footer-radius:12px;--font-size-hero:3.5rem;--font-size-h1:2.5rem;--font-size-h2:2rem;--font-size-h3:1.5rem;--font-size-body-large:1.25rem;--font-size-body:1rem;--font-size-small:.875rem;--font-size-xs:.75rem;--font-weight-black:900;--font-weight-bold:700;--font-weight-semibold:600;--font-weight-medium:500;--font-weight-regular:400;--font-weight-light:300;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:2.5rem;--space-3xl:3rem;--space-4xl:4rem;--space-5xl:5rem;--space-6xl:6rem;--section-spacing-top:var(--space-5xl);--section-spacing-bottom:var(--space-4xl);--content-spacing:var(--space-xl);--element-spacing:var(--space-lg);--content-max-width:1200px;--content-padding-x:var(--space-xl);--content-padding-y:var(--space-3xl);--space-blue-deep:#1e3a8a;--space-blue-primary:#1e40af;--space-blue-medium:#2563eb;--space-blue-light:#3b82f6;--space-blue-pale:#eff6ff;--cosmic-black:#000;--space-black:#000;--space-gray-dark:#374151;--space-gray-900:#111827;--space-gray-800:#1f2937;--space-gray-700:#374151;--space-gray-600:#4b5563;--space-gray-400:#9ca3af;--space-gray-200:#e5e7eb;--pure-white:#fff;--space-white:#f9fafb;--off-white:#f3f4f6;--primary-color:var(--space-blue-primary);--primary-dark:var(--space-blue-deep);--primary-light:var(--space-blue-medium);--secondary-color:var(--space-blue-light);--accent-color:var(--space-blue-pale);--primary-gradient:linear-gradient(135deg,var(--space-blue-deep) 0,var(--space-blue-primary) 100%);--secondary-gradient:linear-gradient(135deg,var(--space-blue-medium),var(--space-blue-light));--interactive-gradient:linear-gradient(135deg,var(--space-blue-primary) 0,var(--space-blue-deep) 100%);--bg-gradient-light:linear-gradient(135deg,var(--pure-white) 0,var(--space-white) 100%);--bg-gradient-dark:linear-gradient(135deg,var(--cosmic-black) 0,var(--space-gray-900) 100%);--cosmic-gradient:var(--bg-gradient-dark);--text-primary:var(--space-gray-900);--text-secondary:var(--space-gray-600);--text-muted:var(--space-gray-400);--text-light:var(--space-gray-200);--text-white:var(--pure-white);--bg-light:var(--pure-white);--bg-light-secondary:var(--space-white);--bg-medium:var(--off-white);--bg-dark:var(--space-gray-900);--bg-dark-secondary:var(--space-gray-800);--shadow-light:rgba(0,0,0,0.05);--shadow-medium:rgba(0,0,0,0.1);--shadow-heavy:rgba(0,0,0,0.15);--shadow-cosmic:rgba(0,71,171,0.2);--shadow-blue:rgba(30,58,138,0.15);--interactive-bg:rgba(30,58,138,0.08);--interactive-bg-hover:rgba(30,58,138,0.15);--interactive-border:rgba(30,58,138,0.25);--interactive-shadow:var(--shadow-blue);--focus-ring:rgba(102,126,234,0.5);--focus-outline:3px solid var(--focus-ring);--breakpoint-mobile:480px;--breakpoint-tablet:768px;--breakpoint-desktop:1024px;--breakpoint-large:1200px}*{margin:0;padding:0;font-size:100%;font:inherit;vertical-align:baseline;font-family:"Fragment Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,"Roboto Mono",monospace;scroll-behavior:smooth}.portfolio-body::-webkit-scrollbar{width:18px;height:1px}.portfolio-body::-webkit-scrollbar-track{background:var(--pure-white)}.portfolio-body::-webkit-scrollbar-thumb{background-color:var(--space-blue-primary);border-radius:20px;border:3px solid var(--pure-white)}.portfolio-body{color:var(--text-primary);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;background:var(--bg-gradient-light);background-attachment:fixed;position:relative}.portfolio-main{background:transparent;transition:background-color .45s ease,color .45s ease;scroll-behavior:smooth;border-radius:0 0 var(--footer-radius) var(--footer-radius);box-shadow:0 0 20px var(--shadow-light);overflow:hidden}*:focus-visible{outline:var(--focus-outline);outline-offset:2px;border-radius:4px}.dark-theme.portfolio-body,html.dark-theme .portfolio-body{background:var(--bg-gradient-dark);color:var(--text-white)}.dark-theme.portfolio-body::-webkit-scrollbar-thumb{background-color:var(--space-blue-light);border:3px solid var(--cosmic-black)}.dark-theme.portfolio-body::-webkit-scrollbar-thumb:hover{background-color:var(--space-blue-medium)}.dark-theme .portfolio-main{background:transparent;box-shadow:0 0 20px var(--shadow-cosmic)}.portfolio-header{background:linear-gradient(135deg,var(--pure-white) 0,var(--space-blue-pale) 100%);text-align:center;box-shadow:0 4px 20px var(--shadow-light);border-bottom:2px solid var(--space-blue-pale);backdrop-filter:blur(10px);position:relative;overflow:hidden}.skip-link{position:absolute;top:-100px;left:0;background:var(--space-blue-medium);color:white;padding:1rem 2rem;z-index:9999;transition:top .3s ease;text-decoration:none;font-weight:bold;border-radius:0 0 8px 0}.skip-link:focus{top:0}.nav-menu{display:flex;justify-content:space-between;align-items:center;padding:0 2rem;max-width:1200px;margin:0 auto}@media(max-width:768px){.nav-menu{padding:0 1rem}}.nav-links{display:flex;gap:1rem}@media(max-width:480px){.nav-links{gap:.5rem}}.nav-item{padding:20px 10px;display:inline-block;font-size:1.1rem;color:var(--space-blue-primary);transition:all .3s ease;opacity:.9;border-bottom:2px solid transparent;position:relative;z-index:1}@media(max-width:768px){.nav-item{padding:15px 5px;font-size:.95rem}}@media(max-width:480px){.nav-item{padding:12px 4px;font-size:.85rem}}.nav-item:hover{transform:scale(1.05) translateY(-2px);opacity:1;border-bottom-color:var(--space-blue-medium);color:var(--space-blue-deep);text-shadow:0 2px 10px rgba(59,130,246,0.2)}.nav-link:focus-visible,.nav-item:focus-visible{outline:var(--focus-outline);outline-offset:2px;border-radius:4px}.dark-theme .portfolio-header{background:linear-gradient(135deg,var(--cosmic-black) 0,var(--space-gray-900) 100%);border-bottom:2px solid var(--space-blue-medium);box-shadow:0 4px 20px var(--shadow-cosmic);position:relative}.dark-theme .nav-item{color:var(--space-blue-light);text-shadow:0 0 10px rgba(96,165,250,0.3)}.dark-theme .nav-item:hover{border-bottom-color:var(--space-blue-light);text-shadow:0 0 15px rgba(96,165,250,0.5);color:var(--space-white)}.dark-theme .favicon-icon{background:rgba(59,130,246,0.1);border:1px solid rgba(59,130,246,0.2)}.dark-theme .favicon-icon:hover{background:rgba(59,130,246,0.2);box-shadow:0 6px 16px rgba(59,130,246,0.3)}#photo{width:22rem;height:22rem;border-radius:100%;object-fit:cover;flex-shrink:0;transition:transform 300ms ease}#photo:hover{transform:scale(1.05)}.icons-favicon img{padding-top:1rem;width:4rem;height:4rem;object-fit:contain}.favicon-icon{max-width:100%;transition:transform .3s ease,opacity .3s ease;background:rgba(255,255,255,0.1);padding:8px;margin:0 .5rem}.favicon-icon:hover{transform:scale(1.1);transition:transform .3s ease}.header-controls{display:flex;align-items:center;gap:1.5rem;margin-left:1rem}@media(max-width:768px){.header-controls{gap:.75rem;margin-left:.5rem}}@media(max-width:480px){.header-controls{gap:.4rem}}.control-btn{background:transparent;border:none;font-family:inherit;font-size:1.1rem;font-weight:700;color:var(--space-blue-primary);cursor:pointer;padding:.5rem;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:40px;border-radius:8px}.control-btn:hover{background:var(--interactive-bg);color:var(--space-blue-deep);transform:translateY(-2px)}.control-btn i{font-size:1.2rem;color:inherit;opacity:1!important;display:inline-block}.dark-theme .control-btn{color:var(--space-blue-light)}.dark-theme .control-btn:hover{background:rgba(59,130,246,0.1);color:var(--pure-white);text-shadow:0 0 10px rgba(96,165,250,0.5)}.dark-theme .favicon-icon{background:rgba(59,130,246,0.1);border:1px solid rgba(59,130,246,0.2)}.dark-theme .favicon-icon:hover{background:rgba(59,130,246,0.2);box-shadow:0 6px 16px rgba(59,130,246,0.3)}.portfolio-section{padding:var(--section-spacing-top) var(--content-padding-x) var(--section-spacing-bottom);max-width:var(--content-max-width);margin:0 auto var(--space-5xl) auto;transition:opacity .6s ease,transform .6s ease;background:linear-gradient(135deg,var(--bg-light) 0,var(--bg-light-secondary) 100%);border-radius:16px;box-shadow:0 4px 20px var(--shadow-light);backdrop-filter:blur(8px);position:relative;overflow:hidden}.portfolio-section h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);color:var(--space-black);margin-bottom:var(--space-3xl);position:relative;text-align:center}.portfolio-section h1::after{content:"";position:absolute;bottom:-12px;left:50%;transform:translateX(-50%);width:100px;height:4px;background:linear-gradient(90deg,var(--space-blue-deep) 0,var(--space-blue-medium) 100%);border-radius:2px}.infos{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4xl);text-align:left}.texts{flex:1;max-width:60%;display:flex;flex-direction:column;gap:var(--space-lg)}.texts p{font-size:var(--font-size-body-large);font-weight:var(--font-weight-regular);color:var(--space-gray-600);line-height:1.6;margin:0;letter-spacing:.01em}.texts h1{font-size:var(--font-size-hero);font-weight:var(--font-weight-black);color:var(--space-black);margin-bottom:var(--space-sm);line-height:1.1;letter-spacing:-0.02em;position:relative;background:linear-gradient(135deg,var(--space-black) 0,var(--space-blue-deep) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 4px 20px rgba(0,71,171,0.15)}.texts h2{font-size:var(--font-size-hero);font-weight:var(--font-weight-black);color:var(--space-black);margin-bottom:var(--space-lg);line-height:1.1;letter-spacing:-0.02em;position:relative;background:linear-gradient(135deg,var(--space-black) 0,var(--space-blue-deep) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 4px 20px rgba(0,71,171,0.15)}.texts h2::after{content:"";position:absolute;bottom:-12px;left:0;width:200px;height:6px;background:linear-gradient(90deg,var(--space-blue-deep) 0,var(--space-blue-medium) 100%);border-radius:3px;box-shadow:0 2px 10px rgba(59,130,246,0.3)}.about{text-align:left}.about div{display:flex;align-items:flex-start;gap:var(--space-4xl);overflow:visible}.about img{width:20rem;height:20rem;border-radius:12px;object-fit:cover;flex-shrink:0;box-shadow:0 8px 25px rgba(0,0,0,0.1);transition:transform .3s ease}.about img:hover{transform:translateY(-4px) scale(1.02)}.about h1::after{left:0;transform:none}.about p{font-size:var(--font-size-body);font-weight:var(--font-weight-regular);color:var(--space-gray-700);line-height:1.7;margin:0;letter-spacing:.01em;text-align:left;flex:1}.skill-groups{display:flex;flex-direction:column;gap:2rem}.skill-groups h3{text-align:center;margin-bottom:1rem;color:var(--space-blue-light)}.timeline-content ul{margin:10px 0 10px 20px;list-style:disc;color:inherit}.timeline-content ul li{margin-bottom:.4rem;line-height:1.5}.skills{background:linear-gradient(135deg,var(--bg-dark) 0,var(--bg-dark-secondary) 100%);text-align:center}.skill-image{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,140px));gap:2rem;margin-top:var(--space-lg);padding:var(--space-xl);justify-content:center;align-items:center}.code-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-lg);background:linear-gradient(135deg,rgba(255,255,255,0.1) 0,rgba(255,255,255,0.05) 100%);border:2px solid rgba(255,255,255,0.1);border-radius:16px;transition:all .4s cubic-bezier(0.175,0.885,0.32,1.275);position:relative;overflow:hidden;width:160px;height:160px;cursor:pointer;backdrop-filter:blur(10px)}.code-icon:hover{transform:translateY(-8px) scale(1.02);border-color:var(--space-blue-medium);background:linear-gradient(135deg,rgba(59,130,246,0.15) 0,rgba(147,197,253,0.1) 100%);box-shadow:0 20px 40px rgba(59,130,246,0.2),0 0 20px rgba(59,130,246,0.1)}.code-icon::before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,0.1),transparent);transform:rotate(45deg) translate(-100%,-100%);transition:transform .6s ease}.code-icon:hover::before{transform:rotate(45deg) translate(100%,100%)}.code-icon p{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--space-white);margin-bottom:var(--space-md);text-align:center;position:relative;z-index:2;transition:all .3s ease}.code-icon:hover p{color:var(--space-blue-light);text-shadow:0 2px 8px rgba(59,130,246,0.3)}.code-icon img{width:4rem;height:4rem;transition:all .4s cubic-bezier(0.175,0.885,0.32,1.275);filter:brightness(1.1) drop-shadow(0 4px 8px rgba(0,0,0,0.1));position:relative;z-index:2}.code-icon:hover img{transform:scale(1.1) rotate(5deg);filter:brightness(1.3) drop-shadow(0 8px 16px rgba(59,130,246,0.2))}.experience{text-align:center}.timeline{position:relative;max-width:800px;margin:0 auto;padding:var(--space-xl) 0}.timeline::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--space-blue-deep) 0,var(--space-blue-medium) 50%,var(--space-blue-light) 100%);transform:translateX(-50%);border-radius:2px;box-shadow:0 0 10px rgba(59,130,246,0.3)}.timeline-item{position:relative;margin-bottom:var(--space-4xl);display:flex;align-items:center;justify-content:center}.timeline-item::before{content:"";position:absolute;left:50%;top:20px;width:16px;height:16px;background:var(--space-blue-medium);border:3px solid var(--bg-light);border-radius:50%;transform:translateX(-50%);z-index:2;box-shadow:0 0 15px rgba(59,130,246,0.4)}.timeline-date{position:absolute;left:0;top:0;font-size:var(--font-size-small);font-weight:var(--font-weight-bold);color:var(--space-blue-deep);background:linear-gradient(135deg,var(--space-blue-pale) 0,rgba(255,255,255,0.9) 100%);padding:.5rem 1rem;border-radius:20px;border:2px solid var(--space-blue-light);white-space:nowrap;box-shadow:0 4px 15px rgba(59,130,246,0.2)}.timeline-content{background:linear-gradient(135deg,rgba(255,255,255,0.95) 0,rgba(248,250,252,0.9) 100%);padding:var(--space-xl);border-radius:12px;border-left:4px solid var(--space-blue-medium);box-shadow:0 6px 25px rgba(0,0,0,0.08);max-width:350px;margin-left:auto;margin-right:auto;text-align:left;position:relative;backdrop-filter:blur(10px)}.timeline-item:nth-child(odd) .timeline-content{margin-left:0;margin-right:auto}.timeline-item:nth-child(even) .timeline-content{margin-left:auto;margin-right:0}.timeline-item:nth-child(odd) .timeline-date{right:auto;left:0}.timeline-item:nth-child(even) .timeline-date{left:auto;right:0}.timeline-content h3{font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);color:var(--space-blue-deep);margin-bottom:var(--space-sm)}.timeline-content h4{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--space-gray-600);margin-bottom:var(--space-md);font-style:italic}.timeline-content p{font-size:var(--font-size-body);color:var(--space-gray-700);line-height:1.6;margin-bottom:var(--space-md)}.timeline-technologies{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-md)}.tech-tag{background:linear-gradient(135deg,var(--space-blue-light) 0,var(--space-blue-medium) 100%);color:var(--text-white);padding:.25rem .75rem;border-radius:15px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);box-shadow:0 2px 8px rgba(59,130,246,0.2);transition:all .3s ease}.tech-tag:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(59,130,246,0.3)}.timeline-placeholder{opacity:.6}.education{text-align:center}.education-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--space-xl);margin-top:var(--space-lg)}.education-item{background:linear-gradient(135deg,rgba(255,255,255,0.95) 0,rgba(248,250,252,0.9) 100%);border-radius:16px;padding:var(--space-xl);border-left:4px solid var(--space-blue-medium);box-shadow:0 6px 25px rgba(0,0,0,0.08);transition:all .3s ease;position:relative;backdrop-filter:blur(10px);text-align:left}.education-item:hover{transform:translateY(-5px);box-shadow:0 12px 35px rgba(0,0,0,0.12);border-left-color:var(--space-blue-light)}.education-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;background:linear-gradient(135deg,var(--space-blue-medium) 0,var(--space-blue-light) 100%);border-radius:50%;margin-bottom:var(--space-lg);color:var(--text-white);font-size:1.5rem;box-shadow:0 4px 15px rgba(59,130,246,0.3)}.education-content h3{font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);color:var(--space-blue-deep);margin-bottom:var(--space-sm);line-height:1.3}.education-content h4{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--space-gray-600);margin-bottom:var(--space-sm);font-style:italic}.education-period{font-size:var(--font-size-small);font-weight:var(--font-weight-bold);color:var(--space-blue-medium);background:var(--space-blue-pale);padding:.25rem .75rem;border-radius:12px;display:inline-block;margin-bottom:var(--space-md)}.education-content p{font-size:var(--font-size-body);color:var(--space-gray-700);line-height:1.6;margin-bottom:var(--space-md)}.education-achievements{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-md)}.achievement-tag{background:linear-gradient(135deg,var(--space-blue-light) 0,var(--space-blue-medium) 100%);color:var(--text-white);padding:.25rem .75rem;border-radius:15px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);box-shadow:0 2px 8px rgba(59,130,246,0.2);transition:all .3s ease}.achievement-tag:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(59,130,246,0.3)}.education-placeholder{opacity:.6}.education-placeholder .education-icon{background:linear-gradient(135deg,var(--space-gray-400) 0,var(--space-gray-500) 100%)}.education-placeholder .education-content h3{color:var(--space-gray-500)}.education-placeholder{border-left-color:var(--space-gray-400)}.portfolio-footer{background:linear-gradient(135deg,var(--space-white) 0,var(--pure-white) 100%);color:var(--text-primary);backdrop-filter:blur(10px)}.portfolio-body:not(.dark-theme) .portfolio-footer{background:linear-gradient(135deg,rgba(255,255,255,0.95) 0,rgba(248,250,252,0.9) 50%,rgba(241,245,249,0.85) 100%);color:var(--space-gray-dark);box-shadow:0 -8px 30px rgba(0,0,0,0.08),0 0 50px rgba(59,130,246,0.04);border:1px solid rgba(148,163,184,0.1);position:relative;overflow:hidden}.portfolio-body:not(.dark-theme) .portfolio-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0,var(--space-blue-medium) 50%,transparent 100%);z-index:1}.portfolio-body:not(.dark-theme) .portfolio-footer h3{color:var(--space-black);background:linear-gradient(135deg,var(--space-black) 0,var(--space-blue-deep) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:2}.portfolio-body:not(.dark-theme) .portfolio-footer p{color:var(--space-gray-dark);position:relative;z-index:2}.portfolio-body:not(.dark-theme) .portfolio-footer a{color:var(--space-blue-primary);position:relative;z-index:2}.portfolio-body:not(.dark-theme) .portfolio-footer a:hover{color:var(--space-blue-deep);text-shadow:0 2px 8px rgba(59,130,246,0.2)}.portfolio-footer h3{font-size:1.5rem;margin-bottom:1rem;font-weight:var(--font-weight-bold)}.footer-content{max-width:1200px;margin:0 auto;padding:0 var(--footer-padding-horizontal)}.footer-main{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;padding:var(--footer-padding-vertical) 0}.footer-section{display:flex;flex-direction:column;gap:1rem}.footer-about p{line-height:1.6;opacity:.9}.contact-item{display:flex;align-items:center;gap:1rem;padding:.75rem;border-radius:8px;transition:all .3s ease}.contact-item:hover{background:rgba(59,130,246,0.05);transform:translateX(5px)}.contact-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--space-blue-pale),var(--space-blue-light));flex-shrink:0}.contact-icon img{width:20px;height:20px;filter:brightness(0.8)}.contact-info{display:flex;flex-direction:column;gap:.25rem}.contact-label{font-size:.875rem;font-weight:var(--font-weight-bold);color:var(--space-blue-primary);opacity:.8}.contact-link{text-decoration:none;color:var(--text-primary);font-weight:var(--font-weight-medium);transition:all .3s ease}.contact-link:hover{color:var(--space-blue-primary);text-decoration:underline}.social-links{display:flex;flex-direction:column;gap:1rem}.social-link{display:flex;align-items:center;gap:1rem;padding:.75rem;border-radius:8px;text-decoration:none;color:var(--text-primary);transition:all .3s ease;border:1px solid transparent}.social-link:hover{background:rgba(59,130,246,0.05);border-color:var(--space-blue-pale);transform:translateY(-2px);box-shadow:0 4px 15px rgba(59,130,246,0.1)}.social-link img{width:32px;height:32px;border-radius:4px;transition:transform .3s ease}.social-link:hover img{transform:scale(1.1)}.social-link span{font-weight:var(--font-weight-medium)}.footer-bottom{border-top:1px solid rgba(148,163,184,0.2);padding:1.5rem 0;text-align:center}.footer-copyright{display:flex;flex-direction:column;gap:.5rem;align-items:center}.footer-copyright p{margin:0;font-size:.875rem;opacity:.8}.footer-credits{font-size:.875rem;color:var(--space-blue-primary);font-weight:var(--font-weight-medium)}.flask-logo{width:70px;height:30px;vertical-align:middle;margin-left:.5rem;filter:brightness(0.8);position:relative}.dark-theme .portfolio-footer{background:linear-gradient(135deg,rgba(31,41,55,0.9) 0,rgba(17,24,39,0.95) 50%,rgba(59,130,246,0.05) 100%);color:var(--text-white);border:1px solid rgba(59,130,246,0.2);box-shadow:0 -8px 32px var(--shadow-cosmic)}.dark-theme .portfolio-footer h3{color:var(--space-blue-light);text-shadow:0 0 15px rgba(96,165,250,0.2)}.dark-theme .portfolio-footer p{color:var(--text-white);opacity:.9}.dark-theme .portfolio-footer a{color:var(--space-blue-light)}.dark-theme .portfolio-footer a:hover{color:var(--space-white);text-shadow:0 0 10px rgba(147,197,253,0.5)}.dark-theme .contact-item:hover{background:rgba(59,130,246,0.1)}.dark-theme .social-link:hover{background:rgba(59,130,246,0.1);border-color:var(--space-blue-medium)}.dark-theme .footer-bottom{border-top-color:rgba(59,130,246,0.3)}.dark-theme .flask-logo{filter:invert(100%)}@media(max-width:768px){.footer-main{grid-template-columns:1fr;gap:2rem}.footer-copyright{flex-direction:column;text-align:center}.social-links{flex-direction:row;flex-wrap:wrap;justify-content:center}}.portfolio-body:not(.dark-theme) .infos{background:linear-gradient(135deg,rgba(255,255,255,0.95) 0,rgba(248,250,252,0.9) 50%,rgba(241,245,249,0.85) 100%);border:1px solid rgba(148,163,184,0.1);box-shadow:0 4px 20px rgba(0,0,0,0.05),0 0 40px rgba(59,130,246,0.02);backdrop-filter:blur(10px);position:relative;overflow:hidden}.portfolio-body:not(.dark-theme) .infos h1,.portfolio-body:not(.dark-theme) .infos h2{color:var(--space-black);text-shadow:0 2px 10px rgba(59,130,246,0.1);background:linear-gradient(135deg,var(--space-black) 0,var(--space-blue-deep) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:2}.portfolio-body:not(.dark-theme) .infos p{color:var(--space-gray-dark);opacity:.9;position:relative;z-index:2}.portfolio-body:not(.dark-theme) .about{background:linear-gradient(135deg,rgba(255,255,255,0.9) 0,rgba(248,250,252,0.85) 50%,rgba(241,245,249,0.8) 100%);border:1px solid rgba(148,163,184,0.08);box-shadow:0 6px 25px rgba(0,0,0,0.06),0 0 50px rgba(59,130,246,0.03);backdrop-filter:blur(12px);position:relative;overflow:hidden}.portfolio-body:not(.dark-theme) .about h1{color:var(--space-black);background:linear-gradient(135deg,var(--space-black) 0,var(--space-blue-deep) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:2}.portfolio-body:not(.dark-theme) .about p{color:var(--space-gray-dark);opacity:.95;position:relative;z-index:2;line-height:1.7}.portfolio-body:not(.dark-theme) .about img{border:2px solid rgba(59,130,246,0.1);box-shadow:0 8px 25px rgba(0,0,0,0.08),0 0 20px rgba(59,130,246,0.05);position:relative;z-index:2}.portfolio-body:not(.dark-theme) .skills{background:linear-gradient(135deg,rgba(241,245,249,0.9) 0,rgba(248,250,252,0.85) 50%,rgba(255,255,255,0.8) 100%);border:1px solid rgba(148,163,184,0.12);box-shadow:0 8px 30px rgba(0,0,0,0.08),0 0 60px rgba(59,130,246,0.04);position:relative;overflow:hidden}.portfolio-body:not(.dark-theme) .skills h1{color:var(--space-black);background:linear-gradient(135deg,var(--space-black) 0,var(--space-blue-deep) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:2}.portfolio-body:not(.dark-theme) .skills img{filter:drop-shadow(0 4px 10px rgba(59,130,246,0.1));transition:all .4s cubic-bezier(0.175,0.885,0.32,1.275);position:relative;z-index:2}.portfolio-body:not(.dark-theme) .skills img:hover{filter:drop-shadow(0 8px 20px rgba(59,130,246,0.25)) brightness(1.1);transform:scale(1.1) rotate(5deg)}.portfolio-body:not(.dark-theme) .code-icon{background:linear-gradient(135deg,rgba(255,255,255,0.9) 0,rgba(248,250,252,0.8) 100%);border:2px solid rgba(59,130,246,0.1);backdrop-filter:blur(10px)}.portfolio-body:not(.dark-theme) .code-icon:hover{background:linear-gradient(135deg,rgba(255,255,255,0.95) 0,rgba(236,254,255,0.9) 100%);border-color:var(--space-blue-medium);box-shadow:0 15px 35px rgba(59,130,246,0.15),0 5px 15px rgba(59,130,246,0.1);transform:translateY(-8px) scale(1.02)}.portfolio-body:not(.dark-theme) .code-icon p{color:var(--space-gray-700);font-weight:var(--font-weight-bold)}.portfolio-body:not(.dark-theme) .code-icon:hover p{color:var(--space-blue-deep)}.portfolio-body:not(.dark-theme) .education{background:linear-gradient(135deg,rgba(255,255,255,0.9) 0,rgba(248,250,252,0.85) 50%,rgba(241,245,249,0.8) 100%);border:1px solid rgba(148,163,184,0.08);box-shadow:0 6px 25px rgba(0,0,0,0.06),0 0 50px rgba(59,130,246,0.03)}.portfolio-body:not(.dark-theme) .education h1{color:var(--space-black);background:linear-gradient(135deg,var(--space-black) 0,var(--space-blue-deep) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.portfolio-body:not(.dark-theme) .project{background:linear-gradient(135deg,rgba(255,255,255,0.9) 0,rgba(248,250,252,0.85) 50%,rgba(241,245,249,0.8) 100%);color:var(--space-black);border:1px solid rgba(148,163,184,0.12);box-shadow:0 6px 25px rgba(0,0,0,0.06)}.portfolio-body:not(.dark-theme) .project-name{color:var(--space-black)}.portfolio-body:not(.dark-theme) .project-desc{color:var(--space-gray-dark)}.dark-theme .infos{background:linear-gradient(135deg,rgba(31,41,55,0.95) 0,rgba(17,24,39,0.98) 50%,rgba(0,71,171,0.1) 100%);color:var(--text-white);border:2px solid var(--space-blue-medium);box-shadow:0 8px 32px var(--shadow-cosmic),0 0 60px rgba(96,165,250,0.15);backdrop-filter:blur(20px);position:relative;z-index:1;overflow:hidden}.dark-theme .infos h1,.dark-theme .infos h2{color:var(--space-blue-light);text-shadow:0 0 20px rgba(96,165,250,0.4);background:linear-gradient(135deg,var(--space-blue-light) 0,var(--space-white) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:2}.dark-theme .infos p{color:var(--text-white);opacity:.95;position:relative;z-index:2}.dark-theme .about{background:linear-gradient(135deg,rgba(31,41,55,0.9) 0,rgba(17,24,39,0.95) 50%,rgba(59,130,246,0.05) 100%);color:var(--text-white);border:1px solid rgba(59,130,246,0.2);box-shadow:0 8px 32px var(--shadow-cosmic);backdrop-filter:blur(15px);position:relative;z-index:1}.dark-theme .about h1,.dark-theme .about h2{color:var(--space-blue-light);background:linear-gradient(135deg,var(--space-blue-light) 0,var(--space-white) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:2}.dark-theme .about p{color:var(--space-gray-200)!important;opacity:1;position:relative;z-index:2;line-height:1.7}.dark-theme .skills{background:linear-gradient(135deg,var(--space-gray-800) 0,var(--space-gray-700) 50%,rgba(0,71,171,0.1) 100%);color:var(--text-white);border:1px solid var(--space-blue-medium);box-shadow:0 8px 32px var(--shadow-cosmic);backdrop-filter:blur(15px);transition:all .6s ease;position:relative;z-index:1}.dark-theme .skills h1{color:var(--space-blue-light);text-shadow:0 0 15px rgba(96,165,250,0.2)}.dark-theme .skills h1::after{background:linear-gradient(90deg,var(--space-blue-light) 0,var(--space-blue-medium) 100%)}.dark-theme .skills .code-icon{background:linear-gradient(135deg,rgba(31,41,55,0.8) 0,rgba(17,24,39,0.9) 100%);border:2px solid rgba(59,130,246,0.3);box-shadow:0 4px 20px rgba(0,0,0,0.3),0 0 10px rgba(59,130,246,0.1);color:var(--text-white);backdrop-filter:blur(15px)}.dark-theme .skills .code-icon:hover{background:linear-gradient(135deg,rgba(59,130,246,0.2) 0,rgba(31,41,55,0.9) 100%);border-color:var(--space-blue-light);box-shadow:0 15px 40px rgba(0,0,0,0.4),0 0 25px rgba(59,130,246,0.3),inset 0 1px 0 rgba(255,255,255,0.1);transform:translateY(-8px) scale(1.02)}.dark-theme .skills .code-icon p{color:var(--space-blue-light);text-shadow:0 2px 8px rgba(59,130,246,0.3)}.dark-theme .skills .code-icon:hover p{color:var(--space-white);text-shadow:0 0 15px rgba(147,197,253,0.5)}.dark-theme .skills .code-icon img{filter:brightness(1.2) drop-shadow(0 4px 8px rgba(59,130,246,0.2))}.dark-theme .skills .code-icon:hover img{filter:brightness(1.4) drop-shadow(0 8px 16px rgba(59,130,246,0.4))}.dark-theme .skills .code-icon::before{background:linear-gradient(45deg,transparent,rgba(147,197,253,0.1),transparent)}.dark-theme .experience{background:linear-gradient(135deg,rgba(31,41,55,0.9) 0,rgba(17,24,39,0.95) 50%,rgba(59,130,246,0.05) 100%);color:var(--text-white);border:1px solid rgba(59,130,246,0.2);box-shadow:0 8px 32px var(--shadow-cosmic);backdrop-filter:blur(15px)}.dark-theme .experience h1{color:var(--space-blue-light);text-shadow:0 0 15px rgba(96,165,250,0.2)}.dark-theme .experience h1::after{background:linear-gradient(90deg,var(--space-blue-light) 0,var(--space-blue-medium) 100%)}.dark-theme .timeline::before{background:linear-gradient(180deg,var(--space-blue-light) 0,var(--space-blue-medium) 50%,var(--space-blue-deep) 100%);box-shadow:0 0 15px rgba(96,165,250,0.4)}.dark-theme .timeline-item::before{background:var(--space-blue-light);border-color:var(--space-gray-800);box-shadow:0 0 20px rgba(96,165,250,0.6)}.dark-theme .timeline-date{background:var(--space-blue-primary);color:var(--pure-white);border-color:var(--space-blue-medium);box-shadow:0 4px 15px rgba(59,130,246,0.3)}.dark-theme .timeline-content{background:var(--space-gray-800);border-left:4px solid var(--space-blue-light);box-shadow:0 6px 20px rgba(0,0,0,0.5)}.dark-theme .timeline-content h3{color:var(--space-blue-light)}.dark-theme .timeline-content h4{color:var(--pure-white)}.dark-theme .timeline-content p{color:var(--space-gray-200)}.dark-theme .timeline-placeholder .timeline-content{border-left-color:var(--space-gray-600);background:linear-gradient(135deg,rgba(55,65,81,0.8) 0,rgba(31,41,55,0.7) 100%)}.dark-theme .timeline-placeholder .timeline-content h3{color:var(--space-gray-400)}.dark-theme .timeline-placeholder::before{background:var(--space-gray-600);border-color:var(--space-gray-700)}.dark-theme .education{background:linear-gradient(135deg,rgba(31,41,55,0.9) 0,rgba(17,24,39,0.95) 50%,rgba(59,130,246,0.05) 100%);color:var(--text-white);border:1px solid rgba(59,130,246,0.2);box-shadow:0 8px 32px var(--shadow-cosmic);backdrop-filter:blur(15px)}.dark-theme .education h1{color:var(--space-blue-light);text-shadow:0 0 15px rgba(96,165,250,0.2)}.dark-theme .education h1::after{background:linear-gradient(90deg,var(--space-blue-light) 0,var(--space-blue-medium) 100%)}.dark-theme .education-item{background:var(--space-gray-800);border-left-color:var(--space-blue-light);box-shadow:0 6px 20px rgba(0,0,0,0.5)}.dark-theme .education-content h3{color:var(--space-blue-light)}.dark-theme .education-content h4{color:var(--pure-white)}.dark-theme .education-content p{color:var(--space-gray-200)}.dark-theme .education-period{background:var(--space-blue-primary);color:var(--pure-white)}.dark-theme .education-placeholder{border-left-color:var(--space-gray-600)}.dark-theme .education-placeholder .education-item{background:linear-gradient(135deg,rgba(55,65,81,0.8) 0,rgba(31,41,55,0.7) 100%)}.dark-theme .education-placeholder .education-content h3{color:var(--space-gray-400)}@import url("./variables.css");@import url("./base.css");@import url("./components.css");@import url("./sections.css");@import url("./skills.css");@import url("./timeline.css");@import url("./footer.css");@import url("./themes.css");.infos,.about,.skills,.experience,.education{padding:var(--section-spacing-top) var(--content-padding-x) var(--section-spacing-bottom);max-width:var(--content-max-width);margin:0 auto var(--space-5xl) auto;transition:opacity .6s ease,transform .6s ease;border-radius:16px;box-shadow:0 4px 20px var(--shadow-light);backdrop-filter:blur(8px);position:relative;overflow:hidden}.infos{background:linear-gradient(135deg,var(--bg-light) 0,var(--bg-light-secondary) 100%)}.about{background:linear-gradient(135deg,var(--bg-light) 0,var(--bg-light-secondary) 100%)}.experience{background:linear-gradient(135deg,var(--bg-light) 0,var(--bg-light-secondary) 100%)}.education{background:linear-gradient(135deg,var(--bg-light) 0,var(--bg-light-secondary) 100%)}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{*{background:transparent!important;color:black!important;box-shadow:none!important;text-shadow:none!important}.skills,.experience,.education{break-inside:avoid}}