body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--background-light: #fbfbfd;--text-light: #1d1d1f;--primary-accent: #0071e3;--primary-gradient: linear-gradient(135deg, #0071e3 0%, #00c6ff 100%);--card-bg-light: rgba(255, 255, 255, .7);--border-light: rgba(0, 0, 0, .1);--glass-bg: rgba(255, 255, 255, .5);--glass-border: rgba(255, 255, 255, .3);--background-dark: #000000;--text-dark: #f5f5f7;--primary-accent-dark: #a8c7fa;--primary-gradient-dark: linear-gradient(135deg, #a8c7fa 0%, #d4e3ff 100%);--card-bg-dark: rgba(29, 29, 31, .7);--border-dark: rgba(255, 255, 255, .1);--glass-bg-dark: rgba(29, 29, 31, .5);--glass-border-dark: rgba(255, 255, 255, .1)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background-light);color:var(--text-light);transition:background-color .5s cubic-bezier(.4,0,.2,1),color .5s ease;padding-top:60px;scroll-behavior:smooth}html{scroll-padding-top:80px}.skip-link{position:absolute;top:-40px;left:8px;padding:8px 16px;background:var(--primary-accent);color:#fff;z-index:2000;border-radius:0 0 8px 8px;text-decoration:none;font-weight:600;transition:top .2s ease}.skip-link:focus{top:0;outline:2px solid var(--primary-accent);outline-offset:2px}:focus-visible{outline:2px solid var(--primary-accent);outline-offset:2px;border-radius:6px}body.dark-mode :focus-visible{outline-color:var(--primary-accent-dark)}.btn:focus-visible{outline-offset:3px}.theme-toggle{background:transparent;border:1px solid var(--border-light);color:var(--text-light);width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}.theme-toggle:hover{background-color:#0000000d;transform:translateY(-1px)}body.dark-mode .theme-toggle{border-color:var(--border-dark);color:var(--text-dark)}body.dark-mode .theme-toggle:hover{background-color:#ffffff14}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body.dark-mode{background-color:var(--background-dark);color:var(--text-dark)}.navbar{background-color:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-light);transition:all .5s ease}body.dark-mode .navbar{background-color:var(--glass-bg-dark);border-bottom:1px solid var(--border-dark)}.navbar-brand{color:var(--text-light)!important;transition:color .3s ease;border:none;text-shadow:none;box-shadow:none!important;background-color:transparent!important}.navbar-brand:hover,.navbar-brand:focus,.navbar-brand:active{box-shadow:none!important;background-color:transparent!important}body.dark-mode .navbar-brand{color:var(--text-dark)!important}.nav-link{color:var(--text-light)!important;transition:color .3s ease;position:relative}body.dark-mode .nav-link{color:var(--text-dark)!important}.nav-link.active{color:var(--primary-accent)!important;font-weight:700}body.dark-mode .nav-link.active{color:var(--primary-accent-dark)!important}.nav-link:after{content:"";position:absolute;width:0%;height:2px;bottom:-5px;left:50%;transform:translate(-50%);background-color:var(--primary-accent);transition:width .3s ease-in-out}body.dark-mode .nav-link:after{background-color:var(--primary-accent-dark)}.nav-link.active:after{width:70%}.navbar-nav .nav-item{padding:0 10px}.App-header{text-align:center;padding:5rem 0}.App-footer{background-color:var(--card-bg-light);border-top:1px solid var(--border-light);color:var(--text-light);transition:background-color .5s ease,color .5s ease}body.dark-mode .App-footer{background-color:var(--card-bg-dark);border-top:1px solid var(--border-dark);color:var(--text-dark)}.profile-picture{width:218px;height:218px;border-radius:50%;object-fit:cover;margin-bottom:2rem;border:4px solid var(--card-bg-light);box-shadow:none}body.dark-mode .profile-picture{border-color:var(--card-bg-dark)}.section{padding:4rem 0;animation:fadeInUp .8s ease-out forwards;opacity:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.card{background-color:var(--card-bg-light);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-light);border-radius:24px;padding:2rem;transition:all .4s cubic-bezier(.175,.885,.32,1.275);height:100%;box-shadow:0 10px 30px #0000000d}body.dark-mode .card{background-color:var(--card-bg-dark);border:1px solid var(--border-dark);box-shadow:0 10px 30px #00000080}.card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #0000001f}.btn{border-radius:50px;padding:10px 24px;font-weight:600;letter-spacing:.3px;transition:all .3s ease}.btn-primary{background-color:var(--primary-accent);border-color:var(--primary-accent);color:#fff}.btn-primary:hover{background-color:#0056b3;border-color:#0056b3;transform:translateY(-2px);box-shadow:0 4px 12px #0071e34d}body.dark-mode .btn-primary{background-color:var(--primary-accent-dark);border-color:var(--primary-accent-dark);color:var(--background-dark)}body.dark-mode .btn-primary:hover{background-color:#8ebbf7;border-color:#8ebbf7;box-shadow:0 4px 12px #a8c7fa4d}.btn-outline-secondary{color:var(--text-light);border-color:var(--border-light)}.btn-outline-secondary:hover{background-color:var(--card-bg-light);color:var(--text-light);transform:translateY(-2px)}body.dark-mode .btn-outline-secondary{color:var(--text-dark);border-color:var(--border-dark)}body.dark-mode .btn-outline-secondary:hover{background-color:var(--card-bg-dark);color:var(--text-dark)}.badge-skill{background-color:#0071e31a;color:var(--primary-accent);border:1px solid rgba(0,113,227,.2);padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:500;display:inline-block;margin-right:8px;margin-bottom:8px;transition:all .2s ease}.badge-skill:hover{background-color:var(--primary-accent);color:#fff;transform:translateY(-2px)}body.dark-mode .badge-skill{background-color:#a8c7fa1a;color:var(--primary-accent-dark);border-color:#a8c7fa33}body.dark-mode .badge-skill:hover{background-color:var(--primary-accent-dark);color:var(--background-dark)}.form-check-input{cursor:pointer}h1,h2,h3,h4,h5,h6,p,li,small,.card-title,.card-subtitle,.card-text,.accordion-body p,.accordion-body ul li,.list-group-item,.list-group-item span,.list-group-item a{color:var(--text-light)}body.dark-mode h1,body.dark-mode h2,body.dark-mode h3,body.dark-mode h4,body.dark-mode h5,body.dark-mode h6,body.dark-mode p,body.dark-mode li,body.dark-mode small,body.dark-mode .card-title,body.dark-mode .card-subtitle,body.dark-mode .card-text,body.dark-mode .accordion-body p,body.dark-mode .accordion-body ul li,body.dark-mode .list-group-item,body.dark-mode .list-group-item span,body.dark-mode .list-group-item a{color:var(--text-dark)}.text-muted{color:var(--text-light)!important}body.dark-mode .text-muted{color:var(--text-dark)!important}.text-secondary{color:var(--text-light)!important}body.dark-mode .text-secondary{color:var(--text-dark)!important}.accordion-button{background-color:var(--card-bg-light);color:var(--text-light)}body.dark-mode .accordion-button{background-color:var(--card-bg-dark);color:var(--text-dark)}.accordion-button:not(.collapsed){background-color:var(--primary-accent);color:#fff}.accordion-button:not(.collapsed) h5,.accordion-button:not(.collapsed) small{color:#fff!important}body.dark-mode .accordion-button:not(.collapsed){background-color:var(--primary-accent-dark);color:var(--background-dark)}body.dark-mode .accordion-button:not(.collapsed) h5,body.dark-mode .accordion-button:not(.collapsed) small{color:var(--text-dark)!important}.accordion-item{border:1px solid var(--border-light);margin-bottom:0;background-color:var(--card-bg-light)}body.dark-mode .accordion-item{border:1px solid var(--border-dark);background-color:var(--card-bg-dark)}.accordion{border-radius:20px;overflow:hidden}.accordion-item:first-of-type{border-top-left-radius:20px;border-top-right-radius:20px}.accordion-item:last-of-type{border-bottom-left-radius:20px;border-bottom-right-radius:20px}.accordion-body{color:var(--text-light);background-color:var(--card-bg-light)}body.dark-mode .accordion-body{color:var(--text-dark);background-color:var(--card-bg-dark)}.list-group-item{background-color:var(--card-bg-light);color:var(--text-light);border-color:var(--border-light);border-radius:0}body.dark-mode .list-group-item{background-color:var(--card-bg-dark);color:var(--text-dark)}.list-group{border-radius:20px;overflow:hidden}.list-group-item:first-child{border-top-left-radius:20px;border-top-right-radius:20px}.list-group-item:last-child{border-bottom-left-radius:20px;border-bottom-right-radius:20px}.badge.bg-primary{color:#fff}.timeline-container{position:relative;max-width:900px;margin:0 auto;padding:40px 0}.timeline-item{padding:0 0 40px 60px;position:relative;background-color:inherit;width:100%}.timeline-item:before{content:"";position:absolute;width:2px;background:var(--primary-gradient);top:0;bottom:0;left:31px}body.dark-mode .timeline-item:before{background:var(--primary-gradient-dark)}.timeline-item:first-child:before{top:34px}.timeline-item:last-child:before{bottom:auto;height:34px}.timeline-node{position:absolute;width:20px;height:20px;left:21px;top:24px;background-color:var(--background-light);border:4px solid var(--primary-accent);border-radius:50%;z-index:10;transition:all .3s ease}body.dark-mode .timeline-node{background-color:var(--background-dark);border-color:var(--primary-accent-dark)}.timeline-item:hover .timeline-node{transform:scale(1.3);box-shadow:0 0 10px var(--primary-accent)}.timeline-content{padding:24px;background-color:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-light);position:relative;border-radius:16px;transition:all .3s ease}body.dark-mode .timeline-content{background-color:var(--glass-bg-dark);border-color:var(--border-dark)}.timeline-content:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000001a}.timeline-date{font-weight:700;font-size:.9rem;color:var(--primary-accent);margin-bottom:8px;display:block}body.dark-mode .timeline-date{color:var(--primary-accent-dark)}@media screen and (max-width:600px){.timeline-container{padding-left:0}.timeline-content{padding:16px}}
