html { scroll-behavior: smooth; }
.bg-pattern { background-image: radial-gradient(#334155 1px, transparent 1px); background-size: 24px 24px; }
.score-ring-good { background: conic-gradient(#22c55e calc(var(--score, 95) * 1%), #f1f5f9 0); }
.score-ring-avg { background: conic-gradient(#eab308 calc(var(--score, 80) * 1%), #f1f5f9 0); }
.score-69 { --score: 69; }
.score-91 { --score: 91; }
.score-93 { --score: 93; }
.score-98 { --score: 98; }
.o612-report-content { position: relative; z-index: 1; }
body.o612-report-locked { overflow: hidden; }
body.o612-report-locked #o612-report-content {
  filter: blur(4px) saturate(94%);
  transform: scale(1.01);
  transform-origin: center top;
  pointer-events: none;
  user-select: none;
}
body.o612-report-locked #o612-report-content::after {
  content: '';
  position: fixed;
  inset: 0;
  background: rgba(2, 6, 23, 0.2);
  pointer-events: none;
  z-index: 2;
}
.o612-access-gate {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: radial-gradient(circle at top, rgba(15, 23, 42, 0.22), rgba(2, 6, 23, 0.42));
  backdrop-filter: blur(5px) saturate(118%);
  -webkit-backdrop-filter: blur(5px) saturate(118%);
  z-index: 9999;
}
.o612-access-card {
  width: min(440px, 100%);
  border-radius: 24px;
  padding: 28px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.45);
}
.o612-access-card h2 { margin: 0 0 8px; font-size: 28px; color: #0f172a; }
.o612-access-card p { margin: 0 0 18px; color: #475569; line-height: 1.6; }
.o612-access-password-wrap { display: grid; grid-template-columns: minmax(0, 1fr) 46px; gap: 8px; align-items: center; }
.o612-access-field { width: 100%; min-height: 46px; border-radius: 14px; border: 1px solid #cbd5e1; padding: 0 14px; font-size: 16px; color: #0f172a; }
.o612-access-eye { min-height: 46px; border-radius: 14px; border: 1px solid #cbd5e1; background: #fff; color: #334155; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.o612-access-action { width: 100%; min-height: 46px; border-radius: 14px; border: 0; margin-top: 12px; background: linear-gradient(135deg, #fa4529, #d53a21); color: #fff; font-weight: 700; cursor: pointer; }
.o612-access-message { min-height: 20px; margin-top: 10px; color: #b91c1c; font-size: 13px; font-weight: 600; }
