/* 基础主题与布局 */
:root{
  --bg:#0f1220;
  --surface:#161a2e;
  --border:#262b45;
  --text:#e6e8f2;
  --muted:#aab0c7;
  --primary:#7aa2ff;
  --accent:#76e3c2;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, "PingFang SC", "Microsoft YaHei", sans-serif;
  background: var(--bg); color: var(--text);
}

.site-header{padding:24px 20px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(122,162,255,.15),transparent)}
.site-header h1{margin:0;font-size:28px}
.tagline{margin:6px 0 12px;color:var(--muted)}
.main-nav{display:flex;gap:16px;flex-wrap:wrap}
.main-nav a{color:var(--primary);text-decoration:none;padding:6px 10px;border:1px solid var(--border);border-radius:8px}
.main-nav a:hover{background:var(--surface)}

.container{max-width:1100px;margin:24px auto;padding:0 16px;}
.card{border:1px solid var(--border);background:var(--surface);padding:16px;border-radius:12px;margin-bottom:20px}
.card h2{margin-top:0}
.muted{color:var(--muted)}

.controls{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;margin:12px 0 8px}
.controls label{display:flex;align-items:center;gap:8px}
.controls input[type="range"]{width:140px}
.controls select{padding:6px 8px;background:#0d1020;color:var(--text);border:1px solid var(--border);border-radius:8px}

.palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.swatch{border:1px solid var(--border);border-radius:10px;overflow:hidden}
.swatch .color{height:90px}
.swatch .meta{padding:10px 12px;display:flex;justify-content:space-between;align-items:center}
.meta .hex{font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}
.copy{cursor:pointer;color:var(--accent)}
.copy:hover{text-decoration:underline}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.grid-item{display:block;padding:14px;border:1px solid var(--border);border-radius:10px;color:var(--text);text-decoration:none;background:#12162a}
.grid-item:hover{border-color:var(--primary);box-shadow:0 0 0 2px rgba(122,162,255,.2) inset}

.list{margin:8px 0 0 18px}
.list li{margin:6px 0}

.site-footer{padding:16px 20px;border-top:1px solid var(--border);color:var(--muted)}