/* 基础样式 */
* { box-sizing:border-box; margin:0; padding:0; }

html, body {
  height:100%;
  background:radial-gradient(ellipse at top,#141b28 0%,#0a0e1a 100%);
  color:var(--text-primary);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
  line-height:1.6;
  overflow-x:hidden;
}

/* 滚动条美化 */
::-webkit-scrollbar { width:10px; height:10px; }
::-webkit-scrollbar-track { background:rgba(0,0,0,.2); border-radius:5px; }
::-webkit-scrollbar-thumb { background:rgba(59,130,246,.4); border-radius:5px; transition:background .2s; }
::-webkit-scrollbar-thumb:hover { background:rgba(59,130,246,.6); }

/* 标题 */
h1 { font-size:32px; font-weight:700; letter-spacing:-.03em; }
h2 {
  font-size:20px;
  font-weight:600;
  margin-bottom:20px;
  color:var(--text-primary);
  display:flex;
  align-items:center;
  gap:10px;
}
h2:before {
  content:'';
  width:4px;
  height:20px;
  background:linear-gradient(135deg,#3b82f6,#8b5cf6);
  border-radius:2px;
}
h3 { font-size:16px; font-weight:600; margin:16px 0 12px; }

/* 表单元素 */
.row { display:flex; gap:12px; align-items:flex-start; flex-wrap:wrap; margin-bottom:16px; }
.field { display:flex; flex-direction:column; gap:8px; flex:1; min-width:200px; }

label {
  color:var(--text-secondary);
  font-size:13px;
  font-weight:500;
  letter-spacing:.01em;
  display:flex;
  align-items:center;
  gap:6px;
}

input, textarea, select {
  background:rgba(10,14,26,.6);
  color:var(--text-primary);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:12px 14px;
  outline:none;
  transition:all .2s cubic-bezier(.4,0,.2,1);
  font-size:14px;
  font-family:inherit;
}

input:hover, textarea:hover, select:hover {
  border-color:var(--border-light);
  background:rgba(10,14,26,.8);
}

input:focus, textarea:focus, select:focus {
  border-color:var(--accent-primary);
  box-shadow:0 0 0 3px var(--glow-blue);
  background:rgba(10,14,26,.9);
}

textarea {
  min-height:120px;
  resize:vertical;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  line-height:1.5;
}

input[readonly] {
  background:rgba(15,20,32,.5);
  cursor:not-allowed;
}

/* 工具类 */
.mono { font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; }
.muted { color:var(--text-muted); }
.right { margin-left:auto; }
.sep {
  height:1px;
  background:linear-gradient(90deg,transparent,var(--border),transparent);
  margin:20px 0;
}

/* 辅助动画 */
@keyframes pulse {
  0%, 100% { opacity:1; }
  50% { opacity:.5; }
}
.pulse { animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite; }

@keyframes fadeIn {
  from { opacity:0; transform:translateY(8px); }
  to { opacity:1; transform:translateY(0); }
}

@keyframes spin {
  to { transform:rotate(360deg); }
}
