html,body{height:100%;width:100%;margin:0;padding:0;font-family:'Prompt',-apple-system,BlinkMacSystemFont,sans-serif;background-color:#f8fafc;overflow:hidden}#map{height:100%;width:100%;z-index:1}.donate-container{margin:5px auto 10px auto;text-align:center;width:100%;max-width:400px;padding:0 10px;box-sizing:border-box}.donate-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:30px;background:linear-gradient(135deg,#ff5722,#f4511e);color:#fff;font-size:13px;font-weight:500;text-decoration:none;border-radius:10px;box-shadow:0 4px 10px rgb(255 87 34 / .3);transition:transform 0.2s ease,box-shadow 0.2s ease;-webkit-tap-highlight-color:#fff0}.donate-btn:active{transform:scale(.98);box-shadow:0 2px 5px rgb(255 87 34 / .2)}.donate-btn:hover{background-color:#e64a19;transform:translateY(-2px);box-shadow:0 6px 12px rgb(0 0 0 / .15)}.donate-description{margin-top:6px;font-size:.78rem;color:#666;line-height:1.3;text-align:center}.converter-panel{position:absolute;top:12px;left:12px;z-index:1000;width:330px;max-width:calc(100vw - 75px);max-height:calc(100vh - 40px);background:rgb(255 255 255 / .94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:12px;box-shadow:0 8px 24px rgb(0 0 0 / .15);border:1px solid rgb(255 255 255 / .8);display:flex;flex-direction:column;overflow:hidden;transition:all 0.25s cubic-bezier(.4,0,.2,1)}.panel-header{background:linear-gradient(135deg,#0d6efd,#0b5ed7);color:#fff;padding:8px 12px;font-weight:600;font-size:13px;display:flex;align-items:center;justify-content:space-between;user-select:none;cursor:pointer}.btn-toggle-panel{background:rgb(255 255 255 / .2);border:none;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;transition:all 0.3s ease}.btn-toggle-panel:hover{background:rgb(255 255 255 / .4)}.converter-panel.collapsed .panel-body{display:none!important}.converter-panel.collapsed .btn-toggle-panel{transform:rotate(180deg)}.panel-body{padding:10px;overflow-y:auto;font-size:12px}.modern-basemap-control{position:absolute;top:12px;right:12px;z-index:1000;background:rgb(255 255 255 / .6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:5px;border-radius:10px;box-shadow:0 4px 15px rgb(0 0 0 / .12);border:1px solid rgb(255 255 255 / .6);display:flex;flex-direction:column;align-items:center;gap:5px}.leaflet-control-zoom{border:none!important;box-shadow:0 6px 20px rgb(0 0 0 / .12)!important;border-radius:10px!important;overflow:hidden;background:rgb(255 255 255 / .5)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgb(255 255 255 / .6)!important}.leaflet-control-zoom a{background-color:rgb(255 255 255 / .85)!important;color:#334155!important;transition:all 0.2s ease!important;width:34px!important;height:34px!important;line-height:34px!important;font-size:16px!important;border-bottom:1px solid rgb(0 0 0 / .06)!important}.leaflet-control-zoom a:hover{background-color:#ffffff!important;color:#0d6efd!important}.card-logo img{height:38px;width:38px;object-fit:cover;border-radius:8px;transition:transform 0.2s ease;background:rgb(255 255 255 / .9);padding:2px;border:1px solid rgb(0 0 0 / .05)}.card-logo img:hover{transform:scale(1.08)}.basemap-btn-sm{width:34px;height:34px;border:none;background:rgb(255 255 255 / .85);border-radius:6px;color:#475569;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px}.custom-attribution{background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;padding:3px 8px;font-size:10.5px;border-radius:4px;margin-right:5px;margin-bottom:5px}.custom-attribution a{color:#cff;text-decoration:none;font-weight:600}.custom-attribution a:hover{text-decoration:underline}.basemap-btn-sm.active{background:#0d6efd;color:#fff}.panel-body::-webkit-scrollbar,.table-container::-webkit-scrollbar{width:4px}.panel-body::-webkit-scrollbar-thumb,.table-container::-webkit-scrollbar-thumb{background:rgb(0 0 0 / .2);border-radius:4px}.coords-center-container{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);z-index:1000;display:flex;flex-direction:column;align-items:center;pointer-events:none;max-width:90vw}.coords-control{background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;padding:6px 10px;font-size:11px;border-radius:8px;border:none!important;color:#fff;font-family:monospace;text-align:right;pointer-events:auto;transition:all 0.3s ease;text-shadow:1px 1px 3px rgb(0 0 0 / .9),-1px -1px 3px rgb(0 0 0 / .9),1px -1px 3px rgb(0 0 0 / .9),-1px 1px 3px rgb(0 0 0 / .9)}.coords-control.collapsed #coordsText{display:none}.table-container{max-height:140px;overflow-y:auto;border-radius:6px;border:1px solid #dee2e6}.table-container table{font-size:10.5px;margin-bottom:0}.table-container th{position:sticky;top:0;background:#f1f5f9;z-index:2;white-space:nowrap;padding:4px 6px}.table-container td{white-space:nowrap;padding:4px 6px;max-width:95px;overflow:hidden;text-overflow:ellipsis}@media (max-width:576px){.converter-panel{width:290px;top:8px;left:8px}.coords-center-container{display:none}}.map-controls-right{position:absolute;top:20px;right:15px;display:flex;flex-direction:column;gap:10px;z-index:1000}.map-ctrl-btn{width:44px;height:44px;background-color:#fff;border:2px solid rgb(0 0 0 / .2);border-radius:8px;font-size:20px;cursor:pointer;box-shadow:0 2px 6px rgb(0 0 0 / .25);display:flex;align-items:center;justify-content:center;transition:all 0.2s ease}.map-ctrl-btn:hover{background-color:#f4f4f4}.map-ctrl-btn.active{background-color:#007bff;color:#fff;border-color:#0056b3}.gps-info-box{position:absolute;bottom:20px;right:15px;background:rgb(255 255 255 / .95);padding:12px 15px;border-radius:8px;box-shadow:0 4px 12px rgb(0 0 0 / .15);font-size:.85rem;z-index:1000;min-width:220px;border-left:4px solid #28a745}.gps-info-header{font-weight:700;display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;border-bottom:1px solid #eee;padding-bottom:4px}.gps-status-dot{width:8px;height:8px;background-color:#28a745;border-radius:50%;display:inline-block;animation:blink 1.5s infinite}@keyframes blink{0%{opacity:1}50%{opacity:.3}100%{opacity:1}}