.dancr-button-system {
  --dancr-action-text: var(--dancr-color-text-primary);
  --dancr-action-muted: var(--dancr-color-text-secondary);
  --dancr-action-border: var(--dancr-color-border-subtle);
  --dancr-action-border-strong: var(--dancr-color-brand-primary-strong);
  --dancr-action-surface: var(--dancr-color-surface-translucent);
  --dancr-action-violet: var(--dancr-color-brand-primary);
  --dancr-action-cyan: var(--dancr-color-info);
  --dancr-action-pink: var(--dancr-color-brand-primary);
  --dancr-action-danger: var(--dancr-color-danger);
  --dancr-action-warning: var(--dancr-color-featured);
  --dancr-action-radius: 15px;
  --dancr-action-shadow:
    0 12px 30px var(--dancr-color-black-medium),
    inset 0 1px 0 var(--dancr-color-white-soft);
  --dancr-action-shadow-hover:
    0 15px 34px var(--dancr-color-black-medium),
    inset 0 1px 0 var(--dancr-color-white-medium);
}

.dancr-button-system :where(
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  [role="button"],
  a[class*="button"],
  a[class*="-btn"],
  a[class$="-action"],
  a.primary-action,
  a.secondary-action,
  .nav-links a,
  .profile-status-links a,
  .empty-state a
) {
  box-sizing: border-box !important;
  border: 1px solid var(--dancr-action-border) !important;
  border-radius: var(--dancr-action-radius) !important;
  color: var(--dancr-action-text) !important;
  background:
    linear-gradient(
      180deg,
      var(--dancr-color-white-soft),
      transparent 42%,
      transparent
    ),
    radial-gradient(
      circle at 20% -25%,
      var(--dancr-color-brand-primary-soft),
      transparent 52%
    ),
    radial-gradient(
      circle at 78% -38%,
      var(--dancr-color-brand-primary-medium),
      transparent 58%
    ),
    var(--dancr-action-surface) !important;
  box-shadow: var(--dancr-action-shadow) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.45) !important;
  backdrop-filter: blur(18px) saturate(1.45) !important;
  font-family:
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;
  font-weight: 850 !important;
  letter-spacing: 0.005em !important;
  text-decoration: none !important;
  text-shadow: none !important;
  -webkit-tap-highlight-color: transparent !important;
  touch-action: manipulation;
  cursor: pointer;
  transition:
    border-color 160ms ease,
    color 160ms ease,
    background-color 160ms ease,
    box-shadow 160ms ease,
    filter 160ms ease,
    opacity 160ms ease !important;
}

.dancr-button-system :where(
  button:not([aria-label]):not(.tv-strip-card),
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  [role="button"]:not([aria-label]),
  a[class*="button"],
  a[class*="-btn"],
  a[class$="-action"],
  a.primary-action,
  a.secondary-action,
  .nav-links a,
  .profile-status-links a,
  .empty-state a
) {
  min-height: 44px !important;
}

.dancr-button-system :where(
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  [role="button"],
  a[class*="button"],
  a[class*="-btn"],
  a[class$="-action"],
  a.primary-action,
  a.secondary-action,
  .nav-links a,
  .profile-status-links a,
  .empty-state a
):hover {
  border-color: var(--dancr-action-border-strong) !important;
  color: var(--dancr-color-text-primary) !important;
  box-shadow: var(--dancr-action-shadow-hover) !important;
  filter: brightness(1.06);
}

.dancr-button-system :where(
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  [role="button"],
  a[class*="button"],
  a[class*="-btn"],
  a[class$="-action"],
  a.primary-action,
  a.secondary-action,
  .nav-links a,
  .profile-status-links a,
  .empty-state a
):active {
  border-color: var(--dancr-color-brand-primary-strong) !important;
  box-shadow:
    0 7px 18px var(--dancr-color-black-medium),
    inset 0 2px 8px var(--dancr-color-black-soft) !important;
  filter: brightness(0.96);
}

.dancr-button-system
  .home-discovery-feed-actions
  .home-venue-discovery-deal-action,
