/* No background on body: AR.js places the camera <video> behind the page (z-index -2),
   so any body background would cover it. */
html, body { margin: 0; padding: 0; width: 100%; height: 100%; overflow: hidden; background: transparent; font-family: system-ui, -apple-system, "Segoe UI", sans-serif; }
#hint, #error {
  position: fixed; left: 50%; bottom: 28px; transform: translateX(-50%); z-index: 10;
  padding: 12px 18px; border-radius: 999px; max-width: 85vw; text-align: center;
  background: #ffdc00; color: #111; font-size: 15px; box-shadow: 0 4px 18px rgba(0,0,0,.35);
  transition: opacity .3s;
}
#hint.hidden { opacity: 0; }
#error { bottom: auto; top: 20px; background: #b00020; color: #fff; border-radius: 10px; }

#camera-btn {
  position: fixed; top: max(16px, env(safe-area-inset-top)); right: 16px; z-index: 11;
  display: flex; align-items: center; gap: 6px;
  padding: 10px 14px; border: 0; border-radius: 999px;
  background: rgba(17,17,17,.75); color: #ffdc00; font: 600 14px system-ui, sans-serif;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  cursor: pointer; -webkit-tap-highlight-color: transparent;
}
#camera-btn[hidden] { display: none; }
#camera-btn:active { transform: scale(.95); }
#camera-toast {
  position: fixed; top: calc(max(16px, env(safe-area-inset-top)) + 52px); right: 16px; z-index: 11;
  max-width: 70vw; padding: 8px 12px; border-radius: 10px;
  background: rgba(17,17,17,.8); color: #fff; font-size: 13px;
  opacity: 0; transition: opacity .25s; pointer-events: none;
}
#camera-toast.show { opacity: 1; }
