.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-bg-overlay-strong);z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-container{background:var(--color-bg-white);border-radius:16px;width:100%;max-width:1200px;max-height:95vh;display:flex;flex-direction:column;box-shadow:var(--shadow-modal);overflow:hidden;position:relative;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-white);position:sticky;top:0;z-index:10;border-radius:16px 16px 0 0}.modal-title{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);margin:0}.modal-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.5rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .2s ease,color .2s ease;flex-shrink:0}.modal-close:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.modal-content{flex:1;min-height:0;padding:2rem;overflow-y:auto;box-sizing:border-box;display:flex;align-items:flex-start;justify-content:flex-start}@media (max-width: 768px){.modal-overlay{padding:.5rem;align-items:center}.modal-container{max-height:98vh;border-radius:16px;margin-top:0}.modal-header{padding:1rem 1.5rem}.modal-title{font-size:1.125rem}.modal-content{padding:1rem;align-items:flex-start;justify-content:flex-start}}.loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--color-text-primary)}.loader-spinner{border-radius:50%;animation:loader-spin 1s linear infinite;margin-bottom:1rem;border:4px solid var(--color-accent-yellow-muted);border-top-color:var(--color-accent-yellow)}.loader-spinner-small{width:30px;height:30px;border-width:3px}.loader-spinner-medium{width:50px;height:50px;border-width:4px}.loader-spinner-large{width:70px;height:70px;border-width:5px}@keyframes loader-spin{to{transform:rotate(360deg)}}.loader-message{margin:0;font-size:1rem;color:var(--color-text-primary)}.error-display{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;min-height:400px}.error-display-image{max-width:300px;width:100%;height:auto;margin-bottom:2rem;opacity:.9}.error-display-title{margin:0 0 1rem;text-align:center;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-black)}.error-display-message{margin:0 0 2rem;text-align:center;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-black)}.error-display-retry-button{padding:.875rem 2rem;background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:12px;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background .2s ease,transform .2s ease}.error-display-retry-button:hover{background:var(--color-primary-hover);transform:translateY(-2px)}@media (max-width: 768px){.error-display{padding:2rem 1rem;min-height:300px}.error-display-image{max-width:200px;margin-bottom:1.5rem}.error-display-title,.error-display-message{font-size:var(--font-size-xl)}.error-display-retry-button{padding:.75rem 1.5rem;font-size:var(--font-size-sm)}}.admin-select-root{position:relative;display:block;width:100%;min-width:0}.admin-select-trigger{position:relative;width:100%;display:flex;align-items:center;min-height:48px;padding:12px 2.75rem 12px 14px;border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-bg-white);font-family:var(--font-family-base);font-size:16px;font-weight:500;color:var(--color-text-primary);text-align:left;cursor:pointer;transition:border-color .2s ease,background-color .2s ease;box-shadow:none;outline:none;-webkit-tap-highlight-color:transparent}.admin-select-trigger:hover:not(:disabled){border-color:var(--color-text-placeholder);background-color:var(--color-bg-subtle)}.admin-select-trigger:disabled{cursor:not-allowed;opacity:.65;background-color:var(--color-bg-subtle)}.admin-select-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.admin-select-option:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.admin-select-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.35}.admin-select-value--placeholder{color:var(--color-text-muted);font-weight:400}.admin-select-chevron{position:absolute;right:.75rem;top:50%;margin-top:-9px;color:var(--color-text-muted);pointer-events:none;transition:transform .2s ease,color .2s ease}@media (prefers-reduced-motion: reduce){.admin-select-chevron{transition:none}}.admin-select-chevron--open{transform:rotate(180deg);color:var(--color-primary)}.admin-select-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;max-height:min(288px,55vh);overflow-y:auto;margin:0;padding:6px;list-style:none;background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:10px;box-shadow:var(--shadow-dropdown);z-index:2500}.admin-select-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;margin:0;border:none;border-radius:8px;background:transparent;font-family:var(--font-family-base);font-size:15px;font-weight:500;color:var(--color-text-primary);text-align:left;cursor:pointer;transition:background-color .15s ease}.admin-select-option:hover{background:var(--color-bg-subtle)}.admin-select-option--highlight:not(.admin-select-option--selected){background:var(--color-bg-subtle)}.admin-select-option--selected{background:#ccce4824;color:var(--color-text-dark);font-weight:600}.admin-select-option--selected.admin-select-option--highlight{background:#ccce4838}.admin-select-option-label{flex:1;min-width:0;line-height:1.4}.admin-select-check{flex-shrink:0;color:var(--color-primary)}.admin-select-root--compact .admin-select-trigger{min-height:40px;padding:8px 2.5rem 8px 12px;font-size:14px;border-radius:6px}.admin-select-root--compact .admin-select-chevron{right:.625rem;margin-top:-9px}.admin-select-root--compact .admin-select-menu{border-radius:8px}.admin-select-root--compact .admin-select-option{font-size:14px;padding:8px 10px}.admin-select-root--form .admin-select-trigger{min-height:auto;padding:.75rem 2.75rem .75rem .75rem;border-width:2px;font-size:1rem;font-weight:400}.admin-select-root--form .admin-select-chevron{right:.75rem}.navigation-wrapper{display:flex;align-items:center;justify-content:flex-end;margin-left:auto}.hamburger{display:none;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;margin:0;border:none;background:transparent;cursor:pointer;border-radius:10px;transition:background .2s ease,transform .15s ease;-webkit-tap-highlight-color:transparent}.hamburger:hover{background:var(--color-bg-hover-strong)}.hamburger:active{transform:scale(.96)}.hamburger-line{display:block;width:20px;height:2px;background:var(--color-text-dark);border-radius:2px;transition:transform .25s ease,opacity .2s ease;flex-shrink:0}.navigation-wrapper.menu-open .hamburger-line:nth-child(1){transform:translateY(8px) rotate(45deg)}.navigation-wrapper.menu-open .hamburger-line:nth-child(2){opacity:0;transform:scaleX(0)}.navigation-wrapper.menu-open .hamburger-line:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.navigation.nav-inline{display:flex;gap:2rem;align-items:center}.nav-link{color:var(--color-text-primary);text-decoration:none;font-weight:500;font-size:1rem;padding:.5rem 0;position:relative;transition:color .2s ease}.nav-link:hover{color:var(--color-primary)}.nav-link.active{color:var(--color-primary);font-weight:600}.nav-link.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-primary)}.nav-user-email{font-size:.9rem;color:var(--color-text-secondary);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-link-button{background:none;border:none;cursor:pointer;font:inherit;padding:.5rem 0}.nav-link-button:hover{color:var(--color-text-dark)}.nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-bg-overlay);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;animation:navOverlayFade .22s ease-out forwards}@keyframes navOverlayFade{0%{opacity:0}to{opacity:1}}.nav-drawer{position:fixed;top:0;right:0;bottom:0;width:min(300px,88vw);z-index:1001;display:flex;flex-direction:column;align-items:stretch;padding:0 0 1.5rem;padding-top:calc(env(safe-area-inset-top,0px) + 4.5rem);background:var(--color-bg-drawer);box-shadow:var(--shadow-drawer);overflow-y:auto;animation:navDrawerSlide .3s cubic-bezier(.32,.72,0,1) forwards}@keyframes navDrawerSlide{0%{transform:translate(100%)}to{transform:translate(0)}}.nav-drawer-title{margin:0 1.5rem .75rem;padding:0;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.nav-drawer-nav{display:flex;flex-direction:column;gap:0;flex:1;min-height:0}.nav-drawer-footer{margin-top:auto;padding:1.25rem 1.5rem 0;border-top:1px solid var(--color-border-light);padding-bottom:calc(env(safe-area-inset-bottom,0px) + .5rem)}.nav-drawer-email{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--color-text-muted);text-decoration:none;transition:color .15s ease}.nav-drawer-email:hover{color:var(--color-primary)}.nav-drawer-email-icon{flex-shrink:0;color:currentColor}.nav-drawer-nav .nav-link{font-size:1.05rem;font-weight:500;letter-spacing:.01em;padding:1rem 1.5rem;min-height:3rem;display:flex;align-items:center;box-sizing:border-box;color:var(--color-text-primary);text-decoration:none;transition:background .15s ease,color .15s ease;border-bottom:1px solid var(--color-border-light);position:relative}.nav-drawer-nav .nav-link:hover{background:var(--color-bg-hover);color:var(--color-text-dark)}.nav-drawer-nav .nav-link:active{background:var(--color-bg-hover-strong)}.nav-drawer-nav .nav-link:last-child{border-bottom:none}.nav-drawer-nav .nav-link.active{color:var(--color-text-dark);font-weight:600;background:var(--color-bg-hover)}.nav-drawer-nav .nav-link.active:after{content:"";position:absolute;left:0;top:50%;bottom:auto;right:auto;transform:translateY(-50%);width:4px;height:1.5rem;background:var(--color-primary);border-radius:0 2px 2px 0}.nav-drawer-nav .nav-user-email{padding:1rem 1.5rem;border-bottom:1px solid var(--color-border-light);font-size:.95rem;color:var(--color-text-secondary);max-width:none}.nav-drawer-nav .nav-link-button{padding:1rem 1.5rem;min-height:3rem;display:flex;align-items:center;text-align:left;width:100%;border-bottom:1px solid var(--color-border-light);border-radius:0}.nav-drawer-nav .nav-link-button:hover{background:var(--color-bg-hover)}@media (max-width: 768px){.hamburger{display:flex}.navigation.nav-inline{display:none}}.footer{background:var(--color-bg-white);border-top:1px solid var(--color-border);margin-top:auto;padding:1rem 2rem .5rem}.footer-overscroll{position:fixed;bottom:-200vh;left:0;right:0;height:200vh;background:var(--color-bg-white);z-index:-1;pointer-events:none;-webkit-transform:translateZ(0);transform:translateZ(0)}.footer-content{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem;margin-bottom:.75rem}.footer-section{display:flex;flex-direction:column;gap:.25rem;justify-content:center}.footer-title{font-size:1.1rem;color:var(--color-black);font-weight:700;margin:0}.footer-subtitle{font-size:.85rem;color:var(--color-text-secondary);font-weight:500;margin:0}.footer-nav{display:flex;flex-direction:row;gap:1.5rem;flex-wrap:wrap;justify-content:flex-end}.footer-link{color:var(--color-text-secondary);text-decoration:none;font-size:.875rem;transition:color .2s ease}.footer-link:hover{color:var(--color-text-primary)}.footer-text{color:var(--color-text-secondary);font-size:.875rem;line-height:1.5;margin:0}.footer-bottom{max-width:1400px;margin:0 auto;padding-top:.5rem;border-top:1px solid var(--color-border);text-align:center}.footer-copyright{color:var(--color-text-muted);font-size:.8rem;margin:0}.footer.footer--app-landing-embed{padding-left:0;padding-right:0}.footer.footer--app-landing-embed .footer-content,.footer.footer--app-landing-embed .footer-bottom{max-width:none;margin-left:0;margin-right:0;padding-left:2rem;padding-right:2rem;box-sizing:border-box}@media (max-width: 768px){.footer{padding:.75rem 1rem .5rem}.footer-content{grid-template-columns:1fr;gap:.5rem;margin-bottom:.5rem}.footer.footer--app-landing-embed{padding-left:0;padding-right:0}.footer.footer--app-landing-embed .footer-content,.footer.footer--app-landing-embed .footer-bottom{padding-left:1rem;padding-right:1rem}}.resort-card-link-wrapper{text-decoration:none;color:inherit;display:block;height:100%}.resort-card{background:var(--color-bg-card);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-card);transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;height:100%;cursor:pointer}.resort-card-link-wrapper:hover .resort-card{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}.resort-card-image{width:100%;height:200px;overflow:hidden;background:var(--color-skeleton);display:flex;align-items:center;justify-content:center;position:relative}.resort-card-image-error{background:var(--color-skeleton)}.resort-card-image img{width:100%;height:100%;object-fit:cover;position:relative;z-index:2}.resort-card-image-shimmer{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,#fff0,#fff6,#fff0);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;z-index:1}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.resort-card-content{padding:1rem;display:flex;flex-direction:column;flex:1}.resort-card-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.resort-card-title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem;line-height:1.3}.resort-card-region,.resort-card-location,.resort-card-distance{display:flex;align-items:center;gap:.5rem;color:var(--color-gray-mid);margin-bottom:0;font-size:.95rem}.resort-card-distance{margin-top:.35rem}.resort-card-arrow{width:1.25rem;height:1.25rem;flex-shrink:0;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23858585' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='9 6 15 12 9 18'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center;background-size:contain;transition:transform .2s ease,background-image .2s ease}.resort-card-link-wrapper:hover .resort-card-arrow{transform:translate(4px);background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CCCE48' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='9 6 15 12 9 18'%3e%3c/polyline%3e%3c/svg%3e")}.resort-card-region .region-icon,.resort-card-location .location-icon,.resort-card-distance .distance-icon,.region-icon,.location-icon{width:18px;height:18px;flex-shrink:0;color:var(--color-gray-mid)}.arrow-icon{width:16px;height:16px;display:inline-block;vertical-align:middle;margin-left:.25rem;transition:transform .2s ease}.resort-card-link-wrapper:hover .arrow-icon{transform:translate(2px)}.resort-card-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--color-border-light-2)}.resort-card-buttons{display:flex;gap:.75rem;margin-top:1rem}.resort-card-button{flex:1;padding:.75rem 1rem;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-align:center;background:var(--color-bg-subtle);color:var(--color-text-primary);border:2px solid transparent}.resort-card-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-dropdown)}.resort-card-button-website{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-dark) 100%);color:var(--color-text-inverse)}.resort-card-button-website:hover{background:linear-gradient(135deg,var(--color-accent-dark) 0%,var(--color-accent) 100%);box-shadow:var(--shadow-accent)}.resort-card-button-pricing{background:linear-gradient(135deg,var(--color-accent-pink) 0%,var(--color-accent-pink-dark) 100%);color:var(--color-text-inverse)}.resort-card-button-pricing:hover{background:linear-gradient(135deg,var(--color-accent-pink-dark) 0%,var(--color-accent-pink) 100%);box-shadow:var(--shadow-accent-pink)}.resort-card-link{display:inline-block;color:var(--color-accent);text-decoration:none;font-weight:600;transition:color .2s ease}.resort-card-link-wrapper:hover .resort-card-link{color:var(--color-accent-dark)}@media (max-width: 768px){.resort-card-buttons{flex-direction:column;gap:.5rem}.resort-card-button{padding:.625rem .875rem;font-size:.875rem}}.search-bar{flex:0 1 auto}.search-bar-input-wrapper{position:relative;display:flex;align-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--color-bg-card);box-shadow:var(--shadow-sm);cursor:pointer;transition:width .3s ease,height .3s ease,border-radius .3s ease,box-shadow .3s ease;overflow:hidden}.search-bar-input-wrapper.expanded{width:250px;height:2.5rem;border-radius:12px;box-shadow:var(--shadow-dropdown)}.search-icon{position:absolute;left:50%;transform:translate(-50%);width:24px;height:24px;z-index:2;color:var(--color-text-muted);pointer-events:none;transition:left .3s ease,transform .3s ease;flex-shrink:0}.search-bar-input-wrapper.expanded .search-icon{left:1rem;transform:translate(0)}.search-bar-input{width:0;padding:0;border:none;border-radius:12px;font-size:1rem;background:transparent;opacity:0;transition:width .3s ease,padding .3s ease,opacity .3s ease;cursor:pointer;height:100%}.search-bar-input-wrapper.expanded .search-bar-input{width:100%;padding:0 3rem;opacity:1;cursor:text}.search-bar-input:focus{outline:none}.search-bar-input::placeholder{color:var(--color-text-placeholder)}.search-bar-clear{position:absolute;right:.75rem;background:none;border:none;font-size:1.2rem;color:var(--color-text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s ease;z-index:2}.search-bar-clear:hover{color:var(--color-text-primary)}@media (max-width: 768px){.search-bar-input-wrapper.expanded{width:calc(100vw - 2rem);max-width:250px}}.region-filter{display:flex;align-items:center;gap:.75rem;min-width:200px;flex:0 1 auto}.region-filter-select-root{width:100%;max-width:320px}.region-filter .admin-select-trigger{box-sizing:border-box;min-height:2.5rem;border:none;border-radius:12px;background:var(--color-bg-card);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,background-color .2s ease}.region-filter .admin-select-trigger:hover:not(:disabled){border:none;box-shadow:var(--shadow-dropdown)}.region-filter .admin-select-trigger:focus,.region-filter .admin-select-trigger:focus-visible{outline:none;box-shadow:var(--shadow-dropdown)}@media (max-width: 768px){.region-filter{width:100%}.region-filter-select-root{max-width:none}}.yandex-map-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-bg-overlay-light);z-index:1000;display:flex;align-items:center;justify-content:center;padding-top:calc(env(safe-area-inset-top,0px) + 2rem);padding-right:calc(env(safe-area-inset-right,0px) + 2rem);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 2rem);padding-left:calc(env(safe-area-inset-left,0px) + 2rem)}.yandex-map-container{background:#fff;border-radius:16px;width:100%;max-width:1400px;height:90vh;max-height:900px;display:flex;flex-direction:column;box-shadow:var(--shadow-modal);overflow:hidden;position:relative}.yandex-map-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 2rem;border-bottom:1px solid var(--color-border);background:#fff;flex-shrink:0}.yandex-map-header-title{display:flex;align-items:center;gap:1rem;min-width:0}.yandex-map-loading{font-size:.875rem;color:var(--color-text-muted);white-space:nowrap}.yandex-map-header h2{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0}.yandex-map-close{background:none;border:none;font-size:1.5rem;color:var(--color-text-muted);cursor:pointer;padding:.5rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .2s ease,color .2s ease}.yandex-map-close:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.yandex-map{flex:1;width:100%;min-height:0}.yandex-map-cluster{width:44px;height:44px;border-radius:50%;background:var(--color-primary);color:var(--color-text-inverse);border:3px solid var(--color-bg-white);box-shadow:var(--shadow-dropdown);display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:700;line-height:1;-webkit-user-select:none;user-select:none}.yandex-map-footer{padding:1rem 2rem;border-top:1px solid var(--color-border);background:#fff}.yandex-map-footer p{margin:0;color:var(--color-text-secondary);font-size:.9rem}.yandex-map-resort-info{display:flex;gap:.75rem;padding:1rem 1.25rem;background:#fff;position:absolute;bottom:3rem;left:1rem;right:1rem;max-height:140px;border-radius:12px;box-shadow:var(--shadow-dropdown);animation:slideUpFade .3s ease-out;z-index:100}.resort-info-close{position:absolute;top:.5rem;right:.5rem;background:none;border:none;font-size:1rem;color:var(--color-text-muted);cursor:pointer;padding:.25rem;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .2s ease,color .2s ease;z-index:1}.resort-info-close:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.resort-info-photo{flex-shrink:0;width:80px;height:80px;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-dark) 100%)}.resort-info-photo img{width:100%;height:100%;object-fit:cover}.resort-info-content{flex:1;display:flex;flex-direction:column;gap:.5rem;min-width:0}.resort-info-name{font-size:1.1rem;font-weight:700;color:var(--color-text-primary);margin:0;line-height:1.3}.resort-info-region{display:flex;align-items:center;gap:.5rem;color:var(--color-text-secondary);font-size:.9rem;margin:0}.resort-info-icon{width:18px;height:18px;flex-shrink:0;color:var(--color-text-secondary)}.resort-info-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-primary);text-decoration:none;font-weight:600;margin-top:auto;align-self:flex-start;transition:color .2s ease}.resort-info-link:hover{color:var(--color-primary-hover)}.resort-info-link .arrow-icon{width:16px;height:16px;transition:transform .2s ease}.resort-info-link:hover .arrow-icon{transform:translate(2px)}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.map-balloon-link{color:var(--color-primary);text-decoration:none;font-weight:600;transition:color .2s ease}.map-balloon-link:hover{color:var(--color-primary-hover);text-decoration:underline}@media (max-width: 768px){.yandex-map-overlay{padding:0;align-items:stretch;justify-content:stretch}.yandex-map-container{height:100%;max-height:none;min-height:0;flex:1;border-radius:0}.yandex-map-header{padding:calc(env(safe-area-inset-top,0px) + 1rem) calc(env(safe-area-inset-right,0px) + 1rem) 1rem calc(env(safe-area-inset-left,0px) + 1rem)}.yandex-map-header h2{font-size:1.25rem}.yandex-map-footer{padding:.75rem 1rem calc(env(safe-area-inset-bottom,0px) + .75rem)}.yandex-map-resort-info{padding:.75rem 1rem;max-height:120px;bottom:2rem;left:.75rem;right:.75rem;gap:.5rem}.resort-info-photo{width:60px;height:60px}.resort-info-name{font-size:1rem}.resort-info-region{font-size:.85rem}}.resorts-page{width:100%}.resorts-page-header{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;align-items:center;justify-content:space-between}.resorts-page-controls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.resorts-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.resorts-count{font-size:1.1rem;color:var(--color-text-primary);font-weight:500}.show-map-button{display:flex;align-items:center;justify-content:center;gap:.5rem;box-sizing:border-box;min-height:2.5rem;padding:0 1.5rem;background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:12px;font-size:.875rem;font-weight:400;cursor:pointer;transition:background .2s ease,transform .2s ease}.show-map-button:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-2px)}.show-map-button:disabled{opacity:.5;cursor:not-allowed}.map-button-icon{width:20px;height:20px}.resorts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.error-message{background:var(--color-bg-card);padding:2rem;border-radius:12px;text-align:center;color:var(--color-red);margin:2rem 0}.error-hint{margin-top:.5rem;font-size:.9rem;color:var(--color-text-muted)}.no-results{background:var(--color-bg-card);padding:3rem;border-radius:12px;text-align:center;color:var(--color-text-secondary);font-size:1.1rem}.load-more-trigger{display:flex;align-items:center;justify-content:center;padding:.75rem 0}.load-more-button{padding:.75rem 2rem;background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:opacity .2s,background .2s}.load-more-button:hover:not(:disabled){opacity:.9}.load-more-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.resorts-page{padding-bottom:10px}.resorts-grid{grid-template-columns:1fr}.resorts-page-header{flex-direction:row;flex-wrap:nowrap}.resorts-page-controls{flex-direction:row;flex-wrap:nowrap;flex:1;min-width:0}.resorts-page-controls .search-bar{flex:1;min-width:0}.resorts-page-controls .search-bar .search-bar-input-wrapper.expanded{width:100%;max-width:none}.resorts-page-controls .region-filter{width:auto;flex-shrink:0;min-width:140px}.show-map-button{position:fixed;bottom:calc(var(--map-button-bottom-offset, 0px) + 1rem + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:500;min-height:auto;padding:.5rem 1rem;font-size:.875rem;box-shadow:var(--shadow-dropdown);transition:bottom .2s ease}.show-map-button:hover:not(:disabled){transform:translate(-50%) translateY(-2px)}.show-map-button .map-button-icon{width:18px;height:18px}}@media (max-width: 360px){.resorts-page-controls .region-filter{min-width:100px}}:root{--color-text-primary: #2d3748;--color-text-secondary: #4a5568;--color-text-muted: #718096;--color-text-dark: #1a202c;--color-text-placeholder: #a0aec0;--color-text-inverse: #ffffff;--color-text-on-dark: rgba(255, 255, 255, .95);--color-bg-page: #f4f4f4;--color-bg-white: #ffffff;--color-bg-card: rgba(255, 255, 255, .95);--color-bg-subtle: #f7fafc;--color-bg-subtle-2: #f5f5f5;--color-bg-muted-neutral: #fafafa;--color-border-neutral: #f0f0f0;--color-border-neutral-mid: #f3f3f3;--color-bg-weather-day: #fdfcfc;--color-bg-drawer: #fafafa;--color-bg-overlay: rgba(26, 32, 44, .5);--color-bg-overlay-strong: rgba(0, 0, 0, .75);--color-bg-overlay-light: rgba(0, 0, 0, .7);--color-bg-hover: rgba(0, 0, 0, .04);--color-bg-hover-strong: rgba(0, 0, 0, .06);--color-bg-black: #000000;--color-border: #e2e8f0;--color-border-light: rgba(0, 0, 0, .06);--color-border-light-2: rgba(0, 0, 0, .1);--color-border-input: #cbd5e0;--color-primary: #333f47;--color-primary-hover: #2a3239;--color-success-bg: #c6f6d5;--color-success-text: #22543d;--color-success-border: #9ae6b4;--color-error-bg: #fed7d7;--color-error-text: #742a2a;--color-error-border: #fc8181;--color-red: #e53e3e;--color-accent: #667eea;--color-accent-dark: #764ba2;--color-accent-yellow: #ccce48;--color-accent-yellow-muted: rgba(204, 206, 72, .3);--color-accent-pink: #f093fb;--color-accent-pink-dark: #f5576c;--color-gray-mid: #858585;--color-skeleton: #d3d3d3;--color-black: #000000;--color-status-green: #4ade80;--color-status-blue: #3b82f6;--color-status-red: #ef4444;--color-status-dark: #1f2937}@font-face{font-family:SF Pro Display;src:local("SF Pro Display"),local("SFProDisplay-Regular");font-weight:400;font-style:normal}@font-face{font-family:SF Pro Display;src:local("SF Pro Display Medium"),local("SFProDisplay-Medium");font-weight:500;font-style:normal}@font-face{font-family:SF Pro Display;src:local("SF Pro Display Semibold"),local("SFProDisplay-Semibold");font-weight:600;font-style:normal}@font-face{font-family:SF Pro Display;src:local("SF Pro Display Bold"),local("SFProDisplay-Bold");font-weight:700;font-style:normal}:root{--font-family-base: "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700}:root{--shadow-sm: 0 2px 8px rgba(0, 0, 0, .1);--shadow-card: 0 4px 6px rgba(0, 0, 0, .1);--shadow-card-hover: 0 8px 16px rgba(0, 0, 0, .15);--shadow-dropdown: 0 4px 12px rgba(0, 0, 0, .15);--shadow-modal: 0 8px 32px rgba(0, 0, 0, .3);--shadow-drawer: -8px 0 40px rgba(0, 0, 0, .12), -2px 0 8px rgba(0, 0, 0, .06);--shadow-primary: 0 4px 12px rgba(51, 63, 71, .3);--shadow-accent: 0 4px 12px rgba(102, 126, 234, .4);--shadow-accent-pink: 0 4px 12px rgba(245, 87, 108, .4);--shadow-primary-glow: 0 6px 20px rgba(51, 63, 71, .4)}*{margin:0;padding:0;box-sizing:border-box;font-family:var(--font-family-base)}html{overscroll-behavior-x:auto;background:linear-gradient(to bottom,var(--color-bg-white) 0%,var(--color-bg-white) 20%,var(--color-bg-page) 20%,var(--color-bg-page) 100%);background-attachment:fixed;-webkit-background-attachment:fixed;min-height:100vh;position:relative}html:before{content:"";position:fixed;top:-200vh;left:0;right:0;height:200vh;background:var(--color-bg-white);z-index:-1;pointer-events:none;-webkit-transform:translateZ(0);transform:translateZ(0)}body{font-family:var(--font-family-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(to bottom,var(--color-bg-page) 0%,var(--color-bg-page) 95%,transparent 95%);min-height:100vh;overflow-x:hidden;overscroll-behavior-x:auto}#root{min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}:root{--header-height: 72px}@media (max-width: 768px){:root{--header-height: 72px}}.app-header{--header-padding-x: 2rem;--header-padding-y: 1rem;position:fixed;top:0;left:0;right:0;width:100%;z-index:100;min-height:var(--header-height);display:flex;align-items:center;padding:var(--header-padding-y) var(--header-padding-x);box-sizing:border-box;background:var(--color-bg-card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);transition:transform .25s cubic-bezier(.4,0,.2,1);transform:translateY(0)}.app-header--hidden{transform:translateY(-100%)}.app-header-spacer{flex-shrink:0;height:var(--header-height);pointer-events:none}.app-header-top{display:flex;justify-content:space-between;align-items:center;gap:2rem;width:100%;min-width:0}.app-header-link{text-decoration:none;color:inherit;display:block}.app-header-content{display:flex;align-items:center;justify-content:flex-start;gap:1rem;transition:opacity .2s ease}.app-header-link:hover .app-header-content{opacity:.8}.app-logo{width:40px;height:40px;flex-shrink:0;object-fit:contain}.app-header-title{display:flex;flex-direction:column;line-height:1.2}.app-header-title-main{font-size:var(--font-size-xl);color:var(--color-black);font-weight:var(--font-weight-bold);margin:0}.app-header-title-sub{font-size:var(--font-size-sm);color:var(--color-black);font-weight:var(--font-weight-medium);margin:0}.app-main{flex:1;display:flex;flex-direction:column;padding:2rem 2rem 0;max-width:1400px;width:100%;margin:0 auto}.page-transition{flex:1;display:flex;flex-direction:column;animation:pageIn .25s ease}@keyframes pageIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.page-transition{animation:none}}.app-main--app-landing{padding:0;max-width:none;width:100%}@media (max-width: 768px){.app-header{--header-padding-x: 1rem;padding:1rem var(--header-padding-x)}.app-header-top{flex-direction:row;justify-content:space-between;align-items:center;gap:0}.app-header-link{flex-shrink:0}.app-header-nav{margin-left:auto;flex-shrink:0}.app-header-content{gap:.75rem}.app-logo{width:40px;height:40px}.app-header-title-main{font-size:var(--font-size-base)}.app-header-title-sub{font-size:var(--font-size-xs)}.app-main{padding:22px 1rem}.app-main--app-landing{padding:0}}
