/* Carte interactive ns-dayz.fr/carte */
body.plein{height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column}
#appli{position:relative;flex:1;min-height:0}
#carte{position:absolute;inset:0;background:#2a2318;z-index:0}
.leaflet-container{font:13px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:#2a2318}
.leaflet-control-zoom a{background:var(--carte2);color:var(--sable);border-color:var(--ligne)}
.leaflet-control-zoom a:hover{background:var(--carte);color:var(--or)}
.leaflet-bar{border:1px solid var(--ligne)!important;box-shadow:0 6px 18px rgba(0,0,0,.45)}

/* panneau latéral */
#panneau{position:absolute;top:12px;left:12px;bottom:12px;width:330px;z-index:900;display:flex;transition:transform .25s}
#panneau .p-int{flex:1;overflow-y:auto;background:rgba(20,17,14,.94);border:1px solid var(--ligne);border-radius:16px;padding:16px 16px 12px;
  box-shadow:0 18px 40px rgba(0,0,0,.55);scrollbar-width:thin;scrollbar-color:var(--ligne) transparent}
#panneau:not(.ouvert){transform:translateX(calc(-100% - 14px))}
#poignee{position:absolute;right:-48px;top:0;width:40px;height:40px;border-radius:10px;border:1px solid var(--ligne);background:var(--carte2);color:var(--sable);font-size:18px;cursor:pointer}
#panneau h1{font-size:20px;margin:0;color:var(--sable)}
#panneau h2{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--rouille2);margin:18px 0 8px;font-weight:800}
.p-sous{margin:2px 0 12px;color:var(--doux);font-size:12.5px}
.cherche{position:relative}
#q{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--ligne);background:var(--fond);color:var(--texte);font-size:15px;outline:none}
#q:focus{border-color:var(--rouille)}
#resultats{position:absolute;left:0;right:0;top:100%;margin-top:4px;background:var(--carte2);border:1px solid var(--ligne);border-radius:10px;z-index:5;max-height:320px;overflow:auto;display:none}
#resultats.vu{display:block}
#resultats button{display:flex;justify-content:space-between;gap:8px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--ligne);color:var(--texte);padding:9px 12px;font-size:14px;cursor:pointer}
#resultats button:hover,#resultats button.sel{background:rgba(200,100,30,.16)}
#resultats small{color:var(--doux);white-space:nowrap}
#choix-objet{margin-top:10px;padding:10px 12px;border-radius:10px;background:rgba(224,160,48,.12);border:1px solid rgba(224,160,48,.4);font-size:13.5px}
#choix-objet b{color:var(--or)}#choix-objet a{color:var(--sable)}
#choix-objet button{float:right;background:none;border:0;color:var(--doux);cursor:pointer;font-size:16px}
.outils{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}
.outils button{flex:1;padding:8px 4px;border-radius:9px;border:1px solid var(--ligne);background:var(--carte2);color:var(--sable);font-weight:700;font-size:13px;cursor:pointer}
.outils button:hover{border-color:var(--rouille)}
.outils button.actif{background:var(--rouille);color:#1a0f05;border-color:var(--rouille2)}
#info-outil{margin-top:8px;font-size:13px;color:#d7cbb8;background:var(--fond);border:1px solid var(--ligne);border-radius:9px;padding:8px 10px}
#info-outil b{color:var(--or)}
#info-outil button{margin-top:6px;background:none;border:1px solid var(--ligne);color:var(--sable);border-radius:7px;padding:3px 9px;cursor:pointer}

/* calques */
.calque{display:flex;align-items:center;gap:9px;padding:4px 2px;font-size:14px;cursor:pointer;user-select:none}
.calque input{accent-color:var(--rouille);width:16px;height:16px;margin:0}
.calque .pastille{width:12px;height:12px;border-radius:50%;flex:none;border:1px solid rgba(0,0,0,.5)}
.calque .n{margin-left:auto;color:var(--doux);font-size:12px}
.groupe-c{margin:6px 0 2px;color:var(--doux);font-size:12px;font-weight:700}
.sous-calques{padding-left:20px;display:grid;grid-template-columns:1fr 1fr;gap:0 8px}
.sous-calques .calque{font-size:13px}
.legal{font-size:11.5px;color:var(--doux);margin-top:18px;line-height:1.45}.legal a{color:var(--doux)}

/* repères */
#reperes .vide{font-size:13px;color:var(--doux);margin:0}
.repere-l{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid var(--ligne);font-size:14px}
.repere-l span{flex:1;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.repere-l button{background:none;border:0;color:var(--doux);cursor:pointer;font-size:14px}
.form-repere{display:flex;flex-direction:column;gap:6px}
.form-repere input[type=text]{padding:7px 9px;border-radius:8px;border:1px solid var(--ligne);background:var(--fond);color:var(--texte)}
.couleurs{display:flex;gap:6px}.couleurs label{cursor:pointer}.couleurs input{display:none}
.couleurs i{display:block;width:20px;height:20px;border-radius:50%;border:2px solid transparent}
.couleurs input:checked+i{border-color:#fff}
.form-repere .actions{display:flex;gap:6px}.form-repere .actions button{flex:1;padding:6px;border-radius:8px;border:1px solid var(--ligne);background:var(--carte2);color:var(--sable);cursor:pointer}
.form-repere .actions button.ok{background:var(--rouille);color:#1a0f05}

/* coordonnées */
#appli .leaflet-bottom.leaflet-right{bottom:40px}
.leaflet-control-scale-line{background:rgba(20,17,14,.85);color:var(--sable);border-color:var(--sable)}
#coord{position:absolute;right:12px;bottom:12px;z-index:900;background:rgba(20,17,14,.9);border:1px solid var(--ligne);border-radius:10px;padding:6px 12px;
  font:600 13px/1.4 ui-monospace,Consolas,monospace;color:var(--sable);pointer-events:none;white-space:nowrap}

/* étiquettes et icônes sur la carte */
.lbl{color:#fff;font-weight:800;text-shadow:0 0 3px #000,0 0 6px #000,0 1px 2px #000;white-space:nowrap;pointer-events:none;transform:translate(-50%,-50%);letter-spacing:.02em}
.lbl.Capital{font-size:19px;color:#ffe2b0;letter-spacing:.12em;text-transform:uppercase}
.lbl.City{font-size:15px;color:#ffe9c6}
.lbl.Village{font-size:12.5px}
.lbl.Local,.lbl.Ruin,.lbl.Hill{font-size:11px;font-weight:700;color:#e8dcc4;font-style:italic}
.lbl.Marine{font-size:11px;color:#9fd0ff;font-style:italic}
.grille-lbl{color:rgba(255,240,210,.85);font:700 11px ui-monospace,Consolas,monospace;text-shadow:0 0 3px #000;pointer-events:none;white-space:nowrap}
.ico-ev{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:13px;line-height:1;border:2px solid rgba(0,0,0,.55);box-shadow:0 2px 6px rgba(0,0,0,.5)}
.ico-rep{width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.6)}
.ico-rep span{display:block;transform:rotate(45deg);text-align:center;line-height:22px;font-size:12px}
.mesure-lbl{background:rgba(20,17,14,.92);color:var(--or);font:700 12px ui-monospace,Consolas,monospace;padding:2px 7px;border-radius:6px;border:1px solid var(--ligne);white-space:nowrap}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--carte2);color:var(--texte);border:1px solid var(--ligne)}
.leaflet-popup-content{margin:12px 14px;font-size:13.5px}
.leaflet-popup-content b{color:var(--sable)}.leaflet-popup-content a{color:var(--or)}
.leaflet-popup-content .pp-c{color:var(--doux);font-size:12px;margin-top:4px}
.leaflet-container a.leaflet-popup-close-button{color:var(--doux)}

@media (max-width:760px){
  #panneau{top:auto;left:0;right:0;bottom:0;width:auto;height:58%;flex-direction:column}
  #panneau .p-int{border-radius:16px 16px 0 0}
  #panneau:not(.ouvert){transform:translateY(calc(100% - 0px))}
  #poignee{position:absolute;right:12px;top:-50px}
  #coord{bottom:auto;top:10px;right:auto;left:10px;font-size:11px;padding:4px 8px}
  #appli .leaflet-bottom.leaflet-right{bottom:6px}
}

/* groupes (04/11/2026) */
.btn-discord{display:inline-block;margin-top:8px;padding:8px 14px;border-radius:9px;background:#5865f2;color:#fff;font-weight:800;font-size:13.5px;text-decoration:none}
.btn-discord:hover{filter:brightness(1.1)}
.lien-petit{font-size:12px;color:var(--doux)}
.groupe-l{border-bottom:1px solid var(--ligne);padding:3px 0 6px}
.g-actions{display:flex;flex-wrap:wrap;gap:5px;align-items:center;padding-left:25px}
.g-actions small{color:var(--doux);font-size:12px;margin-right:4px}
.g-actions button,.g-bas button,#info-outil .oui,#info-outil .non,#info-outil .nv{background:var(--carte2);border:1px solid var(--ligne);color:var(--sable);border-radius:7px;padding:2px 8px;font-size:12px;cursor:pointer}
.g-bas{display:flex;flex-direction:column;gap:6px;margin-top:8px}.g-bas small{color:var(--doux);font-size:12px}.g-bas a{color:var(--doux)}
.g-bas .g-creer{align-self:flex-start;padding:5px 10px;font-weight:700}
.pp-suppr{margin-top:8px;background:none;border:1px solid var(--rouge);color:#f0a093;border-radius:7px;padding:3px 9px;cursor:pointer}
.legende-zones{padding:2px 0 0 25px;font-size:12.5px;color:#d7cbb8;display:flex;flex-direction:column;gap:3px}
.legende-zones i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:middle;opacity:.9}
.legende-zones b{color:var(--sable)}.legende-zones .phase{margin-top:3px}.legende-zones small{color:var(--doux);font-size:11.5px}
.pp-btns{display:flex;gap:5px;margin-top:8px}.pp-btns button{background:var(--carte);border:1px solid var(--ligne);color:var(--sable);border-radius:7px;padding:3px 8px;cursor:pointer;font-size:12px}
.pp-btns .pp-suppr{margin-top:0;border-color:var(--rouge);color:#f0a093}
.form-repere input[type=number]{width:100%;margin-top:3px;padding:6px;border-radius:8px;border:1px solid var(--ligne);background:var(--fond);color:var(--texte)}
.actions-forme{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.actions-forme button{background:var(--carte2);border:1px solid var(--ligne);color:var(--sable);border-radius:7px;padding:3px 8px;cursor:pointer;font-size:12px}
.actions-forme button[data-f="1"],.actions-forme button[data-f="0"]{background:var(--rouille);color:#1a0f05;border-color:var(--rouille2);font-weight:700}
.lbl.forme{font-size:12px;font-weight:800;text-shadow:0 0 3px #000,0 0 6px #000}
