:root {
  --c1: #f94144; --c2: #f3722c; --c3: #f8961e; 
  --c4: #f9844a; --c5: #f9c74f; --c6: #90be6d; 
  --c7: #43aa8b; --c8: #4d908e; --c9: #277da1; 
  --c10: #577590; 
  --border-width: 4px;
  --blur-radius: clamp(1em, 3vw, 2em); /* 1em на мобильных, до 2em на ПК */
  --mask-full: linear-gradient(red 0 0);
}

@property --α {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}

.card {
  position: relative;
  z-index: 1;
  max-width: min(80vw, 20em);
  width: auto; /* ширина по содержимому */
  min-height: 30vh; /* 30% высоты экрана */
  border: solid var(--border-width) transparent;
  padding: clamp(1.5em, 3vw, 2em); /* отступы */
  border-radius: 1em;
  background: rgba(237, 171, 171, 0.13);
  color: #dedede;
  backdrop-filter: blur(4px);
  font-size: clamp(0.875rem, 3vw, 1.25rem); /* уменьшили текст */
  overflow-wrap: break-word;
  line-height: 1.4;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  /* Вертикальное и горизонтальное центрирование */
  display: flex;
  justify-content: center;
  align-items: center;
  /* Центрирование текста (на случай многострочного контента) */
  text-align: center;

  @media (min-width: 768px) {
    max-width: 18em; /* фиксированный размер на ПК */
    padding: 1em;
  }

  &::before,
  &::after {
    content: '';
    position: absolute;
    inset: calc(-1 * var(--border-width));
    border: inherit;
    border-radius: inherit;
    box-shadow: 0 0 calc(3 * var(--blur-radius)) rgba(0, 0, 0, 0.001);
    background: conic-gradient(
      from var(--α), 
      var(--c1), var(--c2), var(--c3), var(--c4), var(--c5), 
      var(--c6), var(--c7), var(--c8), var(--c9), var(--c10)
    ) border-box;
    mask: var(--mask-full) no-clip subtract, 
          var(--mask-full) padding-box;
    pointer-events: none;
    animation: spin 4s linear infinite;
  }

  &::after {
    filter: blur(var(--blur-radius)) opacity(0.8);
    animation: spin 4s linear infinite, glow 2s ease-in-out infinite alternate;
  }
}

@keyframes spin { to { --α: 1turn; } }
@keyframes glow { to { filter: blur(var(--blur-radius)) opacity(1); } }

/* Page background and layout */
html, body {
  margin: 0;
  padding: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden; /* запрет прокрутки */
  display: grid;
  place-items: center;
  /* background: 
    url(https://images.unsplash.com/photo-1735542214686-a745d3684c39?w=1400) center/cover #212121; */
  background: radial-gradient(circle at top, #2c2c2c, #220031, #08081E);
  background-blend-mode: multiply;
  color: #dedede;
  font: 300 clamp(0.875em, 5vw, 2.5em) saira, sans-serif;
  text-align: center;
}

html {
  box-sizing: border-box;
}

/* Центрирование карточки */
body {
  display: flex;
  justify-content: center;
  align-items: center;
  background-size: cover; /* гарантия заполнения фона */
}

/* Адаптивность фонового изображения */
body::before {
  content: '';
  position: fixed;
  width: 100vw;
  height: 100vh;
  background: 
    url(https://images.unsplash.com/photo-1735542214686-a745d3684c39?w=1400) 
    center/cover #212121;
  z-index: -1;
}