/* ============================================================
   段落 DuanLuo.cn — 全站共享样式
   维护提示：颜色等全局变量都在 :root 里，改主题色只需改这里
   ============================================================ */

*{margin:0;padding:0;box-sizing:border-box}

:root{
  --bg:#f7f8fa;
  --surface:#fff;
  --surface-2:#f2f4f7;
  --text:#1a1a2e;
  --border:#ddd;
  --muted:#888;
  --primary:#0073aa;
  --primary-soft:rgba(0,115,170,.09);
  --purple:#8e44ad;
  --green:#1e9e6a;
  --shadow:0 4px 14px rgba(0,0,0,.06);
  --radius:8px;
}

html.dark{
  --bg:#111;
  --surface:#1e1e1e;
  --surface-2:#262626;
  --text:#e0e0e0;
  --border:#333;
  --muted:#8a8a8a;
  --primary:#4aa8d8;
  --primary-soft:rgba(74,168,216,.14);
  --purple:#b07acc;
  --green:#3fbf8a;
  --shadow:0 4px 14px rgba(0,0,0,.4);
}

/* 注意：不要启用 html{scroll-behavior:smooth}，会导致自动化测试点击超时 */
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.7;
  transition:background .3s,color .3s;
}

a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px}

/* ==================== 顶部导航 ==================== */
.site-header{
  position:sticky;top:0;z-index:100;
  background:color-mix(in srgb,var(--surface) 92%,transparent);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
}

.header-inner{
  max-width:1100px;margin:auto;padding:12px 20px;
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
}

.brand{display:flex;align-items:baseline;gap:8px;text-decoration:none}
.brand:hover{text-decoration:none}
.brand h1{font-size:22px;color:var(--text);letter-spacing:1px}
.brand span{font-size:12px;color:var(--muted)}

.nav{display:flex;flex-wrap:wrap;gap:2px;flex:1}
.nav a{
  padding:6px 11px;border-radius:6px;font-size:14px;color:var(--text);
}
.nav a:hover{background:var(--surface-2);text-decoration:none}
.nav a.active{color:var(--primary);background:var(--primary-soft);font-weight:600}

#themeToggle{
  border:none;background:var(--surface-2);color:var(--text);
  width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:16px;
  transition:transform .2s;
}
#themeToggle:hover{transform:rotate(20deg)}

/* ==================== 布局 ==================== */
.wrap{max-width:1100px;margin:auto;padding:24px 20px}

.hero{padding:10px 0 6px}
.hero h1{font-size:26px;line-height:1.4}
.hero p{color:var(--muted);font-size:15px;margin-top:8px;max-width:760px}

.page-head{margin-bottom:18px}
.page-head h1{font-size:24px}
.page-head .desc{color:var(--muted);font-size:14px;margin-top:6px;max-width:820px}

.card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:18px;
  margin-bottom:18px;
}

/* ==================== 表单控件 ==================== */
button{
  padding:9px 18px;border:none;border-radius:6px;cursor:pointer;
  background:var(--primary);color:#fff;font-size:14px;
  transition:opacity .2s,transform .1s;
}
button:hover{opacity:.9}
button:active{transform:translateY(1px)}
button.gray{background:#888}
button.purple{background:var(--purple)}
button.green{background:var(--green)}

input[type=number],input[type=text],select{
  border:1px solid var(--border);border-radius:5px;
  padding:5px 8px;background:var(--surface);color:var(--text);
  font-size:13px;
}

.opts{
  background:var(--surface-2);
  border:1px solid var(--border);
  padding:12px 14px;border-radius:var(--radius);
  display:flex;flex-wrap:wrap;gap:14px 20px;
  margin-bottom:14px;font-size:14px;
}
.opts label{display:flex;align-items:center;gap:6px;cursor:pointer}

textarea{
  width:100%;height:260px;padding:12px;
  font-family:Consolas,"Courier New",monospace;
  font-size:13.5px;line-height:1.7;
  border:1px solid var(--border);border-radius:6px;
  background:var(--surface);color:var(--text);
  resize:vertical;margin-bottom:12px;
}

.field-label{font-size:15px;font-weight:600;margin:4px 0 8px}

.btn-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}

