*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
    --g:#f59e0b;--gd:#d97706;--gl:#fbbf24;
    --gr:#10b981;--grd:#059669;
    --rd:#ef4444;--bl:#3b82f6;--pp:#8b5cf6;
    --b0:#08080f;--b1:#0f0f1a;--b2:#1a1a2e;--b3:#222240;--b4:#16213e;
    --t1:#fff;--t2:#b0b0c8;--t3:#6b6b80;
    --bdr:#2a2a4a;--sh:0 4px 20px rgba(0,0,0,.35);
    --r:16px;--rs:12px;--rf:50px;
    --nav:64px;--top:54px;
    --sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px)
}
html,body{height:100%;overflow:hidden}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--b1);color:var(--t1);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;user-select:none}
a{color:var(--g);text-decoration:none}
input,textarea,button{font-family:inherit}

.screen{display:none;position:fixed;inset:0;flex-direction:column;z-index:1}
.screen.active{display:flex}

#screen-splash{background:linear-gradient(135deg,var(--b1),var(--b2));justify-content:center;align-items:center;z-index:999}
.splash-wrap{text-align:center;animation:fadeUp .6s ease}
.splash-emoji{font-size:70px;animation:bounce .8s ease infinite}
.splash-title{font-size:32px;font-weight:800;background:linear-gradient(135deg,var(--g),var(--gl));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:8px 0 4px}
.splash-sub{color:var(--t2);font-size:14px;margin-bottom:28px}
.splash-bar-wrap{width:160px;height:4px;background:var(--bdr);border-radius:4px;margin:0 auto;overflow:hidden}
.splash-bar-fill{height:100%;width:0;background:linear-gradient(90deg,var(--g),var(--gl));border-radius:4px;animation:loadbar 1.8s ease forwards}

