@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.header{padding:1rem 2rem;background-color:var(--header-bg);box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:100;transition:transform .3s ease,opacity .3s ease}.header.hidden{transform:translateY(-100%);opacity:0;pointer-events:none}.nav{max-width:1200px;margin:0 auto;padding:1rem;display:flex;justify-content:space-between;align-items:center;position:relative}.logo{font-size:1.5rem;font-weight:700}.logo a{color:var(--text-primary);text-decoration:none}.logo a:hover{color:var(--accent-color)}.mobile-menu-button{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:.5rem;z-index:101;margin-left:auto}.mobile-menu-button span{width:25px;height:3px;background-color:var(--text-primary);margin:3px 0;transition:.3s;border-radius:2px}.mobile-menu-button.active span:nth-child(1){transform:rotate(-45deg) translate(-5px,6px)}.mobile-menu-button.active span:nth-child(2){opacity:0}.mobile-menu-button.active span:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}.nav-links{display:flex;gap:2rem;list-style:none;margin:0;padding:0}.nav-links a{color:var(--text-primary);text-decoration:none;font-weight:500;transition:color .2s}.nav-links a:hover{color:var(--accent-color)}.nav-links .download-cv{background:linear-gradient(135deg,var(--accent-color),var(--accent-color-light));color:#fff;border:none;padding:.75rem 1.5rem;border-radius:25px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem}.nav-links .download-cv:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px rgba(var(--accent-color-rgb),.3)}.nav-links .download-cv:disabled{opacity:.7;cursor:not-allowed;transform:none}.nav-links .download-cv.downloading{background:linear-gradient(135deg,var(--text-muted),var(--text-secondary));animation:pulse 1.5s ease-in-out infinite}@media (max-width: 768px){.desktop-nav{display:none}}.mobile-nav{display:none;position:absolute;top:100%;left:0;right:0;background-color:var(--header-bg);box-shadow:0 4px 6px #0000001a;flex-direction:column;gap:0;padding:1rem 0;transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .3s ease}.mobile-nav.open{transform:translateY(0);opacity:1;visibility:visible}.mobile-nav li{width:100%}.mobile-nav li a,.mobile-nav li button{display:block;width:100%;padding:1rem 2rem;text-align:left;border:none;background:none;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.mobile-nav li a:hover,.mobile-nav li button:hover{background-color:var(--hover-bg)}@media (max-width: 768px){.mobile-nav{display:flex}}.theme-toggle{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.theme-toggle:hover{background-color:var(--hover-bg)}@media (max-width: 768px){.desktop-theme-toggle{display:none}}.mobile-theme-toggle{font-size:1rem;padding:1rem 2rem;border-radius:0;justify-content:flex-start;width:100%}.mobile-theme-toggle:hover{background-color:var(--hover-bg)}@media (max-width: 768px){.header{padding:.5rem 1rem}.nav{padding:.5rem}.logo{font-size:1.25rem}.mobile-menu-button{display:flex}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.footer{background-color:var(--header-bg);padding:2rem 0;margin-top:4rem;box-shadow:0 -2px 4px #0000001a;position:relative;z-index:100}.footer-content{max-width:1200px;margin:0 auto;padding:0 1rem;text-align:center}.social-links{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1rem}.social-links a{color:var(--text-secondary);font-size:1.5rem;transition:color .2s}.social-links a:hover{color:var(--accent-color)}.copyright{color:var(--text-secondary);font-size:.9rem}.debug-panel-container{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:var(--debug-bg, #1a1a1a);border-bottom:2px solid var(--accent-color);font-family:Courier New,monospace;font-size:.9rem}.debug-toggle{display:flex;justify-content:center;padding:.5rem;background-color:var(--debug-header-bg, #2a2a2a)}.debug-toggle .debug-btn{background-color:var(--accent-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:700}.debug-toggle .debug-btn:hover{background-color:var(--accent-hover)}.debug-panel{max-height:400px;overflow-y:auto;padding:1rem;background-color:var(--debug-bg, #1a1a1a);color:var(--debug-text, #e0e0e0)}.debug-panel .debug-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--debug-border, #444)}.debug-panel .debug-header h3{margin:0;color:var(--accent-color);font-size:1.1rem}.debug-panel .debug-header .clear-logs-btn{background-color:var(--error-bg, #dc3545);color:#fff;border:none;padding:.25rem .5rem;border-radius:3px;cursor:pointer;font-size:.8rem}.debug-panel .debug-header .clear-logs-btn:hover{background-color:var(--error-hover, #c82333)}.debug-panel .debug-content .debug-section{margin-bottom:1.5rem}.debug-panel .debug-content .debug-section h4{color:var(--accent-color);margin-bottom:.5rem;font-size:1rem}.debug-panel .debug-content .debug-section pre{background-color:var(--debug-code-bg, #2a2a2a);padding:.5rem;border-radius:3px;margin:0;white-space:pre-wrap;word-break:break-word;font-size:.8rem;line-height:1.4}.debug-panel .debug-content .logs-container{max-height:200px;overflow-y:auto;background-color:var(--debug-code-bg, #2a2a2a);border-radius:3px;padding:.5rem}.debug-panel .debug-content .logs-container .log-entry{margin-bottom:.5rem;padding:.25rem;border-left:2px solid var(--accent-color);background-color:var(--debug-log-bg, #333)}.debug-panel .debug-content .logs-container .log-entry:last-child{margin-bottom:0}.debug-panel .debug-content .logs-container .log-entry .log-timestamp{color:var(--debug-timestamp, #888);font-size:.75rem;display:block;margin-bottom:.25rem}.debug-panel .debug-content .logs-container .log-entry .log-message{color:var(--debug-message, #e0e0e0);font-weight:700;display:block;margin-bottom:.25rem}.debug-panel .debug-content .logs-container .log-entry .log-data{background-color:var(--debug-data-bg, #1a1a1a);padding:.25rem;border-radius:2px;margin:0;font-size:.75rem;max-height:100px;overflow-y:auto}.api-status{padding:.5rem 1rem;background-color:var(--debug-status-bg, #2a2a2a);border-top:1px solid var(--debug-border, #444)}.api-status .status-checking{color:var(--warning-color, #ffc107);font-weight:700}.api-status .status-connected{color:var(--success-color, #28a745);font-weight:700}.api-status .status-error{color:var(--error-color, #dc3545);font-weight:700}@media (max-width: 768px){.debug-panel-container .debug-panel{max-height:300px;padding:.5rem}.debug-panel-container .debug-panel .debug-header{flex-direction:column;gap:.5rem;align-items:flex-start}.debug-panel-container .debug-panel .debug-header .clear-logs-btn{align-self:flex-end}.debug-panel-container .debug-panel .debug-content .debug-section{margin-bottom:1rem}.debug-panel-container .debug-panel .debug-content .debug-section pre{font-size:.75rem}.debug-panel-container .debug-panel .debug-content .logs-container{max-height:150px}.debug-panel-container .debug-panel .debug-content .logs-container .log-entry .log-timestamp{font-size:.7rem}.debug-panel-container .debug-panel .debug-content .logs-container .log-entry .log-message{font-size:.8rem}.debug-panel-container .debug-panel .debug-content .logs-container .log-entry .log-data{font-size:.7rem;max-height:80px}.debug-panel-container .api-status{padding:.25rem .5rem;font-size:.8rem}}.debug-panel::-webkit-scrollbar,.logs-container::-webkit-scrollbar,.log-data::-webkit-scrollbar{width:8px}.debug-panel::-webkit-scrollbar-track,.logs-container::-webkit-scrollbar-track,.log-data::-webkit-scrollbar-track{background:var(--debug-scroll-track, #2a2a2a)}.debug-panel::-webkit-scrollbar-thumb,.logs-container::-webkit-scrollbar-thumb,.log-data::-webkit-scrollbar-thumb{background:var(--debug-scroll-thumb, #555);border-radius:4px}.debug-panel::-webkit-scrollbar-thumb:hover,.logs-container::-webkit-scrollbar-thumb:hover,.log-data::-webkit-scrollbar-thumb:hover{background:var(--debug-scroll-thumb-hover, #777)}@font-face{font-family:swiper-icons;src:url(data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA);font-weight:400;font-style:normal}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper:after{content:"";position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size: 44px}.swiper-button-prev,.swiper-button-next{position:absolute;top:var(--swiper-navigation-top-offset, 50%);width:calc(var(--swiper-navigation-size) / 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size) / 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color))}.swiper-button-prev.swiper-button-disabled,.swiper-button-next.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev.swiper-button-hidden,.swiper-button-next.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-prev,.swiper-navigation-disabled .swiper-button-next{display:none!important}.swiper-button-prev svg,.swiper-button-next svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-prev svg,.swiper-rtl .swiper-button-next svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset, 10px);right:auto}.swiper-button-lock{display:none}.swiper-button-prev:after,.swiper-button-next:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:"prev"}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset, 10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:"next"}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius, 10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, .1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset, 1%);bottom:var(--swiper-scrollbar-bottom, 4px);top:var(--swiper-scrollbar-top, auto);z-index:50;height:var(--swiper-scrollbar-size, 4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))}.swiper-vertical>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-vertical{position:absolute;left:var(--swiper-scrollbar-left, auto);right:var(--swiper-scrollbar-right, 4px);top:var(--swiper-scrollbar-sides-offset, 1%);z-index:50;width:var(--swiper-scrollbar-size, 4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, .5));border-radius:var(--swiper-scrollbar-border-radius, 10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>img,.swiper-zoom-container>svg,.swiper-zoom-container>canvas{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:"";background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}.hero{height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,var(--background) 0%,var(--card-bg) 100%);position:relative;overflow:hidden}.hero-header{flex:0 0 auto;padding:3rem 2rem 2rem;background:transparent}.hero-header .hero-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:3rem}.hero-header .hero-avatar-container{flex:0 0 auto}.hero-header .hero-intro{flex:1;text-align:left}.hero-header .hero-intro .hero-name{font-size:3.5rem;font-weight:800;color:var(--text-primary);margin:0 0 .5rem;background:linear-gradient(135deg,var(--text-primary),var(--accent-color));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1.2}.hero-header .hero-intro .hero-title{font-size:1.8rem;font-weight:600;color:var(--accent-color);margin:0 0 .5rem}.hero-header .hero-intro .hero-subtitle{font-size:1.2rem;color:var(--text-secondary);margin:0 0 1rem;font-weight:400}.hero-header .hero-intro .hero-location{display:flex;align-items:center;gap:.5rem;font-size:1rem;color:var(--text-secondary)}.hero-header .hero-intro .hero-location .location-icon{font-size:1.1rem}.hero-avatar{position:relative;width:200px;height:200px;border-radius:50%;background:linear-gradient(135deg,var(--accent-color),#4dabf7);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 32px #0000001a,0 0 0 4px rgba(var(--accent-color),.1);overflow:hidden}.hero-avatar:hover{transform:scale(1.05);box-shadow:0 16px 48px #00000026,0 0 0 6px rgba(var(--accent-color),.2)}.hero-avatar:hover .avatar-overlay{opacity:1}.hero-avatar .avatar-image{width:100%;height:100%;object-fit:cover;border-radius:50%;transition:all .4s ease}.hero-avatar .avatar-image.avatar-image--hovered{transform:scale(1.1)}.hero-avatar .avatar-loading,.hero-avatar .avatar-error{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--card-bg);border-radius:50%;color:var(--text-secondary);font-size:.9rem;text-align:center;padding:1rem}.hero-avatar .avatar-loading .loading-spinner,.hero-avatar .avatar-error .loading-spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top:3px solid var(--accent-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:.5rem}.hero-avatar .avatar-loading .error-icon,.hero-avatar .avatar-error .error-icon{font-size:2rem;margin-bottom:.5rem}.hero-avatar .avatar-loading .retry-btn,.hero-avatar .avatar-error .retry-btn{margin-top:.5rem;padding:.4rem .8rem;background:var(--accent-color);color:#fff;border:none;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .2s ease}.hero-avatar .avatar-loading .retry-btn:hover,.hero-avatar .avatar-error .retry-btn:hover{background:#0056b3;transform:translateY(-1px)}.hero-avatar .avatar-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000c;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.hero-avatar .avatar-overlay span{color:#fff;font-size:1rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.3)}.hero-carousel{flex:1;position:relative;background:transparent}.hero-swiper{height:100%}.hero-swiper .swiper-slide{display:flex;align-items:center;justify-content:center;padding:2rem}.hero-swiper .swiper-pagination{bottom:20px}.hero-swiper .swiper-pagination .swiper-pagination-bullet{width:12px;height:12px;background:var(--text-secondary);opacity:.5;transition:all .3s ease}.hero-swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{background:var(--accent-color);opacity:1;transform:scale(1.2)}.hero-slide{width:100%;max-width:1200px;margin:0 auto}.hero-slide .slide-content{text-align:center}.hero-slide .slide-content .slide-header{margin-bottom:3rem}.hero-slide .slide-content .slide-header .slide-title{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem;background:linear-gradient(135deg,var(--text-primary),var(--accent-color));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-slide .slide-content .slide-header .slide-subtitle{font-size:1.2rem;color:var(--text-secondary);font-weight:500}.hero-slide .slide-content .slide-body{max-width:900px;margin:0 auto}.hero-bio{font-size:1.1rem;line-height:1.8;color:var(--text-primary);margin-bottom:2.5rem;text-align:left}.hero-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.hero-details .detail-item{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;text-align:left;transition:all .3s ease}.hero-details .detail-item:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a;border-color:var(--accent-color)}.hero-details .detail-item .detail-label{display:block;font-size:.9rem;color:var(--text-secondary);font-weight:600;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.hero-details .detail-item .detail-value{font-size:1.1rem;color:var(--text-primary);font-weight:600;display:flex;align-items:center;gap:.5rem}.highlights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.highlights-grid .highlight-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:2rem;text-align:center;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.highlights-grid .highlight-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent-color),#4dabf7);transform:scaleX(0);transition:transform .4s ease}.highlights-grid .highlight-card:hover{transform:translateY(-8px);box-shadow:0 16px 40px #0000001f;border-color:var(--accent-color)}.highlights-grid .highlight-card:hover:before{transform:scaleX(1)}.highlights-grid .highlight-card:hover .highlight-icon{transform:scale(1.2) rotateY(180deg)}.highlights-grid .highlight-card .highlight-icon{font-size:3rem;margin-bottom:1.5rem;transition:all .4s ease;display:inline-block}.highlights-grid .highlight-card .highlight-title{font-size:1.3rem;color:var(--text-primary);margin:0 0 1rem;font-weight:600}.highlights-grid .highlight-card .highlight-description{font-size:1rem;color:var(--text-secondary);line-height:1.6;margin:0}.skills-container{max-width:600px;margin:0 auto}.skills-container .skill-item{margin-bottom:2rem}.skills-container .skill-item .skill-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.skills-container .skill-item .skill-header .skill-name{font-weight:600;color:var(--text-primary);font-size:1.1rem}.skills-container .skill-item .skill-header .skill-percentage{font-size:1rem;color:var(--accent-color);font-weight:700}.skills-container .skill-item .skill-bar{height:8px;background:var(--border-color);border-radius:4px;overflow:hidden;position:relative}.skills-container .skill-item .skill-bar .skill-progress{height:100%;background:linear-gradient(90deg,var(--accent-color),#4dabf7);border-radius:4px;width:0;animation:fillSkill 1.5s ease-out forwards;position:relative;--skill-width: 0%}.skills-container .skill-item .skill-bar .skill-progress:after{content:"";position:absolute;top:0;right:0;bottom:0;width:20px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3));animation:shine 2s ease-in-out infinite}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-bottom:3rem}.stats-grid .stat-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:2rem;text-align:center;transition:all .4s ease;position:relative;overflow:hidden}.stats-grid .stat-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,var(--accent-color) 0%,transparent 70%);opacity:0;transition:opacity .4s ease}.stats-grid .stat-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 16px 40px #0000001f;border-color:var(--accent-color)}.stats-grid .stat-card:hover:before{opacity:.05}.stats-grid .stat-card:hover .stat-icon{transform:scale(1.3) rotate(10deg)}.stats-grid .stat-card .stat-number{font-size:2.5rem;font-weight:800;color:var(--accent-color);margin-bottom:.5rem;display:block;position:relative;z-index:2}.stats-grid .stat-card .stat-label{font-size:1rem;color:var(--text-secondary);font-weight:500;margin-bottom:1rem;position:relative;z-index:2}.stats-grid .stat-card .stat-icon{font-size:1.5rem;transition:all .4s ease;position:relative;z-index:2}.experience-summary .summary-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:2.5rem;text-align:left;max-width:700px;margin:0 auto}.experience-summary .summary-card h4{font-size:1.5rem;color:var(--text-primary);margin:0 0 1rem;font-weight:600}.experience-summary .summary-card p{font-size:1rem;line-height:1.7;color:var(--text-secondary);margin:0}.hero-actions{flex:0 0 auto;display:flex;justify-content:center;gap:1.5rem;padding:2rem;background:transparent}.hero-actions .hero-btn{display:flex;align-items:center;gap:.75rem;padding:1rem 2rem;border:none;border-radius:50px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;position:relative;overflow:hidden}.hero-actions .hero-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.hero-actions .hero-btn:hover:before{left:100%}.hero-actions .hero-btn.hero-btn--primary{background:linear-gradient(135deg,var(--accent-color),#4dabf7);color:#fff;box-shadow:0 4px 16px rgba(var(--accent-color),.3)}.hero-actions .hero-btn.hero-btn--primary:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(var(--accent-color),.4)}.hero-actions .hero-btn.hero-btn--secondary{background:transparent;color:var(--text-primary);border:2px solid var(--accent-color)}.hero-actions .hero-btn.hero-btn--secondary:hover{background:var(--accent-color);color:#fff;transform:translateY(-3px);box-shadow:0 8px 24px rgba(var(--accent-color),.3)}.hero-actions .hero-btn.hero-btn--secondary.hero-btn--loading{background:var(--border-color);color:var(--text-secondary);border-color:var(--border-color);cursor:not-allowed;transform:none}.hero-actions .hero-btn.hero-btn--secondary.hero-btn--loading:hover{background:var(--border-color);color:var(--text-secondary);transform:none;box-shadow:none}.hero-actions .hero-btn .btn-icon{font-size:1.2rem}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fillSkill{to{width:var(--skill-width, 0%)}}@keyframes shine{0%,to{transform:translate(-20px);opacity:0}50%{transform:translate(0);opacity:1}}@media (max-width: 1024px){.hero-header .hero-content{gap:2rem}.hero-header .hero-intro .hero-name{font-size:3rem}.hero-avatar{width:160px;height:160px}}@media (max-width: 768px){.hero{height:auto;min-height:100vh}.hero-header{padding:2rem 1rem 1rem;flex:0 0 auto}.hero-header .hero-content{flex-direction:column;text-align:center;gap:1.5rem;align-items:center}.hero-header .hero-avatar-container{flex:0 0 auto;order:1;display:flex;justify-content:center;align-items:center}.hero-header .hero-intro{text-align:center;order:2}.hero-header .hero-intro .hero-name{font-size:2.5rem;line-height:1.1}.hero-header .hero-intro .hero-title{font-size:1.5rem}.hero-header .hero-intro .hero-subtitle{font-size:1.1rem}.hero-header .hero-intro .hero-location{justify-content:center}.hero-avatar{width:140px;height:140px}.hero-carousel{flex:1;min-height:400px}.hero-swiper{height:100%}.hero-swiper .swiper-slide{padding:1.5rem}.slide-content .slide-header{margin-bottom:2rem}.slide-content .slide-header .slide-title{font-size:2rem}.hero-details{grid-template-columns:1fr;gap:1rem}.highlights-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.highlights-grid .highlight-card{padding:1.5rem}.highlights-grid .highlight-card .highlight-icon{font-size:2.5rem;margin-bottom:1rem}.highlights-grid .highlight-card .highlight-title{font-size:1.1rem;margin-bottom:.75rem}.highlights-grid .highlight-card .highlight-description{font-size:.9rem;line-height:1.5}.stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}.stats-grid .stat-card{padding:1.5rem}.stats-grid .stat-card .stat-number{font-size:2rem;margin-bottom:.25rem}.stats-grid .stat-card .stat-label{font-size:.9rem;margin-bottom:.75rem}.stats-grid .stat-card .stat-icon{font-size:1.3rem}.experience-summary{display:none}.hero-actions{flex-direction:column;align-items:center;padding:1.5rem}.hero-actions .hero-btn{width:100%;max-width:300px;justify-content:center}}@media (max-width: 480px){.hero-header{padding:1.5rem 1rem 1rem}.hero-header .hero-content{gap:1rem}.hero-header .hero-intro .hero-name{font-size:2rem;line-height:1.1}.hero-header .hero-intro .hero-title{font-size:1.3rem}.hero-header .hero-intro .hero-subtitle{font-size:1rem}.hero-avatar{width:120px;height:120px}.slide-content .slide-header .slide-title{font-size:1.8rem}.highlights-grid .highlight-card{padding:1rem}.highlights-grid .highlight-card .highlight-icon{font-size:2rem;margin-bottom:.75rem}.highlights-grid .highlight-card .highlight-title{font-size:1rem;margin-bottom:.5rem}.highlights-grid .highlight-card .highlight-description{font-size:.85rem}.stats-grid{grid-template-columns:repeat(2,1fr);margin-bottom:1rem;gap:.75rem}.stats-grid .stat-card{padding:1rem}.stats-grid .stat-card .stat-number{font-size:1.6rem}.stats-grid .stat-card .stat-label{font-size:.8rem;line-height:1.3}.stats-grid .stat-card .stat-icon{font-size:1.1rem}.hero-actions .hero-btn{padding:.875rem 1.5rem;font-size:.9rem}}@media (max-width: 360px){.hero-header{padding:1rem .5rem .5rem}.hero-header .hero-content{gap:.75rem}.hero-header .hero-intro .hero-name{font-size:1.8rem}.hero-header .hero-intro .hero-title{font-size:1.2rem}.hero-header .hero-intro .hero-subtitle{font-size:.95rem}.hero-avatar{width:100px;height:100px}.hero-carousel{min-height:350px}.hero-swiper .swiper-slide{padding:1rem}.highlights-grid{gap:.75rem}.highlights-grid .highlight-card{padding:.75rem}.highlights-grid .highlight-card .highlight-icon{font-size:1.8rem;margin-bottom:.5rem}.highlights-grid .highlight-card .highlight-title{font-size:.95rem;margin-bottom:.4rem}.highlights-grid .highlight-card .highlight-description{font-size:.8rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.stats-grid .stat-card{padding:.75rem}.stats-grid .stat-card .stat-number{font-size:1.4rem}.stats-grid .stat-card .stat-label{font-size:.75rem;line-height:1.2}.stats-grid .stat-card .stat-icon{font-size:1rem}}.skills{height:100%;display:flex;flex-direction:column;justify-content:center;overflow-y:auto}.skills h1{font-size:2.5rem;color:var(--text-primary);margin-bottom:1.5rem;text-align:center;font-weight:700}.skills .skills-controls{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.skills .skills-controls .control-btn{background:var(--accent-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.skills .skills-controls .control-btn:hover{background:var(--accent-hover, #0056b3);transform:translateY(-1px)}.skills .skills-controls .control-btn:active{transform:translateY(0)}.skills .skill-tree-container{background:var(--card-bg, rgba(255, 255, 255, .05));border-radius:12px;border:1px solid var(--border-color);box-shadow:0 4px 6px #0000001a;padding:2rem;margin-bottom:3rem;position:relative;overflow:hidden}.skills .skill-tree-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff05,#ffffff03);pointer-events:none}.skills .skill-tree{position:relative;z-index:1}.skills .skill-tree-node{margin-bottom:.5rem;position:relative}.skills .skill-tree-node.depth-0{margin-bottom:1.5rem}.skills .skill-tree-node.depth-1{margin-left:2rem;margin-bottom:.75rem;position:relative}.skills .skill-tree-node.depth-1:before{content:"";position:absolute;left:-1rem;top:1.5rem;width:1rem;height:1px;background:var(--border-color)}.skills .skill-tree-node.depth-2{margin-left:1rem;margin-bottom:.25rem;position:relative}.skills .skill-tree-node.depth-2:before{content:"";position:absolute;left:-.5rem;top:1.25rem;width:.5rem;height:1px;background:var(--border-color)}.skills .node-content{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;transition:all .2s ease;position:relative}.skills .node-content.category-node{background:var(--category-bg, rgba(255, 255, 255, .03));border:1px solid var(--border-color);cursor:pointer}.skills .node-content.category-node:hover{background:var(--category-hover-bg, rgba(255, 255, 255, .05));transform:translate(4px);box-shadow:0 2px 8px #0000001a}.skills .node-content.skill-node{background:var(--skill-bg, rgba(255, 255, 255, .01));border:1px solid transparent}.skills .node-content.skill-node:hover{background:var(--skill-hover-bg, rgba(255, 255, 255, .02));border-color:var(--accent-color);transform:translate(2px)}.skills .node-indicator{width:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.skills .node-indicator .expand-icon{font-size:.8rem;color:var(--accent-color);transition:transform .2s ease}.skills .node-indicator .expand-icon.expanded{transform:rotate(90deg)}.skills .node-indicator .skill-dot{font-size:.6rem;color:var(--accent-color)}.skills .node-icon{font-size:1.5rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--icon-bg, rgba(255, 255, 255, .1));border-radius:6px;flex-shrink:0}.skills .node-info{display:flex;flex-direction:column;flex:1;gap:.25rem}.skills .node-info .node-name{font-weight:600;color:var(--text-primary);font-size:.95rem}.skills .node-info .skill-level{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.skills .node-info .node-count{font-size:.75rem;color:var(--text-secondary);font-weight:500}.skills .node-children{margin-top:.5rem;animation:slideDown .3s ease-out;position:relative}.skills .node-children:before{content:"";position:absolute;left:1.5rem;top:0;bottom:0;width:1px;background:var(--border-color)}.skills .additional-skills{margin-bottom:2rem}.skills .additional-skills h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:1.5rem;text-align:center;font-weight:600}.skills .additional-skills .expertise-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.skills .additional-skills .expertise-item{background:var(--card-bg, rgba(255, 255, 255, .05));border-radius:10px;padding:1.5rem;border:1px solid var(--border-color);text-align:center;transition:transform .2s ease,box-shadow .2s ease}.skills .additional-skills .expertise-item:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0000001f}.skills .additional-skills .expertise-item h3{font-size:1.1rem;color:var(--accent-color);margin-bottom:.75rem;font-weight:600}.skills .additional-skills .expertise-item p{color:var(--text-secondary);line-height:1.5;font-size:.9rem}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:500px;transform:translateY(0)}}@media (max-width: 768px){.skills h1{font-size:2rem;margin-bottom:1.5rem}.skills .skills-controls{flex-direction:column;align-items:center;gap:.5rem}.skills .skills-controls .control-btn{width:150px}.skills .skill-tree-container{padding:1.5rem;margin-bottom:2rem}.skills .skill-tree-node.depth-1{margin-left:1.5rem}.skills .skill-tree-node.depth-2{margin-left:.75rem}.skills .node-content{padding:.6rem .75rem;gap:.5rem}.skills .node-content .node-icon{width:28px;height:28px;font-size:1.2rem}.skills .node-content .node-info .node-name{font-size:.9rem}.skills .node-content .node-info .skill-level,.skills .node-content .node-info .node-count{font-size:.7rem}.skills .additional-skills .expertise-grid{grid-template-columns:1fr;gap:1rem}.skills .additional-skills .expertise-item{padding:1rem}}@media (max-width: 480px){.skills h1{font-size:1.8rem}.skills .skill-tree-container{padding:1rem}.skills .skill-tree-node.depth-1{margin-left:1rem}.skills .skill-tree-node.depth-2{margin-left:.5rem}.skills .node-content{padding:.5rem .6rem}.skills .node-content .node-icon{width:24px;height:24px;font-size:1rem}.skills .node-content .node-info .node-name{font-size:.85rem}.skills .node-content .node-info .skill-level{font-size:.65rem}}.work{height:100%;display:flex;flex-direction:column;justify-content:center;overflow-y:auto}.work h1{font-size:2.5rem;color:var(--text-primary);margin-bottom:2rem;text-align:center;font-weight:700}.work .timeline-container{max-width:900px;margin:0 auto;padding:0 1rem}.work .timeline{position:relative;padding-left:2rem}.work .timeline:before{content:"";position:absolute;left:1rem;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--accent-color) 0%,var(--accent-color) 20%,var(--border-color) 20%,var(--border-color) 100%)}.work .timeline-item{position:relative;margin-bottom:2rem;cursor:pointer;transition:all .3s ease}.work .timeline-item:last-child{margin-bottom:0}.work .timeline-item.current .timeline-marker .marker-dot{background:var(--accent-color);box-shadow:0 0 0 4px #007bff33}.work .timeline-item.current .job-card{border-color:var(--accent-color);background:var(--current-job-bg, rgba(0, 123, 255, .05))}.work .timeline-item.current .current-badge{background:var(--accent-color);color:#fff}.work .timeline-item:hover .timeline-marker .marker-dot{transform:scale(1.2);box-shadow:0 0 0 6px #007bff4d}.work .timeline-item:hover .job-card{transform:translate(8px);box-shadow:0 8px 25px #00000026}.work .timeline-marker{position:absolute;left:-1.5rem;top:1.5rem;z-index:2}.work .timeline-marker .marker-dot{width:16px;height:16px;background:var(--border-color);border-radius:50%;border:3px solid var(--bg-primary);transition:all .3s ease}.work .timeline-marker .marker-line{position:absolute;left:50%;top:16px;width:1px;height:calc(100% + 2rem);background:var(--border-color);transform:translate(-50%)}.work .timeline-content{position:relative}.work .job-card{background:var(--card-bg, rgba(255, 255, 255, .05));border-radius:16px;border:1px solid var(--border-color);padding:1.5rem;transition:all .3s ease;position:relative;overflow:hidden}.work .job-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff05,#ffffff03);pointer-events:none}.work .job-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem;position:relative;z-index:1}.work .company-logo{width:60px;height:60px;background:var(--logo-bg, rgba(255, 255, 255, .1));border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .3s ease}.work .company-logo .logo-emoji{font-size:2rem}.work .job-info{flex:1;min-width:0}.work .job-info .job-title{font-size:1.3rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;line-height:1.3}.work .job-info .company-name{font-size:1.1rem;font-weight:600;color:var(--accent-color);margin-bottom:.25rem}.work .job-info .job-location{font-size:.9rem;color:var(--text-secondary);margin-bottom:.25rem}.work .job-info .job-dates{font-size:.85rem;color:var(--text-secondary);font-weight:500}.work .job-status{flex-shrink:0}.work .job-status .current-badge{background:var(--border-color);color:var(--text-secondary);padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;transition:all .3s ease}.work .job-preview{position:relative;z-index:1}.work .job-preview .tech-preview{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.work .job-preview .tech-preview .tech-tag{background:var(--tech-bg, rgba(255, 255, 255, .08));color:var(--text-secondary);padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;transition:all .2s ease;border:1px solid var(--border-color)}.work .job-preview .tech-preview .tech-more{background:var(--accent-color);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.work .job-preview .preview-text{color:var(--text-secondary);font-size:.9rem;line-height:1.5;font-style:italic}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease}.modal-content{background:var(--modal-bg, rgba(30, 30, 30, .95));border-radius:20px;border:1px solid var(--border-color);max-width:800px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-content:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff05,#ffffff03);pointer-events:none;border-radius:20px}.modal-header .modal-logo{width:80px;height:80px;background:var(--logo-bg, rgba(255, 255, 255, .1));border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-header .modal-logo .logo-emoji{font-size:2.5rem}.modal-header .modal-job-info{flex:1}.modal-header .modal-job-info .modal-title{font-size:1.8rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;line-height:1.2}.modal-header .modal-job-info .modal-company{font-size:1.3rem;font-weight:600;color:var(--accent-color);margin-bottom:.5rem}.modal-header .modal-job-info .modal-location{font-size:1rem;color:var(--text-secondary);margin-bottom:.25rem}.modal-header .modal-job-info .modal-dates{font-size:.9rem;color:var(--text-secondary);font-weight:500;margin-bottom:.75rem}.modal-header .modal-job-info .modal-description{font-size:.9rem;color:var(--text-secondary);line-height:1.5;font-style:italic}.modal-body .modal-section{margin-bottom:2rem}.modal-body .modal-section:last-child{margin-bottom:0}.modal-body .modal-section h4{font-size:1.2rem;font-weight:600;color:var(--accent-color);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.modal-body .modal-section h4:before{content:"▸";color:var(--accent-color)}.modal-body .modal-section ul{list-style:none;padding:0;margin:0}.modal-body .modal-section ul li{border-bottom:1px solid var(--border-color);color:var(--text-secondary);line-height:1.6;position:relative;padding:.75rem 0 .75rem 1.5rem}.modal-body .modal-section ul li:before{content:"•";color:var(--accent-color);position:absolute;left:0;font-weight:700}.modal-body .modal-section ul li:last-child{border-bottom:none}.modal-body .modal-section .tech-grid{display:flex;flex-wrap:wrap;gap:.75rem}.modal-body .modal-section .tech-grid .tech-badge{background:var(--tech-badge-bg, rgba(255, 255, 255, .08));color:var(--text-secondary);padding:.5rem 1rem;border-radius:25px;font-size:.85rem;font-weight:500;border:1px solid var(--border-color);transition:all .2s ease}.modal-body .modal-section .tech-grid .tech-badge:hover{background:var(--accent-color);color:#fff;transform:translateY(-2px)}@media (max-width: 1024px){.work .timeline-container{max-width:100%;padding:0 .5rem}.work .timeline{padding-left:1.5rem}.work .timeline:before{left:.75rem}.work .timeline-marker{left:-1.25rem}.work .job-card{padding:1.25rem}.modal-content{max-width:90vw;margin:1rem}.modal-header{padding:1.5rem 1.5rem 1rem;gap:1rem}.modal-header .modal-logo{width:60px;height:60px}.modal-header .modal-logo .logo-emoji{font-size:2rem}.modal-header .modal-job-info .modal-title{font-size:1.5rem}.modal-header .modal-job-info .modal-company{font-size:1.1rem}.modal-body{padding:1rem 1.5rem 1.5rem}}@media (max-width: 768px){.work h1{font-size:2rem;margin-bottom:1.5rem}.work .timeline-container{padding:0 .25rem}.work .timeline{padding-left:1rem}.work .timeline:before{left:.5rem}.work .timeline-marker{left:-.75rem;top:1.25rem}.work .timeline-marker .marker-dot{width:12px;height:12px}.work .timeline-item{margin-bottom:1.5rem}.work .job-card{padding:1rem}.work .job-card .job-header{gap:.75rem}.work .job-card .job-header .company-logo{width:50px;height:50px}.work .job-card .job-header .company-logo .logo-emoji{font-size:1.5rem}.work .job-card .job-header .job-info .job-title{font-size:1.1rem}.work .job-card .job-header .job-info .company-name{font-size:.9rem}.work .job-card .job-header .job-info .job-location,.work .job-card .job-header .job-info .job-dates{font-size:.8rem}.work .job-card .job-preview .tech-preview .tech-tag{font-size:.7rem;padding:.2rem .6rem}.work .job-card .job-preview .preview-text{font-size:.85rem}.modal-overlay{padding:.5rem}.modal-content{max-width:95vw;max-height:95vh}.modal-header{padding:1rem 1rem .75rem;flex-direction:column;align-items:center;text-align:center;gap:.75rem}.modal-header .modal-logo{width:60px;height:60px}.modal-header .modal-logo .logo-emoji{font-size:2rem}.modal-header .modal-job-info .modal-title{font-size:1.3rem}.modal-header .modal-job-info .modal-company{font-size:1rem}.modal-header .modal-job-info .modal-location,.modal-header .modal-job-info .modal-dates{font-size:.85rem}.modal-header .modal-job-info .modal-description{font-size:.8rem}.modal-body{padding:.75rem 1rem 1rem}.modal-body .modal-section{margin-bottom:1.5rem}.modal-body .modal-section h4{font-size:1.1rem;margin-bottom:.75rem}.modal-body .modal-section ul li{padding:.5rem 0 .5rem 1.25rem;font-size:.9rem}.modal-body .modal-section .tech-grid{gap:.5rem}.modal-body .modal-section .tech-grid .tech-badge{padding:.4rem .8rem;font-size:.8rem}}@media (max-width: 480px){.work .timeline{padding-left:.75rem}.work .timeline:before{left:.375rem}.work .timeline-marker{left:-.625rem}.work .timeline-marker .marker-dot{width:10px;height:10px}.work .job-card .job-header .company-logo{width:45px;height:45px}.work .job-card .job-header .company-logo .logo-emoji{font-size:1.3rem}.work .job-card .job-header .job-info .job-title{font-size:1rem}.work .job-card .job-header .job-info .company-name{font-size:.85rem}.modal-header .modal-job-info .modal-title{font-size:1.2rem}.modal-header .modal-job-info .modal-company{font-size:.95rem}.modal-body .modal-section h4{font-size:1rem}.modal-body .modal-section ul li{font-size:.85rem}.modal-body .modal-section .tech-grid .tech-badge{font-size:.75rem;padding:.3rem .6rem}}.education{height:100%;display:flex;flex-direction:column;justify-content:center;overflow-y:auto}.education h1{font-size:2.5rem;color:var(--text-primary);margin-bottom:2rem;text-align:center;font-weight:700}.education .education-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;margin-bottom:3rem}.education .education-card{background:var(--card-bg, rgba(255, 255, 255, .05));border-radius:20px;border:1px solid var(--border-color);padding:2rem;transition:all .3s ease;position:relative;overflow:hidden}.education .education-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff05,#ffffff03);pointer-events:none}.education .education-card:hover{transform:translateY(-8px);box-shadow:0 12px 30px #00000026;border-color:var(--accent-color)}.education .education-card:hover .institution-logo{transform:scale(1.05)}.education .education-card:hover .institution-logo .logo-overlay{opacity:1}.education .education-card:hover .institution-name{color:var(--accent-color)}.education .education-card:hover .institution-name .external-link{transform:translate(2px,-2px)}.education .institution-logo{width:100px;height:100px;background:var(--logo-bg, rgba(255, 255, 255, .1));border-radius:20px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.education .institution-logo .logo-emoji{font-size:3rem;z-index:2;position:relative}.education .institution-logo .logo-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#007bffe6;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;border-radius:20px}.education .institution-logo .logo-overlay .visit-text{color:#fff;font-size:.8rem;font-weight:600;text-align:center}.education .education-content{position:relative;z-index:1}.education .education-content .degree-title{font-size:1.4rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem;line-height:1.3}.education .education-content .institution-name{font-size:1.2rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem;cursor:pointer;transition:color .3s ease;display:flex;align-items:center;gap:.5rem}.education .education-content .institution-name .external-link{font-size:.9rem;transition:transform .3s ease;opacity:.7}.education .education-content .institution-name:hover .external-link{opacity:1}.education .education-content .institution-location{font-size:.9rem;color:var(--text-secondary);margin-bottom:.25rem}.education .education-content .education-dates{font-size:.85rem;color:var(--text-secondary);font-weight:500;margin-bottom:1rem}.education .education-content .education-description{color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem;font-size:.95rem}.education .education-content .achievements-list h5{font-size:1rem;font-weight:600;color:var(--accent-color);margin-bottom:.75rem}.education .education-content .achievements-list ul{list-style:none;padding:0;margin:0}.education .education-content .achievements-list ul li{color:var(--text-secondary);line-height:1.5;position:relative;padding:.5rem 0 .5rem 1.25rem;font-size:.9rem}.education .education-content .achievements-list ul li:before{content:"▸";color:var(--accent-color);position:absolute;left:0;font-weight:700}.education .education-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.education .education-summary .summary-card{background:var(--summary-bg, rgba(255, 255, 255, .03));border-radius:16px;border:1px solid var(--border-color);padding:1.5rem;text-align:center;transition:all .3s ease}.education .education-summary .summary-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001a;border-color:var(--accent-color)}.education .education-summary .summary-card h3{font-size:1.1rem;font-weight:600;color:var(--accent-color);margin-bottom:1rem}.education .education-summary .summary-card p{color:var(--text-secondary);line-height:1.6;font-size:.9rem;margin:0}@media (max-width: 1024px){.education .education-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.education .education-card{padding:1.5rem}.education .institution-logo{width:80px;height:80px}.education .institution-logo .logo-emoji{font-size:2.5rem}.education .education-summary{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}}@media (max-width: 768px){.education h1{font-size:2rem;margin-bottom:1.5rem}.education .education-grid{grid-template-columns:1fr;gap:1.5rem}.education .education-card{padding:1.25rem}.education .education-card .institution-logo{width:70px;height:70px;margin-bottom:1rem}.education .education-card .institution-logo .logo-emoji{font-size:2rem}.education .education-card .education-content .degree-title{font-size:1.2rem}.education .education-card .education-content .institution-name{font-size:1rem}.education .education-card .education-content .education-description{font-size:.9rem}.education .education-card .education-content .achievements-list h5{font-size:.95rem}.education .education-card .education-content .achievements-list ul li{font-size:.85rem}.education .education-summary{grid-template-columns:1fr;gap:1rem}.education .education-summary .summary-card{padding:1.25rem}.education .education-summary .summary-card h3{font-size:1rem}.education .education-summary .summary-card p{font-size:.85rem}}@media (max-width: 480px){.education .education-card{padding:1rem}.education .education-card .institution-logo{width:60px;height:60px}.education .education-card .institution-logo .logo-emoji{font-size:1.8rem}.education .education-card .education-content .degree-title{font-size:1.1rem}.education .education-card .education-content .institution-name{font-size:.95rem}.education .education-card .education-content .education-description{font-size:.85rem}.education .education-summary .summary-card{padding:1rem}.education .education-summary .summary-card h3{font-size:.95rem}.education .education-summary .summary-card p{font-size:.8rem}}.portfolio{height:100%;display:flex;flex-direction:column;justify-content:center;overflow-y:auto}.portfolio h1{font-size:2.5rem;color:var(--text-primary);margin-bottom:1rem;text-align:center;font-weight:700}.portfolio .portfolio-intro{text-align:center;margin-bottom:2rem}.portfolio .portfolio-intro p{color:var(--text-secondary);font-size:1.1rem;line-height:1.6;max-width:600px;margin:0 auto}.portfolio .portfolio-filters{margin-bottom:2rem}.portfolio .portfolio-filters .filter-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.portfolio .portfolio-filters .filter-btn{background:var(--filter-bg, rgba(255, 255, 255, .05));border:1px solid var(--border-color);color:var(--text-secondary);padding:.75rem 1.25rem;border-radius:25px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500}.portfolio .portfolio-filters .filter-btn:hover{background:var(--filter-hover-bg, rgba(255, 255, 255, .08));transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.portfolio .portfolio-filters .filter-btn.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color);box-shadow:0 4px 12px #007bff4d}.portfolio .portfolio-filters .filter-btn .filter-icon{font-size:1rem}.portfolio .portfolio-filters .filter-btn .filter-name{font-weight:500}.portfolio .portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:2rem}.portfolio .project-card{background:var(--card-bg, rgba(255, 255, 255, .05));border-radius:16px;border:1px solid var(--border-color);overflow:hidden;cursor:pointer;transition:all .3s ease;position:relative}.portfolio .project-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff05,#ffffff03);pointer-events:none}.portfolio .project-card:hover{transform:translateY(-8px);box-shadow:0 12px 30px #00000026;border-color:var(--accent-color)}.portfolio .project-card:hover .project-overlay{opacity:1}.portfolio .project-card:hover .project-emoji{transform:scale(1.1)}.portfolio .project-card.featured{border-color:var(--accent-color);box-shadow:0 4px 20px #007bff1a}.portfolio .project-image{height:200px;background:var(--image-bg, rgba(255, 255, 255, .03));display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.portfolio .project-image .project-emoji{font-size:4rem;transition:transform .3s ease;z-index:2;position:relative}.portfolio .project-image .featured-badge{position:absolute;top:1rem;right:1rem;background:var(--accent-color);color:#fff;padding:.25rem .75rem;border-radius:15px;font-size:.75rem;font-weight:600;z-index:3}.portfolio .project-image .project-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#007bffe6;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;z-index:4}.portfolio .project-image .project-overlay .view-project{color:#fff;font-size:1.1rem;font-weight:600}.portfolio .project-content{padding:1.5rem;position:relative;z-index:1}.portfolio .project-content .project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.portfolio .project-content .project-header .project-title{font-size:1.3rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.3;flex:1}.portfolio .project-content .project-header .project-status{font-size:.75rem;font-weight:600;padding:.25rem .75rem;border-radius:15px;background:#ffffff1a;flex-shrink:0;margin-left:1rem}.portfolio .project-content .project-description{color:var(--text-secondary);line-height:1.6;margin-bottom:1rem;font-size:.95rem}.portfolio .project-content .project-meta{display:flex;gap:1rem;margin-bottom:1rem;font-size:.85rem}.portfolio .project-content .project-meta .project-year{color:var(--accent-color);font-weight:600}.portfolio .project-content .project-meta .project-category{color:var(--text-secondary)}.portfolio .project-content .project-tech{display:flex;flex-wrap:wrap;gap:.5rem}.portfolio .project-content .project-tech .tech-tag{background:var(--tech-bg, rgba(255, 255, 255, .08));color:var(--text-secondary);padding:.25rem .75rem;border-radius:15px;font-size:.75rem;font-weight:500;border:1px solid var(--border-color)}.portfolio .project-content .project-tech .tech-more{background:var(--accent-color);color:#fff;padding:.25rem .75rem;border-radius:15px;font-size:.75rem;font-weight:600}.portfolio .no-projects{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.portfolio .no-projects .no-projects-icon{font-size:3rem;display:block;margin-bottom:1rem}.portfolio .no-projects h3{font-size:1.5rem;margin-bottom:.5rem;color:var(--text-primary)}.portfolio .no-projects p{font-size:1rem}.project-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease}.project-modal{background:var(--modal-bg, rgba(30, 30, 30, .95));border-radius:20px;border:1px solid var(--border-color);max-width:800px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.project-modal:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff05,#ffffff03);pointer-events:none;border-radius:20px}.modal-close{position:absolute;top:1rem;right:1rem;background:var(--close-bg, rgba(255, 255, 255, .1));border:none;color:var(--text-primary);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1.2rem;font-weight:700;transition:all .2s ease;z-index:10}.modal-close:hover{background:var(--close-hover-bg, rgba(255, 255, 255, .2));transform:scale(1.1)}.modal-header{padding:2rem 2rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;align-items:flex-start;gap:1.5rem;position:relative;z-index:1}.modal-header .modal-image{width:80px;height:80px;background:var(--logo-bg, rgba(255, 255, 255, .1));border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-header .modal-image .modal-emoji{font-size:2.5rem}.modal-header .modal-info{flex:1}.modal-header .modal-info .modal-title{font-size:1.8rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem;line-height:1.2}.modal-header .modal-info .modal-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.9rem}.modal-header .modal-info .modal-meta span{padding:.25rem .75rem;border-radius:15px;background:#ffffff1a;font-weight:500}.modal-header .modal-info .modal-meta .modal-year{color:var(--accent-color)}.modal-header .modal-info .modal-meta .modal-category{color:var(--text-secondary)}.modal-header .modal-info .modal-meta .modal-status{font-weight:600}.modal-body{padding:1.5rem 2rem 2rem;position:relative;z-index:1}.modal-body .modal-description{margin-bottom:2rem}.modal-body .modal-description h3{font-size:1.2rem;font-weight:600;color:var(--accent-color);margin-bottom:1rem}.modal-body .modal-description p{color:var(--text-secondary);line-height:1.6;font-size:1rem}.modal-body .modal-technologies{margin-bottom:2rem}.modal-body .modal-technologies h3{font-size:1.2rem;font-weight:600;color:var(--accent-color);margin-bottom:1rem}.modal-body .modal-technologies .tech-grid{display:flex;flex-wrap:wrap;gap:.75rem}.modal-body .modal-technologies .tech-grid .tech-badge{background:var(--tech-badge-bg, rgba(255, 255, 255, .08));color:var(--text-secondary);padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:500;border:1px solid var(--border-color);transition:all .2s ease}.modal-body .modal-technologies .tech-grid .tech-badge:hover{background:var(--accent-color);color:#fff;transform:translateY(-2px)}.modal-body .modal-links{display:flex;gap:1rem;flex-wrap:wrap}.modal-body .modal-links .project-link{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:25px;text-decoration:none;font-weight:600;transition:all .3s ease;border:1px solid var(--border-color)}.modal-body .modal-links .project-link:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.modal-body .modal-links .project-link.live-link{background:var(--accent-color);color:#fff}.modal-body .modal-links .project-link.live-link:hover{background:var(--accent-hover, #0056b3)}.modal-body .modal-links .project-link.github-link{background:var(--github-bg, rgba(255, 255, 255, .05));color:var(--text-primary)}.modal-body .modal-links .project-link.github-link:hover{background:var(--github-hover-bg, rgba(255, 255, 255, .1));border-color:var(--accent-color)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 1024px){.portfolio .portfolio-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.portfolio .portfolio-filters .filter-buttons{gap:.5rem}.project-modal{max-width:90vw;margin:1rem}.modal-header{padding:1.5rem 1.5rem 1rem;gap:1rem}.modal-header .modal-image{width:60px;height:60px}.modal-header .modal-image .modal-emoji{font-size:2rem}.modal-header .modal-info .modal-title{font-size:1.5rem}.modal-body{padding:1rem 1.5rem 1.5rem}}@media (max-width: 768px){.portfolio h1{font-size:2rem;margin-bottom:1rem}.portfolio .portfolio-intro p{font-size:1rem}.portfolio .portfolio-filters{margin-bottom:1.5rem}.portfolio .portfolio-filters .filter-buttons{gap:.5rem}.portfolio .portfolio-filters .filter-buttons .filter-btn{padding:.6rem 1rem;font-size:.8rem}.portfolio .portfolio-filters .filter-buttons .filter-btn .filter-icon{font-size:.9rem}.portfolio .portfolio-grid{grid-template-columns:1fr;gap:1.5rem}.portfolio .project-card .project-image{height:150px}.portfolio .project-card .project-image .project-emoji{font-size:3rem}.portfolio .project-card .project-content{padding:1.25rem}.portfolio .project-card .project-content .project-header .project-title{font-size:1.1rem}.portfolio .project-card .project-content .project-description{font-size:.9rem}.project-modal-overlay{padding:.5rem}.project-modal{max-width:95vw;max-height:95vh}.modal-header{padding:1rem 1rem .75rem;flex-direction:column;align-items:center;text-align:center;gap:.75rem}.modal-header .modal-image{width:60px;height:60px}.modal-header .modal-image .modal-emoji{font-size:2rem}.modal-header .modal-info .modal-title{font-size:1.3rem}.modal-header .modal-info .modal-meta{justify-content:center;gap:.5rem;font-size:.8rem}.modal-body{padding:.75rem 1rem 1rem}.modal-body .modal-description{margin-bottom:1.5rem}.modal-body .modal-description h3{font-size:1.1rem}.modal-body .modal-description p{font-size:.9rem}.modal-body .modal-technologies{margin-bottom:1.5rem}.modal-body .modal-technologies h3{font-size:1.1rem}.modal-body .modal-technologies .tech-grid{gap:.5rem}.modal-body .modal-technologies .tech-grid .tech-badge{padding:.4rem .8rem;font-size:.8rem}.modal-body .modal-links{flex-direction:column;gap:.75rem}.modal-body .modal-links .project-link{justify-content:center;padding:.6rem 1rem;font-size:.9rem}}@media (max-width: 480px){.portfolio .portfolio-filters .filter-buttons .filter-btn{padding:.5rem .75rem;font-size:.75rem}.portfolio .portfolio-filters .filter-buttons .filter-btn .filter-name{display:none}.portfolio .project-card .project-content{padding:1rem}.portfolio .project-card .project-content .project-header .project-title{font-size:1rem}.portfolio .project-card .project-content .project-description{font-size:.85rem}.modal-header .modal-info .modal-title{font-size:1.2rem}.modal-body .modal-description h3{font-size:1rem}.modal-body .modal-description p{font-size:.85rem}.modal-body .modal-technologies h3{font-size:1rem}.modal-body .modal-technologies .tech-grid .tech-badge{font-size:.75rem;padding:.3rem .6rem}}.contact{height:100%;display:flex;flex-direction:column;justify-content:center}.contact h1{font-size:2rem;color:var(--text-primary);margin-bottom:2rem;text-align:center}.contact .contact-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:1000px;margin:0 auto;padding:0 1rem}@media (max-width: 768px){.contact .contact-content{grid-template-columns:1fr;gap:2rem}}.contact .contact-info h2{font-size:1.5rem;color:var(--accent-color);margin-bottom:1rem}.contact .contact-info p{color:var(--text-secondary);margin-bottom:2rem;line-height:1.6}.contact .contact-info .contact-details .contact-item{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:var(--text-primary)}.contact .contact-info .contact-details .contact-item i{color:var(--accent-color);width:20px}.contact .contact-info .contact-details .contact-item a{color:var(--accent-color);text-decoration:none}.contact .contact-info .contact-details .contact-item a:hover{text-decoration:underline}.contact .contact-form{display:flex;flex-direction:column;gap:1.5rem}.contact .contact-form .form-group{display:flex;flex-direction:column;gap:.5rem}.contact .contact-form .form-group label{font-weight:600;color:var(--text-primary);font-size:.9rem}.contact .contact-form .form-group input,.contact .contact-form .form-group textarea{padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;font-family:inherit;background-color:var(--input-bg);color:var(--text-primary);transition:border-color .2s ease,box-shadow .2s ease}.contact .contact-form .form-group input:focus,.contact .contact-form .form-group textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px rgba(var(--accent-color-rgb),.2)}.contact .contact-form .form-group input:disabled,.contact .contact-form .form-group textarea:disabled{opacity:.6;cursor:not-allowed}.contact .contact-form .form-group input::placeholder,.contact .contact-form .form-group textarea::placeholder{color:var(--text-muted)}.contact .contact-form .form-group textarea{resize:vertical;min-height:120px}.contact .contact-form .submit-button{background-color:var(--accent-color);color:#fff;border:none;padding:.75rem 2rem;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s ease}.contact .contact-form .submit-button:hover:not(:disabled){background-color:var(--accent-hover)}.contact .contact-form .submit-button:disabled{opacity:.6;cursor:not-allowed}.contact .contact-form .success-message{margin-top:1rem;padding:.75rem;background-color:var(--success-bg);color:var(--success-text);border-radius:4px;text-align:center}.contact .contact-form .error-message{margin-top:1rem;padding:.75rem;background-color:var(--error-bg);color:var(--error-text);border-radius:4px;text-align:center}@media (max-width: 768px){.contact .contact-content{padding:0 .5rem}.contact .contact-form{gap:1rem}.contact .contact-form .form-group input,.contact .contact-form .form-group textarea{padding:.5rem}.contact .contact-form .submit-button{padding:.5rem 1.5rem}}.three-d-background{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;overflow:hidden;pointer-events:none}.three-d-background .three-d-canvas{position:absolute;top:0;left:0;width:100%;height:100%;display:block;pointer-events:none;filter:blur(.5px)}.three-d-background .background-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#00000014,#00000008,#00000003,#00000008,#00000014);pointer-events:none;z-index:1}.three-d-background:before{content:"";position:absolute;top:50%;left:50%;width:200%;height:200%;background:radial-gradient(circle,rgba(100,150,255,.08) 0%,rgba(100,150,255,.04) 30%,rgba(100,150,255,.02) 60%,transparent 80%);transform:translate(-50%,-50%);animation:glowPulse 12s ease-in-out infinite;pointer-events:none;z-index:0}.three-d-background:after{content:"";position:absolute;top:20%;right:15%;width:200px;height:200px;background:radial-gradient(circle,rgba(100,150,255,.1) 0%,rgba(100,150,255,.05) 50%,transparent 70%);border-radius:50%;animation:floatOrb 8s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes glowPulse{0%,to{opacity:.4;transform:translate(-50%,-50%) scale(1) rotate(0)}33%{opacity:.6;transform:translate(-50%,-50%) scale(1.05) rotate(120deg)}66%{opacity:.5;transform:translate(-50%,-50%) scale(1.1) rotate(240deg)}}@keyframes floatOrb{0%,to{transform:translateY(0) scale(1);opacity:.3}50%{transform:translateY(-30px) scale(1.1);opacity:.6}}.three-d-background .floating-orb{position:absolute;bottom:30%;left:10%;width:150px;height:150px;background:radial-gradient(circle,rgba(150,100,255,.08) 0%,rgba(150,100,255,.04) 50%,transparent 70%);border-radius:50%;animation:floatOrb2 10s ease-in-out infinite reverse;pointer-events:none;z-index:0}@keyframes floatOrb2{0%,to{transform:translateY(0) scale(1) rotate(0);opacity:.2}50%{transform:translateY(20px) scale(.9) rotate(180deg);opacity:.5}}@media (max-width: 768px){.three-d-background .three-d-canvas{opacity:.7}.three-d-background:before{width:150%;height:150%}.three-d-background:after{width:100px;height:100px;top:15%;right:10%}}@media (max-width: 480px){.three-d-background .three-d-canvas{opacity:.6}.three-d-background:before{width:120%;height:120%}.three-d-background:after{width:80px;height:80px;top:10%;right:5%}}@media (prefers-color-scheme: dark){.three-d-background .background-overlay{background:linear-gradient(135deg,#00000026,#00000014,#00000008,#00000014,#00000026)}.three-d-background:before{background:radial-gradient(circle,rgba(100,150,255,.12) 0%,rgba(100,150,255,.06) 30%,rgba(100,150,255,.03) 60%,transparent 80%)}.three-d-background:after{background:radial-gradient(circle,rgba(100,150,255,.15) 0%,rgba(100,150,255,.08) 50%,transparent 70%)}}@media (prefers-contrast: high){.three-d-background .three-d-canvas{opacity:.3}.three-d-background .background-overlay{background:#0000001a}}@media (prefers-reduced-motion: reduce){.three-d-background:before,.three-d-background:after{animation:none}.three-d-background .three-d-canvas{opacity:.5}}.download-cv{background:none;border:1px solid var(--border-color);cursor:pointer;font-size:1rem;color:var(--text-primary);transition:all .3s ease;align-items:center;line-height:1;border-radius:4px}.download-cv:hover{background-color:var(--hover-bg);border-color:var(--accent-color)}:root{--header-bg: #1a1a1a;--text-primary: #ffffff;--text-secondary: #b3b3b3;--accent-color: #4dabf7;--hover-bg: rgba(255, 255, 255, .1);--background: #000000;--card-bg: #1e1e1e;--border-color: #333333;--modal-bg: rgba(30, 30, 30, .95);--close-bg: rgba(255, 255, 255, .1);--close-hover-bg: rgba(255, 255, 255, .2);--logo-bg: rgba(255, 255, 255, .1);--tech-badge-bg: rgba(255, 255, 255, .08);--github-bg: rgba(255, 255, 255, .05);--github-hover-bg: rgba(255, 255, 255, .1);--filter-bg: rgba(255, 255, 255, .05);--filter-hover-bg: rgba(255, 255, 255, .08);--image-bg: rgba(255, 255, 255, .03);--tech-bg: rgba(255, 255, 255, .08)}[data-theme=light]{--header-bg: #ffffff;--text-primary: #333333;--text-secondary: #666666;--accent-color: #007bff;--hover-bg: rgba(0, 0, 0, .05);--background: #ffffff;--card-bg: #ffffff;--border-color: #e0e0e0;--modal-bg: rgba(255, 255, 255, .95);--close-bg: rgba(0, 0, 0, .1);--close-hover-bg: rgba(0, 0, 0, .2);--logo-bg: rgba(0, 0, 0, .05);--tech-badge-bg: rgba(0, 0, 0, .05);--github-bg: rgba(0, 0, 0, .03);--github-hover-bg: rgba(0, 0, 0, .08);--filter-bg: rgba(0, 0, 0, .03);--filter-hover-bg: rgba(0, 0, 0, .05);--image-bg: rgba(0, 0, 0, .02);--tech-bg: rgba(0, 0, 0, .05)}.app{display:flex;flex-direction:column;min-height:100vh;background:var(--background);color:var(--text-primary);transition:background-color .3s ease,color .3s ease;position:relative}.app.debug-panel-visible{padding-top:400px}.main-content{flex:1;padding:0;width:100%;margin-top:-8rem}@media (max-width: 768px){.main-content{margin-top:-6rem}}.one-page-layout section{min-height:100vh;margin-bottom:0;padding:4rem 2rem;border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;justify-content:center;position:relative}.one-page-layout section:last-child{border-bottom:none}.one-page-layout section>div{max-width:100%}.one-page-layout section h1{margin-top:0}@media (max-width: 768px){.app.debug-panel-visible{padding-top:300px}.one-page-layout section{min-height:100vh;padding:3rem 1rem}}@media (max-width: 480px){.app.debug-panel-visible{padding-top:250px}.one-page-layout section{min-height:100vh;padding:2rem .5rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;line-height:1.6;color:#333;background-color:#f8f9fa}a{color:#007bff;text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1200px;margin:0 auto;padding:0 1rem}
