*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{color-scheme:dark;--color-bg: #000000;--color-surface: #0a0a0a;--color-surface-2: #111111;--color-surface-3: #1a1a1a;--color-border: rgba(255, 255, 255, .08);--color-border-hover: rgba(255, 255, 255, .15);--color-text: #f5f5f7;--color-text-secondary: #86868b;--color-text-tertiary: #48484a;--color-accent: #ff0000;--color-accent-hover: #e60000;--color-accent-glow: rgba(255, 0, 0, .12);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", system-ui, sans-serif;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--space-4xl: 96px;--space-5xl: 128px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-spring: cubic-bezier(.175, .885, .32, 1.275);--transition-fast: .15s var(--ease);--transition-normal: .3s var(--ease);--transition-slow: .5s var(--ease-out);--glass-bg: rgba(0, 0, 0, .72);--glass-blur: saturate(180%) blur(20px);--glass-border: rgba(255, 255, 255, .06);--container-max: 1280px;--container-padding: 48px;--header-height: 64px}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.5;min-height:100vh;overflow-x:hidden}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}button{font-family:inherit;font-size:inherit;border:none;background:none;cursor:pointer;color:inherit}::selection{background:var(--color-accent);color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.media-item[style*=--scale]{height:auto;width:calc(var(--scale) * 1%);flex:0 0 calc(var(--scale) * 1%)}.media-item[style*=--scale] img,.media-item[style*=--scale] video{width:100%;height:auto}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.header{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--header-height);display:flex;align-items:center;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-border);transition:background var(--transition-normal)}.header-inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.header-logo{display:flex;align-items:center}.header-logo-img{height:40px;width:auto;display:block;object-fit:contain;border-radius:var(--radius-sm)}.header-nav{display:flex;align-items:center;gap:var(--space-lg)}.header-nav-link{font-size:14px;font-weight:500;color:var(--color-text-secondary);transition:color var(--transition-fast);position:relative}.header-nav-link:hover{color:var(--color-text)}.header-nav-link:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:1px;background:var(--color-accent);transform:scaleX(0);transition:transform var(--transition-normal)}.header-nav-link:hover:after{transform:scaleX(1)}.header-telegram{display:flex;align-items:center;gap:var(--space-sm);padding:8px 16px;border-radius:var(--radius-full);background:#ffffff0f;border:1px solid var(--color-border);font-size:13px;font-weight:500;color:var(--color-text-secondary);transition:all var(--transition-fast)}.header-telegram:hover{background:#ffffff1a;color:var(--color-text);border-color:var(--color-border-hover)}.header-telegram svg{width:16px;height:16px}.mobile-menu-btn{display:none;width:40px;height:40px;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.mobile-menu-btn span{display:block;width:18px;height:2px;background:var(--color-text);position:relative;transition:all var(--transition-fast)}.mobile-menu-btn span:before,.mobile-menu-btn span:after{content:"";position:absolute;width:18px;height:2px;background:var(--color-text);left:0;transition:all var(--transition-fast)}.mobile-menu-btn span:before{top:-6px}.mobile-menu-btn span:after{top:6px}.mobile-menu-btn.active span{background:transparent}.mobile-menu-btn.active span:before{top:0;transform:rotate(45deg)}.mobile-menu-btn.active span:after{top:0;transform:rotate(-45deg)}.mobile-nav{display:none;position:fixed;top:var(--header-height);left:0;right:0;bottom:0;z-index:99;background:#000000f5;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);padding:var(--space-2xl) var(--container-padding);flex-direction:column;gap:var(--space-lg);opacity:0;transform:translateY(-10px);transition:opacity var(--transition-normal),transform var(--transition-normal)}.mobile-nav.active{display:flex;opacity:1;transform:translateY(0)}.mobile-nav-link{font-size:28px;font-weight:600;color:var(--color-text-secondary);padding:var(--space-md) 0;border-bottom:1px solid var(--color-border);transition:color var(--transition-fast)}.mobile-nav-link:hover{color:var(--color-text)}.hero{position:relative;width:100%;height:100vh;overflow:hidden;background:var(--color-bg)}.hero-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none}.hero-center-banner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:1000px;object-fit:contain;z-index:10;opacity:0;animation:heroBannerFade 1s cubic-bezier(.25,.1,.25,1) .3s forwards}@keyframes heroBannerFade{0%{opacity:0;transform:translate(-50%,-40%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.scroll-arrow{position:absolute;bottom:40px;left:50%;transform:translate(-50%);color:#fff;opacity:.7;pointer-events:auto;animation:bounce 2s infinite;transition:opacity .3s ease}.scroll-arrow:hover{opacity:1}.scroll-arrow svg{width:32px;height:32px}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0) translate(-50%)}40%{transform:translateY(-10px) translate(-50%)}60%{transform:translateY(-5px) translate(-50%)}}.portfolio-section{padding:var(--space-4xl) 0 var(--space-5xl)}.projects-container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.project-section{padding:var(--space-3xl) 0;border-bottom:1px solid var(--color-border);opacity:0;transform:translateY(40px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.project-section.visible{opacity:1;transform:translateY(0)}.project-section:last-child{border-bottom:none}.project-header{margin-bottom:var(--space-xl)}.project-title{font-size:24px;font-weight:700;letter-spacing:-.02em;margin-bottom:var(--space-sm)}.project-meta{display:flex;align-items:center;gap:var(--space-md)}.project-category-badge{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent);padding:4px 10px;background:var(--color-accent-glow);border-radius:var(--radius-full)}.project-description{font-size:15px;color:var(--color-text-secondary);max-width:600px;line-height:1.6;margin-top:var(--space-sm)}.gallery-container{position:relative;width:100%}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;background:#1e1e2099;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:1px solid rgba(255,255,255,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;z-index:10;cursor:pointer;opacity:0;transition:all .3s cubic-bezier(.25,.1,.25,1);box-shadow:0 4px 12px #00000026}.gallery-container:hover .gallery-nav{opacity:1}.gallery-nav:hover{background:#323237cc;transform:translateY(-50%) scale(1.08)}.gallery-container.is-start .gallery-nav.prev,.gallery-container.is-end .gallery-nav.next{opacity:0;pointer-events:none;transform:translateY(-50%) scale(.9)}.gallery-nav.prev{left:16px}.gallery-nav.next{right:16px}.gallery-nav svg{width:20px;height:20px}@media (max-width: 768px){.gallery-nav{display:none}}.media-gallery{display:flex;gap:var(--space-md);overflow-x:auto;scroll-behavior:smooth;padding:4px 0 var(--space-lg);-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab;overflow-anchor:none}.media-gallery.snap-enabled{scroll-snap-type:x mandatory}.gallery-pagination{display:none}@media (max-width: 768px){.gallery-pagination{display:flex;justify-content:center;gap:8px;padding-top:var(--space-md)}.gallery-pagination .dot{width:6px;height:6px;border-radius:50%;background:#fff3;transition:background .3s ease,transform .3s ease}.gallery-pagination .dot.active{background:var(--color-text);transform:scale(1.3)}}.media-gallery.dragging{cursor:grabbing;user-select:none}.media-gallery.dragging .media-item *{pointer-events:none}.media-gallery::-webkit-scrollbar{display:none}.media-item{flex-shrink:0;height:420px;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;scroll-snap-align:start;position:relative;background:var(--color-surface);transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out);display:none;opacity:0}.media-item.is-ready{display:block;animation:fadeInMedia .6s var(--ease-out) forwards}@keyframes fadeInMedia{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.media-item:hover{transform:scale(1.015);box-shadow:0 20px 60px #00000080}.media-item img,.media-item video{height:100%;width:auto;min-width:100%;object-fit:cover;display:block;transition:transform .6s var(--ease-out)}.media-item:hover img,.media-item:hover video{transform:scale(1.05)}.media-play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;background:#00000080;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.15);transition:all var(--transition-fast);pointer-events:none}.media-item:hover .media-play-icon{background:#f009;transform:translate(-50%,-50%) scale(1.1)}.media-play-icon svg{width:20px;height:20px;fill:#fff;margin-left:2px}.gallery-scroll-hint{display:none;align-items:center;gap:var(--space-sm);font-size:12px;color:var(--color-text-tertiary);margin-top:var(--space-sm)}.media-gallery.has-overflow~.gallery-scroll-hint{display:flex}.gallery-scroll-hint svg{width:14px;height:14px;opacity:.5;animation:scrollHint 1.5s ease infinite}@keyframes scrollHint{0%,to{transform:translate(0)}50%{transform:translate(6px)}}.lightbox{position:fixed;inset:0;z-index:300;background:#000000f5;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity var(--transition-normal),visibility var(--transition-normal)}.lightbox.active{opacity:1;visibility:visible}.lightbox-close{position:absolute;top:var(--space-lg);right:var(--space-lg);width:44px;height:44px;border-radius:50%;background:#ffffff14;display:flex;align-items:center;justify-content:center;z-index:10;transition:background var(--transition-fast)}.lightbox-close:hover{background:#ffffff26}.lightbox-close svg{width:20px;height:20px;stroke:var(--color-text);stroke-width:2}.lightbox-content{max-width:92vw;max-height:90vh;border-radius:var(--radius-md);overflow:hidden;transform:scale(.95);transition:transform var(--transition-normal)}.lightbox.active .lightbox-content{transform:scale(1)}.lightbox-content img{max-width:92vw;max-height:90vh;object-fit:contain}.lightbox-content video{max-width:92vw;max-height:90vh;object-fit:contain}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:#ffffff0f;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast);z-index:10}.lightbox-nav:hover{background:#ffffff1f}.lightbox-nav svg{width:20px;height:20px;stroke:var(--color-text);stroke-width:2}.lightbox-prev{left:var(--space-lg)}.lightbox-next{right:var(--space-lg)}.lightbox-counter{position:absolute;bottom:var(--space-lg);left:50%;transform:translate(-50%);font-size:13px;color:var(--color-text-secondary);background:#00000080;backdrop-filter:blur(10px);padding:6px 16px;border-radius:var(--radius-full)}.footer{border-top:1px solid var(--color-border);padding:var(--space-3xl) 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.footer-brand{font-size:14px;color:var(--color-text-tertiary)}.footer-links{display:flex;gap:var(--space-lg)}.footer-link{font-size:14px;color:var(--color-text-secondary);transition:color var(--transition-fast)}.footer-link:hover{color:var(--color-text)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-5xl) var(--container-padding);text-align:center}.empty-state-icon{width:64px;height:64px;margin-bottom:var(--space-lg);opacity:.2}.empty-state-text{font-size:18px;color:var(--color-text-tertiary);font-weight:500}.empty-state-sub{font-size:14px;color:var(--color-text-tertiary);margin-top:var(--space-sm);opacity:.6}@media (max-width: 1024px){:root{--container-padding: 32px}.media-item{height:360px}}@media (max-width: 768px){:root{--container-padding: 20px;--header-height: 56px}.header-nav,.header-telegram{display:none}.mobile-menu-btn{display:flex}.hero{min-height:50vh;padding-top:calc(var(--header-height) + var(--space-3xl))}.hero-logo svg{width:80px}.hero:before{width:400px;height:400px}.category-tabs{width:100%}.tabs-wrapper{padding-left:var(--container-padding);padding-right:var(--container-padding)}.project-section{padding:var(--space-2xl) 0}.project-title{font-size:20px}.media-item{height:300px}.lightbox-nav{width:40px;height:40px}.lightbox-prev{left:var(--space-md)}.lightbox-next{right:var(--space-md)}.lightbox-close{top:var(--space-md);right:var(--space-md)}.footer-inner{flex-direction:column;gap:var(--space-lg);text-align:center}.gallery-container{margin-left:calc(-1 * var(--container-padding));margin-right:calc(-1 * var(--container-padding));width:calc(100% + var(--container-padding) * 2)}.media-gallery{padding-left:var(--container-padding);padding-right:var(--container-padding)}}@media (max-width: 480px){:root{--container-padding: 16px}.media-item{height:260px}.media-gallery{gap:var(--space-sm)}.hero-title{font-size:36px}}.admin-media-item:hover .media-hover-ui{opacity:1!important}
