#t1-returns {
  --carW: 56px;   /* slight bump for better shape */
  --carH: 28px;

  position: relative;
  width: 100%;
  height: 100vh;
  background: #f5f7fa;
  overflow: hidden;
  font-family: Arial, sans-serif;
}

/* Labels */
.label { position:absolute; font-size:14px; font-weight:900; color:#222; }
.enter { left:50%; top:80%; } /* JS sets */
.chaseText { z-index:6; }     /* JS sets */

/* EXIT gate */
.exit-wrap { position:absolute; left:16px; top:14px; z-index:7; }
.exit-label { font-weight:900; font-size:14px; margin-bottom:6px; }
.exit-gate { position:relative; width:72px; height:10px; }
.exit-arm{
  width:72px; height:7px; background:#111; border-radius:4px;
  transform-origin:left center;
  transform: rotate(0deg);
  transition: transform 0.8s;
}

/* Return lanes */
.returns { position:absolute; left:4%; top:34%; display:flex; gap:14px; z-index:2; }
.lane{
  width: var(--carW);
  height: 120px;
  border:2px solid #444;
  background:rgba(255,255,255,0.35);
  border-radius:6px;
  position:relative;
  display:flex; align-items:flex-end; justify-content:center;
}
.lane-label{ width:100%; text-align:center; font-size:10px; font-weight:900; padding-bottom:6px; color:#222; }

/* Black squares */
.right-markers{ position:absolute; inset:0; pointer-events:none; z-index:3; }
.mark{
  position:absolute;
  width: calc(var(--carW) * 0.25);
  height: calc(var(--carW) * 0.25);
  background:#000;
  border-radius:2px;
}

/* Chase lane */
.chase-lane{ position:absolute; width: var(--carW); z-index:1; }
.dashed{ width:100%; height:100%; border-left:3px dashed #999; border-right:3px dashed #999; }

/* ===== More realistic DRIVER car (sedan-ish) ===== */
.car{
  position:absolute;
  width: var(--carW);
  height: var(--carH);
  opacity:0;
  z-index:4;
  background: linear-gradient(to bottom, #2a7be4, #155bb6);
  border-radius: 8px 10px 8px 10px;
  box-shadow: 0 3px 0 rgba(0,0,0,0.12);
}

/* windshield + rear window */
.car::before{
  content:"";
  position:absolute;
  left:10px;
  top:3px;
  width: 34px;
  height: 14px;
  background: rgba(255,255,255,0.30);
  border-radius: 6px;
  box-shadow:
    -8px 2px 0 rgba(255,255,255,0.18),
    10px 2px 0 rgba(255,255,255,0.18);
}

/* wheels */
.car::after{
  content:"";
  position:absolute;
  left:10px;
  bottom:-6px;
  width: 12px;
  height: 12px;
  background:#222;
  border-radius:50%;
  box-shadow: 26px 0 0 #222;
}

/* little hood highlight */
.car .hood{
  display:none;
}

/* Labels on cars */
.car-label{
  position:absolute;
  left:50%;
  top:-18px;
  transform: translateX(-50%);
  font-size:11px;
  font-weight:900;
  color:#111;
  background: rgba(255,255,255,0.7);
  padding:2px 6px;
  border-radius:10px;
  white-space:nowrap;
}

/* driver dot inside */
.driver-dot{
  position:absolute;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#f5b400;
  left:50%;
  top:55%;
  transform: translate(-50%, -50%);
  opacity:1;
}

/* ===== CHASE car becomes a VAN ===== */
.chase-car{
  background: linear-gradient(to bottom, #2b2b2b, #0f0f0f);
  border-radius: 6px 6px 10px 10px; /* boxier */
  box-shadow: 0 3px 0 rgba(0,0,0,0.18);
}

/* van windows */
.chase-car::before{
  content:"";
  position:absolute;
  left:8px;
  top:4px;
  width: 40px;
  height: 12px;
  background: rgba(255,255,255,0.20);
  border-radius: 4px;
  box-shadow:
    16px 0 0 rgba(255,255,255,0.14);
}

/* van wheels (slightly bigger) */
.chase-car::after{
  content:"";
  position:absolute;
  left:10px;
  bottom:-6px;
  width: 13px;
  height: 13px;
  background:#111;
  border-radius:50%;
  box-shadow: 28px 0 0 #111;
}

/* walkers */
.walker{
  position:absolute;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#f5b400;
  opacity:0;
  z-index:8;
}

@media (max-width: 480px){
  .label{ font-size:13px; }
  .car-label{ font-size:10px; top:-16px; }
}