@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--color-bg: #0a0a0a;--color-bg-gradient: radial-gradient(ellipse at 50% 0%, rgba(9, 227, 198, .045) 0%, transparent 60%), radial-gradient(ellipse at 80% 50%, rgba(9, 227, 194, .05) 0%, transparent 40%), radial-gradient(ellipse at 20% 80%, rgba(100, 150, 255, .04) 0%, transparent 40%), #0a0a0a;--color-surface: rgba(255, 255, 255, .03);--color-surface-hover: rgba(255, 255, 255, .06);--color-surface-border: rgba(255, 255, 255, .08);--color-accent: #09e3a2;--color-accent-hover: #09d195;--color-accent-glow: rgba(9, 227, 143, .25);--color-success: #22c55e;--color-text: #ffffff;--color-text-secondary: rgba(255, 255, 255, .6);--color-text-muted: rgba(255, 255, 255, .4);--glass-blur: blur(24px);--glass-blur-light: blur(12px);--glass-border: 1px solid var(--color-surface-border);--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 40px var(--color-accent-glow)}.snap-section{min-height:100vh;scroll-snap-align:start;scroll-snap-stop:always}.snap-section-auto{min-height:100vh;scroll-snap-align:start}.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-4xl) var(--space-lg);position:relative;scroll-snap-align:start;scroll-snap-stop:always}.hero:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:150%;height:60%;background:radial-gradient(ellipse at center,var(--color-accent-glow) 0%,transparent 70%);opacity:.12;pointer-events:none}.hero-content{position:relative;z-index:1;max-width:800px;display:flex;flex-direction:column;align-items:center}.hero-logo{width:260px;height:260px;color:var(--color-accent)}.hero-title{font-size:clamp(2.5rem,8vw,5rem);font-weight:700;letter-spacing:-.02em;margin-bottom:var(--space-md);background:linear-gradient(135deg,var(--color-text) 0%,var(--color-text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-title .accent{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);-webkit-background-clip:text;background-clip:text}.hero-description{font-size:clamp(1rem,2.5vw,1.25rem);color:var(--color-text-secondary);max-width:600px;margin:0 auto;line-height:1.7}.hero-tech-stack{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-md);margin-top:var(--space-2xl);max-width:600px}.tech-item{width:3.5rem;height:3.5rem;display:flex;align-items:center;justify-content:center;background:var(--color-surface);backdrop-filter:var(--glass-blur-light);-webkit-backdrop-filter:var(--glass-blur-light);border:var(--glass-border);border-radius:var(--radius-lg);font-size:.875rem;font-weight:600;color:var(--color-text-secondary);transition:all var(--transition-fast);cursor:default;position:relative;-webkit-user-select:none;user-select:none}.tech-item img{max-width:65%;max-height:65%;object-fit:cover}.tech-item:hover{border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-4px);background:var(--color-surface-hover);box-shadow:var(--shadow-glow)}.tech-item:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(10px);padding:.5rem .75rem;background:#0a0a0ae6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid var(--color-surface-border);border-radius:var(--radius-md);color:var(--color-text);font-size:.75rem;white-space:nowrap;opacity:0;pointer-events:none;transition:all var(--transition-fast);margin-bottom:.5rem;z-index:10;box-shadow:var(--shadow-lg)}.tech-item:hover:before{opacity:1;transform:translate(-50%) translateY(0)}@media (max-width: 640px){.tech-item{width:3rem;height:3rem;font-size:.75rem}}.hero-cta{display:flex;gap:var(--space-md);margin-top:var(--space-4xl);flex-wrap:wrap;justify-content:center}.apps-section{padding:var(--space-4xl) 0;min-height:100vh;display:flex;flex-direction:column;justify-content:center;scroll-snap-align:start}.apps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl);margin-top:var(--space-2xl)}@media (max-width: 1024px){.apps-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.apps-grid{grid-template-columns:1fr}}.contact-section{padding:var(--space-4xl) 0;min-height:100vh;display:flex;flex-direction:column;justify-content:center;scroll-snap-align:start;scroll-snap-stop:always}.contact-form{max-width:600px;margin:0 auto;background:var(--color-surface);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-xl);padding:var(--space-2xl)}@media (max-width: 640px){.contact-form{padding:var(--space-lg)}}.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}@media (max-width: 640px){.contact-form-row{grid-template-columns:1fr}}.contact-submit-wrapper{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-sm);margin-top:var(--space-lg)}.contact-submit-wrapper .btn{width:100%}.success-message{text-align:center;color:var(--color-success);font-size:.875rem;font-weight:500;opacity:0;transform:translateY(-10px);transition:all var(--transition-normal)}.success-message.visible{opacity:1;transform:translateY(0)}.about-section{padding:var(--space-4xl) 0;min-height:100vh;display:flex;flex-direction:column;justify-content:center;scroll-snap-align:start;scroll-snap-stop:always}.developer-card{max-width:900px;margin:0 auto;text-align:center;background:var(--color-surface);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-xl);padding:var(--space-2xl)}.developer-card .avatar{margin:0 auto var(--space-lg)}.developer-card-name{font-size:1.5rem;font-weight:700;margin-bottom:var(--space-2xs)}.developer-card-title{color:var(--color-accent);font-weight:500;margin-bottom:var(--space-md)}.developer-card-bio{color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-lg)}.developer-website-btn{margin-bottom:var(--space-lg)}.footer{padding:var(--space-xl) 0;border-top:var(--glass-border)}.footer-content{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-md)}.footer-copyright{color:var(--color-text-muted);font-size:.875rem}.footer-links{display:flex;align-items:center;gap:var(--space-lg)}.footer-links a{color:var(--color-text-secondary);font-size:.875rem;transition:color var(--transition-fast)}.footer-links a:hover{color:var(--color-accent)}@media (max-width: 640px){.footer-content{flex-direction:column;text-align:center}}.glass{background:var(--color-surface);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-lg)}.glass-light{background:var(--color-surface);backdrop-filter:var(--glass-blur-light);-webkit-backdrop-filter:var(--glass-blur-light);border:var(--glass-border)}.fade-in{opacity:0;transform:translateY(24px);transition:opacity var(--transition-slow),transform var(--transition-slow)}.fade-in.visible{opacity:1;transform:translateY(0)}.fade-in-delay-1{transition-delay:.1s}.fade-in-delay-2{transition-delay:.2s}.fade-in-delay-3{transition-delay:.3s}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-lg)}@media (max-width: 640px){.container{padding:0 var(--space-md)}}.section{padding:var(--space-4xl) 0}@media (max-width: 640px){.section{padding:var(--space-3xl) 0}}.section-title{font-size:clamp(1.75rem,5vw,2.5rem);font-weight:700;margin-bottom:var(--space-2xl);text-align:center}.text-accent{color:var(--color-accent)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header{position:fixed;top:0;left:0;right:0;z-index:100;padding:var(--space-md) var(--space-lg);display:flex;align-items:center;justify-content:space-between;transition:background var(--transition-normal),padding var(--transition-normal),opacity var(--transition-normal),transform var(--transition-normal);max-width:100vw;box-sizing:border-box;opacity:0;transform:translateY(-100%);pointer-events:none}.header.scrolled{opacity:1;transform:translateY(0);pointer-events:auto;background:#0a0a0ad9;backdrop-filter:var(--glass-blur-light);-webkit-backdrop-filter:var(--glass-blur-light)}.header-brand{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.header-title{font-size:.9375rem;font-weight:600;color:#fff;white-space:nowrap}.header-title .accent{color:var(--color-accent)}.header-logo{width:32px;height:36px;display:flex;align-items:center;justify-content:center;transition:transform var(--transition-fast);flex-shrink:0}.header-logo:hover{transform:scale(1.05)}.header-logo svg{width:100%;height:100%;color:var(--color-accent)}.header-nav{display:flex;align-items:center;gap:var(--space-lg);flex-shrink:0}.header-nav a{font-size:.875rem;font-weight:500;color:var(--color-text-secondary);transition:color var(--transition-fast);white-space:nowrap}.header-nav a:hover{color:var(--color-accent)}.lang-toggle{font-size:.75rem;font-weight:600;padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);border:var(--glass-border);transition:all var(--transition-fast);flex-shrink:0}.lang-toggle:hover{background:var(--color-surface-hover);color:var(--color-text)}@media (max-width: 640px){.header{padding:var(--space-xs) var(--space-sm)}.header-title{display:none}.header-logo{width:28px;height:28px}.header-nav{gap:var(--space-xs)}.header-nav a{font-size:.6875rem}.lang-toggle{font-size:.625rem;padding:2px 5px}}@media (max-width: 360px){.header{padding:var(--space-xs) var(--space-xs)}.header-nav{gap:4px}.header-nav a{font-size:.625rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);font-size:.875rem;font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap}.btn-primary{background:var(--color-accent);color:var(--color-bg)}.btn-primary:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:var(--glass-border)}.btn-secondary:hover{background:var(--color-surface-hover);border-color:var(--color-text-muted)}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-secondary);border:var(--glass-border);transition:all var(--transition-fast)}.btn-icon:hover{background:var(--color-surface-hover);color:var(--color-text);transform:translateY(-2px)}.btn-icon svg{width:20px;height:20px}.btn-store{padding:var(--space-xs) var(--space-md);font-size:.8125rem;background:var(--color-surface);border:var(--glass-border);color:var(--color-text);border-radius:var(--radius-md)}.btn-store:hover{background:var(--color-surface-hover);transform:translateY(-2px)}.btn-store svg{width:18px;height:18px}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:18px;height:18px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}.btn-primary.btn-loading:after{border-top-color:var(--color-bg)}.btn-success{background:var(--color-success)!important;color:#fff!important}@keyframes spin{to{transform:rotate(360deg)}}.project-card{background:var(--color-surface);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-xl);overflow:hidden;transition:all var(--transition-normal)}.project-card:hover{background:var(--color-surface-hover);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.project-card-image{width:100%;height:200px;overflow:hidden;position:relative}.project-card-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-normal)}.project-card:hover .project-card-image img{transform:scale(1.05)}.project-card-image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 50%,rgba(10,10,10,.7) 100%)}.project-card-content{padding:var(--space-lg)}.project-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm)}.project-card-name{font-size:1.25rem;font-weight:600;flex:1}.project-card-platforms{display:flex;gap:var(--space-2xs)}.project-card-platforms svg{width:18px;height:18px;color:var(--color-text-muted);transition:color var(--transition-fast)}.project-card-platforms svg:hover{color:var(--color-accent)}.project-card-description{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.6;margin-bottom:var(--space-md);display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-card-techs{display:flex;flex-wrap:wrap;gap:var(--space-2xs);margin-bottom:var(--space-lg)}.project-tech-tag{padding:var(--space-2xs) var(--space-xs);background:var(--color-surface-hover);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;color:var(--color-text-secondary);display:flex;align-items:center;gap:4px;transition:all var(--transition-fast)}.project-tech-tag svg{width:14px;height:14px}.project-tech-tag:hover{background:var(--color-accent);color:var(--color-bg)}.project-card-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:center}.project-card-actions .btn{flex:1;min-width:100px}.btn-github{padding:var(--space-xs) var(--space-md);font-size:.8125rem;background:var(--color-surface);border:var(--glass-border);color:var(--color-text);border-radius:var(--radius-md)}.btn-github:hover{background:var(--color-surface-hover);transform:translateY(-2px)}.btn-github svg{width:16px;height:16px}.btn-gitlab{padding:var(--space-xs) var(--space-md);font-size:.8125rem;background:var(--color-surface);border:var(--glass-border);color:var(--color-text);border-radius:var(--radius-md)}.btn-gitlab:hover{background:var(--color-surface-hover);transform:translateY(-2px)}.btn-gitlab svg{width:16px;height:16px}.btn-demo{padding:var(--space-xs) var(--space-md);font-size:.8125rem;background:var(--color-surface);border:var(--glass-border);color:var(--color-text);border-radius:var(--radius-md)}.btn-demo:hover{background:var(--color-surface-hover);transform:translateY(-2px)}.btn-demo svg{width:14px;height:14px}.btn-wiki{padding:var(--space-xs) var(--space-md);font-size:.8125rem;background:var(--color-surface);border:var(--glass-border);color:var(--color-text);border-radius:var(--radius-md)}.btn-wiki:hover{background:var(--color-surface-hover);transform:translateY(-2px)}.btn-wiki img{width:16px;height:16px;filter:invert(1)}.btn-gallery{padding:var(--space-xs) var(--space-md);font-size:.8125rem;background:transparent;color:var(--color-text-secondary);border:var(--glass-border);border-radius:var(--radius-md)}.btn-gallery:hover{background:var(--color-surface-hover);color:var(--color-text);transform:translateY(-2px)}.btn-gallery svg{width:16px;height:16px}.gallery-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);background:#000000e6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:all var(--transition-normal)}.gallery-modal.active{opacity:1;visibility:visible}.gallery-modal-content{position:relative;max-width:1000px;width:100%;max-height:90vh;display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius-xl);overflow:hidden;transform:scale(.9);transition:transform var(--transition-normal)}.gallery-modal.active .gallery-modal-content{transform:scale(1)}.gallery-modal-close{position:absolute;top:var(--space-md);right:var(--space-md);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#0a0a0acc;border:var(--glass-border);border-radius:var(--radius-full);color:var(--color-text);cursor:pointer;z-index:10;transition:all var(--transition-fast)}.gallery-modal-close:hover{background:var(--color-accent);color:var(--color-bg)}.gallery-modal-close svg{width:20px;height:20px}.gallery-main-image{width:100%;height:500px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#000}.gallery-main-image img{max-width:100%;max-height:100%;object-fit:contain}.gallery-thumbnails{display:flex;gap:var(--space-xs);padding:var(--space-md);overflow-x:auto;background:var(--color-surface-hover)}.gallery-thumbnail{width:80px;height:60px;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;flex-shrink:0;border:2px solid transparent;opacity:.6;transition:all var(--transition-fast)}.gallery-thumbnail.active,.gallery-thumbnail:hover{border-color:var(--color-accent);opacity:1}.gallery-thumbnail img{width:100%;height:100%;object-fit:cover}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#0a0a0acc;border:var(--glass-border);border-radius:var(--radius-full);color:var(--color-text);cursor:pointer;transition:all var(--transition-fast)}.gallery-nav:hover{background:var(--color-accent);color:var(--color-bg)}.gallery-nav svg{width:24px;height:24px}.gallery-nav-prev{left:var(--space-md)}.gallery-nav-next{right:var(--space-md)}@media (max-width: 768px){.gallery-main-image{height:300px}.gallery-thumbnail{width:60px;height:45px}.gallery-nav{width:36px;height:36px}}.app-card{background:var(--color-surface);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-xl);padding:var(--space-xl);transition:all var(--transition-normal)}.app-card:hover{background:var(--color-surface-hover);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.app-card-header{display:flex;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-md)}.app-card-icon{width:64px;height:64px;border-radius:var(--radius-lg);background:var(--color-surface-hover);overflow:hidden;flex-shrink:0}.app-card-icon img{width:100%;height:100%;object-fit:cover}.app-card-info{flex:1;min-width:0}.app-card-name{font-size:1.25rem;font-weight:600;margin-bottom:var(--space-2xs)}.app-card-rating{display:flex;align-items:center;gap:var(--space-xs);color:var(--color-text-secondary);font-size:.875rem}.app-card-stars{display:flex;gap:2px}.app-card-stars svg{width:16px;height:16px}.app-card-stars svg.filled{fill:var(--color-accent);color:var(--color-accent)}.app-card-stars svg.empty{fill:none;stroke:var(--color-text-muted)}.app-card-description{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.6;margin-bottom:var(--space-lg)}.app-card-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.input-group{margin-bottom:var(--space-md)}.input-group label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.input-group input,.input-group textarea,.input-group select{width:100%;padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:var(--glass-border);border-radius:var(--radius-md);color:var(--color-text);transition:all var(--transition-fast)}.input-group input:focus,.input-group textarea:focus,.input-group select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow)}.input-group input::placeholder,.input-group textarea::placeholder{color:var(--color-text-muted)}.input-group textarea{min-height:120px;resize:vertical}.input-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.4)' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-md) center;padding-right:var(--space-2xl)}.input-group select option{background:var(--color-bg);color:var(--color-text)}.avatar{width:120px;height:120px;border-radius:var(--radius-full);overflow:hidden;border:3px solid var(--color-surface-border);background:var(--color-surface)}.avatar img{width:100%;height:100%;object-fit:cover}.social-links{display:flex;gap:var(--space-sm);justify-content:center}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;height:100%}body{font-family:var(--font-sans);background:var(--color-bg-gradient);color:var(--color-text);line-height:1.6;height:100%;overflow-x:hidden;overflow-y:scroll;scroll-snap-type:y proximity;scroll-behavior:smooth}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}input,textarea,select{font-family:inherit;font-size:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:var(--color-accent);color:var(--color-bg)}body{scrollbar-width:thin;scrollbar-color:transparent transparent}body.scrolling{scrollbar-color:var(--color-accent) transparent}body::-webkit-scrollbar{width:8px}body::-webkit-scrollbar-track{background:transparent}body::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}body.scrolling::-webkit-scrollbar-thumb{background:var(--color-accent-hover)}body.scrolling::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}
