@keyframes shine{0%{transform:translateX(-100%) translateY(-100%) rotate(45deg);opacity:0}50%{opacity:1}to{transform:translateX(100%) translateY(100%) rotate(45deg);opacity:0}}@keyframes pulse-theme-advanced{0%,to{transform:scale(1);box-shadow:0 8px 32px rgba(102,126,234,.4),0 4px 16px rgba(118,75,162,.3)}25%,75%{transform:scale(1.05);box-shadow:0 12px 40px rgba(102,126,234,.5),0 6px 20px rgba(118,75,162,.4)}50%{transform:scale(1.1);box-shadow:0 16px 48px rgba(102,126,234,.6),0 8px 24px rgba(118,75,162,.5)}}@keyframes float-particle{0%,to{transform:translateY(0) rotate(0deg);opacity:.7}25%{transform:translateY(-8px) rotate(90deg);opacity:1}50%{transform:translateY(-4px) rotate(180deg);opacity:.5}75%{transform:translateY(-12px) rotate(270deg);opacity:.8}}@keyframes tooltip-appear{0%{opacity:0;transform:translateX(50%) translateY(5px)}to{opacity:1;transform:translateX(50%) translateY(0)}}@keyframes theme-switch{0%,to{opacity:1}50%{opacity:.8}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--primary-color:#3498db;--primary-light:#5dade2;--primary-dark:#2980b9;--background-primary:#1a1a1a;--background-secondary:#2d2d2d;--background-tertiary:#404040;--background-card:#2d2d2d;--text-primary:#f8f9fa;--text-secondary:#adb5bd;--text-muted:#525f6b;--border-color:#404040}}:root{--primary-color:#2c3e50;--primary-light:#3498db;--primary-dark:#1a252f;--secondary-color:#c0392b;--accent-color:#f39c12;--success-color:#27ae60;--warning-color:#f1c40f;--danger-color:#c0392b;--background-primary:#ffffff;--background-secondary:#f8f9fa;--background-tertiary:#e9ecef;--background-card:#ffffff;--background-overlay:rgba(0, 0, 0, 0.1);--background-modal:rgba(0, 0, 0, 0.5);--text-primary:#2c3e50;--text-secondary:#525f6b;--text-muted:#adb5bd;--text-inverse:#ffffff;--text-link:#3498db;--text-link-hover:#2980b9;--border-color:#dee2e6;--border-light:#e9ecef;--border-dark:#adb5bd;--divider-color:#e9ecef;--shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--shadow-md:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--shadow-lg:0 1rem 2rem rgba(0, 0, 0, 0.175);--shadow-xl:0 2rem 4rem rgba(0, 0, 0, 0.2);--shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--gradient-primary:linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-secondary:linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-success:linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--transition-fast:0.15s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease;--animation-bounce:cubic-bezier(0.68, -0.55, 0.265, 1.55);--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-full:50%}[data-theme=dark]{--primary-color:#3498db;--primary-light:#5dade2;--primary-dark:#2980b9;--secondary-color:#c0392b;--accent-color:#f39c12;--success-color:#2ecc71;--warning-color:#f1c40f;--danger-color:#c0392b;--background-primary:#1a1a1a;--background-secondary:#2d2d2d;--background-tertiary:#404040;--background-card:#2d2d2d;--background-overlay:rgba(255, 255, 255, 0.1);--background-modal:rgba(0, 0, 0, 0.8);--text-primary:#f8f9fa;--text-secondary:#adb5bd;--text-muted:#525f6b;--text-inverse:#1a1a1a;--text-link:#5dade2;--text-link-hover:#3498db;--border-color:#404040;--border-light:#2d2d2d;--border-dark:#525f6b;--divider-color:#404040;--shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.3);--shadow-md:0 0.5rem 1rem rgba(0, 0, 0, 0.4);--shadow-lg:0 1rem 2rem rgba(0, 0, 0, 0.5);--shadow-xl:0 2rem 4rem rgba(0, 0, 0, 0.6);--shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.3);--gradient-primary:linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-secondary:linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-success:linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)}.theme-toggle{bottom:2rem;right:2rem;width:4rem;height:4rem;border:0;border-radius:var(--radius-full);background:linear-gradient(145deg,#667eea 0,#764ba2 50%,#f093fb 100%);color:var(--text-inverse);cursor:pointer;z-index:1000;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 8px 32px rgba(102,126,234,.4),0 4px 16px rgba(118,75,162,.3),inset 0 1px 0 rgba(255,255,255,.2);transition:all .4s cubic-bezier(.25,.46,.45,.94);transform:scale(1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:2px solid rgba(255,255,255,.1);position:relative;overflow:hidden}.theme-toggle::before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);transform:rotate(45deg);transition:all .6s ease;opacity:0}.theme-toggle:hover::before{animation:shine .6s ease-in-out}.theme-toggle:hover{transform:scale(1.15) rotate(5deg);box-shadow:0 12px 48px rgba(102,126,234,.6),0 8px 24px rgba(118,75,162,.4),inset 0 1px 0 rgba(255,255,255,.3);background:linear-gradient(145deg,#f093fb 0,#f5576c 50%,#4facfe 100%)}.theme-toggle:active{transform:scale(1.05) rotate(2deg);transition:transform .15s ease}.theme-toggle:focus{outline:0;box-shadow:0 12px 48px rgba(102,126,234,.6),0 8px 24px rgba(118,75,162,.4),0 0 0 4px rgba(102,126,234,.3),inset 0 1px 0 rgba(255,255,255,.3)}.theme-toggle:focus-visible{outline:3px solid rgba(102,126,234,.5);outline-offset:4px}.theme-toggle .theme-icon{transition:all .5s cubic-bezier(.68,-.55,.265,1.55);display:block;position:absolute;font-size:1.5rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.theme-toggle .theme-icon.hidden{opacity:0;transform:rotate(180deg) scale(.3);filter:blur(4px)}.theme-toggle .theme-icon:not(.hidden){opacity:1;transform:rotate(0deg) scale(1);filter:blur(0)}.theme-toggle.pulse{animation:pulse-theme-advanced 3s infinite ease-in-out}.theme-toggle::after{content:"";position:absolute;width:6px;height:6px;background:radial-gradient(circle,rgba(255,255,255,.8),transparent);border-radius:50%;top:10%;right:15%;animation:float-particle 4s infinite ease-in-out;opacity:.7}[data-theme=dark] .theme-toggle{background:linear-gradient(145deg,#2d3748 0,#4a5568 50%,#667eea 100%);border:2px solid rgba(255,255,255,.15);box-shadow:0 8px 32px rgba(45,55,72,.6),0 4px 16px rgba(74,85,104,.4),inset 0 1px 0 rgba(255,255,255,.1)}[data-theme=dark] .theme-toggle:hover{background:linear-gradient(145deg,#667eea 0,#764ba2 50%,#f093fb 100%);box-shadow:0 12px 48px rgba(102,126,234,.4),0 8px 24px rgba(118,75,162,.3),inset 0 1px 0 rgba(255,255,255,.2)}.theme-toggle[title]:hover::before{content:attr(title);position:absolute;bottom:120%;right:50%;transform:translateX(50%);background:rgba(0,0,0,.9);color:#fff;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;white-space:nowrap;z-index:1001;opacity:0;animation:tooltip-appear .3s ease forwards}@media (max-width:768px){.theme-toggle{bottom:1.5rem;right:1.5rem;width:3.5rem;height:3.5rem;font-size:1.25rem}}@media (max-width:480px){.theme-toggle{bottom:1rem;right:1rem;width:3rem;height:3rem;font-size:1rem}}*,::after,::before{transition:background-color var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal),box-shadow var(--transition-normal),opacity var(--transition-normal)}.no-transition,.no-transition *,canvas,iframe,img,svg,video{transition:none}body{background-color:var(--background-primary)}.card,.project-card,.skill-category,.timeline-item .card{background-color:var(--background-card);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.btn-primary:hover,.card:hover,.project-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}body,h1,h2,h3,h4,h5,h6,input,select,textarea{color:var(--text-primary)}a{color:var(--text-link);transition:color var(--transition-fast)}a:hover{color:var(--text-link-hover)}.btn,body{transition:all var(--transition-normal)}.btn{border-radius:var(--radius-md)}.btn-primary{background:var(--gradient-primary);border:0;color:var(--text-inverse);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--gradient-secondary);transform:translateY(-1px)}.btn-outline{background:0 0;border:2px solid var(--primary-color);color:var(--primary-color)}.btn-outline:hover{background:var(--primary-color);color:var(--text-inverse)}input,select,textarea{background-color:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:all var(--transition-fast)}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(52,152,219,.1)}.header,.navbar{background-color:var(--background-card);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.footer{background-color:var(--background-secondary);border-top:1px solid var(--border-color)}.theme-switching{animation:theme-switch .3s ease}.interactive-hover{transition:all var(--transition-normal)}.interactive-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.focus-enhanced:focus{outline:0;box-shadow:var(--shadow-md),0 0 0 3px rgba(52,152,219,.3);transform:scale(1.02)}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}@media (max-width:768px){.theme-toggle{bottom:1rem;right:1rem;width:3rem;height:3rem;font-size:1rem}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}.theme-toggle:hover{transform:none}.theme-toggle.pulse{animation:none}}@media (prefers-contrast:high){:root{--border-color:#000000;--text-primary:#000000;--background-primary:#ffffff}[data-theme=dark]{--border-color:#ffffff;--text-primary:#ffffff;--background-primary:#000000}}@media (prefers-color-scheme:dark){:root:not([data-theme]){--primary-color:#3498db;--background-primary:#1a1a1a;--background-secondary:#2d2d2d;--background-card:#2d2d2d;--text-primary:#f8f9fa;--text-secondary:#adb5bd;--border-color:#404040}}.theme-bg-primary{background-color:var(--background-primary)}.theme-bg-secondary{background-color:var(--background-secondary)}.theme-bg-card{background-color:var(--background-card)}.theme-text-primary{color:var(--text-primary)}.theme-text-secondary{color:var(--text-secondary)}.theme-text-muted{color:var(--text-muted)}.theme-border{border-color:var(--border-color)}.theme-shadow-sm{box-shadow:var(--shadow-sm)}.theme-shadow-md{box-shadow:var(--shadow-md)}.theme-indicator{position:fixed;top:1rem;left:1rem;padding:.5rem 1rem;background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.75rem;opacity:.7;z-index:999;display:none}.debug .theme-indicator{display:block}.animate-fade-in-up{animation:fadeInUp .6s var(--animation-bounce)}.animate-rotate{animation:rotate 2s linear infinite}.animate-heartbeat{animation:heartbeat 1.5s ease-in-out infinite}@media print{.theme-toggle{display:none}*{background:#fff;color:#000;box-shadow:none}}