.ui-button {
  display:inline-flex;
  min-height:var(--ui-button-height);
  align-items:center;
  justify-content:center;
  gap:8px;
  box-sizing:border-box;
  padding:0 var(--ui-button-padding-x);
  border:1px solid var(--color-border-default,#34495e);
  border-radius:var(--ui-radius-control);
  background:var(--color-surface-2,#07111c);
  color:var(--color-text-primary,#f4f7fb);
  font:inherit;
  font-weight:800;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
  transition:background-color var(--ui-transition-fast),border-color var(--ui-transition-fast),color var(--ui-transition-fast),box-shadow var(--ui-transition-fast),transform var(--ui-transition-fast);
}
.ui-button:hover { border-color:var(--color-border-accent,#1684ff); background:var(--color-surface-hover,#163047); color:var(--color-text-primary,#fff); text-decoration:none; }
.ui-button:focus-visible { outline:2px solid var(--color-focus-ring,#63b2ff); outline-offset:2px; box-shadow:var(--ui-focus-shadow); }
.ui-button:active { transform:translateY(1px); }
.ui-button:disabled,.ui-button[aria-disabled="true"] { opacity:.55; cursor:not-allowed; transform:none; }
.ui-button--primary { border-color:var(--color-primary,#1479d4); background:var(--color-primary,#1479d4); color:#fff; }
.ui-button--primary:hover { border-color:var(--color-primary-bright,#1684ff); background:var(--color-primary-bright,#1684ff); color:#fff; }
.ui-button--quiet { border-color:transparent; background:transparent; color:var(--color-primary-bright,#1684ff); }
.ui-button--quiet:hover { border-color:transparent; background:var(--color-surface-hover,rgba(22,132,255,.1)); }
.ui-button--icon { width:var(--ui-button-height); padding:0; }
.ui-button--small { min-height:36px; padding:0 12px; font-size:.82rem; }

