/* =============================================================
 * donutlab · v3.0 — 整合版附加样式
 *
 * 仅包含 v3.0 新增内容的样式（服务器运维入口等），
 * 不修改 v1.0 原有的 assets/css/style.css，保持原文件纯净。
 * ============================================================= */

/* ---- 右下角浮动入口：服务器运维 ----
   与 v1.0 的极简风格保持一致：白底、细边、小号 mono 字。
   定位用 fixed 而非 absolute —— 长页面滚动时入口始终可见。
   不干扰内容阅读：平时低调，悬停时才显出品牌蓝。 */
.ops-fab {
  position: fixed;
  right: 26px;
  bottom: 26px;
  z-index: 60;

  display: inline-flex;
  align-items: center;
  gap: 8px;

  padding: 9px 15px 9px 13px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, .82);
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);

  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--fg-soft);

  box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
  transition:
    color .25s var(--ease),
    border-color .25s var(--ease),
    box-shadow .25s var(--ease),
    transform .25s var(--ease);
}

.ops-fab:hover {
  color: var(--accent);
  border-color: var(--accent);
  box-shadow: 0 4px 18px rgba(0, 0, 0, .1);
  transform: translateY(-1px);
}

.ops-fab:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

/* 状态点：呼应 v2.0 面板的连接指示灯 */
.ops-fab__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent);
  opacity: .55;
  flex: none;
  transition: opacity .25s var(--ease);
}

.ops-fab:hover .ops-fab__dot {
  opacity: 1;
}

.ops-fab__label {
  line-height: 1;
}

/* 窄屏：右下角空间紧张，缩成圆点图标 */
@media (max-width: 640px) {
  .ops-fab {
    right: 16px;
    bottom: 16px;
    padding: 11px;
  }
  .ops-fab__label {
    display: none;
  }
}

/* 尊重「减少动效」偏好：去掉位移，保留颜色变化 */
@media (prefers-reduced-motion: reduce) {
  .ops-fab {
    transition: color .25s ease, border-color .25s ease;
  }
  .ops-fab:hover {
    transform: none;
  }
}