.copy-tip{display:none;color:var(--green);font-size:13px}

/* ==================== 预览区 ==================== */
.preview{
  display:none;background:var(--surface);
  border:1px solid var(--border);border-radius:6px;
  padding:18px;line-height:1.8;margin-top:4px;
}
.preview h2,.preview h3{color:var(--primary);margin:.6em 0}
.preview p{margin-bottom:1em}

/* ==================== 统计卡片 ==================== */
.stats-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));
  gap:12px;margin-bottom:16px;
}
.stat{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:12px 8px;text-align:center;
}
.stat b{display:block;font-size:21px;color:var(--primary);line-height:1.3}
.stat span{font-size:12px;color:var(--muted)}

/* ==================== 明细表格 ==================== */
.table-wrap{max-height:320px;overflow:auto;border:1px solid var(--border);border-radius:6px}
table.detail{width:100%;border-collapse:collapse;font-size:13px}
table.detail th{
  position:sticky;top:0;background:var(--surface-2);
  padding:8px 10px;text-align:left;font-weight:600;border-bottom:1px solid var(--border);
}
table.detail td{padding:7px 10px;border-bottom:1px solid var(--border);color:var(--text)}
table.detail tr:last-child td{border-bottom:none}
table.detail td.num{color:var(--primary);font-weight:600;white-space:nowrap}

/* ==================== 首页工具卡片 ==================== */
.tool-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));
  gap:14px;margin-bottom:8px;
}
.tool-card{
  display:block;background:var(--surface);border:1px solid var(--border);
  border-radius:10px;padding:16px;color:var(--text);
  transition:transform .18s,box-shadow .18s;
}
.tool-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);text-decoration:none}
.tool-card .ico{font-size:22px;line-height:1}
.tool-card h3{font-size:16px;margin:8px 0 4px;color:var(--text)}
.tool-card p{font-size:13px;color:var(--muted);margin:0}

.section-title{font-size:19px;margin:26px 0 12px}

/* ==================== 相关工具 / 内链 ==================== */
.related{
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  font-size:13px;color:var(--muted);margin-top:6px;
}
.related a{
  padding:4px 10px;background:var(--surface-2);border-radius:20px;
  color:var(--text);font-size:13px;
}
.related a:hover{background:var(--primary-soft);color:var(--primary);text-decoration:none}

/* ==================== 页脚 / 友情链接 ==================== */
.site-footer{
  margin-top:36px;padding:20px 0 30px;
  border-top:1px solid var(--border);
  font-size:12.5px;color:var(--muted);text-align:center;
}

.friend-links{
  text-align:left;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:14px 18px;margin-bottom:18px;
}
.friend-links h2{
  font-size:13px;color:var(--muted);font-weight:600;
  margin-bottom:10px;letter-spacing:1px;
}
.fl-list{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none}
.fl-list li{font-size:13px}
.fl-list .fl-empty{color:var(--muted)}
.fl-contact{margin-top:10px;font-size:12.5px;color:var(--muted)}

.copyright a{color:var(--muted)}
.copyright a:hover{color:var(--primary)}

/* ==================== 文章型内容（首页介绍/友链合作说明） ==================== */
.article h2{font-size:19px;margin:22px 0 10px}
.article h3{font-size:16px;margin:16px 0 8px}
.article p{font-size:14.5px;color:var(--text);margin-bottom:10px}
.article ul{margin:0 0 12px 22px;font-size:14.5px}
.article li{margin-bottom:6px}

/* ==================== 响应式 ==================== */
@media(max-width:700px){
  .header-inner{padding:10px 14px;gap:10px}
  .brand h1{font-size:19px}
  .nav a{padding:5px 8px;font-size:13px}
  .wrap{padding:16px 14px}
  .hero h1{font-size:21px}
  .btn-row{flex-direction:column;align-items:stretch}
  .btn-row button{width:100%}
  textarea{height:200px}
  .tool-grid{grid-template-columns:1fr}
}
