.case-warning {
  width: min(520px, calc(100% - 32px));
  max-height: calc(100% - 32px);
  max-height: calc(100dvh - 32px);
  padding: clamp(18px, 5vw, 32px);
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid #b95862;
  border-radius: 18px;
  background: linear-gradient(145deg, #fffffff5, #fff4f5f2);
  color: #17354c;
  box-shadow: 0 12px 40px #8c344230;
  overflow-wrap: anywhere;
}

.case-warning::backdrop { background: #d8e5efb8; }
.case-warning-label { color: #873a44; font: 600 .72rem var(--mono); letter-spacing: .08em; }
.case-warning-label span {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 5px;
  border-radius: 50%;
  background: #ae4451;
  box-shadow: 0 0 8px #c86e7b;
}
.case-warning h2 { margin: 12px 0; color: #873a44; font-size: clamp(1rem, 4vw, 1.3rem); }
.case-warning p { margin: 0 0 8px; line-height: 1.5; }
.case-warning form { margin-top: 18px; }
.case-warning button {
  width: 100%;
  min-height: 44px;
  padding: 8px 14px;
  border: 1px solid #b95862;
  border-radius: 8px;
  background: #fff;
  color: #78333d;
  font-weight: 650;
}
.case-warning button:hover { background: #fae7eb; }

@media (prefers-reduced-motion: no-preference) {
  .case-warning[open] { animation: case-warning-pulse .65s ease-out; }
}
@keyframes case-warning-pulse {
  40% { box-shadow: 0 0 28px #c8586960, 0 12px 40px #8c344230; }
}
