/* Micro-interactions — premium polish layer */
button, [role="button"] { transition: transform 150ms ease, box-shadow 150ms ease; }
button:active, [role="button"]:active { transform: scale(0.97); }

input, textarea, select { transition: box-shadow 200ms ease, border-color 200ms ease; }
input:focus, textarea:focus, select:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.35);
  border-color: rgba(99, 102, 241, 0.6);
}

[class*="card"], [class*="panel"], [role="dialog"] {
  transition: transform 200ms ease, box-shadow 200ms ease;
}
[class*="card"]:hover, [class*="panel"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

input[type="checkbox"][role="switch"], [class*="toggle"], [class*="switch"] {
  transition: background-color 200ms ease, transform 200ms ease;
}
input[type="checkbox"][role="switch"]::before, [class*="toggle"]::before {
  transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1);
}

a {
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0% 1px;
  background-position: left bottom;
  background-repeat: no-repeat;
  transition: background-size 250ms ease;
}
a:hover { background-size: 100% 1px; }

* { scrollbar-width: thin; scrollbar-color: rgba(99, 102, 241, 0.3) transparent; }
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(99, 102, 241, 0.3); border-radius: 3px; }

::selection { background: rgba(99, 102, 241, 0.7); color: #fff; }

html, [class*="scroll"], [class*="chat"], [class*="messages"] {
  scroll-behavior: smooth;
}
