*{box-sizing:border-box}html,body{margin:0;height:100%;background:#080b0e;color:#cfd8e0;font:14px system-ui,sans-serif}
html.red{filter:grayscale(1) sepia(1) hue-rotate(-50deg) saturate(6) brightness(.55)}
#map{position:absolute;inset:0}.leaflet-container{background:#080b0e}.dark .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.8) contrast(.9)}
#join{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;background:#080b0ef2}
#jf{width:min(360px,92vw);display:flex;flex-direction:column;gap:10px;background:#11171d;padding:22px;border:1px solid #2b3946;border-radius:6px}
#jf h1{margin:0;letter-spacing:3px;color:#a3e635;font-family:monospace}.sub{margin:0;color:#8a99a6;font-size:12px}#jerr{color:#f87171}
input,select{background:#080b0e;color:#e5edf3;border:1px solid #2b3946;border-radius:4px;padding:10px;font-size:16px}
button{background:#1b252e;color:#e5edf3;border:1px solid #344656;border-radius:4px;padding:9px;font-size:14px;cursor:pointer;font-family:monospace}
#jf button{background:#3f6212}#colors{display:flex;gap:8px}#colors span{width:30px;height:30px;border-radius:50%;border:3px solid transparent;cursor:pointer}#colors span.sel{border-color:#fff}
#top{position:fixed;top:8px;left:50%;transform:translateX(-50%);z-index:1000;background:#11171dd8;padding:5px 10px;border-radius:4px;display:flex;gap:12px;font:12px monospace;white-space:nowrap;max-width:96vw;overflow:auto}
#tools{position:fixed;right:8px;top:70px;z-index:1000;display:flex;flex-direction:column;gap:5px}#tools button{width:42px;height:40px;padding:0;position:relative}#tools button.on{background:#3f6212}
#status{position:fixed;bottom:10px;left:50%;transform:translateX(-50%);z-index:1000;display:flex;gap:5px}#status button.on{background:#3f6212}
#sos{background:#b91c1c!important;font-weight:700;width:64px}#sos.on{animation:fl .5s infinite}
@keyframes fl{50%{background:#fff;color:#b91c1c}}
#unread{position:absolute;top:-4px;right:-4px;background:#dc2626;border-radius:9px;font-size:10px;padding:1px 5px}#unread:empty{display:none}
#hint{position:fixed;bottom:60px;left:50%;transform:translateX(-50%);z-index:1000;background:#3f6212;padding:6px 12px;border-radius:4px;display:none}
#alerts{position:fixed;top:44px;left:50%;transform:translateX(-50%);z-index:2500;display:flex;flex-direction:column;gap:4px;width:min(440px,94vw)}
.al{background:#7c2d12;border-left:4px solid #fb923c;padding:7px 10px;border-radius:3px;font:12px monospace}.al.sos{background:#b91c1c;border-color:#fff;font-size:15px;font-weight:700;animation:fl .6s infinite}.al.ok{background:#14532d;border-color:#4ade80}
#sosbar{position:fixed;inset:0;z-index:900;pointer-events:none;box-shadow:inset 0 0 0 10px #dc2626;animation:fb .5s infinite}@keyframes fb{50%{box-shadow:inset 0 0 0 10px transparent}}
#panel{position:fixed;z-index:1500;left:8px;bottom:58px;width:min(380px,calc(100vw - 64px));max-height:55vh;background:#11171df4;border:1px solid #2b3946;border-radius:6px;display:flex;flex-direction:column;padding:10px}
.hidden{display:none!important}#ptitle{font-weight:700;margin-bottom:6px;color:#a3e635;font-family:monospace}#pbody{overflow:auto;flex:1}
#pclose{position:absolute;top:4px;right:4px;padding:2px 8px}#chatf{display:flex;gap:6px;margin-top:6px}#chatf input{flex:1;padding:8px}
.cm{margin:3px 0}.cm b{margin-right:4px}.cm i{color:#678;font-size:11px;margin-left:4px}
.ulbl{background:#000c;color:#fff;border:0;font:11px monospace;padding:1px 4px;box-shadow:none}.ulbl:before{display:none}
.stale{opacity:.4;filter:grayscale(1)}.urow{padding:5px 0;border-bottom:1px solid #222;font:12px monospace}.urow button{padding:3px 6px;font-size:11px;margin:2px}
.pulse{animation:pu 1s infinite}@keyframes pu{50%{opacity:.15}}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#11171d;color:#cfd8e0}
.wp{background:#f59e0b;color:#000;border-radius:50%;width:20px!important;height:20px!important;text-align:center;font:bold 11px/20px monospace;border:2px solid #000}
