:root{--brand-blue: #1a73e8;--brand-blue-dark: #1557b0;--brand-dark: #0B1527;--brand-success: #22c55e}.leaflet-container{background:#f8fafc!important;font-family:Nunito,sans-serif!important}.leaflet-bar{border:none!important;box-shadow:0 4px 12px #0000001a!important}.leaflet-bar a{border-radius:8px!important;color:var(--brand-blue)!important}.step-nav-btn{display:flex;align-items:center;gap:12px;color:#94a3b8;font-weight:800;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;transition:all .3s ease}.step-nav-btn.active{color:var(--brand-dark)}.step-num{width:28px;height:28px;border-radius:8px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:#64748b;transition:all .3s ease}.step-nav-btn.active .step-num{background:var(--brand-dark);color:#fff;box-shadow:0 4px 12px #0b152733}.step-nav-btn.completed .step-num{background:var(--brand-success);color:#fff}.rank-marker-wrap{display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none}.rank-bubble{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:3px solid rgba(255,255,255,.95);box-shadow:0 6px 20px #00000047,0 2px 6px #00000026;font-weight:900;font-size:14px;color:#fff;font-family:Nunito,sans-serif;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.3);transition:transform .25s cubic-bezier(.34,1.56,.64,1);cursor:pointer;pointer-events:all}.rank-bubble:hover{transform:scale(1.15) translateY(-2px)}.rank-bubble.is-center{width:52px;height:52px;font-size:11px;border-width:4px;border-color:#fff;box-shadow:0 8px 28px #1a73e873,0 2px 8px #0003}.rank-city-label{background:#0b1527d1;backdrop-filter:blur(4px);color:#fff;font-size:10px;font-weight:800;font-family:Nunito,sans-serif;padding:2px 8px;border-radius:20px;white-space:nowrap;letter-spacing:.02em;box-shadow:0 2px 8px #00000040;pointer-events:none}.rank-bubble.scanning{animation:pulse-ring 1.1s infinite;background:#94a3b8!important;border-color:#fff!important}@keyframes pulse-ring{0%{box-shadow:0 0 #94a3b8bf,0 4px 14px #0000002e}70%{box-shadow:0 0 0 14px #94a3b800,0 4px 14px #0000002e}to{box-shadow:0 0 #94a3b800,0 4px 14px #0000002e}}.kw-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;font-size:.8rem;font-weight:800;color:var(--brand-dark);box-shadow:0 2px 6px #00000008;animation:zoom-in .2s ease-out}.suggest-chip{padding:6px 12px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;font-size:.7rem;font-weight:700;color:#64748b;transition:all .2s ease}.suggest-chip:hover{background:var(--brand-blue);color:#fff;border-color:var(--brand-blue);transform:translateY(-1px)}.scan-animation{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center}.scan-ring{position:absolute;width:100%;height:100%;border:2px solid var(--brand-success);border-radius:50%;animation:scan-ring-out 2s infinite cubic-bezier(.36,.11,.89,.32);opacity:0}.scan-ring:nth-child(2){animation-delay:.6s}.scan-ring:nth-child(3){animation-delay:1.2s}.scan-center-dot{width:64px;height:64px;background:var(--brand-success);border-radius:50%;z-index:10;display:flex;align-items:center;justify-content:center;box-shadow:0 0 30px #22c55e66}@keyframes scan-ring-out{0%{transform:scale(.5);opacity:1}to{transform:scale(2.5);opacity:0}}.stat-card{background:#f8fafc;padding:1.25rem;border-radius:1.5rem;border:1px solid #eef2f7}.stat-label{font-size:.65rem;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.stat-value{font-size:1.5rem;font-weight:900;color:var(--brand-dark);line-height:1}.custom-scrollbar::-webkit-scrollbar{width:5px}.custom-scrollbar::-webkit-scrollbar-track{background:#ffffff0d}.custom-scrollbar::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px}.pac-container{border-radius:1.5rem!important;border:none!important;box-shadow:0 10px 40px #00000026!important;margin-top:8px!important;padding:8px!important;font-family:Nunito,sans-serif!important}.pac-item{border-top:1px solid #f1f5f9!important;padding:12px 16px!important;cursor:pointer!important}.pac-item:hover{background:#f8fafc!important}.pac-item-query{font-size:14px!important;color:var(--brand-dark)!important;font-weight:700!important}