.dancr-button-system
  .home-venue-discovery-context-actions
  .home-venue-discovery-deal-action {
  border-color: var(--dancr-color-success-strong) !important;
  color: var(--dancr-color-text-primary) !important;
  background:
    linear-gradient(
      180deg,
      var(--dancr-color-white-medium),
      transparent 48%
    ),
    radial-gradient(
      circle at 50% -20%,
      var(--dancr-color-success-medium),
      transparent 58%
    ),
    linear-gradient(
      135deg,
      var(--dancr-color-success),
      color-mix(in srgb, var(--dancr-color-success) 58%, var(--dancr-color-background))
    ) !important;
  box-shadow:
    0 10px 28px var(--dancr-color-black-medium),
    0 0 18px var(--dancr-color-success-soft),
    inset 0 1px 0 var(--dancr-color-white-medium) !important;
  text-shadow: none !important;
}

.dancr-button-system
  .home-discovery-feed-actions
  .home-venue-discovery-deal-action:hover,
.dancr-button-system
  .home-venue-discovery-context-actions
  .home-venue-discovery-deal-action:hover {
  border-color: var(--dancr-color-success) !important;
  box-shadow:
    0 12px 30px var(--dancr-color-black-medium),
    0 0 20px var(--dancr-color-success-soft),
    inset 0 1px 0 var(--dancr-color-white-medium) !important;
}

.dancr-button-system
  .home-discovery-feed-actions
  .home-venue-discovery-deal-action:active,
.dancr-button-system
  .home-venue-discovery-context-actions
  .home-venue-discovery-deal-action:active {
  border-color: var(--dancr-color-success-strong) !important;
  box-shadow:
    0 7px 20px var(--dancr-color-black-medium),
    inset 0 2px 8px var(--dancr-color-black-soft) !important;
}

.dancr-button-system .public-media-thumbnail {
  min-height: 0 !important;
  border: 3px solid transparent !important;
  border-radius: 14px !important;
  background: var(--dancr-color-surface) !important;
  box-shadow: none !important;
}

.dancr-button-system .public-media-thumbnail.is-selected {
  border-color: var(--dancr-color-beam-violet) !important;
  box-shadow:
    0 0 0 3px var(--dancr-color-background),
    0 0 0 5px var(--dancr-color-beam-violet-medium),
    var(--dancr-shadow-beam-active) !important;
}

.dancr-button-system .public-profile-play {
  min-height: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  color: var(--dancr-color-text-on-bright) !important;
  background: var(--dancr-color-text-primary) !important;
  box-shadow: 0 14px 44px var(--dancr-color-black-medium) !important;
  text-shadow: none !important;
}

.dancr-button-system .public-profile-play:hover {
  border: 0 !important;
  background: var(--dancr-color-text-primary) !important;
  box-shadow: 0 14px 44px var(--dancr-color-black-medium) !important;
}

.dancr-button-system :where(
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  [role="button"],
  a[class*="button"],
  a[class*="-btn"],
  a[class$="-action"],
  a.primary-action,
  a.secondary-action,
  .nav-links a,
  .profile-status-links a,
  .empty-state a
):focus-visible {
  outline: 2px solid var(--dancr-color-beam-violet) !important;
  outline-offset: 3px !important;
  border-color: var(--dancr-color-beam-violet-medium) !important;
  box-shadow:
    var(--dancr-focus-ring),
    var(--dancr-action-shadow) !important;
}

.dancr-button-system :is(
  [data-feed-venue-qr],
  [data-club-deal-cta],
  .venue-qr-launcher,
  .home-discovery-feed-qr-prompt,
  .home-venue-discovery-deal-action
):focus-visible {
  outline-color: var(--dancr-color-success) !important;
  border-color: var(--dancr-color-success-strong) !important;
  box-shadow:
    0 0 0 2px var(--dancr-color-background),
    0 0 0 4px var(--dancr-color-success-medium),
    0 0 20px var(--dancr-color-success-soft),
    var(--dancr-action-shadow) !important;
}

