:root{--ui-color-primary: #39A39B;--ui-color-primary-hover: #2d8a84;--ui-color-primary-active: #24726c;--ui-color-text-on-primary: #ffffff;--ui-color-text: #121212;--ui-color-muted: #f2f2f2;--ui-focus-ring: 0 0 0 3px rgba(57, 163, 155, .35)}.ui-btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;cursor:pointer;border-radius:100px;padding:10px;transition:background-color .18s ease,color .18s ease,opacity .18s ease,box-shadow .18s ease;text-align:center;line-height:1}.ui-btn--primary{background:var(--ui-color-primary);color:var(--ui-color-text-on-primary)}.ui-btn--secondary{background:var(--ui-color-muted);color:var(--ui-color-text)}.ui-btn--ghost{background:transparent;color:var(--ui-color-text)}.ui-btn--sm{padding:6px 10px;font-size:12px}.ui-btn--md{padding:10px;font-size:14px}.ui-btn--lg{padding:12px 16px;font-size:16px}.ui-btn--primary:hover{background:var(--ui-color-primary-hover)}.ui-btn--primary:active{background:var(--ui-color-primary-active)}.ui-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}.ui-btn:disabled{opacity:.6;cursor:not-allowed}.ui-btn__icon{display:inline-flex}.ui-btn__label{font:inherit}.ui-btn--block{width:100%}.ui-btn__icon--right{margin-left:auto}.ui-btn.ui-btn--primary.ui-btn--md .ui-btn__label{color:#fff;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.ui-btn.ui-btn--primary.ui-btn--md .ui-btn__icon>img,.ui-btn.ui-btn--primary.ui-btn--md .ui-btn__icon>svg{width:10px;height:18px}.ui-input{display:flex;flex-direction:column;gap:6px;width:100%}.ui-input__label{font-size:12px;color:#555}.ui-input__field{width:100%;border:1px solid #6B6B6B;border-radius:100px;padding:10px 12px;background:#fff}.ui-link{display:inline-flex;align-items:center;gap:8px;color:#121212}.ui-link__icon{display:inline-flex;width:18px;height:18px}.ui-link__label{font-size:14px}@media (prefers-reduced-motion: reduce){.ui-btn{transition:none}}*{margin:0;padding:0;box-sizing:border-box;text-decoration:none;outline:none;border:none}html,body{width:100vw;height:100vh;font-family:inherit;background:#fff;color:#000}body{line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}ul,ol{list-style:none}.menu-bar{position:fixed;top:16px;right:16px;bottom:16px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;flex-shrink:0;border-radius:20px;border:1px solid #EDEDED;background:#fff;z-index:10;box-sizing:border-box;padding:16px;width:360px;transition:width .35s cubic-bezier(.4,0,.2,1),height .35s cubic-bezier(.4,0,.2,1),padding .35s cubic-bezier(.4,0,.2,1),opacity .25s ease;transform:scaleX(1);opacity:1;overflow-y:auto}.menu-bar--desktop{width:380px;padding:18px;border-radius:20px}.menu-bar--laptop{width:320px;padding:14px;border-radius:18px;max-height:calc(100vh - 32px);overflow-y:auto}.menu-bar--tablet{width:280px;padding:12px;border-radius:16px;top:12px;right:12px;bottom:12px;max-height:calc(100vh - 24px);overflow-y:auto}.menu-bar--phone{inset:auto 0 0;width:100vw;min-height:90px;max-height:65vh;padding:12px;border-radius:20px 20px 0 0;overflow-y:auto;z-index:20}.menu-bar--collapsed{width:64px!important;min-width:64px!important;max-width:64px!important;height:64px!important;min-height:64px!important;max-height:64px!important;padding:8px!important;transition:width .35s cubic-bezier(.4,0,.2,1),height .35s cubic-bezier(.4,0,.2,1),padding .35s cubic-bezier(.4,0,.2,1);display:flex!important;align-items:center!important;justify-content:center!important;opacity:.9;overflow:hidden}.menu-bar__collapsed{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1}.menu-bar__content{opacity:1;transform:translateY(0);transition:opacity .25s ease,transform .25s ease;z-index:0}.menu-bar--collapsed .menu-bar__content{opacity:0;transform:translateY(8px);pointer-events:none}.menu-bar--collapsed .menu-bar__collapsed{opacity:1;pointer-events:auto}.menu-bar__content--hidden{opacity:1;transform:none;pointer-events:none;transition:none}.menu-bar__content{display:flex;flex-direction:column;gap:24px;width:100%}.menu-bar--tablet .menu-bar__content{gap:18px}.menu-bar--phone .menu-bar__content{gap:14px}.HeaderContainer{display:flex;justify-content:space-between;align-items:center;width:100%}.LogoContainer{display:flex;align-items:center}.LogoImg{width:46px;height:38px}.LogoText{margin:0 0 0 6px;color:#121212;font-family:Inter;font-size:20px;font-style:normal;font-weight:600;line-height:28px}.menu-bar--tablet .LogoImg{width:42px;height:34px}.menu-bar--phone .LogoImg{width:38px;height:30px}.menu-bar--tablet .LogoText{font-size:18px;line-height:24px}.menu-bar--phone .LogoText{font-size:16px;line-height:22px}.menu-bar__section{width:100%}.menu-bar__footer{width:100%;margin-top:auto;opacity:1;transform:translateY(0);transition:opacity .25s ease,transform .25s ease}.menu-bar--collapsed .menu-bar__footer{opacity:0;transform:translateY(8px);pointer-events:none}.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.Line{width:100%;height:1px;background:#ededed;margin:0}.menu-bar .building-btn{border-color:#e0e0e0}.menu-bar .ui-input__field{border-color:#e0e0e0;background:#fff}.menu-bar .BuildingSelector-list{border-color:#e0e0e0}.search-input{position:relative}.search-input__icon{position:absolute;left:14px;top:50%;transform:translateY(-50%)}.search-input__field{height:44px;padding-left:40px;color:#6b6b6b;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:14px;font-weight:400;line-height:20px;background:#fff}.menu-bar--tablet .search-input__field{height:40px;padding-left:38px;font-size:13px}.menu-bar--phone .search-input__field{height:38px;padding-left:36px;font-size:13px}.search-input__field::placeholder{color:#6b6b6b;font:inherit}.search-container{position:relative}.search-dropdown{position:relative;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;max-height:0;overflow:hidden;transition:opacity .2s ease,visibility .2s ease,max-height .2s ease;margin-top:4px;opacity:0;visibility:hidden}.search-dropdown.show{opacity:1;visibility:visible;max-height:264px;overflow-y:auto}.search-dropdown::-webkit-scrollbar{width:6px}.search-dropdown::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.search-dropdown::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.search-dropdown::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.search-dropdown-item{display:flex;align-items:center;padding:12px 16px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background-color .2s ease}.search-dropdown-item:last-child{border-bottom:none}.search-dropdown-item:hover{background-color:#f8f9fa}.search-dropdown-item .room-number{font-weight:600;color:#333;margin-right:12px;min-width:30px}.search-dropdown-item .room-id{color:#666;margin-right:12px;flex:1}.search-dropdown-item .corridor{color:#999;font-size:12px}.search-hint{margin-top:8px}.search-hint__actions{display:flex;gap:8px;margin-top:8px}.search-hint__actions .route-hint__switch{flex:1}.menu-arrow-btn{display:flex;width:28px;height:28px;padding:6px;justify-content:center;align-items:center;border-radius:6.667px;border:1px solid #EDEDED;background:#fff;box-shadow:0 1px 1px #00000014}.menu-arrow-btn__icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin:6px}.FloorContainer{width:100%}.FloorContainer-text{color:#8b8b8b;font-family:Inter;font-size:12px;font-style:normal;font-weight:500;line-height:16px}.floor-switcher-container{display:flex;align-items:center;width:100%}.floor-switcher{display:flex;background:#fff;border:1px solid #e0e0e0;border-radius:100px;padding:2px;overflow:hidden;width:100%;height:44px;box-sizing:border-box}.floor-segment{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;border:none;background:transparent;cursor:pointer;padding:8px 16px;transition:background-color .2s ease,color .2s ease;color:#666;font-size:14px;font-weight:500;font-family:Inter,sans-serif;box-sizing:border-box;border-radius:100px}.floor-segment.active{background:#39a39b;color:#fff}.floor-segment.inactive{background:transparent;color:#666}.floor-segment:hover{background:#f8f8f8}.floor-segment.active:hover{background:#2d8a84}.floor-icon{width:16px;height:16px;filter:brightness(0) invert(1);flex-shrink:0}.floor-segment.inactive .floor-icon{filter:brightness(0) saturate(100%) invert(42%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(.42) contrast(100%);opacity:1}.SetARoute{display:flex;padding:10px 0;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;align-self:stretch}.SetARoute-title{color:#6b6b6b;font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.route-controls{display:flex;gap:8px;align-items:center;width:100%}.clear-routes-btn{padding:10px 16px;background:transparent;border:1px solid #6B6B6B;border-radius:100px;color:#6b6b6b;font-size:14px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-weight:500;cursor:pointer;transition:all .2s ease;flex:1}.clear-routes-btn:hover{background:#39a39b;border-color:#39a39b;color:#fff}.route-hint{border:1px solid rgba(155,239,139,.45);background:#9bef8b1f;border-radius:12px;padding:10px 12px;color:#4a4a4a;font-size:12px;line-height:18px;width:100%;box-sizing:border-box}.route-hint__title{display:block;font-weight:600;color:#4f9e4a;margin-bottom:4px}.route-hint__text{display:block}.route-hint__text strong{color:#4f9e4a;font-weight:600}.route-hint__switch{margin-top:10px;display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:100px;background:#39a39b;color:#fff;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background .18s ease}.route-hint__switch:hover{background:#2d8a84}.SetARoute-hint{margin:6px 0 0;font-size:12px;line-height:1.35;color:#6b7280}.route-hint--error{border-color:#f5b5b5;background:#fff5f5}.route-hint--error .route-hint__text{color:#b42318}.RouteInput{display:flex;gap:10px;align-self:stretch;width:100%;flex-direction:column}.RouteSelector{display:flex;flex-direction:column;gap:10px;width:100%}.RouteSelector.open{gap:0}.RouteSelector-label{color:#8b8b8b;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:500;line-height:16px}.route-btn{display:flex;padding:10px 16px;align-items:center;gap:10px;align-self:stretch;border-radius:100px;border:1px solid #6B6B6B;background:#fff;position:relative;z-index:4;overflow:hidden}.route-btn .ui-btn__icon--right{margin-left:auto;transition:transform .18s ease;flex-shrink:0}.RouteSelector.open .route-btn .ui-btn__icon--right{transform:rotate(-90deg)}.route-btn .ui-btn__label{color:#6b6b6b;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.RouteSelector-list{overflow:hidden;max-height:0;transition:max-height .22s ease,opacity .18s ease;border-radius:12px;border:1px solid transparent;background:#fff;position:relative;z-index:3;box-shadow:0 4px 12px #00000026;opacity:0}.RouteSelector-list.open{max-height:320px;border-color:#e0e0e0;opacity:1}.RouteSelector-search{width:100%;box-sizing:border-box;padding:10px 14px;border:none;border-bottom:1px solid #f0f0f0;outline:none;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:14px;color:#4a4a4a;position:sticky;top:0;background:#fff;z-index:1}.RouteSelector-search::placeholder{color:#a8a8a8}.RouteSelector-options{list-style:none;margin:0;padding:0;max-height:264px;overflow-y:auto}.RouteSelector-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;cursor:pointer;color:#6b6b6b;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:14px;font-weight:500;line-height:20px;border-bottom:1px solid #f0f0f0}.RouteSelector-item:last-child{border-bottom:none}.RouteSelector-item:hover{background:#f8f8f8}.RouteSelector-item.selected{background:#39a39b;color:#fff}.RouteSelector-item__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.RouteSelector-item__floor{flex-shrink:0;font-size:12px;color:#a8a8a8}.RouteSelector-item.selected .RouteSelector-item__floor{color:#ffffffd9}.RouteSelector-empty{padding:14px;color:#a8a8a8;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:14px;text-align:center}.RouteSelector-options::-webkit-scrollbar{width:6px}.RouteSelector-options::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.RouteSelector-options::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.RouteSelector-options::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.RouteButton{display:flex;padding:10px;justify-content:center;align-items:center;gap:10px;align-self:stretch;border-radius:100px;background:#39a39b;border:none;color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px;cursor:pointer;transition:background-color .3s ease}.RouteButton:hover{background:#2d8a84}.RouteButton:disabled{background:#ccc;cursor:not-allowed}.RouteButton-icon{width:16px;height:16px;filter:brightness(0) invert(1)}.RouteButton-text{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.SettingsContainer{width:100%}.SettingsContainer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.menu-link{display:flex;align-items:center;padding:10px 16px}.menu-link-img{width:18px;height:18px;display:block}.menu-link .ui-link{text-decoration:none;color:#6b6b6b}.menu-link .ui-link__label{color:#6b6b6b;font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.menu-link .ui-link{display:inline-flex;align-items:center;gap:8px}.menu-link .ui-link__icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px}footer{width:100%}.Register-block{display:flex;justify-content:space-between;align-items:center;width:100%}.Register-block-container{display:flex;align-items:center}.Register-block-Logo{width:37px;height:37px}.Register-block-text{color:#121212;font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px;margin:0 0 0 12px}.Register-block-dots{width:20px;height:20px}.app-layout{display:grid;grid-template-rows:auto 1fr auto;width:100vw;height:100vh}.site-header{position:relative;z-index:5}.site-main{position:relative;z-index:1}.site-footer{position:relative;z-index:5}.positioned-element__card{position:absolute;inset:0;overflow:visible;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;overflow-wrap:anywhere;padding:4px;-webkit-user-select:none;user-select:none;font-weight:700;transition:opacity .2s ease,color .2s ease,background .2s ease;opacity:1;will-change:box-shadow,border-color,transform,opacity}.positioned-element__card--highlighted{border-color:var(--room-highlight-border-strong)}.positioned-element__card--highlighted:before{content:"";position:absolute;inset:-4px;border-radius:inherit;border:2px solid var(--room-highlight-border);pointer-events:none;will-change:transform,opacity;animation:roomHighlightRings 1.8s ease-in-out infinite}.positioned-element__card--from{outline:3px solid #2e7d32;outline-offset:2px}.positioned-element__card--to{outline:3px solid #c62828;outline-offset:2px}.positioned-element__pin{position:absolute;top:-14px;left:50%;transform:translate(-50%);z-index:3;min-width:26px;height:26px;padding:0 6px;border-radius:13px;border:2px solid #fff;color:#fff;font:700 15px/22px Inter,sans-serif;text-align:center;box-shadow:0 2px 6px #00000059;pointer-events:none;-webkit-user-select:none;user-select:none}.positioned-element__pin--from{background:#2e7d32}.positioned-element__pin--to{background:#c62828}.positioned-element__text{white-space:pre-line}.positioned-element__text--hover,.positioned-element--has-hover-text:hover .positioned-element__text--default{display:none}.positioned-element--has-hover-text:hover .positioned-element__text--hover{display:block}.positioned-element:hover .positioned-element__card{opacity:.7}.positioned-element__img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70%;height:70%;object-fit:contain;transition:opacity .2s ease;opacity:1;pointer-events:none}.positioned-element:hover .positioned-element__img{opacity:.9}@keyframes roomHighlightRings{0%{transform:scale(.98);opacity:.2}50%{transform:scale(1.05);opacity:.8}to{transform:scale(.98);opacity:.2}}@media (prefers-reduced-motion: reduce){.positioned-element__card--highlighted:before{animation:none;opacity:.7}}.node-path-layer{position:absolute;top:0;left:0;pointer-events:none;z-index:14}.node-path-svg{position:absolute;top:0;left:0;overflow:visible}.node-path__casing{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round}.node-path__line{fill:none;stroke:#39a39b;stroke-linecap:round;stroke-linejoin:round}.node-path__flow{fill:none;stroke:#ffffffe6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2 26;animation:node-path-flow 1.4s linear infinite}@keyframes node-path-flow{to{stroke-dashoffset:-28}}@media (prefers-reduced-motion: reduce){.node-path__flow{animation:none;opacity:.5}.node-path__finish-ring{animation:none}}.node-path__start{fill:#39a39b;stroke:#fff;stroke-width:5}.node-path__finish-ring{fill:#39a39b40;transform-origin:center;transform-box:fill-box;animation:node-path-pulse 1.6s ease-out infinite}.node-path__finish{fill:#39a39b;stroke:#fff;stroke-width:5}@keyframes node-path-pulse{0%{transform:scale(.6);opacity:.9}to{transform:scale(1.8);opacity:0}}.floor-switch-btn{position:absolute;transform:translate(-50%,-120%);display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border:none;border-radius:100px;background:#39a39b;color:#fff;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:26px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;pointer-events:auto;box-shadow:0 6px 18px #00000047;transition:background .18s ease,transform .18s ease}.floor-switch-btn:hover{background:#2d8a84;transform:translate(-50%,-120%) scale(1.04)}.floor-switch-btn__icon{font-size:30px;line-height:1}.fountain{position:absolute;pointer-events:none;transform:translate(-50%,-50%);z-index:12}.fountain__ripple{transform-box:fill-box;transform-origin:center;animation:fountain-ripple 3.4s ease-out infinite}.fountain__ripple--2{animation-delay:1.13s}.fountain__ripple--3{animation-delay:2.26s}@keyframes fountain-ripple{0%{transform:scale(.3);opacity:.7}80%{opacity:.1}to{transform:scale(1);opacity:0}}.fountain__stream{stroke-dasharray:60;stroke-dashoffset:60;animation:fountain-stream 1.8s linear infinite}.fountain__stream--b{animation-delay:.3s}.fountain__stream--c{animation-delay:.6s}.fountain__stream--d{animation-delay:.9s}.fountain__stream--e{animation-delay:1.2s}.fountain__stream--f{animation-delay:1.5s}@keyframes fountain-stream{0%{stroke-dashoffset:60;opacity:0}20%{opacity:.9}to{stroke-dashoffset:-20;opacity:0}}.fountain__jet{transform-box:fill-box;transform-origin:center bottom;animation:fountain-jet 1.5s ease-in-out infinite}@keyframes fountain-jet{0%,to{transform:scaleY(.65);opacity:.55}50%{transform:scaleY(1.1);opacity:.95}}.fountain__drop{transform-box:fill-box;transform-origin:center;animation:fountain-drop 1.5s ease-in-out infinite}.fountain__drop--b{animation-delay:.5s}.fountain__drop--c{animation-delay:1s}@keyframes fountain-drop{0%{transform:translateY(4px) scale(.5);opacity:0}30%{opacity:1}55%{transform:translateY(-30px) scale(1);opacity:1}to{transform:translateY(6px) scale(.4);opacity:0}}
