/* static/css/buttons.css — extracted from index.html (FrameFlow prototype) */
  /* Uiverse-style neon button: animated gradient sweep + green glow */
  .btn-neon {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--neon-bright), var(--neon) 55%, var(--neon));
    color: #06200e;
    border: none;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.01em;
    cursor: pointer;
    overflow: hidden;
    isolation: isolate;
    box-shadow: 0 4px 18px rgba(74,222,128,0.28), 0 2px 8px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.40);
    transition: transform 0.25s cubic-bezier(0.16,1,0.3,1), box-shadow 0.25s, filter 0.25s;
  }
  .btn-neon::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(120deg, var(--neon-bright), var(--neon), var(--neon), var(--neon-bright));
    background-size: 220% 220%;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .btn-neon:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 28px rgba(74,222,128,0.42), 0 4px 14px rgba(0,0,0,0.30), inset 0 1px 0 rgba(255,255,255,0.45);
    filter: brightness(1.05);
  }
  .btn-neon:hover::before { opacity: 1; animation: btnFlow 2.4s linear infinite; }
  .btn-neon:active { transform: translateY(0) scale(0.97); }
  .btn-neon svg { width: 16px; height: 16px; }
  @keyframes btnFlow { 0% { background-position: 0% 50%; } 100% { background-position: 220% 50%; } }

  /* Uiverse-style ghost / glass button */
  .btn-ghost {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 999px;
    background: var(--surface);
    border: 1px solid var(--border);
    color: var(--text-dim);
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .btn-ghost:hover {
    color: var(--text);
    border-color: var(--border-strong);
    background: var(--surface-hover);
    box-shadow: 0 6px 18px rgba(0,0,0,0.22);
  }


  /* 浅色主题：绿色按钮文字改白色，深色主题保持原黑色 */
  html[data-theme="light"] .btn-neon { color: #ffffff; }

  /* 禁用态：灰色圆底/胶囊 + 白色图标/文字（浅色主题不再透明不可见；深色主题同样清晰） */
  .btn-neon:disabled {
    background: #adadad !important; color: #ffffff !important;
    box-shadow: none !important; cursor: not-allowed !important;
    transform: none !important; filter: none !important;
  }
  /* 禁用态悬停完全静止：保持灰色底、不上浮、不放大、不发光（生成中发送按钮不响应鼠标悬停） */
  .btn-neon:disabled:hover,
  .btn-neon:disabled:active {
    background: #adadad !important; box-shadow: none !important;
    transform: none !important; filter: none !important;
  }
  .btn-neon:disabled::before,
  .btn-neon:disabled:hover::before,
  .btn-neon:disabled:active::before { opacity: 0 !important; animation: none !important; }
