/* DeepCore v3 safe patch. Подключается ПОСЛЕ текущего styles.css. Не заменяет рабочий CSS full.html. */

/* v2/v3 polish */

.skip-link {
  position:fixed;
  left:14px;
  top:14px;
  z-index:999;
  transform:translateY(-140%);
  padding:10px 14px;
  border:1px solid rgba(224,195,142,.55);
  border-radius:999px;
  background:rgba(5,11,15,.94);
  color:var(--gold-2);
  font:600 12px/1 var(--mono);
  text-decoration:none;
}
.skip-link:focus { transform:none; }

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible {
  outline:2px solid rgba(240,180,90,.72);
  outline-offset:3px;
}

.quiz-trust {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin:18px auto 0;
}
.quiz-trust span {
  border:1px solid rgba(198,165,106,.16);
  background:rgba(198,165,106,.06);
  color:var(--text-2);
  border-radius:999px;
  padding:7px 10px;
  font:600 10px/1 var(--mono);
  letter-spacing:.12em;
  text-transform:uppercase;
}

.check-field {
  display:flex;
  gap:12px;
  align-items:flex-start;
  border:1px solid rgba(198,165,106,.16);
  background:rgba(5,11,15,.42);
  border-radius:16px;
  padding:14px;
  color:var(--text-2);
  font-size:14px;
}
.check-field input {
  width:18px;
  height:18px;
  min-width:18px;
  margin-top:2px;
  accent-color:var(--gold-1);
}

.container.narrow { width:min(100% - 40px, 820px); }
.legal-page .section { min-height:calc(100svh - 80px); display:grid; align-items:center; }

.mobile-cta {
  display:none;
  position:fixed;
  left:12px;
  right:12px;
  bottom:12px;
  z-index:80;
}
.mobile-cta a {
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:52px;
  border-radius:999px;
  background:linear-gradient(135deg, var(--gold-2), var(--lantern));
  color:#130d05;
  box-shadow:0 20px 50px rgba(0,0,0,.45), 0 0 36px rgba(240,180,90,.2);
  font:800 12px/1 var(--mono);
  letter-spacing:.12em;
  text-transform:uppercase;
  text-decoration:none;
}

@media (max-width: 680px) {
  body { padding-bottom:74px; }
  .mobile-cta { display:block; }
}

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


/* v3 copy and form refinements */
.check-field a { color: var(--gold-2); text-underline-offset: 3px; }
.legal-cards { margin-top: 22px; }
.legal-note { margin-top: 18px; }
.legal-page h1 { font: 600 clamp(42px, 7vw, 84px)/.9 var(--serif); color: var(--text-1); margin: 0 0 18px; letter-spacing: -.04em; }
.legal-page h2 { font: 600 24px/1.05 var(--serif); }
[data-page="quiz"] .field input:invalid:not(:focus):not(:placeholder-shown) { border-color: rgba(166,106,74,.52); }
.btn[aria-busy="true"] { cursor: wait; opacity: .78; }
@media (max-width: 680px) { .legal-page h1 { font-size: 44px; } }