#screen-login{background:linear-gradient(135deg,var(--b1),var(--b2));justify-content:center;align-items:center;padding:20px;overflow-y:auto}
.login-wrap{width:100%;max-width:380px;animation:fadeUp .4s ease}
.login-head{text-align:center;margin-bottom:24px}
.login-emoji{font-size:50px;display:block;margin-bottom:6px}
.login-head h1{font-size:26px;font-weight:800;background:linear-gradient(135deg,var(--g),var(--gl));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.login-head p{color:var(--t2);font-size:13px;margin-top:4px}
.auth-form h2{font-size:18px;font-weight:700;margin-bottom:14px;text-align:center}

.field{display:flex;align-items:center;background:var(--b2);border:1px solid var(--bdr);border-radius:var(--rs);padding:0 13px;margin-bottom:10px;transition:border-color .3s}
.field:focus-within{border-color:var(--g)}
.field i{color:var(--t3);font-size:14px;margin-right:10px;width:16px;text-align:center}
.field input{flex:1;background:none;border:none;color:var(--t1);font-size:15px;padding:12px 0;outline:none}
.field input::placeholder{color:var(--t3)}

.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px;border:none;border-radius:var(--rs);font-size:15px;font-weight:700;cursor:pointer;transition:all .2s}
.btn:active{transform:scale(.97)}
.btn.gold{background:linear-gradient(135deg,var(--g),var(--gd));color:#000}
.btn.green{background:linear-gradient(135deg,var(--gr),var(--grd));color:#fff}
.btn.dim{background:var(--b2);color:var(--t1);border:1px solid var(--bdr)}
.btn.danger{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:var(--rd)}
.btn-sm{width:38px;height:38px;padding:0;border:none;border-radius:50%;background:var(--b3);color:var(--t1);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.btn-sm.gold{background:var(--g);color:#000}
.form-switch{text-align:center;color:var(--t3);font-size:13px;margin-top:14px}
.avatar-pick{margin:10px 0;text-align:center}
.avatar-pick p{color:var(--t2);font-size:12px;margin-bottom:8px}
.avatar-row{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.avt{font-size:26px;padding:6px 8px;border-radius:var(--rs);border:2px solid var(--bdr);background:none;cursor:pointer;transition:all .2s}
.avt.selected{border-color:var(--g);background:rgba(245,158,11,.1)}

#topbar{display:flex;justify-content:space-between;align-items:center;padding:0 14px;padding-top:var(--sat);height:calc(var(--top) + var(--sat));background:var(--b2);border-bottom:1px solid var(--bdr);flex-shrink:0;z-index:100}
.tb-left{display:flex;align-items:center;gap:7px;font-size:18px}
.tb-left strong{background:linear-gradient(135deg,var(--g),var(--gl));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.tb-right{display:flex;align-items:center;gap:4px}
.tb-btn{background:none;border:none;color:var(--t1);font-size:18px;padding:8px;cursor:pointer;position:relative}
.tb-badge{position:absolute;top:2px;right:2px;background:var(--rd);color:#fff;font-size:9px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:none;align-items:center;justify-content:center;padding:0 3px;font-style:normal}
.tb-av{font-size:22px}

.notif-panel{position:absolute;top:calc(var(--top) + var(--sat));right:6px;left:6px;max-width:380px;margin-left:auto;background:var(--b2);border:1px solid var(--bdr);border-radius:var(--r);z-index:200;box-shadow:var(--sh);animation:fadeUp .2s ease;max-height:350px;overflow-y:auto}
.np-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--bdr)}
.np-head button{background:none;border:none;color:var(--t3);font-size:16px;cursor:pointer}
.np-list{padding:4px 0}
.np-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.03);font-size:13px;color:var(--t2)}
.np-item.unread{background:rgba(245,158,11,.04)}
.np-item .ni{font-size:20px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--b4);flex-shrink:0}
.np-item .nb{flex:1;line-height:1.4}
.np-item .nb b{color:var(--t1)}
.np-item .nt2{display:block;font-size:11px;color:var(--t3);margin-top:1px}

#main{flex:1;overflow:hidden;position:relative}
.tab{display:none;height:100%;position:absolute;inset:0}
.tab.active{display:flex;flex-direction:column}
.scroll-area{flex:1;overflow-y:auto;padding:14px;padding-bottom:calc(var(--nav) + var(--sab) + 14px);-webkit-overflow-scrolling:touch}
.th{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.th h2{font-size:22px;font-weight:800}
.search-field{margin-bottom:14px}

#tab-map{overflow:hidden;position:relative}
#map{flex:1;width:100%;z-index:1;background:var(--b0)}
.map-ctrls{position:absolute;right:10px;top:10px;display:flex;flex-direction:column;gap:6px;z-index:50}
.mc{width:40px;height:40px;border-radius:var(--rs);border:none;background:var(--b2);color:var(--t1);font-size:16px;cursor:pointer;box-shadow:var(--sh);display:flex;align-items:center;justify-content:center;transition:all .15s}
.mc:active{background:var(--b3);transform:scale(.92)}
.map-filter{position:absolute;top:10px;left:10px;right:60px;background:var(--b2);border:1px solid var(--bdr);border-radius:var(--r);padding:12px;z-index:50;box-shadow:var(--sh);animation:fadeUp .2s ease}
.mf-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:14px}
.mf-head button{background:none;border:none;color:var(--t3);font-size:15px;cursor:pointer}
.mf-chips{display:flex;flex-wrap:wrap;gap:5px}
.chip{background:var(--b4);border:1px solid var(--bdr);border-radius:var(--rf);padding:5px 11px;font-size:12px;color:var(--t2);cursor:pointer;transition:all .15s;white-space:nowrap}
.chip.on{background:rgba(245,158,11,.12);border-color:var(--g);color:var(--g)}
.chip:active{transform:scale(.94)}
.gps-status{position:absolute;top:10px;left:50%;transform:translateX(-50%);background:var(--b2);border:1px solid var(--bdr);border-radius:var(--rf);padding:6px 14px;font-size:12px;z-index:50;display:flex;align-items:center;gap:6px;animation:fadeUp .3s ease;white-space:nowrap;max-width:90%}
.gps-status.ok{border-color:var(--gr);color:var(--gr)}
.gps-status.err{border-color:var(--rd);color:var(--rd)}
.gps-status.loading{border-color:var(--g);color:var(--g)}
.fab{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--g),var(--gd));color:#000;border:none;padding:12px 24px;border-radius:var(--rf);font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 4px 18px rgba(245,158,11,.4);display:flex;align-items:center;gap:7px;z-index:50;transition:all .15s}
.fab:active{transform:translateX(-50%) scale(.95)}

#navbar{display:flex;justify-content:space-around;align-items:center;height:calc(var(--nav) + var(--sab));padding-bottom:var(--sab);background:var(--b2);border-top:1px solid var(--bdr);flex-shrink:0;z-index:100}
.nt{display:flex;flex-direction:column;align-items:center;justify-content:center;background:none;border:none;color:var(--t3);font-size:10px;padding:5px 12px;cursor:pointer;position:relative;gap:2px;transition:color .15s}
.nt i{font-size:18px}
.nt.active{color:var(--g)}
.nt-badge{position:absolute;top:1px;right:4px;background:var(--rd);color:#fff;font-size:8px;font-weight:700;font-style:normal;min-width:14px;height:14px;border-radius:7px;display:flex;align-items:center;justify-content:center;padding:0 3px}
.fab-nt .nt-fab{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--g),var(--gd));display:flex;align-items:center;justify-content:center;color:#000;font-size:19px;margin-top:-16px;box-shadow:0 4px 14px rgba(245,158,11,.3)}

.sec-title{font-size:11px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.4px;margin:14px 0 6px;display:flex;align-items:center;gap:5px}
.dot-on{width:7px;height:7px;border-radius:50%;background:var(--gr);display:inline-block}

.fc{display:flex;align-items:center;gap:10px;background:var(--b2);border:1px solid var(--bdr);border-radius:var(--rs);padding:10px;margin-bottom:5px;cursor:pointer;transition:all .15s}
.fc:active{background:var(--b3);transform:scale(.98)}
.fc-av{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--bl),var(--pp));display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;position:relative;flex-shrink:0}
.fc-dot{width:11px;height:11px;border-radius:50%;border:2px solid var(--b2);position:absolute;bottom:-1px;right:-1px}
.fc-dot.on{background:var(--gr)}.fc-dot.off{background:var(--t3)}
.fc-info{flex:1;min-width:0}
.fc-info h4{font-size:13px;font-weight:600;margin-bottom:1px}
.fc-drink{font-size:12px;color:var(--gr);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fc-sub{font-size:11px;color:var(--t3)}
.fc-emoji{font-size:24px}
.fc-acts{display:flex;gap:4px}
.fc-acts button{width:28px;height:28px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px}
.fc-acts .yes{background:var(--gr);color:#fff}
.fc-acts .no{background:rgba(239,68,68,.12);color:var(--rd)}

.ci{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.04);cursor:pointer;transition:all .15s}
.ci:active{opacity:.7}
.ci-av{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--bl),var(--pp));display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:700;position:relative;flex-shrink:0}
.ci-info{flex:1;min-width:0}
.ci-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}
.ci-top h4{font-size:14px;font-weight:600}
.ci-time{font-size:11px;color:var(--t3)}
.ci.unread .ci-time{color:var(--g);font-weight:600}
.ci-bot{display:flex;justify-content:space-between;align-items:center}
.ci-prev{font-size:12px;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.ci.unread .ci-prev{color:var(--t2);font-weight:500}
.ci-ur{background:var(--g);color:#000;font-size:10px;font-weight:700;min-width:17px;height:17px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;flex-shrink:0}

.fi{background:var(--b2);border:1px solid var(--bdr);border-radius:var(--r);padding:14px;margin-bottom:10px}
.fi-top{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.fi-av{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--bl),var(--pp));display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;font-size:14px}
.fi-meta{flex:1}.fi-meta b{font-size:13px;display:block}.fi-meta span{font-size:11px;color:var(--t3)}
.fi p{font-size:13px;color:var(--t2);margin-bottom:4px}
.fi-loc{font-size:12px;color:var(--t3);display:flex;align-items:center;gap:4px;margin:6px 0}
.fi-loc i{color:var(--rd);font-size:11px}
.fi-glass{display:flex;justify-content:center;padding:12px;background:var(--b3);border-radius:var(--rs);margin-bottom:10px;font-size:42px}
.fi-gps{font-size:11px;color:var(--t3);text-align:center;margin-bottom:8px}
.fi-acts{display:flex;gap:3px;padding-top:8px;border-top:1px solid rgba(255,255,255,.04)}
.fi-btn{background:none;border:none;color:var(--t3);font-size:12px;padding:5px 10px;border-radius:var(--rf);cursor:pointer;display:flex;align-items:center;gap:3px;transition:all .15s}
.fi-btn:active{background:rgba(255,255,255,.04)}
.fi-btn.liked{color:var(--rd)}
.fi-btn.prost{background:rgba(245,158,11,.1);color:var(--g);font-weight:600;margin-left:auto}

.modal{position:fixed;inset:0;z-index:500;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .15s ease}
.modal.full{align-items:stretch}
.modal-bg{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.modal-sheet{position:relative;background:var(--b1);width:100%;max-width:500px;max-height:92vh;border-radius:var(--r) var(--r) 0 0;display:flex;flex-direction:column;animation:slideUp .25s ease;z-index:1}
.full-sheet{max-height:100%;height:100%;border-radius:0}
.ms-drag{width:32px;height:4px;border-radius:2px;background:var(--bdr);margin:8px auto 0}
.ms-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--bdr);flex-shrink:0}
.ms-head h2{font-size:17px;font-weight:700}
.ms-head button{width:32px;height:32px;border-radius:50%;background:var(--b2);border:none;color:var(--t1);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.ms-body{flex:1;overflow-y:auto;padding:16px;-webkit-overflow-scrolling:touch}
.ms-foot{padding:10px 16px 16px;border-top:1px solid var(--bdr);flex-shrink:0}
.dots{display:flex;justify-content:center;gap:5px;margin-bottom:10px}
.dt{width:7px;height:7px;border-radius:50%;background:var(--bdr);transition:all .3s}
.dt.on{background:var(--g);width:20px;border-radius:3px}
.step-btns{display:flex;gap:6px}
.step-btns .btn{flex:1}
.dgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}
.dcard{background:var(--b2);border:2px solid var(--bdr);border-radius:var(--rs);padding:12px 4px;text-align:center;cursor:pointer;transition:all .15s}
.dcard:active,.dcard.sel{border-color:var(--g);background:rgba(245,158,11,.07);transform:scale(.96)}
.dcard .di{font-size:28px;display:block;margin-bottom:3px}
.dcard .dn{font-size:10px;font-weight:600;color:var(--t2)}
.dcard.sel .dn{color:var(--g)}
.loc-gps{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border:2px dashed var(--g);border-radius:var(--rs);color:var(--g);font-size:14px;font-weight:600;cursor:pointer;background:none;width:100%;margin-bottom:10px;transition:all .2s}
.loc-gps:active{background:rgba(245,158,11,.08)}
.loc-gps.ok{border-color:var(--gr);color:var(--gr)}
.loc-gps.fail{border-color:var(--rd);color:var(--rd)}
.conf{text-align:center}
.conf-em{font-size:50px;margin-bottom:10px}
.conf-rows{background:var(--b2);border-radius:var(--rs);padding:12px;text-align:left;margin-bottom:10px}
.conf-r{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:13px}
.conf-r:last-child{border:none}
.conf-r span{color:var(--t3)}
.conf textarea{width:100%;background:var(--b2);border:1px solid var(--bdr);border-radius:var(--rs);color:var(--t1);padding:9px;font-size:13px;resize:none;outline:none;margin-bottom:8px}
.conf textarea:focus{border-color:var(--g)}
.tgl{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--t2)}
.tgl input{display:none}
.tgl-tr{width:38px;height:20px;background:var(--bdr);border-radius:10px;position:relative;transition:all .3s;flex-shrink:0}
.tgl-tr::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:all .3s}
.tgl input:checked+.tgl-tr{background:var(--gr)}
.tgl input:checked+.tgl-tr::after{left:20px}

