*{box-sizing:border-box}
body{margin:0;font-family:'Outfit',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
background:#060e0f;color:#ddeff0;min-height:100vh;-webkit-font-smoothing:antialiased}
.wrap{max-width:900px;position:relative}
.wrap::before{content:'';position:absolute;top:-20px;left:-20px;right:-20px;height:220px;z-index:-1;
background:radial-gradient(circle at 18% 10%,rgba(168,212,48,.12) 0%,transparent 45%),
radial-gradient(circle at 85% 0%,rgba(88,166,255,.06) 0%,transparent 40%);
-webkit-mask-image:linear-gradient(#000,transparent);mask-image:linear-gradient(#000,transparent)}
h1{font-size:26px;font-weight:800;letter-spacing:.3px;margin:0 0 4px;color:#c0f03c;
opacity:0;animation:lrise .5s ease-out forwards}
.lead{color:#a1b2c9;font-size:15px;margin:0 0 16px;line-height:1.6;
opacity:0;animation:lrise .5s ease-out .1s forwards}
@keyframes lrise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){h1,.lead{animation:none;opacity:1}}
.ctrl{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.ctrl input,.ctrl select{flex:1;min-width:140px;padding:12px 14px;border:1px solid #1a2535;
border-radius:10px;font-size:16px;font-family:inherit;background:#0c1018;color:#dde4f0;outline:none;
transition:border .2s,box-shadow .2s}
.ctrl input:focus,.ctrl select:focus{border-color:#a8d430;box-shadow:0 0 0 3px rgba(168,212,48,.12)}
.ctrl input::placeholder{color:#6a7890}
#map{height:300px;border-radius:14px;margin:0 0 16px;border:1px solid #1a2535;z-index:0}
.leaflet-container{background:#0c1018}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#1b1e2e;color:#dde4f0}
.leaflet-popup-content{font-family:inherit;font-size:14px;margin:10px 12px}
.leaflet-popup-content a{color:#c0f03c;font-weight:700;text-decoration:none}
.leaflet-bar a{background:#1b1e2e;color:#dde4f0;border-bottom-color:#1a2535}
.leaflet-bar a:hover{background:#232838}
.cities{margin:0 0 16px;font-size:14px;line-height:1.9}
.cities a{display:inline-block;color:#c0f03c;background:rgba(168,212,48,.1);border:1px solid rgba(168,212,48,.18);
border-radius:12px;padding:3px 10px;margin:0 4px 4px 0;text-decoration:none;transition:background .15s}
.cities a:hover{background:rgba(168,212,48,.18)}
.mc{display:flex;align-items:center;gap:12px;background:#1b1e2e;border:1px solid #1a2535;border-radius:14px;
padding:14px 16px;margin-bottom:10px;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}
.mc:hover{border-color:rgba(168,212,48,.4);transform:translateY(-1px)}
img.emj{width:1.15em;height:1.15em;vertical-align:-0.2em;object-fit:contain}
.av{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#a8d430,#c0f03c);color:#080500;flex:none;
display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800}
.mci{flex:1;min-width:0}.fio{font-weight:700;font-size:17px;color:#dde4f0}
.sub{color:#a1b2c9;font-size:14px}
.sub .dist{color:#c0f03c;font-weight:600}
.fchips{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.fchip{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:20px;
border:1px solid #1a2535;background:#0c1018;color:#a1b2c9;font-size:14px;cursor:pointer;user-select:none;
transition:border-color .15s,color .15s,background .15s}
.fchip.on{border-color:#a8d430;color:#c0f03c;background:rgba(168,212,48,.1)}
.fchip.geo.busy{opacity:.6;cursor:wait}
.badges{margin-top:4px;font-size:13px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.rk{color:#c0f03c;background:rgba(168,212,48,.1);border:1px solid rgba(168,212,48,.18);border-radius:12px;padding:2px 8px;font-weight:600}
.st{color:#c0f03c;font-weight:700}.st .rc{color:#93a3b8;font-weight:400}
.recb{color:#4caf72;font-weight:700;margin-left:6px}
.vb{color:#5cbf82;background:rgba(76,175,114,.1);border:1px solid rgba(76,175,114,.25);border-radius:12px;padding:2px 8px;font-weight:600}
.vb-verified{color:#0c0e14;background:#c0f03c;border:1px solid #c0f03c;border-radius:12px;padding:2px 10px;font-weight:800}
.arr{color:#4a5a70;font-size:26px;flex:none}
.empty{color:#a1b2c9;text-align:center;padding:30px 0}
.nores{color:#a1b2c9;text-align:center;padding:20px 0;display:none}
.mloader{align-items:center;justify-content:center;gap:8px;color:#7c8aa3;font-size:14px;padding:18px 0}
.mspin{width:16px;height:16px;border-radius:50%;border:2px solid rgba(168,212,48,.25);
border-top-color:#a8d430;animation:mspin .7s linear infinite}
@keyframes mspin{to{transform:rotate(360deg)}}
.foot{text-align:center;color:#7c8aa3;font-size:12px;margin-top:18px}
.foot a{color:#a8d430;text-decoration:none}
.bcast{background:#1b1e2e;border:1px solid rgba(168,212,48,.3);border-radius:14px;padding:18px 16px;margin-bottom:16px}
.bctitle{font-size:17px;font-weight:800;color:#c0f03c;margin-bottom:4px}
.bclead{color:#a1b2c9;font-size:14px;margin-bottom:10px;line-height:1.5}
.of{margin-top:10px}
.of input,.of select,.of textarea{width:100%;box-sizing:border-box;padding:11px 13px;margin-bottom:8px;
border:1px solid #1a2535;border-radius:9px;font-size:15px;font-family:inherit;background:#0c1018;
color:#dde4f0;outline:none}
.of textarea{min-height:60px;resize:vertical}
.hp{position:absolute;left:-9999px}
.ob{display:block;width:100%;margin-top:6px;padding:13px;border:none;border-radius:10px;
background:linear-gradient(135deg,#a8d430,#c0f03c);color:#080500;font-size:15px;font-weight:700;
cursor:pointer;text-align:center;text-decoration:none}
.ok{background:rgba(37,107,57,.18);border:1px solid rgba(37,107,57,.4);color:#7fd39a;border-radius:10px;
padding:12px;text-align:center;font-size:15px;margin-top:8px}
