:root{--white: #ffffff;--gray-50: #fafafa;--gray-100: #f5f5f5;--gray-200: #e5e5e5;--gray-300: #d4d4d4;--gray-400: #a3a3a3;--gray-500: #737373;--gray-600: #525252;--gray-700: #404040;--gray-800: #262626;--gray-900: #171717;--black: #0a0a0a;--accent: #0066ff;--accent-light: #3385ff;--accent-dark: #0052cc;--bg-primary: var(--white);--bg-secondary: var(--gray-50);--bg-dark: var(--black);--text-primary: var(--gray-900);--text-secondary: var(--gray-600);--text-muted: var(--gray-400);--text-light: var(--white);--border: var(--gray-200);--border-dark: var(--gray-300);--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;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Space Grotesk", var(--font-sans);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--ease: cubic-bezier(.16, 1, .3, 1);--duration-fast: .15s;--duration-base: .25s;--duration-slow: .4s}body.dark-mode{--bg-primary: var(--black);--bg-secondary: var(--gray-900);--text-primary: var(--white);--text-secondary: var(--gray-400);--text-muted: var(--gray-500);--border: var(--gray-800);--border-dark: var(--gray-700)}body.dark-mode .btn-primary{background:var(--white);color:var(--black)}body.dark-mode .btn-primary:hover{background:var(--gray-200);color:var(--black)}body.dark-mode .btn-outline{border-color:var(--gray-600);color:var(--white)}body.dark-mode .btn-outline:hover{border-color:var(--white);color:var(--white)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;font-size:16px;transition:background-color .3s ease,color .3s ease}::selection{background-color:var(--accent);color:var(--white)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}body.dark-mode ::-webkit-scrollbar-track{background:var(--gray-900)}body.dark-mode ::-webkit-scrollbar-thumb{background:var(--gray-700)}.container{width:100%;max-width:1120px;margin:0 auto;padding:0 var(--space-6)}.section{padding:var(--space-24) 0}a{color:inherit;text-decoration:none;transition:color var(--duration-fast) var(--ease)}a:hover{color:var(--accent)}img{max-width:100%;display:block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-size:.9rem;font-weight:500;font-family:var(--font-sans);border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-base) var(--ease);text-decoration:none;border:none}.btn-primary{background:var(--black);color:var(--white)}.btn-primary:hover{background:var(--gray-800);color:var(--white);transform:translateY(-2px)}.btn-outline{background:transparent;color:var(--text-primary);border:1px solid var(--border-dark)}.btn-outline:hover{border-color:var(--black);color:var(--text-primary)}@media(max-width:768px){.section{padding:var(--space-16) 0}.container{padding:0 var(--space-4)}}.app{min-height:100vh}main{position:relative}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:var(--space-4) 0;transition:all var(--duration-base) var(--ease)}.navbar.scrolled{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:var(--space-3) 0}.navbar-container{max-width:1120px;margin:0 auto;padding:0 var(--space-6);display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;transition:all var(--duration-base) var(--ease)}.logo:hover{color:var(--text-primary)}.logo-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,var(--accent) 0%,#00d4ff 100%);color:var(--white);border-radius:var(--radius-md);font-size:1rem}.logo-text{display:flex;align-items:center}.logo-highlight{color:var(--accent);font-weight:500}.nav-links{display:flex;align-items:center;gap:var(--space-8)}.nav-link{font-size:.9rem;font-weight:500;color:var(--text-secondary);transition:color var(--duration-fast) var(--ease)}.nav-link:hover{color:var(--text-primary)}.nav-actions{display:flex;align-items:center;gap:var(--space-4)}.nav-cta{padding:var(--space-2) var(--space-5)}.theme-toggle{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;gap:var(--space-2)}.toggle-track{width:52px;height:28px;background:var(--gray-200);border-radius:var(--radius-full);position:relative;transition:background .3s ease}.toggle-track.dark{background:var(--gray-700)}.toggle-thumb{position:absolute;top:2px;left:2px;width:24px;height:24px;background:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--gray-600);transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.toggle-track.dark .toggle-thumb{left:calc(100% - 26px);color:var(--gray-800)}.toggle-label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.mobile-toggle{display:none;background:none;border:none;font-size:1.5rem;color:var(--text-primary);cursor:pointer}.mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg-primary);border-bottom:1px solid var(--border);padding:var(--space-4) var(--space-6)}.mobile-link{display:block;padding:var(--space-3) 0;font-size:1rem;font-weight:500;color:var(--text-secondary);border-bottom:1px solid var(--border)}.mobile-actions{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-4)}.mobile-actions .theme-toggle{justify-content:center;padding:var(--space-3) 0}.mobile-actions .btn{width:100%}@media(max-width:768px){.nav-links,.nav-actions{display:none}.mobile-toggle,.mobile-menu{display:block}}body.dark-mode .navbar.scrolled{background:#0a0a0af2;border-color:var(--gray-800)}body.dark-mode .mobile-menu{background:var(--black);border-color:var(--gray-800)}.hero{min-height:100vh;display:flex;align-items:center;padding-top:80px}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center}.hero-content{max-width:560px}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--gray-100);border-radius:var(--radius-full);font-size:.85rem;font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-8)}.badge-dot{width:8px;height:8px;background:#22c55e;border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.hero-title{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,4rem);font-weight:700;line-height:1.1;letter-spacing:-.03em;color:var(--text-primary);margin-bottom:var(--space-6)}.hero-highlight{color:var(--text-secondary)}.hero-description{font-size:1.0625rem;line-height:1.7;color:var(--text-secondary);margin-bottom:var(--space-8)}.hero-description strong{color:var(--text-primary)}.hero-cta{display:flex;gap:var(--space-4);margin-bottom:var(--space-10)}.hero-stats{display:flex;align-items:center;gap:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--border)}.stat{display:flex;flex-direction:column}.stat-value{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.stat-label{font-size:.875rem;color:var(--text-muted)}.stat-divider{width:1px;height:40px;background:var(--border)}.hero-image{display:flex;justify-content:center}.image-wrapper{position:relative;width:100%;max-width:420px;cursor:pointer}.image-wrapper img{width:100%;height:auto;border-radius:var(--radius-xl);position:absolute;top:0;left:0;z-index:1;transition:opacity .4s ease}.image-wrapper .photo-default{position:relative;opacity:1}.image-wrapper .photo-hover,.image-wrapper:hover .photo-default{opacity:0}.image-wrapper:hover .photo-hover{opacity:1}.image-decoration{position:absolute;inset:20px -20px -20px 20px;border:2px solid var(--border);border-radius:var(--radius-xl);z-index:0;transition:all .3s ease}.image-wrapper:hover .image-decoration{border-color:var(--accent);inset:15px -15px -15px 15px}.image-wrapper.dark-mode-photo{cursor:default}.image-wrapper.dark-mode-photo .photo-single{position:relative;opacity:1}.image-wrapper.dark-mode-photo .image-decoration{border-color:var(--gray-700)}.image-wrapper.dark-mode-photo:hover .image-decoration{border-color:var(--accent)}@media(max-width:992px){.hero-grid{grid-template-columns:1fr;gap:var(--space-12)}.hero-content{max-width:none;text-align:center;order:2}.hero-badge{margin:0 auto var(--space-8)}.hero-cta,.hero-stats{justify-content:center}.hero-image{order:1}.image-wrapper{max-width:320px}}@media(max-width:768px){.hero{min-height:auto;padding:100px 0 var(--space-16)}.hero-cta{flex-direction:column}.hero-cta .btn{width:100%}.hero-stats{flex-wrap:wrap;gap:var(--space-6)}.stat-divider{display:none}.image-wrapper{max-width:260px}.image-decoration{inset:12px -12px -12px 12px}}.about{background:var(--bg-secondary)}.about-content{max-width:720px}.about-label{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:var(--space-4)}.about-title{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;line-height:1.2;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:var(--space-8)}.about-text{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-8)}.about-text p{font-size:1.0625rem;line-height:1.8;color:var(--text-secondary)}.about-highlights{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.highlight{display:flex;align-items:center;gap:var(--space-3);font-size:.95rem;font-weight:500;color:var(--text-primary)}.highlight-icon{color:var(--accent);font-weight:700}@media(max-width:640px){.about-highlights{grid-template-columns:1fr}}.skills{background:var(--bg-primary);overflow:hidden}.skills-header{text-align:center;margin-bottom:var(--space-12)}.section-label{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:var(--space-4)}.section-title{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:var(--space-4)}.tech-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-16)}.tech-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-full);cursor:default;transition:all var(--duration-base) var(--ease)}.tech-item:hover{border-color:var(--tech-color, var(--accent));background:var(--white);box-shadow:0 4px 20px #00000014}.tech-item:hover .tech-icon{color:var(--tech-color, var(--accent))}.tech-icon{font-size:1.25rem;color:var(--text-muted);transition:color var(--duration-fast) var(--ease);display:flex;align-items:center}.tech-name{font-size:.875rem;font-weight:500;color:var(--text-primary)}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}.service-card{padding:var(--space-8);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--duration-base) var(--ease)}.service-card:hover{border-color:var(--gray-300);box-shadow:0 8px 30px #0000000f}.service-title{font-family:var(--font-display);font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-3)}.service-description{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-4)}.service-techs{display:flex;flex-wrap:wrap;gap:var(--space-2)}.service-tech{padding:var(--space-1) var(--space-3);font-size:.75rem;font-weight:500;color:var(--accent);background:#0066ff14;border-radius:var(--radius-full)}@media(max-width:1024px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.tech-grid{gap:var(--space-2)}.tech-item{padding:var(--space-2) var(--space-3)}.tech-icon{font-size:1.1rem}.tech-name{font-size:.8rem}}@media(max-width:640px){.services-grid{grid-template-columns:1fr}.service-card{padding:var(--space-6)}}body.dark-mode .tech-item:hover{background:var(--gray-800)}body.dark-mode .service-card:hover{border-color:var(--gray-600)}.projects{background:var(--bg-secondary)}.projects-header{margin-bottom:var(--space-12)}.projects-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.project-card{display:block;padding:var(--space-8);background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);text-decoration:none;transition:all var(--duration-base) var(--ease)}.project-card:hover{border-color:var(--gray-300);box-shadow:0 8px 30px #0000000f;transform:translateY(-4px)}.project-number{font-family:var(--font-display);font-size:.875rem;font-weight:600;color:var(--text-muted);margin-bottom:var(--space-4)}.project-title{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-3)}.project-arrow{font-size:1.1rem;transition:transform var(--duration-base) var(--ease)}.project-card:hover .project-arrow{transform:translate(3px,-3px)}.project-description{font-size:.95rem;line-height:1.6;color:var(--text-secondary);margin-bottom:var(--space-4)}.project-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tag{padding:var(--space-1) var(--space-3);font-size:.75rem;font-weight:500;color:var(--text-muted);background:var(--gray-100);border-radius:var(--radius-full)}@media(max-width:768px){.projects-list{grid-template-columns:1fr}}body.dark-mode .project-card{background:var(--gray-900)}body.dark-mode .project-card:hover{border-color:var(--gray-600)}body.dark-mode .tag{background:var(--gray-800)}.experience{background:var(--bg-secondary)}.experience-header{text-align:center;margin-bottom:var(--space-12)}.section-description{font-size:1.0625rem;color:var(--text-secondary);max-width:500px;margin:0 auto}.experience-timeline{max-width:800px;margin:0 auto}.timeline-item{display:flex;gap:var(--space-6);position:relative}.timeline-marker{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.marker-dot{width:44px;height:44px;background:var(--white);border:2px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--text-muted);z-index:1;transition:all var(--duration-base) var(--ease)}.timeline-item.current .marker-dot{background:var(--accent);border-color:var(--accent);color:var(--white);box-shadow:0 0 0 4px #0066ff26}.timeline-item:hover .marker-dot{border-color:var(--accent);color:var(--accent)}.timeline-item.current:hover .marker-dot{color:var(--white)}.marker-line{width:2px;flex:1;background:linear-gradient(180deg,var(--border) 0%,var(--gray-200) 100%);margin:var(--space-2) 0}.timeline-card{flex:1;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-6);transition:all var(--duration-base) var(--ease)}.timeline-card:hover{border-color:var(--gray-300);box-shadow:0 8px 30px #0000000f;transform:translate(4px)}.timeline-item.current .timeline-card{border-color:var(--accent);border-width:2px}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4)}.card-role{font-family:var(--font-display);font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-1)}.card-company{font-size:.95rem;color:var(--text-secondary)}.card-company a{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--accent);font-weight:500}.card-company a:hover{text-decoration:underline}.card-meta{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2)}.card-period{display:flex;align-items:center;gap:var(--space-2);font-size:.85rem;color:var(--text-muted);white-space:nowrap}.card-period svg{font-size:.9rem}.current-badge{padding:var(--space-1) var(--space-3);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--white);background:var(--accent);border-radius:var(--radius-full)}.card-description{font-size:.9rem;line-height:1.7;color:var(--text-secondary);margin-bottom:var(--space-4)}.card-highlights{display:flex;flex-wrap:wrap;gap:var(--space-2)}.highlight-tag{padding:var(--space-1) var(--space-3);font-size:.75rem;font-weight:500;color:var(--text-muted);background:var(--gray-100);border-radius:var(--radius-full);transition:all var(--duration-fast) var(--ease)}.timeline-card:hover .highlight-tag{background:var(--gray-200);color:var(--text-secondary)}@media(max-width:768px){.timeline-item{gap:var(--space-4)}.marker-dot{width:36px;height:36px;font-size:.9rem}.card-header{flex-direction:column;gap:var(--space-2)}.card-meta{flex-direction:row;align-items:center;width:100%}.timeline-card{padding:var(--space-5)}.timeline-card:hover{transform:none}}@media(max-width:480px){.marker-dot{width:32px;height:32px;font-size:.8rem}.card-highlights{gap:var(--space-1)}.highlight-tag{font-size:.7rem;padding:var(--space-1) var(--space-2)}}body.dark-mode .marker-dot,body.dark-mode .timeline-card{background:var(--gray-900)}body.dark-mode .timeline-card:hover{border-color:var(--gray-600)}body.dark-mode .highlight-tag{background:var(--gray-800)}body.dark-mode .timeline-card:hover .highlight-tag{background:var(--gray-700)}body.dark-mode .marker-line{background:linear-gradient(180deg,var(--gray-700) 0%,var(--gray-800) 100%)}.contact{background:var(--bg-secondary)}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--space-16);align-items:start}.contact-text{font-size:1.0625rem;line-height:1.7;color:var(--text-secondary);margin-bottom:var(--space-8);margin-top:var(--space-4)}.contact-details{display:flex;flex-direction:column;gap:var(--space-4)}.contact-item{display:flex;align-items:center;gap:var(--space-3);font-size:.95rem;color:var(--text-secondary)}.contact-item svg{font-size:1.1rem;color:var(--text-muted);flex-shrink:0}.contact-item a{color:var(--text-primary)}.contact-item a:hover{color:var(--accent)}.contact-form-wrapper{background:var(--white);padding:var(--space-8);border-radius:var(--radius-lg);border:1px solid var(--border);min-height:480px}.quiz-form{display:flex;flex-direction:column;height:100%}.quiz-progress{margin-bottom:var(--space-6)}.progress-bar{height:4px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-2)}.progress-fill{height:100%;background:var(--accent);border-radius:var(--radius-full);transition:width .3s ease}.progress-text{font-size:.8rem;color:var(--text-muted)}.quiz-step{flex:1;display:flex;flex-direction:column}.quiz-question{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-6)}.quiz-options{display:flex;flex-direction:column;gap:var(--space-3)}.quiz-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.95rem;font-family:var(--font-sans);color:var(--text-primary);cursor:pointer;transition:all var(--duration-fast) var(--ease);text-align:left}.quiz-option:hover{border-color:var(--gray-300);background:var(--gray-100)}.quiz-option.selected{border-color:var(--accent);background:#0066ff0d}.option-check{width:20px;height:20px;border:2px solid var(--gray-300);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--duration-fast) var(--ease)}.quiz-option.selected .option-check{background:var(--accent);border-color:var(--accent);color:var(--white)}.quiz-hint{font-size:.8rem;color:var(--text-muted);margin-top:var(--space-2)}.quiz-textarea textarea{width:100%;padding:var(--space-4);font-size:.95rem;font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);resize:vertical;min-height:150px;outline:none;transition:border-color var(--duration-fast) var(--ease)}.quiz-textarea textarea::placeholder{color:var(--text-muted)}.quiz-textarea textarea:focus{border-color:var(--accent)}.quiz-contact{display:flex;flex-direction:column;gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.form-group input{padding:var(--space-3) var(--space-4);font-size:.95rem;font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);outline:none;transition:border-color var(--duration-fast) var(--ease)}.form-group input::placeholder{color:var(--text-muted)}.form-group input:focus{border-color:var(--accent)}.quiz-navigation{display:flex;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border)}.quiz-navigation .btn{min-width:120px}.quiz-navigation .btn:only-child{margin-left:auto}.quiz-navigation .btn:disabled{opacity:.5;cursor:not-allowed}.quiz-success{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-10);height:100%;min-height:400px}.success-icon{width:64px;height:64px;background:#22c55e;color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;margin-bottom:var(--space-6)}.quiz-success h3{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-3)}.quiz-success p{font-size:.95rem;color:var(--text-secondary);max-width:320px;line-height:1.6}@media(max-width:992px){.contact-grid{grid-template-columns:1fr;gap:var(--space-10)}}@media(max-width:640px){.contact-form-wrapper{padding:var(--space-6)}.quiz-navigation{flex-direction:column}.quiz-navigation .btn{width:100%}.quiz-navigation .btn:only-child{margin-left:0}}body.dark-mode .contact-form-wrapper{background:var(--gray-900)}body.dark-mode .quiz-option:hover{background:var(--gray-800);border-color:var(--gray-600)}body.dark-mode .quiz-option.selected{background:#0066ff26}body.dark-mode .progress-bar{background:var(--gray-800)}body.dark-mode .form-group input:focus,body.dark-mode .quiz-textarea textarea:focus{background:var(--gray-800)}.footer{background:var(--black);color:var(--text-light);padding:var(--space-16) 0 var(--space-8)}.footer-content{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:var(--space-10);padding-bottom:var(--space-10);border-bottom:1px solid rgba(255,255,255,.1)}.footer-logo{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--white)}.footer-logo:hover{color:var(--white)}.footer-logo-highlight{color:var(--accent);font-weight:500}.footer-text{font-size:.9rem;color:var(--gray-400);margin-top:var(--space-3);max-width:280px}.footer-links{display:flex;flex-direction:column;gap:var(--space-3)}.footer-links a{font-size:.9rem;color:var(--gray-400);transition:color var(--duration-fast) var(--ease)}.footer-links a:hover{color:var(--white)}.footer-social{display:flex;gap:var(--space-4)}.footer-social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;font-size:1.1rem;color:var(--gray-400);background:#ffffff0d;border-radius:var(--radius-md);transition:all var(--duration-base) var(--ease)}.footer-social a:hover{color:var(--white);background:#ffffff1a}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-6)}.footer-bottom p{font-size:.85rem;color:var(--gray-500)}.scroll-top{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--white);color:var(--black);border:none;border-radius:var(--radius-md);cursor:pointer;transition:transform var(--duration-base) var(--ease)}.scroll-top:hover{transform:translateY(-3px)}@media(max-width:768px){.footer-content{grid-template-columns:1fr;gap:var(--space-8)}.footer-bottom{flex-direction:column;gap:var(--space-4);text-align:center}}
