/* MeowKuda — SHARED subscribers-only race-day room styles (Boss, 2026-09-29).
 * ONE copy for BOTH /m (m.html) and /sim (sim.html), so the two can never drift.
 * Own literal colours (matching the /m palette) so the panel looks identical on the
 * simulator page, which has its own, different CSS variables. The host page only decides
 * WHEN the FAB is visible (subscriber gate) — never how it looks.
 * The FAB sits ABOVE the AI chat FAB so the two never overlap. */
.room-fab{position:fixed;right:14px;bottom:calc(env(safe-area-inset-bottom) + 78px);z-index:54;
  width:54px;height:54px;border-radius:50%;border:1px solid rgba(90,200,255,.5);
  background:linear-gradient(160deg,#1b2130,#141822);color:#5ac8ff;font-size:22px;
  line-height:1;display:none;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.55)}
.room-fab:active{background:rgba(90,200,255,.16)}
.room-fab .room-fab-ico{line-height:1;display:block}
/* Unread badge (Boss, 2026-09-30): the count of room messages the reader has NOT seen.
   Legible on the dark FAB; hidden at zero and for a non-subscriber (the FAB itself is hidden). */
.room-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;
  border-radius:9px;background:#ff4d4f;color:#fff;font-size:10.5px;font-weight:800;line-height:1;
  display:none;align-items:center;justify-content:center;box-shadow:0 0 0 2px #141822}
.room-overlay{position:fixed;inset:0;z-index:66;background:rgba(6,8,12,.78);
  backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center}
.room-sheet{width:100%;max-width:560px;max-height:88vh;display:flex;flex-direction:column;
  background:#161a22;border:1px solid #262c38;border-bottom:0;
  border-radius:16px 16px 0 0;padding:14px 14px calc(env(safe-area-inset-bottom) + 12px)}
.room-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.room-title{font-size:16px;font-weight:800;color:#e8ecf3}
.room-scope{display:inline-block;margin-left:6px;font-size:10px;font-weight:800;letter-spacing:.4px;
  color:#0c0d14;background:#5ac8ff;border-radius:6px;padding:2px 6px;vertical-align:middle}
.room-x{background:none;border:0;color:#8d97a8;font-size:18px;padding:2px 8px;cursor:pointer}
.room-ctx{color:#5ac8ff;font-size:11px;font-weight:600;margin:5px 0 2px;min-height:13px}
.room-sub{color:#8d97a8;font-size:11.5px;margin:3px 0 9px;line-height:1.5}
.room-log{flex:1 1 auto;overflow-y:auto;min-height:140px;max-height:54vh;
  display:flex;flex-direction:column;gap:8px;padding:4px 2px 8px}
.room-msg{max-width:88%;border-radius:12px;padding:8px 11px;font-size:13px;line-height:1.45;
  background:#1c212b;border:1px solid #262c38;align-self:flex-start}
.room-msg.me{align-self:flex-end;background:rgba(90,200,255,.14);border-color:rgba(90,200,255,.4)}
.room-meta{display:flex;align-items:baseline;gap:7px;margin-bottom:2px}
.room-name{font-size:11px;font-weight:800;color:#5ac8ff}
.room-msg.me .room-name{color:#8fd6ff}
.room-time{font-size:10px;color:#7c8798}
.room-text{color:#dfe5ee;white-space:pre-wrap;word-break:break-word}
.room-note{color:#7c8798;font-size:10.5px;min-height:14px;margin:2px 0 7px;line-height:1.4}
.room-in-row{display:flex;gap:8px;align-items:stretch}
.room-in-row input{margin:0;flex:1 1 auto;padding:12px 13px;font-size:16px;min-width:0;
  background:#1c212b;border:1px solid #262c38;color:#e8ecf3;border-radius:10px}
.room-send{width:auto;flex:0 0 auto;padding:12px 16px;border:0;border-radius:10px;cursor:pointer;
  background:#5ac8ff;color:#101418;font-weight:700;font-size:15px}
.room-send:disabled{opacity:.55;cursor:default}
