.side-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:transparent;transition:background var(--duration-normal) var(--easing);pointer-events:none}.side-menu-backdrop.open{background:var(--color-overlay);pointer-events:auto}.side-menu-panel{position:fixed;top:0;right:0;bottom:0;z-index:201;width:280px;max-width:85vw;background:var(--color-background);border-left:1px solid var(--color-border);transform:translate(100%);transition:transform var(--duration-normal) var(--easing);display:flex;flex-direction:column;padding:24px;overflow-y:auto}.side-menu-panel.open{transform:translate(0)}.side-menu-close{align-self:flex-end;background:none;border:none;padding:4px;cursor:pointer;color:var(--color-text);line-height:0}.side-menu-close svg{width:24px;height:24px}.side-menu-section{display:flex;flex-direction:column;gap:12px;padding:24px 0;border-bottom:1px solid var(--color-border)}.side-menu-section:last-child{border-bottom:none}.side-menu-label{font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:500;color:var(--color-textMuted);text-transform:uppercase;letter-spacing:.08em}.side-menu-nav{display:flex;flex-direction:column;gap:4px}.side-menu-link{font-family:var(--font-family);font-size:var(--font-size-lg);font-weight:500;color:var(--color-text);text-decoration:none;padding:10px 12px;border-radius:12px;transition:background var(--duration-fast) var(--easing)}.side-menu-link:hover,.side-menu-link.active{background:var(--color-border)}.side-menu-lang-row{display:flex;gap:8px}.side-menu-lang-btn{flex:1;padding:10px 0;border-radius:30px;border:var(--stroke-width) solid var(--color-border);background:transparent;font-family:var(--font-family-button);font-size:var(--font-size-sm);font-weight:700;color:var(--color-textMuted);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;transition:background var(--duration-fast) var(--easing),color var(--duration-fast) var(--easing),border-color var(--duration-fast) var(--easing)}.side-menu-lang-btn.selected{background:var(--color-text);color:var(--color-background);border-color:var(--color-text)}.side-menu-theme-toggle{display:flex;align-items:center;justify-content:space-between;padding:4px 0}.side-menu-theme-label{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:500;color:var(--color-text);display:flex;align-items:center;gap:10px}.side-menu-theme-label svg{width:20px;height:20px}.theme-switch{position:relative;width:48px;height:28px;background:var(--color-border);border-radius:14px;border:none;cursor:pointer;padding:0;transition:background var(--duration-fast) var(--easing)}.theme-switch.active{background:var(--color-text)}.theme-switch-knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--color-background);transition:transform var(--duration-fast) var(--easing)}.theme-switch.active .theme-switch-knob{transform:translate(20px)}.app-header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:flex-start;justify-content:space-between;padding:20px 16px;background:linear-gradient(to bottom,var(--color-background) 60%,transparent)}.header-logo{display:flex;align-items:center;gap:0;text-decoration:none;position:relative}.header-logo-text{position:relative;z-index:1}.header-logo-name{font-family:var(--font-family-logo);font-size:33px;font-weight:500;color:var(--color-text);line-height:1;letter-spacing:.02em}.header-logo-badge{display:block;font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:500;color:var(--color-textMuted);line-height:1.2;margin-top:2px}.desktop-nav{display:none}.hamburger{margin-top:7px;display:flex;flex-direction:column;justify-content:space-between;width:44px;height:23px;background:none;border:none;padding:0;cursor:pointer}.hamburger span{display:block;height:2.5px;width:100%;background:var(--color-text);border-radius:2px}@media(min-width:1024px){.app-header{align-items:center;padding:20px 48px}.header-logo-text{min-height:50px;display:flex;flex-direction:column;justify-content:flex-start}.hamburger{display:none}.desktop-nav{display:flex;align-items:center;gap:32px}.desktop-nav-links{display:flex;align-items:center;gap:8px;padding-right:24px;margin-right:8px;position:relative}.desktop-nav-links:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:3px;height:24px;background:var(--color-border);border-radius:2px}.desktop-nav-link{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;color:var(--color-textMuted);text-decoration:none;text-align:center;padding:8px 16px;border-radius:30px;transition:color var(--duration-fast) var(--easing),background var(--duration-fast) var(--easing),font-weight var(--duration-fast) var(--easing)}.desktop-nav-link:hover{color:var(--color-text);background:none}.desktop-nav-link.active{color:var(--color-text);background:none;font-weight:700}.desktop-nav-controls{display:flex;align-items:center;gap:16px}.desktop-lang-row{display:flex;gap:4px}.desktop-lang-btn{height:30px;padding:0 12px;border-radius:15px;border:2px solid var(--color-border);background:transparent;font-family:var(--font-family-button);font-size:var(--font-size-xs);font-weight:700;color:var(--color-textMuted);cursor:pointer;letter-spacing:.04em;transition:background var(--duration-fast) var(--easing),color var(--duration-fast) var(--easing),border-color var(--duration-fast) var(--easing)}.desktop-lang-btn.selected{background:var(--color-textMuted);color:var(--color-background);border-color:var(--color-textMuted)}.desktop-theme-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-round);border:2px solid var(--color-border);background:transparent;color:var(--color-textMuted);cursor:pointer;padding:0;transition:color var(--duration-fast) var(--easing),border-color var(--duration-fast) var(--easing)}.desktop-theme-btn:hover{color:var(--color-text);border-color:var(--color-text)}.desktop-theme-btn svg{width:14px;height:14px}}.site-footer{background:var(--color-footerBg);padding:30px 25px 40px;display:flex;flex-direction:column;align-items:center;gap:30px;margin-top:200px;border-radius:var(--radius-card) var(--radius-card) 0 0}.footer-logo{width:100%;max-width:402px;display:flex;flex-direction:column;align-items:center}.footer-logo-name{font-family:var(--font-family-logo);font-size:45px;position:absolute;font-weight:500;color:var(--color-footerText);line-height:1;letter-spacing:.02em;margin-bottom:16px}.footer-logo svg{width:100%;height:auto}.footer-columns{display:flex;gap:16px;width:100%;max-width:361px}.footer-col{flex:1;display:flex;flex-direction:column;gap:20px}.footer-col-title{font-size:var(--font-size-lg);font-weight:500;color:var(--color-footerText);margin:0}.footer-col-list{display:flex;flex-direction:column;gap:10px}.footer-col-item{font-size:var(--font-size-xs);font-weight:500;color:var(--color-footerTextMuted);margin:0;text-decoration:none}.footer-col-item a{color:inherit;text-decoration:none}@media(min-width:1024px){.site-footer{flex-direction:row;align-items:flex-start;justify-content:space-between;max-width:1200px;margin-left:auto;margin-right:auto;margin-top:160px;padding:48px 60px 56px;gap:60px;border-radius:var(--radius-card) var(--radius-card) 0 0}.footer-logo{flex:0 0 auto;max-width:300px}.footer-columns{max-width:none;flex:0 0 auto;gap:60px}}:root{font-family:var(--font-family);line-height:1.5;background-color:var(--color-background);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;overflow-x:hidden}#root{min-height:100vh}img{max-width:100%;display:block}button{font-family:inherit}.skip-link{position:absolute;left:-9999px;z-index:999;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-primary);color:var(--color-background);text-decoration:none}.skip-link:focus{left:var(--spacing-md);top:var(--spacing-md)}.brand-gradient{background:var(--gradient-brand)}.brand-gradient-text{background:var(--gradient-brand-wide);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.scroll-row{display:flex;gap:var(--spacing-lg);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:var(--spacing-xs);width:100%;max-width:100vw}.scroll-row::-webkit-scrollbar{display:none}.scroll-row>*{flex-shrink:0;scroll-snap-align:start}
