        html,
        body {
            margin: 0;
            height: 100%;
            font-family: sans-serif;
            color: #fff;
        }

        #map2d,
        #map3d {
            position: absolute;
            top: 0;
            bottom: 0;
            width: 100%;
        }

        #map3d {
            display: none;
        }

        .controls {
            position: absolute;
            top: 10px;
            left: 10px;
            z-index: 1100;
            background: rgba(0, 0, 0, 0.9);
            padding: 10px;
            border-radius: 8px;
            box-shadow: 0 0 5px #181a1b;
            max-width: 320px;
        }

        #weather {
            position: absolute;
            top: 10px;
            right: 10px;
            z-index: 1100;
            background: rgba(24, 26, 27, 0.9);
            padding: 10px;
            border-radius: 8px;
            font-size: 14px;
            max-width: 250px;
        }

        input[type="text"] {
            padding: 6px;
            width: 95%;
            margin-bottom: 6px;
            border-radius: 4px;
            border: 1px solid #202124;
        }

        button {
            padding: 6px 10px;
            margin-bottom: 6px;
            cursor: pointer;
            border: none;
            background: #00BBF0;
            color: white;
            border-radius: 4px;
            width: 100%;
            font-weight: bold;
        }

        button:hover {
            background: #418ADF;
        }




        ul.poi-list {
            max-height: 150px;
            overflow-y: auto;
            margin: 5px 0 0 0;
            padding-left: 18px;
        }

        ul.poi-list li {
            cursor: pointer;
            margin-bottom: 4px;
            color: #00BBF0;
            text-decoration: underline;
        }

        @keyframes blink {

            0%,
            100% {
                opacity: 0.2;
            }

            50% {
                opacity: 1;
            }
        }

        #loader {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: #0e0e0e;
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 9999;
        }

        #loaderLogo {
            width: 200px;
            height: 200px;
            animation: zoomPop 1.5s ease-in-out;
        }

        @keyframes zoomPop {
            0% {
                transform: scale(0);
                opacity: 0;
            }

            50% {
                transform: scale(1.2);
                opacity: 1;
            }

            100% {
                transform: scale(1);
                opacity: 0;
            }
        }