/* Asynchronous guest head-to-head rooms; local leaderboard remains first. */
.challenge-panel{display:grid;gap:11px}
.challenge-panel h3{font-size:24px;margin:0}
.challenge-panel .room-join-form{display:grid;gap:9px}
.challenge-panel label{font-size:11px;font-weight:700;color:#bfcfe3}
.challenge-panel input{background:#0d1930;color:#e7f1ff;border:1px solid #3e5e84;border-radius:8px;padding:10px;width:100%;min-width:0;box-sizing:border-box;font:inherit;font-size:12px}
.challenge-panel .room-code-row{display:flex;gap:8px}
.challenge-panel .room-code-row button{min-width:70px}
.challenge-panel .room-active{display:flex;flex-direction:column;gap:10px}
.challenge-panel .room-code-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.challenge-panel .room-code-head strong{font-size:21px;letter-spacing:.15em;color:#9be4fa}
.challenge-panel .room-members{font-size:12px;color:#e4eafa}
.challenge-panel .room-status{font-size:11px;color:#86d1ff;line-height:1.6;padding:11px;margin:0;border-radius:7px;background:#0c1d33;white-space:pre-line;overflow-wrap:anywhere}
.challenge-panel [hidden]{display:none!important}
.dodge-theme .challenge-panel .room-code-head strong{color:#ffc1c9}

.room-live{color:#7bedd3;font-size:10px;margin:0}
.room-opponent{color:#ffce8e;font-size:12px;font-weight:700;min-height:20px}
.remote-ghost{position:absolute;z-index:3;pointer-events:none;transform:translate(-50%,-50%);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px dashed #ffe09a;color:#ffe09a;background:#1c294eaa;box-shadow:0 0 15px #f8ca75aa;opacity:.85}
.remote-ghost[hidden]{display:none!important}
