details > summary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 13px;
  border: 1px solid #1769e0;
  border-radius: 8px;
  background: linear-gradient(135deg, #eef5ff, #dceaff);
  color: #124b9a;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
  transition: background .15s ease, box-shadow .15s ease, transform .15s ease;
}
details > summary::-webkit-details-marker { display: none; }
details > summary::before { content: '＋'; font-size: 15px; line-height: 1; }
details[open] > summary::before { content: '−'; }
details > summary:hover { background: #d6e7ff; box-shadow: 0 3px 10px #1769e033; }
details > summary:active { transform: translateY(1px); }
