/* PRE-FINAL QUALITY & POLISH PACK */
:root {
  --qa-ok: #8dffb1;
  --qa-warn: #ffd36a;
  --qa-bad: #ff8e8e;
}

/* Public polish: soften visual noise before final QA */
.center-loader:not(.hidden) .loader-card { max-width: min(440px, calc(100vw - 36px)); }
.model-spinner-overlay[hidden], .model-spinner-overlay[style*="display:none"] { display: none !important; }
.developer-footer {
  backdrop-filter: blur(18px) saturate(130%);
  -webkit-backdrop-filter: blur(18px) saturate(130%);
}
.btn:focus-visible,
.small-action:focus-visible,
.status-button:focus-visible {
  outline: 2px solid rgba(141,255,177,.85);
  outline-offset: 3px;
}
.hotspot-card,
.hint-card,
.scenario-panel,
.fav-panel {
  max-width: min(390px, calc(100vw - 24px));
}

/* QA overlay */
.ar-qa-panel {
  position: fixed;
  right: 14px;
  bottom: 14px;
  z-index: 99999;
  width: min(420px, calc(100vw - 28px));
  max-height: min(540px, calc(100vh - 28px));
  overflow: auto;
  padding: 14px;
  border-radius: 20px;
  color: #f7fbff;
  background: rgba(8,14,26,.88);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 20px 70px rgba(0,0,0,.38);
  font: 13px/1.45 system-ui, -apple-system, Segoe UI, sans-serif;
}
.ar-qa-panel h3 { margin: 0 0 8px; font-size: 15px; }
.ar-qa-panel button { cursor: pointer; border: 0; border-radius: 999px; padding: 8px 10px; font-weight: 700; }
.ar-qa-panel .qa-row { display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid rgba(255,255,255,.08); padding: 8px 0; }
.ar-qa-panel .qa-ok { color: var(--qa-ok); }
.ar-qa-panel .qa-warn { color: var(--qa-warn); }
.ar-qa-panel .qa-bad { color: var(--qa-bad); }
.ar-qa-panel .qa-muted { color: rgba(255,255,255,.62); }
.ar-qa-error-toast {
  position: fixed;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  z-index: 99998;
  max-width: min(620px, calc(100vw - 28px));
  border-radius: 18px;
  padding: 12px 14px;
  background: rgba(80,18,18,.92);
  color: #fff;
  border: 1px solid rgba(255,142,142,.35);
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
  font: 13px/1.45 system-ui, -apple-system, Segoe UI, sans-serif;
}

@media (max-width: 760px) {
  .developer-footer { font-size: 10px; padding: 7px 8px; gap: 6px; }
  .ar-qa-panel { left: 10px; right: 10px; bottom: 10px; width: auto; }
  .hotspot-card { left: 10px !important; right: 10px !important; width: auto !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}
