/* FXGG_ARENA — VOZ (ODD & SINO) */
.fv-btn { position: fixed; left: 12px; bottom: 12px; z-index: 99999; display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 8px 16px 8px 12px;
  border-radius: 999px; border: 1px solid rgba(255,255,255,.22); background: rgba(8,12,20,.94); color: #fff; font-weight: 800; font-size: 12px; cursor: pointer;
  box-shadow: 0 6px 22px rgba(0,0,0,.45); transition: border-color .2s, box-shadow .2s; }
.fv-dots { display: flex; align-items: center; gap: 5px; height: 30px; }
.fv-dots i { display: block; width: 10px; height: 10px; border-radius: 6px; background: #5b6675; transition: background .2s; }
.fv-lbl { letter-spacing: .04em; }
.fv-btn[data-s="off"] .fv-lbl { color: #c9d3df; }
.fv-btn[data-s="on"] .fv-dots i { background: #f2f6fb; }
.fv-btn[data-s="on"] { border-color: rgba(255,255,255,.45); }
.fv-btn[data-s="armed"] .fv-dots i, .fv-btn[data-s="pend"] .fv-dots i { background: #ffb400; }
.fv-btn[data-s="armed"] { border-color: #ffb400; color: #ffb400; box-shadow: 0 0 0 2px rgba(255,180,0,.25), 0 6px 22px rgba(0,0,0,.45); }
.fv-btn[data-s="pend"] { border-color: #ffb400; color: #ffb400; animation: fvPulse 1s infinite; }
.fv-btn[data-s="load"] .fv-dots i { background: #8a99ab; }
.fv-btn[data-s="think"] .fv-dots i { background: #5ab0ff; }
.fv-btn[data-s="think"] { border-color: #5ab0ff; color: #5ab0ff; }
.fv-btn[data-talk="sino"] .fv-dots i { background: #b98cff; }
.fv-btn[data-talk="odd"] .fv-dots i { background: #ffb400; }
.fv-btn[data-flash="ok"] .fv-dots i { background: #2ecc71 !important; }
.fv-btn[data-flash="bad"] .fv-dots i { background: #ff5c5c !important; }
@keyframes fvPulse { 50% { box-shadow: 0 0 0 6px rgba(255,180,0,.35), 0 6px 22px rgba(0,0,0,.45); } }
.fv-cap { position: fixed; left: 12px; bottom: 70px; z-index: 99999; max-width: min(520px, calc(100vw - 24px)); padding: 10px 14px; border-radius: 12px;
  background: rgba(10,15,24,.96); color: #e8eef5; font-size: 15px; font-weight: 600; line-height: 1.35; border: 1px solid rgba(255,255,255,.16); box-shadow: 0 8px 24px rgba(0,0,0,.5); cursor: pointer; }
.fv-c-partial { color: #8a99ab; font-style: italic; font-weight: 400; }
.fv-c-ok { border-color: #2ecc71; } .fv-c-bad { border-color: #ff5c5c; }
.fv-c-sino { border-color: #b98cff; color: #e4d4ff; } .fv-c-odd { border-color: #ffb400; color: #ffe2a3; }
.fv-panel { position: fixed; left: 12px; bottom: 70px; z-index: 99999; width: min(380px, calc(100vw - 24px)); max-height: calc(100vh - 90px); overflow: auto;
  background: rgba(10,15,24,.97); color: #e8eef5; border: 1px solid rgba(255,255,255,.18); border-radius: 12px; padding: 12px; font-size: 13px; box-shadow: 0 10px 30px rgba(0,0,0,.5); }
.fv-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.fv-x { background: none; border: 0; color: #8a99ab; font-size: 16px; cursor: pointer; }
.fv-main { width: 100%; padding: 12px; border: 0; border-radius: 9px; background: #ffb400; color: #111; font-weight: 800; font-size: 15px; cursor: pointer; }
.fv-main:disabled { opacity: .6; }
.fv-state { margin: 4px 0; } .fv-arm { color: #ffb400; }
.fv-heard { color: #8a99ab; font-size: 15px; min-height: 20px; margin: 4px 0 8px; }
.fv-pend { border: 2px solid #ffb400; border-radius: 10px; padding: 10px; margin: 8px 0; } .fv-ptxt { font-weight: 800; font-size: 15px; margin-bottom: 8px; }
.fv-row { display: flex; gap: 8px; } .fv-row button { flex: 1; padding: 14px; border: 0; border-radius: 9px; font-weight: 800; font-size: 15px; cursor: pointer; }
.fv-ok { background: #2ecc71; color: #08130c; } .fv-no { background: #ff5c5c; color: #1a0606; }
.fv-chk { display: block; margin: 8px 0 2px; cursor: pointer; }
.fv-muted { color: #8a99ab; font-size: 12px; margin: 2px 0 6px; }
.fv-vsel { display: grid; gap: 6px; margin: 8px 0; } .fv-vsel select { width: 100%; background: #141b24; color: #e8eef5; border: 1px solid #26313f; border-radius: 6px; padding: 5px; }
.fv-panel details { margin: 6px 0; } .fv-panel summary { cursor: pointer; color: #ffb400; }
.fv-log { border-top: 1px solid #26313f; margin-top: 8px; padding-top: 6px; }
.fv-l { padding: 3px 0; border-bottom: 1px solid rgba(38,49,63,.6); } .fv-l span { color: #8a99ab; font-size: 11px; }
.fv-l.fv-sino span { color: #c39bff; } .fv-l.fv-odd span { color: #ffb400; }
.fxt-bell { background: none; border: 1px solid rgba(255,255,255,.18); border-radius: 6px; color: #8a99ab; cursor: pointer; padding: 1px 6px; font-size: 12px; margin-left: 6px; filter: grayscale(1); opacity: .6; }
.fxt-bell.on { filter: none; opacity: 1; color: #ffb400; border-color: #ffb400; }
@media (max-width: 700px) { .fv-btn { bottom: 64px; } .fv-panel, .fv-cap { bottom: 122px; } }
