/* Chat über dem Spiel: Karte im Spielstil (Marineblau, violette Akzente). Auf schmalen Bildschirmen als Leiste von unten. */
.ef-chat{position:absolute;z-index:30;top:calc(84px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));width:min(400px,calc(100% - 32px));display:flex;flex-direction:column;
 background:linear-gradient(180deg,#191e34f7,#10142af7);border:1px solid #3b3566;border-radius:14px;box-shadow:0 18px 50px #000b,inset 0 1px 0 #ffffff10;color:#ebe6f7;font:500 15px/1.45 EndlessForge,Segoe UI,sans-serif;overflow:hidden;animation:ef-chat-in .22s ease-out}
.ef-chat[hidden]{display:none}
@keyframes ef-chat-in{from{opacity:0;transform:translateY(10px)}}
@media (prefers-reduced-motion:reduce){.ef-chat{animation:none}}
.ef-chat header{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 16px;border-bottom:1px solid #2a2f4d;background:#141930}
.ef-chat header div{flex:1;min-width:0}
.ef-chat h2{margin:0;font-size:18px;font-weight:600;letter-spacing:.02em}
.ef-chat header small{display:block;color:#9d98b8;font-size:13px}
.ef-chat header small::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:#5fd68a;margin-right:6px;box-shadow:0 0 6px #5fd68a}
.ef-chat-icon{flex:none;width:34px;height:34px;border-radius:50%;background:#7a42d8 url('/admin/icons/nav-chat.svg') center/20px no-repeat;box-shadow:0 0 0 3px #7a42d833}
.ef-chat header button{width:38px;height:38px;border:1px solid #2e3556;border-radius:9px;background:#1f2540;color:#ebe6f7;font-size:16px;cursor:pointer;padding:0}
.ef-chat header button:hover{background:#2a3152}
.ef-chat-list{flex:1;margin:0;padding:10px 12px;list-style:none;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#3d425e transparent;touch-action:pan-y}
.ef-chat-list li{padding:7px 10px;border-radius:9px;margin-bottom:4px}
.ef-chat-list li:hover{background:#ffffff08}
.ef-chat-list li.self{background:#7a42d81f}
.ef-chat-list li.mention{background:#c9962c22;box-shadow:inset 3px 0 0 #ffc94a}
.ef-chat-head{display:flex;align-items:baseline;gap:8px;min-height:22px}
.ef-chat-name{font-weight:600;color:#c9b6ff;font-size:14px;background:none;border:0;padding:0;font:inherit;font-weight:600;cursor:default}
button.ef-chat-name{cursor:pointer;text-decoration:underline dotted #ffffff40;text-underline-offset:3px}
.ef-chat-name.admin{color:#ffc94a}
.ef-chat-tag{font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:0 6px;border-radius:5px;background:#c9962c33;color:#ffc94a}
.ef-chat-head time{margin-left:auto;color:#77738f;font-size:12px}
.ef-chat-del{border:0;background:none;color:#e5907c;cursor:pointer;opacity:0;font-size:13px;padding:0 2px}
.ef-chat-list li:hover .ef-chat-del,.ef-chat-del:focus{opacity:1}
@media (pointer:coarse){.ef-chat-del{opacity:.7}}
.ef-chat-list p{margin:2px 0 0;word-wrap:break-word;overflow-wrap:anywhere;white-space:pre-wrap;color:#e3def2}
.ef-chat-empty{margin:0;padding:0 18px 18px;color:#77738f;text-align:center}
.ef-chat-empty[hidden]{display:none}
.ef-chat form{display:flex;gap:8px;padding:12px;border-top:1px solid #2a2f4d;background:#121628}
.ef-chat input{flex:1;min-width:0;height:44px;box-sizing:border-box;padding:0 14px;border-radius:10px;border:1px solid #2e3556;background:#0e1120;color:#f2f0fb;font:inherit;font-size:16px;outline:0}
.ef-chat input:focus{border-color:#8c52ea;box-shadow:0 0 0 3px #8c52ea33}
.ef-chat input:disabled{opacity:.6}
.ef-chat form button{width:48px;height:44px;border:0;border-radius:10px;background:#7a42d8;color:#fff;font-size:18px;cursor:pointer;box-shadow:0 4px 14px #7a42d855}
.ef-chat form button:hover{background:#8c52ea}
.ef-chat form button:disabled{opacity:.5}
.ef-chat-error{margin:0;padding:0 14px;color:#e5907c;font-size:13px}
.ef-chat-error:not(:empty){padding:0 14px 10px}
@media (max-width:700px),(max-aspect-ratio:3/4){
 .ef-chat{top:auto;left:0;right:0;bottom:0;width:auto;height:min(62dvh,560px);border-radius:16px 16px 0 0;border-bottom:0;background:#141930;padding-bottom:env(safe-area-inset-bottom)}
}