.cv-head{display:flex;align-items:center;gap:9px;padding:9px 12px;padding-top:calc(9px + var(--sat));background:var(--b2);border-bottom:1px solid var(--bdr);flex-shrink:0}
.cv-head button{background:none;border:none;color:var(--t1);font-size:18px;cursor:pointer}
.cv-hinfo{flex:1;display:flex;align-items:center;gap:8px}
.cv-hav{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--bl),var(--pp));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.cv-hinfo h4{font-size:14px}
.cv-hst{font-size:11px;color:var(--gr)}
.cv-hacts{display:flex;gap:4px}
.cv-hacts button{background:none;border:none;color:var(--t1);font-size:16px;cursor:pointer;padding:3px}
.cv-msgs{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:5px;-webkit-overflow-scrolling:touch}
.cv-date{text-align:center;font-size:10px;color:var(--t3);padding:6px 0}
.msg{display:flex;max-width:82%}
.msg.out{align-self:flex-end}
.msg.in{align-self:flex-start}
.msg-b{padding:8px 12px;border-radius:14px;font-size:13px;line-height:1.4}
.msg.out .msg-b{background:var(--g);color:#000;border-bottom-right-radius:3px}
.msg.in .msg-b{background:var(--b2);border-bottom-left-radius:3px}
.msg-t{display:block;font-size:9px;opacity:.5;margin-top:2px;text-align:right}
.msg-loc{display:flex;align-items:center;gap:7px;background:rgba(0,0,0,.1);padding:7px;border-radius:8px;margin-bottom:3px;cursor:pointer}
.msg-loc i{color:var(--rd);font-size:16px}
.msg-loc b{display:block;font-size:11px}
.msg-loc span{font-size:10px;color:var(--t3)}
.cv-emoji{background:var(--b2);border-top:1px solid var(--bdr);padding:10px;max-height:180px;overflow-y:auto}
.cv-emgrid{display:flex;flex-wrap:wrap;gap:2px}
.cv-emgrid button{font-size:22px;padding:4px;background:none;border:none;cursor:pointer;border-radius:6px}
.cv-emgrid button:active{background:var(--b3)}
.cv-input{display:flex;align-items:center;gap:6px;padding:7px 12px;padding-bottom:calc(7px + var(--sab));background:var(--b2);border-top:1px solid var(--bdr);flex-shrink:0}
.cv-btn{width:32px;height:32px;border-radius:50%;background:var(--b4);border:none;color:var(--g);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.cv-field{flex:1;display:flex;align-items:center;background:var(--b4);border-radius:var(--rf);padding:0 10px}
.cv-field input{flex:1;background:none;border:none;color:var(--t1);font-size:13px;padding:8px 0;outline:none}
.cv-em{background:none;border:none;font-size:17px;cursor:pointer}
.cv-send{width:36px;height:36px;border-radius:50%;background:var(--g);border:none;color:#000;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}

.inv-btns{display:flex;gap:6px;margin-bottom:14px}
.inv-b{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--b2);border:1px solid var(--bdr);border-radius:var(--rs);padding:12px 6px;color:var(--t1);cursor:pointer;font-size:11px;transition:all .15s}
.inv-b i{font-size:18px;color:var(--g)}
.inv-b:active{background:var(--b3);transform:scale(.96)}

.pf-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;padding-top:calc(12px + var(--sat));background:var(--b1);border-bottom:1px solid var(--bdr);flex-shrink:0}
.pf-head button{background:none;border:none;color:var(--t1);font-size:18px;cursor:pointer}
.pf-scroll{flex:1;overflow-y:auto;padding:14px;padding-bottom:30px;-webkit-overflow-scrolling:touch}
.pf-hero{text-align:center;background:var(--b2);border-radius:var(--r);padding:24px 18px;margin-bottom:16px}
.pf-bigav{font-size:48px;margin-bottom:6px}
.pf-hero h2{font-size:20px;margin-bottom:2px}
.pf-hero .sub{color:var(--t3);font-size:13px;margin-bottom:14px}
.pf-stats{display:flex;justify-content:space-around;border-top:1px solid var(--bdr);padding-top:12px}
.ps{text-align:center}
.ps strong{display:block;font-size:18px;color:var(--g)}
.ps span{font-size:11px;color:var(--t3)}
.pf-sec{margin-bottom:16px}
.pf-sec h3{font-size:14px;font-weight:700;margin-bottom:8px}

.toast{position:fixed;top:calc(12px + var(--sat));left:50%;transform:translateX(-50%);z-index:9999;background:var(--gr);color:#fff;padding:10px 20px;border-radius:var(--rf);font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px;box-shadow:0 4px 16px rgba(16,185,129,.4);animation:toastIn .3s ease;white-space:nowrap}

.empty{text-align:center;padding:28px;color:var(--t3)}
.empty span{font-size:36px;display:block;margin-bottom:6px}
.empty p{font-size:13px}

.leaflet-container{background:var(--b0)!important}
.leaflet-control-attribution,.leaflet-control-zoom{display:none!important}
.leaflet-tile-pane{filter:brightness(.7) saturate(.5)}
.mpin{display:flex;flex-direction:column;align-items:center}
.mdot{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 2px 8px rgba(0,0,0,.3);border:2px solid var(--g);background:var(--b2);position:relative}
.mdot::after{content:'';position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--g)}
.mdot.me{border-color:var(--gr);animation:pulse 2s infinite}
.mdot.me::after{border-top-color:var(--gr)}
.mlbl{background:rgba(0,0,0,.7);color:#fff;font-size:9px;padding:1px 5px;border-radius:3px;margin-top:1px;white-space:nowrap;font-weight:600}
.leaflet-popup-content-wrapper{background:var(--b2)!important;color:var(--t1)!important;border-radius:var(--rs)!important;border:1px solid var(--bdr)!important;box-shadow:var(--sh)!important}
.leaflet-popup-tip{background:var(--b2)!important}
.leaflet-popup-close-button{color:var(--t3)!important;font-size:18px!important}
.pop{text-align:center;min-width:120px;padding:2px}
.pop-em{font-size:28px}
.pop-nm{font-weight:700;font-size:13px;margin:2px 0}
.pop-dr{color:var(--g);font-size:12px}
.pop-lc{font-size:10px;color:var(--t3);margin-top:1px}
.pop-ad{font-size:10px;color:var(--t3)}
.pop-btn{margin-top:6px;padding:5px 12px;border-radius:var(--rf);background:var(--g);color:#000;border:none;font-size:11px;font-weight:600;cursor:pointer;width:100%}

@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes loadbar{from{width:0}to{width:100%}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08);opacity:.8}}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%,0)}}
@media(min-width:600px){.modal-sheet{border-radius:var(--r);margin:auto 0}.full-sheet{border-radius:var(--r);max-height:90vh;height:auto;min-height:500px;margin:auto}#navbar{max-width:500px;margin:0 auto;border-radius:var(--r) var(--r) 0 0}}
