.find__cam {
  flex: none;
  display: grid;
  place-items: center;
  align-self: stretch;
  width: 48px;
  min-height: 48px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius-m);
  background: var(--paper);
  color: var(--navy-700);
}
.find__cam[hidden] { display: none; }
.find--hero .find__cam { width: 60px; }
.scan { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; background: #000; }
.scan__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.scan__frame { position: relative; width: min(80vw, 420px); aspect-ratio: 2 / 1; border: 3px solid var(--orange-500); border-radius: var(--radius-m); box-shadow: 0 0 0 100vmax rgba(0, 0, 0, 0.45); }
.scan__hint { position: absolute; left: var(--sp-16); right: var(--sp-16); bottom: 104px; margin: 0; text-align: center; color: #fff; font-size: var(--fs-16); line-height: 1.4; }
.scan__close { position: absolute; left: 50%; bottom: var(--sp-32); transform: translateX(-50%); min-height: 48px; padding: 0 var(--sp-32); border: 0; border-radius: var(--radius-pill); background: #fff; color: var(--ink-900); font: inherit; font-weight: 500; }
.scan__last {
  position: absolute;
  top: calc(var(--sp-16) + env(safe-area-inset-top));
  left: var(--sp-16);
  right: var(--sp-16);
  max-width: 480px;
  margin: 0 auto;
  padding: var(--sp-12) var(--sp-16);
  border-left: 4px solid var(--orange-500);
  border-radius: var(--radius-m);
  background: #fff;
  color: var(--ink-900);
  font-size: var(--fs-16);
  line-height: 1.35;
}
