/* Private friends rooms sit above the existing compact race layout. */
.friends-overlay{position:fixed;inset:0;z-index:4000;display:grid;place-items:center;padding:18px;background:rgba(0,12,7,.8);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .15s ease}
.friends-overlay.open{visibility:visible;opacity:1;pointer-events:auto}
body.friends-dialog-open .bmac-floating-link{display:none!important}
.friends-dialog{width:min(480px,100%);max-height:88dvh;overflow:auto;overscroll-behavior:contain;padding:20px;border:2px solid #e3c452;border-radius:20px;background:linear-gradient(150deg,#0a3a26,#031b11);box-shadow:0 18px 60px #000b;color:#eaf4ee;font-size:14px;line-height:1.45}
.friends-dialog header{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px}
.friends-dialog h2{margin:0;color:#ffe285;font-size:23px;line-height:1.1}
.friends-dialog h3{margin:15px 0 8px;color:#ffe285;font-size:15px}
.friends-dialog p{margin:9px 0 13px}
.friends-dialog button{min-height:38px;padding:8px 12px;border:1px solid #778344;border-radius:10px;background:#123d29;color:#f9edbd;font:800 13px/1.15 system-ui;cursor:pointer}
.friends-dialog button:disabled{opacity:.5;cursor:wait}
.friends-dialog .friends-primary{width:100%;background:linear-gradient(#ffe582,#dfbd43);color:#122415;border-color:#f3d677;margin:4px 0 10px}
.friends-dialog .friends-close{min-width:36px;width:36px;height:36px;min-height:36px;padding:0;font-size:24px;flex:0 0 auto}
.friends-dialog label{display:block;font-weight:750;font-size:12px;margin:9px 0 5px}
.friends-dialog input{min-width:0;width:100%;height:40px;padding:8px 10px;border:1px solid #46714e;border-radius:9px;background:#031a10;color:#fff;font:14px/1.2 system-ui}
.friends-dialog #roomJoinCode{text-transform:uppercase;letter-spacing:.1em}
.friends-join-row{display:flex;gap:8px;align-items:center}.friends-join-row button{flex-shrink:0}
.friends-room-code{color:#d2e8d9}.friends-room-code strong{font-size:23px;letter-spacing:.15em;color:#ffe582}
.friends-members{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:0}
.friends-members li{min-width:0;overflow-wrap:anywhere;padding:7px 9px;border:1px solid #355b42;border-radius:8px;background:#123520;font-size:12px}
.friends-dialog .friends-explainer{font-size:12px;color:#a8c9b4}
.friends-dialog .friends-status{margin:12px 0 0;font-size:13px;color:#ffe390;overflow-wrap:anywhere;min-height:18px}
.friends-dialog [hidden]{display:none!important}
.room-bets-locked .pool,.room-bets-locked .slots,.room-bets-locked .chipboard{opacity:.7}
.room-bets-locked .racer,.room-bets-locked .slot,.room-bets-locked .chip{pointer-events:none}
.room-finish-order{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:8px}
.room-finish-order span{padding:6px;border:1px solid #7d985a;border-radius:8px;background:#15462b;color:#ffeaa0;font-size:12px;overflow-wrap:anywhere}
#roomHistoryList details{border:1px solid #42694b;border-radius:10px;padding:10px;margin:10px 0;background:#0a2b1a}
#roomHistoryList summary{cursor:pointer;font-weight:850;color:#ffe58c}
#roomHistoryList p{font-size:12px;margin:9px 0;overflow-wrap:anywhere}
#roomHistoryList .room-history-win{color:#8ce8b1}
@media(max-width:900px),(max-height:520px) and (max-width:1400px){
  .friends-overlay{padding:12px}.friends-dialog{padding:14px;max-height:88dvh;font-size:12px;border-radius:16px}
  .friends-dialog h2{font-size:20px}.friends-dialog p{margin:7px 0 10px}
  .friends-dialog button{min-height:35px;font-size:12px}.friends-dialog input{font-size:16px}
  .friends-dialog .friends-close{width:32px;min-width:32px;height:32px;min-height:32px}
  .room-finish-order span{font-size:10px;padding:4px}
}
@media(prefers-reduced-motion:reduce){.friends-overlay{transition:none}}