.dancr-button-system :where(
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"]
):disabled,
.dancr-button-system :where(
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"]
)[aria-disabled="true"] {
  opacity: 0.46 !important;
  filter: saturate(0.55) !important;
  box-shadow:
    0 7px 18px var(--dancr-color-black-soft),
    inset 0 1px 0 var(--dancr-color-white-soft) !important;
  cursor: not-allowed !important;
}

.dancr-button-system :where(
  button[type="submit"],
  input[type="submit"],
  .submit,
  .continue-signup,
  .counter-submit,
  .dmca-submit,
  .primary-action,
  [class*="action-primary"],
  [class*="primary-action"],
  [class*="save-button"],
  [class*="save-btn"],
  [class*="approve-button"],
  [class*="approve-btn"]
):not(
  [class*="danger"],
  [class*="delete"],
  [class*="remove"],
  [class*="reject"]
) {
  border-color: var(--dancr-color-brand-primary-strong) !important;
  color: var(--dancr-color-text-primary) !important;
  background:
    linear-gradient(
      132deg,
      var(--dancr-color-brand-primary) 0%,
      var(--dancr-color-brand-primary) 54%,
      var(--dancr-color-brand-primary-deep) 100%
  ) !important;
  box-shadow:
    var(--dancr-shadow-brand-control),
    inset 0 1px 0 var(--dancr-color-white-medium) !important;
  text-shadow: none !important;
}

.dancr-button-system :where(
  button,
  [role="button"],
  a[class*="button"],
  a[class*="-btn"],
  a[class$="-action"]
):is(.active, [aria-pressed="true"], [aria-selected="true"]) {
  border-color: var(--dancr-color-brand-primary-strong) !important;
  color: var(--dancr-color-text-primary) !important;
  background:
    linear-gradient(
      180deg,
      var(--dancr-color-white-medium),
      transparent 45%,
      transparent
    ),
    radial-gradient(
      circle at 50% -25%,
      var(--dancr-color-brand-primary-medium),
      transparent 58%
    ),
    radial-gradient(
      circle at 45% 120%,
      var(--dancr-color-brand-primary-medium),
      transparent 62%
    ),
    var(--dancr-color-surface-translucent) !important;
  box-shadow:
    inset 0 0 0 1px var(--dancr-color-brand-primary-medium),
    0 12px 30px var(--dancr-color-black-medium) !important;
  text-shadow: none !important;
}

.dancr-button-system :where(
  .danger,
  .danger-action,
  .danger-button,
  .photo-delete-button,
  .reject,
  [class*="delete-button"],
  [class*="delete-btn"],
  [class*="remove-button"],
  [class*="remove-btn"],
  [class*="reject-button"],
  [class*="reject-btn"],
  [data-action*="delete"],
  [data-action*="remove"],
  [data-action*="reject"]
) {
  border-color: var(--dancr-color-danger-medium) !important;
  color: var(--dancr-color-text-primary) !important;
  background:
    linear-gradient(
      180deg,
      var(--dancr-color-white-soft),
      transparent
    ),
    radial-gradient(
      circle at 50% -30%,
      var(--dancr-color-danger-soft),
      transparent 58%
    ),
    color-mix(in srgb, var(--dancr-color-danger) 14%, var(--dancr-color-surface)) !important;
  box-shadow:
    0 12px 28px var(--dancr-color-black-medium),
    inset 0 1px 0 var(--dancr-color-white-soft) !important;
  text-shadow: none !important;
}

.dancr-button-system :where(
  .profile-action-report,
  [class*="report-button"],
  [class*="report-btn"]
) {
  border-color: var(--dancr-color-featured-medium) !important;
  color: var(--dancr-color-text-primary) !important;
  background:
    linear-gradient(
      180deg,
      var(--dancr-color-white-soft),
      transparent
    ),
    radial-gradient(
      circle at 50% -30%,
      var(--dancr-color-featured-soft),
      transparent 58%
    ),
    color-mix(in srgb, var(--dancr-color-featured) 10%, var(--dancr-color-surface)) !important;
}

