html, body { margin: 0; height: 100%; background: #12140f; color: #e7e9e1; font: 14px/1.4 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
#barre { position: fixed; top: 0; left: 0; right: 0; height: 46px; z-index: 1000; display: flex; align-items: center; gap: 12px;
         padding: 0 12px; background: #151910ee; border-bottom: 1px solid #2e3527; backdrop-filter: blur(6px); }
#barre .retour { color: #8fbf4f; text-decoration: none; }
#barre select { background: #1c2018; color: #e7e9e1; border: 1px solid #2e3527; border-radius: 8px; padding: 5px 8px; max-width: 46vw; }
#maj { margin-left: auto; color: #9aa38c; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#carte { position: absolute; top: 46px; bottom: 0; left: 0; right: 0; background: #d6ceb4; }
.leaflet-container { font: inherit; }
.leaflet-popup-content-wrapper, .leaflet-popup-tip { background: #1c2018; color: #e7e9e1; border: 1px solid #2e3527; }
.leaflet-popup-content { margin: 10px 12px; line-height: 1.45; }
.leaflet-popup-content h3 { margin: 0 0 4px; font-size: 15px; }
.leaflet-popup-content .doux { color: #9aa38c; }
.leaflet-control-layers { background: #1c2018ee; color: #e7e9e1; border: 1px solid #2e3527 !important; }
.leaflet-control-layers-expanded { padding: 8px 10px; }
.leaflet-bar a { background: #1c2018; color: #e7e9e1; border-bottom-color: #2e3527; }
.nom { background: #000a; border: 0; color: #fff; font-weight: 700; padding: 1px 6px; border-radius: 6px; box-shadow: none; }
.nom::before { display: none; }
.ville { background: transparent; border: 0; box-shadow: none; color: #222; font-weight: 800; font-size: 15px; text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 4px #fff; }
.ville::before { display: none; }
.lieu { width: 20px; height: 20px; border: 2px solid #fff; border-radius: 5px; color: #fff; font: 800 12px/16px system-ui, sans-serif; text-align: center; box-shadow: 0 1px 3px #0008; }
.mort { font: 900 20px/20px system-ui, sans-serif; text-align: center; text-shadow: 0 0 2px #000, 0 0 3px #000; }
.mort.ancienne { opacity: .55; font-size: 15px; }
.base { font-size: 22px; line-height: 22px; text-align: center; filter: drop-shadow(0 1px 2px #000); }
.coord, .legende { background: #1c2018ee; border: 1px solid #2e3527; border-radius: 8px; padding: 6px 10px; color: #e7e9e1; }
.legende { line-height: 1.7; font-size: 12.5px; max-width: 220px; }
.legende i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; border: 1px solid #fff; }
.outils { background: #1c2018ee; border: 1px solid #2e3527; border-radius: 8px; padding: 6px; color: #e7e9e1; max-width: 270px; }
.outils button { background: #262c1f; color: #e7e9e1; border: 1px solid #3a4430; border-radius: 6px; padding: 5px 8px; cursor: pointer; font: inherit; }
.outils button.actif, .outils button:hover { background: #8fbf4f; color: #10140b; }
.outils-info { margin-top: 6px; font-size: 12.5px; line-height: 1.6; }
.outils-info select, .outils-info input:not([type=checkbox]) { display: block; width: 100%; box-sizing: border-box; margin: 3px 0; background: #12140f;
  color: #e7e9e1; border: 1px solid #2e3527; border-radius: 6px; padding: 5px; font: inherit; }
.outils-info a, .leaflet-popup-content a { color: #8fbf4f; }
.outils-info .doux { color: #9aa38c; }
.leaflet-popup-content button { margin-top: 6px; background: #3a1f1f; color: #f3d6d6; border: 1px solid #6b2f2f; border-radius: 6px; padding: 3px 8px; cursor: pointer; }
.annot { width: 22px; height: 22px; border: 2px solid; border-radius: 50%; background: #1c2018; text-align: center; line-height: 22px; font-size: 13px; box-shadow: 0 1px 3px #000a; }
@media (max-width: 600px) { .legende { display: none; } #maj { display: none; } .outils { max-width: 200px; } }
.direct { width: 14px; height: 14px; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 0 #e74c3caa; animation: pouls 1.6s infinite; }
@keyframes pouls { 0% { box-shadow: 0 0 0 0 #e74c3caa; } 70% { box-shadow: 0 0 0 12px #e74c3c00; } 100% { box-shadow: 0 0 0 0 #e74c3c00; } }
