:root{--primary-color: #CE0000;--primary-color-light: #ff9494;--primary-color-dark: #a50000;--background-color: #ffffff;--text-color: #333333;--text-color-light: #666666;--border-color: #000000;--skill-pill-bg: #f5f5f5;--skill-pill-border: #ddd;--skill-pill-text: var(--text-color);--font-primary: "Quicksand", sans-serif;--font-size-small: .9rem;--font-size-normal: 1rem;--font-size-medium: 1.3rem;--font-size-large: 1.5rem;--font-size-xlarge: 2rem;--font-size-xxlarge: 2.5rem;--spacing-xs: 5px;--spacing-sm: 10px;--spacing-md: 15px;--spacing-lg: 20px;--spacing-xl: 30px;--spacing-xxl: 50px;--border-radius-sm: 5px;--border-radius-md: 10px;--border-radius-lg: 20px;--border-width-sm: 2px;--border-width-md: 4px;--transition-speed: .3s;--box-shadow: 0 4px 6px rgba(0, 0, 0, .1);--box-shadow-hover: 0 6px 8px rgba(0, 0, 0, .15)}[data-theme=dark]{--primary-color: #ff6b6b;--primary-color-light: #ff9494;--primary-color-dark: #e85555;--background-color: #1a1a1a;--text-color: #555555;--text-color-light: #797979;--border-color: #555555;--skill-pill-bg: #242424;--skill-pill-border: #555555;--skill-pill-text: var(--text-color);--box-shadow: 0 4px 6px rgba(0, 0, 0, .3);--box-shadow-hover: 0 6px 8px rgba(0, 0, 0, .4)}.btn{background-color:var(--background-color);color:var(--primary-color);border:var(--border-width-sm) solid var(--primary-color);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-speed) ease;font-family:var(--font-primary);font-weight:700}.btn:hover{background-color:var(--primary-color-light)}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-color-dark);color:var(--background-color)}.card{background-color:var(--background-color);border:var(--border-width-sm) solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-md);box-shadow:var(--box-shadow);transition:transform var(--transition-speed) ease,background-color var(--transition-speed),border-color var(--transition-speed)}.card:hover{transform:translateY(-5px);box-shadow:var(--box-shadow-hover)}.section-title{text-align:center;font-size:var(--font-size-xxlarge);margin-bottom:var(--spacing-xl);position:relative}.tag{background-color:var(--background-color);color:var(--text-color);border:var(--border-width-sm) solid var(--border-color);font-weight:700;padding:var(--spacing-sm);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-speed) ease;font-family:var(--font-primary);font-size:var(--font-size-small)}.tag:hover{background-color:var(--primary-color-light);color:var(--background-color);border-color:var(--primary-color-light)}.tag.active{background-color:var(--primary-color);color:var(--background-color);border-color:var(--primary-color)}.tag.active:hover{background-color:var(--primary-color-dark)}*{margin:0;padding:0;box-sizing:border-box}body,html{margin:0;padding:0;width:100%;height:100%;font-family:var(--font-primary);color:var(--text-color);cursor:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAWCAYAAAAmaHdCAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAoklEQVQ4ja3UgQnEIAwF0G8XcIXbwJF0lI5wIzhCO4kj5fDoSWmNzcf7ECihfUQLgYgAQAKwAXgDeNUeUzUrALlUZpEv4L2XEMIZM0MNKaVITYyRhhpyDgt1EXYiFWGgIWKFHhELZEKeIDMygihEg2ikAyV3PLSxrHHO/d7cF+rLIznnW089zmVsrZKKGIFVvdjeHxjVf1fB7FKaX4/Ti1oEH6yNTaCogsJBAAAAAElFTkSuQmCC),auto;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent;background-color:var(--background-color);transition:background-color var(--transition-speed),color var(--transition-speed)}a,button,[role=button],input[type=submit],input[type=button],.clickable{cursor:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAWCAYAAAAmaHdCAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAtklEQVQ4ja3U3w2CMBDH8W+Njw7hkwO4BzOok4gbMAJvvvpnj650pkYpaSn0Wn7JJVDaTyDhDhEBOAMPoAP2bk1TLi0gQfVa5AvsQA6F0IDcQSxIUwANiB2VFtowkRvQ+OWTMaaPd/lMIiihJKKBZpFcaBHJgbKQJSgbmYPM71/ARkfSuQJv//RShLgc/eVT9Tn/vIL7bbRjlOC1U3EjJO6dif5JVbtaA7LqKKgdSvXjsXpQi/AB6big3+3KA2AAAAAASUVORK5CYII=),pointer!important}::selection{background-color:var(--primary-color);color:#fff}::-moz-selection{background-color:var(--primary-color);color:#fff}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-speed) ease;font-weight:700}a:hover{text-decoration:underline}a:active{color:var(--primary-color-light)}::-webkit-scrollbar{width:12px;margin:var(--spacing-sm)}::-webkit-scrollbar-track{background:transparent;border-radius:var(--border-radius-md)}::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:var(--border-radius-md);border:var(--border-radius-sm) solid var(--skill-pill-bg)}.App{text-align:center;padding:var(--spacing-lg)}.about-skills-container{display:flex;flex-direction:column;gap:var(--spacing-lg)}@media (min-width: 992px){.about-skills-container{flex-direction:row;align-items:stretch}}.header-container{position:fixed;top:0;left:0;right:0;z-index:100}.header{display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm);background-color:var(--background-color);margin:var(--spacing-sm);border-radius:var(--border-radius-lg);border:solid var(--border-width-md) var(--border-color);position:relative;transition:background-color var(--transition-speed),border-color var(--transition-speed)}.logo{height:40px;cursor:pointer;transition:transform var(--transition-speed) ease;position:relative;cursor:inherit}.logo:hover{transform:scale(1.2)}.logo img{width:100%;height:100%;object-fit:contain;transition:opacity var(--transition-speed) ease}.menu-button{background-color:var(--background-color);height:40px;width:40px;border:solid var(--border-width-md) var(--border-color);border-radius:var(--border-radius-md);position:absolute;left:var(--spacing-sm);display:flex;flex-direction:column;justify-content:space-evenly;align-items:center;transition:background-color var(--transition-speed),border-color var(--transition-speed)}.hamburger-line{display:block;width:24px;height:3px;background-color:var(--border-color);border-radius:var(--border-radius-sm);transition:background-color var(--transition-speed)}.nav-menu{width:200px;margin:var(--spacing-sm);background-color:var(--background-color);padding:var(--spacing-xs);border-radius:var(--border-radius-lg);border:solid var(--border-width-md) var(--border-color);transition:background-color var(--transition-speed),border-color var(--transition-speed)}.nav-menu.nav-closed{display:none}.nav-menu ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.nav-menu li{margin:var(--spacing-xs);border:solid var(--border-width-md) var(--border-color);border-radius:var(--border-radius-md);transition:border-color var(--transition-speed)}.nav-menu a{text-decoration:none;font-weight:700;color:var(--text-color);display:block;padding:var(--spacing-sm);transition:color var(--transition-speed)}.nav-menu li:hover{border-color:var(--primary-color)}.nav-menu a:hover{color:var(--primary-color)}main{padding-top:70px}@media (min-width: 768px){.menu-button{display:flex}.nav-menu.nav-closed{display:none}}.theme-toggle{background-color:var(--background-color);height:40px;width:40px;border:solid var(--border-width-md) var(--border-color);border-radius:var(--border-radius-md);position:absolute;right:var(--spacing-sm);display:flex;justify-content:center;align-items:center;cursor:pointer;font-size:var(--font-size-medium);transition:background-color var(--transition-speed),border-color var(--transition-speed)}.theme-toggle:hover,.theme-toggle:active{background-color:var(--primary-color);border-color:var(--primary-color)}.theme-toggle svg{color:var(--border-color);transition:color var(--transition-speed)}.theme-toggle:hover svg{color:var(--background-color)}.project-card{display:flex;flex-direction:column;background-color:var(--background-color);border-radius:var(--border-radius-lg);border:var(--border-width-md) solid var(--border-color);overflow:hidden;transition:all var(--transition-speed) ease;position:relative;padding:var(--spacing-sm);gap:var(--spacing-sm)}.project-card:hover{transform:translateY(-5px);box-shadow:var(--box-shadow-hover)}.project-details{display:flex;flex-direction:column;flex:1}.project-title{font-size:var(--font-size-large);color:var(--text-color)}.project-description{text-align:justify;color:var(--text-color-light);line-height:1.6;overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;line-clamp:5;-webkit-box-orient:vertical;text-overflow:ellipsis;margin-left:var(--spacing-sm)}.long-description p{margin-bottom:var(--spacing-md);line-height:1.6;text-align:justify}.bottom-container{margin-top:auto;display:flex;flex-direction:column;align-items:center}.project-tags{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.project-tag{background-color:var(--background-color);color:var(--text-color-light);padding:4px var(--spacing-sm);border-radius:var(--border-radius-md);border:var(--border-width-sm) solid var(--text-color-light);font-size:var(--font-size-small);cursor:pointer;transition:background-color var(--transition-speed),color var(--transition-speed)}.project-tag:hover{background-color:var(--primary-color);color:var(--background-color);border-color:var(--primary-color)}.project-buttons{display:flex;gap:var(--spacing-md);justify-content:center;width:100%}.project-buttons button,.project-buttons a{background-color:var(--background-color);color:var(--primary-color);border:var(--border-width-sm) solid var(--primary-color);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius-md);cursor:pointer;font-weight:700;font-family:var(--font-primary);font-size:var(--font-size-normal);transition:background-color var(--transition-speed),color var(--transition-speed)}.project-buttons button:hover,.project-buttons a:hover{background-color:var(--primary-color);color:#fff}.close-expanded-view{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);background:var(--background-color);border:var(--border-width-md) solid var(--border-color);border-radius:var(--border-radius-md);width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xlarge);cursor:pointer;z-index:1001;transition:var(--transition-speed) all;color:var(--text-color)}.close-expanded-view:hover{background-color:var(--primary-color);border-color:var(--primary-color);color:var(--background-color)}.project-card.expanded{position:fixed;top:var(--spacing-lg);left:var(--spacing-lg);right:var(--spacing-lg);bottom:var(--spacing-lg);height:auto;z-index:1000;display:flex;flex-direction:row;box-shadow:0 0 0 1000px #000000b3;overflow:hidden}.project-card.expanded:hover{transform:none}.project-card.expanded .project-details{width:50%;height:100%;overflow-y:auto}.project-card.expanded .project-title{margin:var(--spacing-xs) 0}@media (min-width: 768px){.project-card{flex-direction:row;height:300px}.project-details{width:50%}}.interactive-container{width:100%;height:100%;position:relative;background-color:#f0f0f0;overflow:hidden}.loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#ffffffe6;z-index:10}.loading-spinner{width:100px;height:100px;background-image:url(/assets/eye%201%20optimized-vNceaTOW.gif);background-size:contain;background-position:center;background-repeat:no-repeat;margin-bottom:15px}.error-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#ffffffe6;z-index:10}.error-overlay p{color:#c00;margin-bottom:15px}.error-overlay button{padding:8px 16px;background-color:var(--primary-color);color:#fff;border:none;border-radius:5px;cursor:pointer}.figma-container{background-color:#fff}.figma-frame{width:100%;height:100%;border:none}.unity-container{background-color:#222}.unity-canvas{width:100%;height:100%;display:block}.unity-iframe-container{width:100%;height:100%;position:relative;overflow:hidden;background-color:#333}.unity-iframe-container iframe{border:none;position:absolute;top:0;left:0;width:100%;height:100%}.interactive-window{width:100%;border-radius:var(--border-radius-md);border:var(--border-width-md) solid var(--border-color);margin:var(--spacing-sm) 0;position:relative;overflow:hidden;height:200px;transition:height var(--transition-speed) ease-in-out,border-color var(--transition-speed)}.interactive-window.fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh!important;margin:0;z-index:1000;border-radius:0;border:none}.interactive-placeholder{background-color:var(--text-color-light);width:100%;height:100%;display:flex;justify-content:center;align-items:center}.load-demo-btn{padding:12px 24px;background-color:var(--primary-color);color:#fff;border:none;border-radius:10px;font-weight:700;cursor:pointer;transition:all .3s ease;font-size:15px;font-family:inherit}.load-demo-btn:hover{scale:1.05;text-decoration:underline}.load-demo-btn:active{transform:scale(.98)}.interactive-controls{position:absolute;bottom:10px;right:10px;display:flex;gap:10px;z-index:10}.interactive-controls button{background-color:#00000080;color:#fff;border:none;border-radius:10px;padding:5px 10px;font-size:16px;cursor:pointer;z-index:10;transition:all .3s ease;font-family:inherit}.interactive-controls button:hover{background-color:#000;color:var(--primary-color);font-weight:700}.image-carousel{position:relative;width:100%;height:250px;display:flex;align-items:center}.carousel-container{width:100%;height:100%;position:relative}.project-image{width:100%;height:100%;border-radius:var(--border-radius-md);border:var(--border-width-md) solid var(--border-color);object-fit:cover;transition:opacity var(--transition-speed) ease,filter var(--transition-speed) ease,border-color var(--transition-speed)}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background-color:var(--background-color);color:var(--border-color);border:var(--border-width-md) solid var(--border-color);border-radius:var(--border-radius-md);width:30px;height:60px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.33;z-index:2;transition:opacity var(--transition-speed),background-color var(--transition-speed),border-color var(--transition-speed)}.carousel-btn:hover{opacity:1}.prev-btn{left:-14px}.next-btn{right:-14px}.image-indicators{position:absolute;bottom:20px;left:0;right:0;display:flex;justify-content:center;gap:10px}.indicator{width:10px;height:10px;border-radius:50%;border:solid 2px black;background-color:#ffffff80;cursor:pointer;transition:background-color .3s}.indicator.active{background-color:var(--primary-color)}.expanded .image-carousel{width:30%;height:100%;overflow-y:auto;display:block}.expanded .carousel-btn,.expanded .image-indicators{display:none}.expanded .carousel-container{display:flex;flex-direction:column;gap:10px;height:auto}.expanded .project-image{width:100%;height:auto;object-fit:contain}.expanded-image-container{position:relative;cursor:inherit}.project-image.dimmed{filter:brightness(50%)}.eye-logo-icon{width:100%;object-fit:contain;transition:transform .3s ease}.expand-image-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#fff;color:#000;border:2px solid black;border-radius:10px;width:50px;height:50px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3;opacity:.5;transition:all .3s;padding:5px}.expand-image-btn:hover{opacity:.75;transform:translate(-50%,-50%) scale(1.2)}.fullscreen-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:2000;display:flex;align-items:center;justify-content:center}.fullscreen-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000c;z-index:2001}.fullscreen-image-container{position:relative;width:90%;height:90%;z-index:2002;display:flex;flex-direction:column;justify-content:space-between;align-items:center;border-radius:15px;padding:20px;box-sizing:border-box}.fullscreen-image{flex:1;max-width:100%;max-height:calc(100% - 120px);object-fit:contain;border-radius:10px;margin-bottom:20px;box-shadow:0 0 20px #00000080}.fullscreen-thumbnails{display:flex;justify-content:center;gap:10px;width:100%;overflow-x:auto;padding:10px 0;background-color:#0003;border-radius:8px;min-height:80px;align-items:center;cursor:inherit}.fullscreen-thumbnail{width:60px;height:60px;object-fit:cover;border-radius:5px;border:2px solid transparent;transition:all .3s;opacity:.7;flex-shrink:0}.fullscreen-thumbnail:hover{opacity:1;transform:scale(1.05)}.fullscreen-thumbnail.active{border-color:var(--primary-color);opacity:1}.fullscreen-btn{position:absolute;top:50%;transform:translateY(-50%);background-color:#fff;color:#000;border:4px solid black;border-radius:10px;width:50px;height:50px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:24px;z-index:2003;opacity:.7;transition:all .3s;margin-top:-40px}.fullscreen-btn:hover{opacity:1;transform:translateY(-50%) scale(1.05)}.fullscreen-prev-btn{left:-25px}.fullscreen-next-btn{right:-25px}.fullscreen-close-btn{position:absolute;top:0;right:0;transform:translate(50%,-50%);background-color:#fff;color:#000;border:4px solid black;border-radius:10px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;z-index:2003;opacity:.7;transition:opacity .3s}.fullscreen-close-btn:hover{opacity:1}@media (min-width: 768px){.image-carousel{width:50%;height:auto}}.projects-section{margin-bottom:var(--spacing-lg)}.section-title{text-align:center;font-size:var(--font-size-xxlarge);margin-bottom:var(--spacing-xxl);position:relative;color:var(--text-color)}.section-title:after{content:"";position:absolute;bottom:-var(--spacing-sm);left:50%;transform:translate(-50%);width:250px;border-radius:2.5px;height:var(--spacing-xs);background-color:var(--primary-color)}.filter-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);justify-content:center}.filter-tag{background-color:var(--background-color);color:var(--text-color);border:var(--border-width-md) solid var(--border-color);font-weight:700;padding:var(--spacing-xs);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-speed) ease;font-family:var(--font-primary);font-size:var(--font-size-small)}.filter-tag.active{background-color:var(--primary-color);color:var(--background-color);border-color:var(--primary-color)}.filter-tag:hover{background-color:var(--primary-color-light);color:var(--background-color);border-color:var(--primary-color-light)}.filter-tag.active:hover{background-color:var(--primary-color-dark)}.clear-filters{background-color:var(--background-color);color:var(--primary-color);border:var(--border-width-md) solid var(--primary-color);padding:var(--spacing-xs);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-speed) ease;font-family:var(--font-primary);font-size:var(--font-size-small);font-weight:700}.clear-filters:hover{background-color:var(--primary-color-light);color:var(--background-color);border-color:var(--primary-color-light)}.projects-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}.no-projects{text-align:center;grid-column:1;padding:var(--spacing-xl);color:var(--text-color-light);font-style:italic}@media (min-width: 768px){.projects-grid{grid-template-columns:repeat(auto-fill,minmax(500px,1fr))}}.about-section{padding:var(--spacing-sm);background-color:var(--background-color);border-radius:var(--border-radius-lg);border:var(--border-width-md) solid var(--border-color);flex:1;display:flex;flex-direction:column;transition:background-color var(--transition-speed),border-color var(--transition-speed)}.section-title{text-align:center;margin-bottom:var(--spacing-xl);font-size:var(--font-size-xxlarge);position:relative;color:var(--text-color)}.section-title:after{content:"";display:block;width:60px;height:var(--border-width-md);background-color:var(--primary-color);margin:var(--spacing-sm) auto 0}.about-content{display:flex;flex-direction:column;gap:var(--spacing-sm);flex:1}.about-left-column{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.about-image{width:200px;height:200px;border-radius:var(--border-radius-md);overflow:hidden;border:var(--border-width-md) solid var(--border-color);transition:border-color var(--transition-speed)}.about-image img{width:100%;height:100%;object-fit:cover}.about-text{text-align:justify;padding:0 var(--spacing-sm);color:var(--text-color)}.about-text p{margin-bottom:var(--spacing-md);line-height:1.6}.contact-info{width:100%;max-width:300px;display:flex;flex-direction:column;align-items:center}.contact-info h3{margin-bottom:var(--spacing-md);font-size:var(--font-size-medium);text-align:center;color:var(--primary-color)}.contact-list{list-style-type:none;padding:0;width:100%;text-align:center}.contact-list li{margin-bottom:var(--spacing-sm);font-size:var(--font-size-small);display:flex;flex-direction:row;align-items:center;justify-content:center;text-align:center;gap:var(--spacing-xs)}.contact-list li svg{color:var(--primary-color);flex-shrink:0}.contact-label{font-weight:700;margin-right:var(--spacing-xs);color:var(--text-color);text-align:center}.contact-list a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-speed);text-align:center}.contact-list a:hover{text-decoration:underline;color:var(--primary-color-dark)}@media (min-width: 600px) and (max-width: 1587px){.about-left-column{flex-direction:row;justify-content:center;gap:var(--spacing-xl);align-items:flex-start}.contact-info h3{text-align:center}.contact-list li{align-items:center;text-align:center}}@media (min-width: 1588px){.about-content{flex-direction:row;align-items:flex-start}.about-left-column{width:250px;margin-right:var(--spacing-sm)}.about-text{flex:1}.contact-list li{align-items:center;text-align:center}}.skills-section{border-radius:var(--border-radius-lg);background-color:var(--background-color);border:var(--border-width-md) solid var(--border-color);padding:var(--spacing-sm);flex:1;display:flex;flex-direction:column;transition:background-color var(--transition-speed),border-color var(--transition-speed)}.skills-container{display:grid;grid-template-columns:1fr;gap:var(--spacing-sm);margin:0 auto;flex:1}.skill-category{background-color:var(--background-color);padding:var(--spacing-lg);border-radius:var(--border-radius-md);transition:transform var(--transition-speed) ease,background-color var(--transition-speed),border-color var(--transition-speed);border:var(--border-width-md) solid var(--border-color);height:100%}.skill-category:hover{transform:translateY(-5px);box-shadow:var(--box-shadow-hover)}.category-title{text-align:center;margin-bottom:var(--spacing-md);font-size:var(--font-size-large);color:var(--primary-color)}.skills-list{list-style-type:none;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-xs)}.skill-item{background-color:var(--skill-pill-bg);color:var(--skill-pill-text);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius-lg);font-size:var(--font-size-small);border:var(--border-width-sm) solid var(--skill-pill-border);transition:all var(--transition-speed) ease}.skill-item:hover{background-color:var(--primary-color);color:var(--background-color);border-color:var(--primary-color)}@media (min-width: 576px){.skills-container{grid-template-columns:repeat(2,1fr)}}@media (max-width: 575px){.skill-category{margin-bottom:var(--spacing-md)}}
