/* panic.css — плавающая кнопка помощи и дыхательный оверлей. */

.panic-fab {
  position: fixed;
  right: var(--space-5);
  bottom: var(--space-5);
  z-index: var(--z-sticky, 900);
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  border: none;
  border-radius: var(--radius-full);
  background: var(--clr-surface);
  color: var(--clr-text-1);
  box-shadow: var(--shadow-lg);
  font-weight: var(--font-semi);
  cursor: pointer;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}
.panic-fab:hover { transform: translateY(-2px); }
.panic-fab__text { font-size: var(--text-sm); }

/* Оверлей */
.panic {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal, 1000);
  display: flex;
  align-items: center;
  justify-content: center;
  /* Спокойный приглушённый фон, минимум сенсорной нагрузки. */
  background: var(--clr-primary-light);
  padding: var(--space-6);
}
.panic__close {
  position: absolute;
  top: var(--space-4);
  right: var(--space-4);
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: var(--clr-surface);
  color: var(--clr-text-2);
  font-size: var(--text-lg);
  cursor: pointer;
}
.panic__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  max-width: 420px;
  text-align: center;
}
.panic__lead {
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  color: var(--clr-text-1);
  line-height: var(--leading-relaxed);
}

/* Дышащий круг */
.panic__circle {
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: var(--clr-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  font-weight: var(--font-bold);
  transition: transform 4s ease-in-out, background 4s ease-in-out;
}
.panic__circle[data-phase="in"] { transform: scale(1.25); }
.panic__circle[data-phase="out"] { transform: scale(0.8); }
.panic__circle[data-phase="hold"] { transform: scale(1.05); }
/* При reduced-motion круг не масштабируется — ведём только текстом фаз. */
.panic__circle--static { transition: none; }
.panic__circle--static[data-phase] { transform: none; }

.panic__count { color: var(--clr-text-2); }
.panic__ground { color: var(--clr-text-2); width: 100%; }
.panic__ground summary { cursor: pointer; font-weight: var(--font-medium); }
.panic__ground ul { text-align: left; margin: var(--space-2) 0 0; padding-left: var(--space-5); line-height: var(--leading-relaxed); }

body.panic-open { overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
  .panic-fab { transition: none; }
  .panic__circle { transition: background 0.01s; }
  .panic__circle[data-phase] { transform: none; }
}

@media (max-width: 640px) {
  .panic-fab__text { display: none; }
  .panic-fab { padding: var(--space-3); }
}
