/* An interpolated color gives the gradient a smooth fade without extra layers. */
@property --interaction-wash { syntax:'<color>'; inherits:false; initial-value:transparent; }
.interactive-control {
  --interaction-wash:transparent;
  background-image:linear-gradient(115deg,var(--interaction-wash),transparent 90%) !important;
  transition:--interaction-wash .24s ease,background-color .24s ease,border-color .24s ease,color .24s ease,box-shadow .24s ease !important;
}
@media(hover:hover) {
  .interactive-control:not(:disabled):not([aria-disabled="true"]):hover { --interaction-wash:#b2864e0b; }
  [data-theme="dark"] .interactive-control:not(:disabled):not([aria-disabled="true"]):hover { --interaction-wash:#e0bb7710; }
}
.interactive-control:not(:disabled):not([aria-disabled="true"]):active { --interaction-wash:#b2864e3b; }
.interaction-ripple-surface {
  position:fixed; inset:auto; margin:0; padding:0; border:0; background:transparent;
  overflow:hidden; pointer-events:none !important; contain:strict;
}
.interaction-ripple-surface::backdrop { pointer-events:none; background:transparent; }
.interaction-ripple-surface span { position:absolute; display:block; border-radius:50%; background:radial-gradient(circle,currentColor 0%,currentColor 40%,transparent 72%); pointer-events:none; }
@media(prefers-reduced-motion:reduce) { .interactive-control { transition:none !important; } }

/* Fluent-style Reveal: a bounded cursor spotlight plus nearby edge lighting. */
.interaction-reveal-surface {
  position:fixed; inset:auto; margin:0; padding:0; border:0; background:transparent;
  overflow:hidden; pointer-events:none !important; contain:strict;
}
.interaction-reveal-surface::backdrop { background:transparent; pointer-events:none; }
.interaction-reveal-surface::before,.interaction-reveal-surface::after {
  content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
}
.interaction-reveal-surface::before {
  padding:1px;
  background:radial-gradient(96px circle at var(--reveal-x) var(--reveal-y),var(--reveal-color),transparent 100%);
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask-composite:exclude;
  opacity:var(--reveal-border-opacity,0);
}
.interaction-reveal-surface::after {
  background:radial-gradient(var(--reveal-radius,110px) circle at var(--reveal-x) var(--reveal-y),var(--reveal-color),transparent 78%);
  opacity:var(--reveal-fill-opacity,0);
}
@media(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse) { .interaction-reveal-surface { display:none !important; } }

.danger { color:#c73535; }
[data-theme="dark"] .danger { color:#ff8e86; }
.interactive-control.danger:not(:disabled):not([aria-disabled="true"]):hover { --interaction-wash:#e14b4b26; border-color:#ca5656; }
[data-theme="dark"] .interactive-control.danger:not(:disabled):not([aria-disabled="true"]):hover { --interaction-wash:#ff746b30; border-color:#df7770; }
.interactive-control.danger:not(:disabled):not([aria-disabled="true"]):active { --interaction-wash:#e14b4b45; }

.shared-dialog .primary.danger { background:#a63434; border-color:#a63434; color:#fff; }
