/* 校墙圆角系统：保持现有暖白、粉色视觉，只统一层级和转角过渡。 */
:root {
  --radius-control: 8px;
  --radius-chip: 8px;
  --radius-card: 20px;
  --radius-panel: 16px;
  --radius-dialog: 24px;
  --radius-pill: 9999px;
  --radius-circle: 50%;
}

/* 同一层级共享一个圆角，四像素网格上的间距由各页面原有布局决定。 */
body :is(
  .card, .panel, .section-card, .surface-card,
  .profile-card, .profile-tabs-section, .feedback-card,
  .agreement-card, .detail-card, .comment-section,
  .radio-card, .radio-form-card, .hot-songs-section,
  .post-form-card, .edit-profile-card, .login-card,
  .register-card, .reset-card, .post-card, .admin-card,
  .dashboard-card, .stat-card, .table-card
) {
  border-radius: var(--radius-card);
}

body :is(
  .modal, .dialog, .drawer, .settings-panel,
  .preview-panel, .preview-card, .admin-panel,
  .form-panel, .selection-panel
) {
  border-radius: var(--radius-panel);
}

body :is(
  button, input, textarea, select,
  .btn, .button, .form-control, .input,
  .select, .tab, .filter-btn, .sort-btn,
  .action-btn, .icon-btn
) {
  border-radius: var(--radius-control);
}

body :is(
  .chip, .tag, .badge, .status-badge,
  .category-tag, .filter-tag, .post-tag
) {
  border-radius: var(--radius-chip);
}

body :is(
  .pill, .rounded-pill, .toggle, .switch,
  .progress-track, .progress-bar, .avatar,
  .user-avatar, .skeleton-avatar, [data-radius="pill"]
) {
  border-radius: var(--radius-pill);
}

:where(
  .circle, .icon-circle, .avatar-circle,
  [data-radius="circle"]
) {
  border-radius: var(--radius-circle);
}

/* 连续圆角是增强层；不支持 corner-shape 的浏览器继续使用上面的普通圆角。 */
@supports (corner-shape: superellipse(1.25)) {
  :where(*) {
    corner-shape: superellipse(1.25);
  }

  :where(
    .pill, .rounded-pill, .toggle, .switch,
    .progress-track, .progress-bar, .avatar,
    .user-avatar, .skeleton-avatar, .circle,
    .icon-circle, .avatar-circle,
    [data-radius="pill"], [data-radius="circle"]
  ) {
    corner-shape: round;
  }
}

@media (prefers-reduced-motion: reduce) {
  :where(*) {
    scroll-behavior: auto;
  }
}
