/* Open World Racer 3D */
.owr-start { position: absolute; left: 50%; bottom: 58px; transform: translateX(-50%); pointer-events: auto; padding: 10px 22px; border-radius: 14px; border: 2px solid #fde047; background: rgba(202,138,4,.95); color: #111; font: 900 18px system-ui, sans-serif; cursor: pointer; white-space: nowrap; box-shadow: 0 6px 18px rgba(0,0,0,.45); animation: owr-pulse 1.1s ease-in-out infinite; }
.owr-start[hidden] { display: none; }
.owr-start small { display: block; font-size: 12px; font-weight: 700; }
.owr-start:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
@keyframes owr-pulse { 50% { transform: translateX(-50%) scale(1.04); } }
@media (prefers-reduced-motion: reduce) { .owr-start { animation: none; } }
.owr-mapwrap { position: absolute; inset: 0; padding: 6px; background: rgba(4,10,20,.6); pointer-events: auto; }
.owr-mapcard { display: flex; flex-direction: column; width: 100%; height: 100%; background: rgba(14,22,36,.97); border: 1px solid rgba(255,255,255,.18); border-radius: 14px; padding: 8px 12px; color: #fff; font: 14px system-ui, sans-serif; box-sizing: border-box; }
.owr-maphead { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 6px; flex: none; }
.owr-maphead h3 { margin: 0; font-size: 16px; color: #fff; }
.owr-maphead .btn { min-height: 34px; padding: 4px 14px; font-size: 13px; }
.owr-mapbody { display: flex; gap: 12px; flex: 1; min-height: 0; }
.sim-play .owr-mapbody canvas { position: static; inset: auto; display: block; border-radius: 10px; flex: none; }
.owr-list { flex: 1; min-width: 0; min-height: 0; overflow-y: auto; }
.owr-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 3px 0; border-bottom: 1px solid rgba(255,255,255,.12); font-size: 13px; }
.owr-row__name small { display: block; font-size: 11px; opacity: .8; }
.owr-row__btns { display: flex; gap: 4px; flex: none; }
.owr-row__btns button { min-height: 32px; padding: 3px 8px; border-radius: 8px; border: 1px solid rgba(255,255,255,.25); background: rgba(30,50,80,.9); color: #fff; font: 700 12px system-ui, sans-serif; cursor: pointer; }
.owr-row__btns button:hover { background: rgba(50,80,120,.95); }
.owr-note { margin: 6px 0 0; font-size: 12px; opacity: .85; }
.owr-table { width: 100%; border-collapse: collapse; margin: 4px 0 8px; font-size: 14px; }
.owr-table td { padding: 2px 6px; text-align: left; border-bottom: 1px solid rgba(255,255,255,.12); }
.owr-table td:last-child { text-align: right; font-variant-numeric: tabular-nums; }
.owr-table .is-me { color: #fde047; font-weight: 800; }
@container (max-width: 700px) {
  .owr-mapbody { flex-direction: column; }
  .sim-play .owr-mapbody canvas { align-self: center; }
  .owr-start { bottom: 160px; font-size: 15px; padding: 8px 14px; }
}
