:root{
  --btn-radius:14px;
  --btn-active-scale:0.982;
  --btn-focus-outline:3px solid rgba(21,156,228,0.22);

  /* 阴影色与模糊强度（可调） */
  --shadow-1: 0 6px 18px rgba(15,20,25,0.08);
  --shadow-2: 0 10px 30px rgba(10,14,20,0.10);
  --shadow-3: 0 4px 10px rgba(0,0,0,0.06);

  /* 毛玻璃层：背景不透明度与模糊 */
  --frost-bg: rgba(255,255,255,0.08); /* 浅色主题的半透明白 */
  --frost-bg-dark: rgba(18,18,18,0.36); /* 深色主题的半透明黑 */
  --frost-blur: 10px; /* 模糊半径 */
  --frost-border: rgba(255,255,255,0.06); /* 细边框高光 */
}

/* 通用按钮 */
button,
button[type],
a.button,
.btn,
input[type="button"],
input[type="submit"],
input[type="reset"]{
  border-radius:var(--btn-radius)!important;
  transition: transform 140ms cubic-bezier(.2,.9,.2,1), box-shadow 140ms, background-color 140ms, backdrop-filter 140ms;
  -webkit-tap-highlight-color:transparent;
  backface-visibility:hidden;
  position:relative;
}

/* 毛玻璃背景（轻度）——适用于主按钮或浮动操作按钮 */
.button--frost,
.btn-frost,
.frosty {
  background: var(--frost-bg);
  box-shadow: var(--shadow-2);
  backdrop-filter: blur(var(--frost-blur)) saturate(1.05);
  -webkit-backdrop-filter: blur(var(--frost-blur)) saturate(1.05);
  border: 1px solid var(--frost-border);
  color: inherit;
}

/* 深色主题专用毛玻璃（覆盖浅色变量） */
[data-theme="dark"] .button--frost,
.theme-dark .button--frost,
.theme--dark .button--frost {
  background: var(--frost-bg-dark);
  border: 1px solid rgba(255,255,255,0.04);
}

/* 图标按钮：完全圆形 + 强阴影 */
button.icon-button,
.btn-icon,
.icon-btn,
.icon-only,
button[aria-label] {
  border-radius:50% !important;
  padding:8px !important;
  box-shadow: var(--shadow-1);
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.02));
}

/* 悬停状态：抬起 + 更强阴影 */
button:not(.disabled):hover,
.btn:not(.disabled):hover,
a.button:not(.disabled):hover {
  transform: translateY(-3px) scale(1.006);
  box-shadow: var(--shadow-2);
}

/* 按下/激活：内收 + 微弱阴影内嵌 */
button:active,
.btn:active,
a.button:active {
  transform: scale(var(--btn-active-scale));
  box-shadow: 0 2px 8px rgba(0,0,0,0.06) inset;
}

/* 聚焦环（键盘） */
button:focus,
.btn:focus,
a.button:focus {
  outline:none;
  box-shadow: var(--btn-focus-outline), var(--shadow-2);
}

/* 轻微发光（用于强调的主要操作按钮） */
.button--glow,
.btn-glow {
  box-shadow: 0 8px 30px rgba(21,156,228,0.12), 0 2px 8px rgba(10,14,20,0.06);
}

/* 可选：在按钮上加一层半透明高光（制造质感） */
.button--frost::before,
.btn-frost::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.00));
  mix-blend-mode: overlay;
}

/* 禁用状态 */
button[disabled],
.btn[disabled],
.button--disabled {
  opacity:0.6;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}

/* 仅触控设备扩大触控区域 */
@media (pointer:coarse) {
  button,
  .btn,
  a.button {
    padding:10px 14px !important;
  }
}

/* 针对常见 Mastodon 区域的 class 覆盖（根据实例可删减） */
.header__actions button,
.account__actions button,
.profile__header button,
.status__footer button,
.status__actions button,
.compose__actions button,
.stream__compose button {
  border-radius:var(--btn-radius) !important;
}

/* 兼容旧类 */
button[class*="btn-"],
[class*="btn_"],
[class*="button-"] {
  border-radius:var(--btn-radius) !important;
}


