@keyframes pop-highlight { 0% { transform: scale(1); } 10% { transform: scale(3); } 100% { transform: scale(1.3); } } .hover-highlight:hover { stroke: orange !important; stroke-width: 5 !important; cursor: pointer; } .highlighted-svg-object { stroke: red !important; stroke-width: 3 !important; filter: drop-shadow(0 0 5px red); transform: scale(1.3); transform-box: fill-box; transform-origin: center; animation: pop-highlight 7s ease; } svg { display: block; width: 100%; height: 100%; overflow: visible; will-change: transform; backface-visibility: hidden; contain: strict; touch-action: none; cursor: grabbing; cursor: grab; } #zoom-controls { position: fixed; top: 20px; left: 20px; z-index: 1000; background: rgba(40, 40, 40, 0.85); padding: 8px 12px; /* меньше отступы */ border-radius: 10px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); backdrop-filter: blur(6px); display: flex; gap: 8px; /* уменьшен зазор между кнопками */ user-select: none; cursor: move; } #zoom-controls button { background-color: white; color: #333; font-weight: 500; font-size: 13px; /* уменьшен шрифт */ padding: 6px 12px; /* меньше отступы */ border: none; border-radius: 6px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); transition: transform 0.15s ease, background-color 0.2s ease; cursor: pointer; } #zoom-controls button:hover { background-color: #f0f0f0; transform: scale(1.05); } #zoom-controls button:active { transform: scale(0.97); } html, body { margin: 0; padding: 0; height: 100%; width: 100%; overflow: hidden; } @font-face { font-family: 'Artifakt Element'; src: url('fonts/artifaktelement-regular.ttf') format('truetype'); } @font-face { font-family: 'Avenir Next Condensed'; src: url('fonts/avenir-next-condensed-regular.ttf') format('truetype'); } @font-face { font-family: 'Menlo'; src: url('fonts/Menlo-Regular.ttf') format('truetype'); } @font-face { font-family: 'Montserrat'; src: url('fonts/Montserrat-Regular.ttf') format('truetype'); } @font-face { font-family: 'Offside'; src: url('fonts/Offside-Regular.ttf') format('truetype'); }