/* ══════════════════════════════════════
 * KamiSystem Base Stylesheet v2
 * 现代化重构 — 玻璃拟态 / 渐变 / 层次阴影
 * 所有页面共享：Reset / 排版 / 表单 / 亮暗主题
 * ══════════════════════════════════════ */

/* ── CSS 变量（暗色默认） ── */
:root{
  --bg-primary:#0a0a0f;
  --bg-secondary:#0f0f17;
  --surface:#16161e;
  --surface-hover:#1c1c28;
  --border:#2a2a3a;
  --border-light:#1e1e2a;
  --text-primary:#e4e4e7;
  --text-secondary:#a1a1aa;
  --text-muted:#71717a;
  --accent:#7c3aed;
  --accent-hover:#8b5cf6;
  --accent-soft:rgba(124,58,237,.12);
  --success:#10b981;
  --success-soft:rgba(16,185,129,.12);
  --danger:#ef4444;
  --danger-soft:rgba(239,68,68,.12);
  --warning:#f59e0b;
  --warning-soft:rgba(245,158,11,.12);
  --shadow-sm:0 1px 2px rgba(0,0,0,.3);
  --shadow-md:0 4px 12px rgba(0,0,0,.4);
  --shadow-lg:0 8px 24px rgba(0,0,0,.5);
  --shadow-glow:0 0 20px rgba(124,58,237,.15);
  --radius-sm:6px;
  --radius-md:10px;
  --radius-lg:14px;
  --transition:.2s cubic-bezier(.4,0,.2,1);
}

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* ── Body (暗色默认 + 渐变背景) ── */
body{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--bg-primary);
  background-image:
    radial-gradient(ellipse at top left,rgba(124,58,237,.08),transparent 50%),
    radial-gradient(ellipse at bottom right,rgba(16,185,129,.05),transparent 50%);
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Inter',sans-serif;
  font-weight:600;
  color:var(--text-primary);
  padding:16px;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* ── 排版 ── */
a{color:var(--accent-hover);text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--accent)}
code{background:var(--accent-soft);padding:2px 7px;border-radius:var(--radius-sm);color:var(--accent-hover);font-size:12px;font-family:"SF Mono",Monaco,Menlo,monospace}
.mono{font-family:"SF Mono",Monaco,Menlo,monospace;font-size:11px}
.dim{color:var(--text-muted)}
.ft{text-align:center;font-size:11px;color:var(--text-muted);margin-top:8px;letter-spacing:1px;text-transform:uppercase}

/* ── 表单元素 ── */
input,select,textarea{
  padding:10px 14px;
  border-radius:var(--radius-sm);
  border:1px solid var(--border);
  background:var(--bg-secondary);
  color:var(--text-primary);
  font-size:13px;
  outline:none;
  font-family:inherit;
  transition:border-color var(--transition),box-shadow var(--transition),background var(--transition);
}
input:focus,select:focus,textarea:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px var(--accent-soft);
}
input::placeholder{color:var(--text-muted)}
select option{background:var(--surface)}
textarea{width:100%;resize:vertical;line-height:1.6}
label{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:5px;font-weight:600}

/* Autofill 暗色覆盖 */
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,
input:-internal-autofill-selected,input:-webkit-autofill-strong-password{
  -webkit-box-shadow:0 0 0 30px var(--bg-secondary) inset!important;
  -webkit-text-fill-color:var(--text-primary)!important;
  transition:background-color 9999s ease-in-out 0s!important
}

/* ── 按钮 ── */
button{
  padding:10px 20px;
  border-radius:var(--radius-sm);
  border:none;
  background:linear-gradient(135deg,var(--accent),#6d28d9);
  color:#fff;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  transition:all var(--transition);
  white-space:nowrap;
  box-shadow:0 2px 8px rgba(124,58,237,.25);
}
button:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(124,58,237,.4)}
button:active{transform:translateY(0)}
button:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}

/* ── 卡片（玻璃拟态） ── */
.card{
  background:rgba(22,22,30,.7);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid var(--border);
  border-radius:45px;
  padding:18px 20px;
  margin-bottom:12px;
  box-shadow:var(--shadow-md);
  transition:border-color var(--transition),box-shadow var(--transition);
}
.card:hover{border-color:rgba(124,58,237,.3);box-shadow:var(--shadow-lg),var(--shadow-glow)}

/* ── 提示框 ── */
.err{
  background:var(--danger-soft);
  border:1px solid rgba(239,68,68,.3);
  color:var(--danger);
  padding:12px 16px;
  border-radius:var(--radius-sm);
  margin-bottom:16px;
  font-size:12px;
  line-height:1.5;
}
.ok-box{
  background:var(--success-soft);
  border:1px solid rgba(16,185,129,.3);
  color:var(--success);
  padding:16px 20px;
  border-radius:var(--radius-md);
  font-size:13px;
  line-height:1.7;
}
.ok-box code{background:rgba(16,185,129,.15);color:var(--success)}

/* ── 标签/徽章 ── */
.tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;letter-spacing:.3px}
.tag-ok{color:var(--success);background:var(--success-soft)}
.tag-no{color:var(--danger);background:var(--danger-soft)}
.tag-wait{color:var(--warning);background:var(--warning-soft)}