.dancr-button-system :where(
  button[class*="close"],
  button[class*="previous"],
  button[class*="next"],
  button[class*="notification-button"],
  button[class*="social-list-toggle"],
  button[class*="sound"],
  button[class*="nav"],
  button[aria-label*="password" i],
  button[aria-label*="share" i]
) {
  min-width: 40px !important;
  min-height: 40px !important;
  border-radius: 999px !important;
}

/* Media paging stays visually quiet while preserving a full mobile tap target. */
.dancr-button-system :is(
  .profile-modal-media-previous,
  .profile-modal-media-next,
  .profile-tv-viewer-previous,
  .profile-tv-viewer-next
) {
  border: 0 !important;
  border-radius: 12px !important;
  background: rgba(0, 0, 0, 0.06) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  text-shadow: 0 1px 5px rgba(0, 0, 0, 0.9) !important;
  filter: none !important;
}

.dancr-button-system :is(
  .profile-modal-media-previous,
  .profile-modal-media-next,
  .profile-tv-viewer-previous,
  .profile-tv-viewer-next
):hover {
  border: 0 !important;
  background: rgba(0, 0, 0, 0.16) !important;
  box-shadow: none !important;
  filter: none !important;
}

.dancr-button-system :is(
  .profile-modal-media-previous,
  .profile-modal-media-next,
  .profile-tv-viewer-previous,
  .profile-tv-viewer-next
):focus-visible {
  border: 0 !important;
  background: rgba(0, 0, 0, 0.22) !important;
  box-shadow: var(--dancr-focus-ring) !important;
  filter: none !important;
}

.dancr-button-system :is(
  .profile-modal-media-previous,
  .profile-modal-media-next
):disabled {
  opacity: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

.dancr-button-system :is(
  .profile-tv-viewer-previous,
  .profile-tv-viewer-next
):disabled {
  opacity: 0.22 !important;
  box-shadow: none !important;
  filter: none !important;
}

.dancr-button-system input[type="file"]::file-selector-button {
  margin-inline-end: 10px;
  border: 1px solid var(--dancr-color-brand-primary-strong);
  border-radius: 12px;
  padding: 9px 12px;
  color: var(--dancr-color-text-primary);
  background:
    linear-gradient(
      135deg,
      var(--dancr-color-brand-primary),
      var(--dancr-color-brand-primary-deep)
    );
  box-shadow:
    0 8px 20px var(--dancr-color-black-medium),
    var(--dancr-shadow-brand-subtle);
  font: inherit;
  font-weight: 850;
  cursor: pointer;
}

@media (hover: none) and (pointer: coarse) {
  .dancr-button-system :where(
    button,
    input[type="button"],
    input[type="submit"],
    input[type="reset"],
    [role="button"],
    a[class*="button"],
    a[class*="-btn"],
    a[class$="-action"],
    a.primary-action,
    a.secondary-action,
    .nav-links a,
    .profile-status-links a,
    .empty-state a
  ):hover {
    filter: none;
  }
}

/* Mobile touch controls use one explicit compositor path. Safari otherwise
 * applies the prefixed glass filter more heavily than mobile Chromium, making
 * the same video and profile controls look thicker on iPhone. Navigation keeps
 * its independently frozen treatment, and this rule changes no geometry. */
@media (max-width: 899px) and (hover: none) and (pointer: coarse) {
  .dancr-button-system :where(
    button:not(.tab):not(.home-bottom-tv),
    input[type="button"],
    input[type="submit"],
    input[type="reset"],
    [role="button"]:not(.tab):not(.home-bottom-tv),
    a[class*="button"],
    a[class*="-btn"],
    a[class$="-action"],
    a.primary-action,
    a.secondary-action,
    .nav-links a,
    .profile-status-links a,
    .empty-state a
  ) {
    -webkit-appearance: none !important;
    appearance: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    -webkit-font-smoothing: antialiased;
    text-shadow: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dancr-button-system :where(
    button,
    input[type="button"],
    input[type="submit"],
    input[type="reset"],
    [role="button"],
    a[class*="button"],
    a[class*="-btn"],
    a[class$="-action"],
    a.primary-action,
    a.secondary-action,
    .nav-links a,
    .profile-status-links a,
    .empty-state a
  ) {
    transition: none !important;
  }
}
