/* Parking Jam Escape (shared: sim3d.css + car-kit.css) */
.pj-setup { display: grid; gap: 12px; }
.pj-h { margin: 4px 0 0; font-size: 18px; display: flex; align-items: baseline; gap: 10px; }
.pj-h small { font-size: 14px; opacity: .8; }
.pj-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(62px, 1fr)); gap: 6px; }
.pj-lv { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 56px; border-radius: 12px; border: 2px solid rgba(255, 255, 255, .12); background: rgba(255, 255, 255, .05); color: inherit; font: 900 18px system-ui, sans-serif; cursor: pointer; }
.pj-lv small { font-size: 11px; font-weight: 700; letter-spacing: -1px; }
.pj-lv.is-done { border-color: rgba(250, 204, 21, .45); }
.pj-lv:hover:not(:disabled) { border-color: #38bdf8; }
.pj-lv:focus-visible { outline: 3px solid #ffd54a; outline-offset: 2px; }
.pj-lv.is-locked { opacity: .4; cursor: not-allowed; }
.pj-go { justify-self: start; }
.pj-top { position: absolute; left: 50%; top: 10px; transform: translateX(-50%); display: flex; gap: 8px; pointer-events: none; }
.pj-top span { background: rgba(8, 16, 28, .72); border: 1px solid rgba(255, 255, 255, .18); border-radius: 12px; padding: 3px 12px; font: 800 15px system-ui, sans-serif; white-space: nowrap; }
.pj-top .pj-lvl { color: #fde047; }
.sim-play .sim-stage canvas { cursor: pointer; }
@container (max-width: 480px) {
  .pj-top { top: 92px; gap: 4px; }
  .pj-top span { font-size: 12px; padding: 2px 8px; }
  .sim-play .sim-toolbar { right: 8px; }
}
