
:root{padding:0!important}body{max-width:none;margin:0;padding:0;overflow:hidden}body::before{display:none}
header{position:fixed;top:0;left:0;right:0;z-index:20;padding:calc(env(safe-area-inset-top,0px) + 8px) 14px 8px}
@media(max-width:999px){header{background:var(--card);color:var(--tx);border-bottom:1px solid var(--bd)}header small{color:var(--mu);opacity:1}}
#mapw{position:fixed;inset:0;height:auto;min-height:0;z-index:0}
#bm{left:8px;right:8px;bottom:calc(var(--nh,48px) + 10px)}
nav{max-width:none;z-index:20}
main{position:fixed;left:0;right:0;top:var(--hh,52px);bottom:var(--nh,48px);overflow:auto;background:var(--bg);z-index:10;padding:10px 12px}
main>*{max-width:760px;margin-left:auto;margin-right:auto}
#ctl{position:fixed;left:8px;top:calc(var(--hh,52px) + 8px);z-index:5;border:1px solid var(--bd);border-radius:10px;padding:4px 8px}
.leaflet-top{top:calc(var(--hh,52px) + 48px)}.leaflet-bottom{bottom:var(--nh,48px)}
.lm .lz{top:calc(var(--hh,52px) + 8px)!important}.lm .la{bottom:var(--nh,48px)!important}
#lg{position:absolute;left:8px;bottom:calc(var(--nh,48px) + 10px);z-index:1100;display:flex;gap:8px;background:var(--card);border:1px solid var(--bd);border-radius:8px;padding:3px 8px;font-size:11px}
#fabw{position:absolute;left:8px;bottom:calc(var(--nh,48px) + 46px);z-index:1150;display:flex;flex-direction:column-reverse;align-items:flex-start;gap:6px}
#fab{width:40px;height:40px;border-radius:50%;border:1px solid var(--bd);background:var(--card);color:var(--tx);font:400 26px/1 system-ui;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.35);padding:0}
#fabr{display:flex;align-items:center;gap:8px}#dbg[hidden]{display:none}#dbg{background:var(--card);border:1px solid var(--bd);border-radius:8px;padding:4px 8px;font:600 11px/1.2 system-ui;color:var(--tx);box-shadow:0 2px 8px rgba(0,0,0,.35);pointer-events:none;white-space:nowrap}
#fabm{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:8px 10px;box-shadow:0 2px 10px rgba(0,0,0,.3);font-size:13px}
#fabm[hidden]{display:none}#fabm .s{margin:4px 4px 0 0;color:#fff;border:0;border-radius:7px}
#rk{display:flex!important;align-items:center;justify-content:flex-end;gap:6px;cursor:pointer}
.cr{display:flex;align-items:center;justify-content:flex-end;gap:10px;white-space:nowrap;flex:none}.cr #cr{font-variant-numeric:tabular-nums}.cr #testing{flex:none;line-height:1.4}.cr #rk{margin:0;padding-left:10px;border-left:1px solid currentColor;border-left-color:rgba(128,128,128,.4);min-width:0}.cr #rk span{max-width:110px;overflow:hidden;text-overflow:ellipsis}header>div:first-child{min-width:0}header>div:first-child b,header>div:first-child small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}header>div:first-child b{display:block}@media(max-width:480px){.cr{gap:8px}.cr #rk{padding-left:8px}.cr #rk span{display:none}header{gap:8px}}
#lg i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:3px}
.gd{display:inline-block;min-width:24px;text-align:center;padding:0 5px;border-radius:6px;font-size:12px;font-weight:700;margin-right:4px}
.dx,#pl,#rl{display:none}
@media(max-width:999px){#rpt{display:none!important}}
@media(max-width:999px){#bsr{bottom:calc(var(--nh,48px) + 118px)}}
/* Mobile: hide the map +/- zoom buttons (Leaflet default control and the built-in fallback map). Pinch / double-tap still zoom. */
@media(max-width:999px){.leaflet-control-zoom,.lm .lz{display:none!important}}

/* ===== Account panel on mobile: same card look as desktop (profile card, rank card, stat tiles, button grid) ===== */
@media(max-width:999px){
#acct>div{max-width:520px!important;padding:52px 14px 16px!important;border-radius:16px!important}
#acct .acL{display:flex;flex-direction:column;gap:10px}
#acct .acH,#acct .acP{box-sizing:border-box;min-width:0;background:var(--bg);border:1px solid var(--bd);border-radius:12px;padding:12px 14px}
#acct .acH{margin-bottom:0!important}
#acct .acH>div>div:first-child{font-size:20px!important}
#acct .acP{display:flex;flex-direction:column;justify-content:center}
#acct .acPl{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mu);margin-bottom:8px}
#acct .acP>div:nth-child(2){height:10px!important;border-radius:5px!important}
#acct .acP>div:last-child{margin:8px 0 0!important;font-size:13px!important}

/* stat tiles: two per row */
#acct .acS{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#acct .acr{box-sizing:border-box;min-width:0;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch;gap:4px!important;padding:10px 12px!important;background:var(--bg);border:1px solid var(--bd)!important;border-radius:10px}
#acct .acr .acl{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
#acct .acr .acv{text-align:left!important;font-size:16px;line-height:1.25;overflow-wrap:anywhere}
#acct .acr-rk{display:none!important}
#acct .acr-dr{grid-column:1/-1;order:-1;flex-direction:row!important;align-items:center;justify-content:space-between!important;border:1px solid var(--a)!important}
#acct .acr-dr .acv{font-size:14px}
#acct #ac_pz{align-self:flex-start;font-size:13px!important;padding:5px 12px!important}

/* actions: Ranks / Logs / Sign out in a row, the rest in a tidy grid */
#acct .acA{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#acct .acA>div:has(button){display:contents!important}
#acct .acA button{width:auto!important;margin:0!important;flex:none!important;min-width:0;font-size:14px!important;padding:12px 8px!important}
#acct #ac_lg{order:1}#acct #ac_st{order:2}#acct #ac_ex{order:3}#acct #ac_im{order:4}#acct #ac_so{order:5}
#acct .acA:has(#ac_im) #ac_so{grid-column:1/-1}
#acct .acA>div:not(:has(button)){order:8;grid-column:1/-1;margin:0!important}

/* dev tools and danger zone as cards */
#acct .acD>div{background:var(--bg);border:1px solid var(--bd);border-radius:12px;padding:12px 14px!important;margin-top:14px!important;border-top:1px solid var(--bd)!important}
#acct .acD>div:last-child{background:none;border:0!important;padding:0 2px!important}
}
