/* FPA Simulator – Ergänzungen im Spiel-iframe (Sperren, Punkte-Badge). Wird nach style.css geladen. */
.fpa-embed .vhint { display: none; }
.fpa-embed #viewbar { display: flex; align-items: center; gap: 8px; min-width: 0; }

/* Gesperrte Bedienelemente: abgedunkelt + Schloss, Tooltip „Freischalten ab X Punkten“ */
.pbtn.locked { cursor: not-allowed; background: repeating-linear-gradient(135deg, #2a2f36 0 6px, #252a30 6px 12px) !important; box-shadow: inset 0 0 0 1px #4a3d1d; }
.pbtn.locked > * { opacity: .38; }
.pbtn.locked::after { content: "🔒"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -38%); font-size: 15px; opacity: 1; filter: drop-shadow(0 1px 1px #000); pointer-events: none; }
#crowdbar .seg button.locked { cursor: not-allowed; color: #7d8792; background: repeating-linear-gradient(135deg, #1e2832 0 6px, #1a232c 6px 12px); }
#crowdbar .seg button.locked::before { content: "🔒 "; font-size: .9em; }
.targetsel button.locked { cursor: not-allowed; opacity: .4; }
#crowdbar label.locked { opacity: .55; cursor: not-allowed; }
#crowdbar label.locked::before { content: "🔒"; margin-right: 2px; }
#crowdbar label.cb-slider.locked { opacity: 1; }
#crowdbar input:disabled { cursor: not-allowed; }

/* Punkte-Badge in der Leiste über der Karte */
.fpa-badge { display: flex; align-items: center; gap: 8px; min-width: 0; flex: 1 1 auto; justify-content: flex-end; font: 600 12px/1.2 system-ui, sans-serif; color: #e6e9ee; white-space: nowrap; overflow: hidden; }
.fpa-badge > span { overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.fpa-badge .fpa-pts { flex: none; background: #2b3440; border: 1px solid #45607a; border-radius: 10px; padding: 2px 9px; }
.fpa-badge .fpa-pts b { color: #ffd23f; font-size: 13px; }
.fpa-badge .fpa-pts i { color: #7cf0a0; font-style: normal; font-weight: 600; }
.fpa-badge .fpa-next { color: #b9c4cf; font-weight: 500; flex: 0 1 auto; }
.fpa-badge .fpa-bar { flex: 0 0 90px; height: 7px; border-radius: 4px; background: #11161b; border: 1px solid #3a4652; overflow: hidden; }
.fpa-badge .fpa-bar i { display: block; height: 100%; background: linear-gradient(90deg, #2f7cc4, #35e06b); }
.fpa-badge .fpa-gast { color: #ffd27a; font-weight: 500; }
.fpa-badge .fpa-gast a, .fpa-pop a { color: #7cc4ff; font-weight: 700; }
.fpa-badge .fpa-warn { color: #ffb86b; font-weight: 500; }
.fpa-badge .fpa-err { color: #ff8a8a; font-weight: 600; }
.fpa-badge .fpa-btn { flex: none; background: #2e353e; color: #e6e9ee; border: 1px solid #0b0d10; border-radius: 5px; padding: 2px 7px; font: 600 11.5px system-ui, sans-serif; cursor: pointer; }
.fpa-badge .fpa-btn:hover { background: #3a4450; }
.fpa-pop { display: none; position: fixed; z-index: 50; width: min(520px, 90vw); max-height: 70vh; overflow: auto; background: #1d2329; border: 1px solid #45607a; border-radius: 8px; box-shadow: 0 8px 30px rgba(0,0,0,.6); padding: 10px 12px; font: 13px/1.35 system-ui, sans-serif; color: #e6e9ee; }
.fpa-pop.show { display: block; }
.fpa-pop-h { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.fpa-pop-h button { background: none; border: 0; color: #cfd6de; font-size: 15px; cursor: pointer; }
.fpa-pop ul { list-style: none; margin: 0 0 8px; padding: 0; }
.fpa-pop li { display: flex; gap: 10px; padding: 3px 0; border-bottom: 1px solid #2a323b; }
.fpa-pop li span { flex: 0 0 70px; font-weight: 700; white-space: nowrap; }
.fpa-pop li.ok span { color: #7cf0a0; }
.fpa-pop li.zu { color: #aab4be; }
.fpa-pop small { color: #9aa7b4; }
@media (max-height: 820px), (max-width: 1500px) {
  .fpa-badge { font-size: 11px; gap: 6px; }
  .fpa-badge .fpa-bar { flex-basis: 60px; }
}
/* Rollen & Testmodus */
.fpa-badge a.fpa-btn { text-decoration: none; display: inline-block; line-height: 1.35; }
.fpa-badge .fpa-btn.on { background: #7a4dff; border-color: #a58bff; color: #fff; }
.fpa-badge .fpa-rolle { flex: none; border-radius: 10px; padding: 1px 8px; font-weight: 700; font-size: 11px; letter-spacing: .03em; background: #3b3f46; color: #e6e9ee; }
.fpa-badge .fpa-rolle--patron { background: linear-gradient(135deg, #f2b437, #e0762b); color: #1b1b1b; }
.fpa-badge .fpa-rolle--moderator { background: #2f7de1; color: #fff; }
.fpa-badge .fpa-rolle--admin { background: #c62828; color: #fff; }
.fpa-badge .fpa-test { flex: none; color: #d6c8ff; background: rgba(122,77,255,.22); border: 1px solid #7a4dff; border-radius: 10px; padding: 2px 9px; font-weight: 600; }
