/* ============================================================
   qiuyaolucky.fun — 全站共用样式
   修改此文件会同时影响 index / about / contact 三个页面
   ============================================================ */

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

:root{
  --ink:#1a1f2b;
  --ink-2:#4a5468;
  --ink-3:#7c8698;
  --line:#e4e8ef;
  --bg:#f6f8fb;
  --card:#ffffff;
  --brand:#2f6fed;
}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}

body{
  background:var(--bg);
  color:var(--ink);
  font:400 15px/1.75 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

.wrap{width:100%;max-width:780px;margin:0 auto;padding:0 20px}

/* ---------- 顶部导航 ---------- */
.nav{
  position:sticky;top:0;z-index:20;
  background:rgba(255,255,255,.88);
  backdrop-filter:saturate(180%) blur(12px);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--line);
}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:56px}
.nav .brand{
  display:flex;align-items:center;gap:9px;
  font-size:15px;font-weight:650;color:var(--ink);
  border-bottom:none;
}
.nav .brand i{
  width:24px;height:24px;border-radius:7px;flex:none;
  background:linear-gradient(135deg,#2f6fed,#5b93ff);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:13px;font-weight:700;font-style:normal;
}
.nav ul{display:flex;list-style:none;gap:4px}
.nav ul a{
  display:block;padding:6px 13px;border-radius:8px;
  font-size:14px;color:var(--ink-2);
  border-bottom:none;transition:background .18s,color .18s;
}
.nav ul a:hover{background:#f0f3f9;color:var(--ink)}
.nav ul a[aria-current="page"]{background:rgba(47,111,237,.09);color:var(--brand);font-weight:550}

/* ---------- 首页头部 ---------- */
header.hero{padding:56px 0 32px;text-align:center}
.logo{
  width:56px;height:56px;border-radius:15px;margin:0 auto 20px;
  background:linear-gradient(135deg,#2f6fed,#5b93ff);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:26px;font-weight:700;letter-spacing:-.5px;
  box-shadow:0 8px 22px rgba(47,111,237,.28);
}
header.hero h1{font-size:25px;font-weight:650;letter-spacing:-.2px}
header.hero .sub{margin-top:9px;color:var(--ink-3);font-size:14px}
.badge{
  display:inline-block;margin-top:16px;padding:5px 14px;border-radius:999px;
  background:rgba(47,111,237,.08);color:var(--brand);
  border:1px solid rgba(47,111,237,.2);
  font-size:13px;font-weight:500;
}

/* ---------- 内页标题 ---------- */
header.page{padding:44px 0 26px}
header.page .crumb{font-size:13px;color:var(--ink-3);margin-bottom:10px}
header.page .crumb a{color:var(--ink-3);border-bottom:none}
header.page .crumb a:hover{color:var(--brand)}
header.page h1{font-size:23px;font-weight:650;letter-spacing:-.2px}
header.page .sub{margin-top:8px;color:var(--ink-3);font-size:14px}

/* ---------- 卡片 ---------- */
main{flex:1;padding-bottom:8px}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:26px 28px;
  margin-bottom:16px;
  box-shadow:0 1px 3px rgba(16,24,40,.04);
}
.card h2{
  font-size:15px;font-weight:650;color:var(--ink);
  margin-bottom:12px;display:flex;align-items:center;gap:9px;
}
.card h2::before{
  content:"";width:3px;height:15px;border-radius:2px;background:var(--brand);flex:none;
}
.card h3{font-size:14.5px;font-weight:600;color:var(--ink);margin:18px 0 8px}
.card h3:first-of-type{margin-top:4px}
.card p{color:var(--ink-2);font-size:14.5px;margin-bottom:10px}
.card p:last-child{margin-bottom:0}
.card b{color:var(--ink);font-weight:600}

/* ---------- 列表 ---------- */
ul.plain{list-style:none;display:grid;gap:9px;margin-top:4px}
ul.plain li{color:var(--ink-2);font-size:14.5px;padding-left:22px;position:relative}
ul.plain li::before{
  content:"";position:absolute;left:6px;top:10px;
  width:5px;height:5px;border-radius:50%;background:#c3cbd9;
}
ul.plain li b{color:var(--ink)}

/* ---------- 信息表 ---------- */
dl.info{display:grid;grid-template-columns:auto 1fr;gap:9px 20px;font-size:14.5px}
dl.info dt{color:var(--ink-3);white-space:nowrap}
dl.info dd{color:var(--ink-2)}

a{color:var(--brand);text-decoration:none;border-bottom:1px solid rgba(47,111,237,.28)}
a:hover{border-bottom-color:var(--brand)}

/* ---------- 提示条 ---------- */
.note{
  background:#f0f5ff;border:1px solid #d6e2ff;border-radius:10px;
  padding:14px 17px;font-size:14px;color:#2c4a8a;margin-top:4px;
}
.note b{color:#1c3a75}

/* ---------- 练手作品列表 ---------- */
ul.works{list-style:none;display:grid;gap:9px;margin-top:15px}
ul.works a{
  display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;
  padding:12px 15px;border:1px solid var(--line);border-radius:11px;
  background:#fcfdff;border-bottom:1px solid var(--line);
  transition:border-color .18s,background .18s,transform .18s;
}
ul.works a:hover{border-color:#c3d4f7;background:#f6faff;transform:translateX(2px)}
ul.works b{font-size:14.5px;font-weight:600;color:var(--ink);flex:none}
ul.works span{font-size:12.5px;color:var(--ink-3)}

/* ---------- 作品页顶栏 ---------- */
.work-bar{
  position:sticky;top:0;z-index:20;
  background:rgba(255,255,255,.9);
  backdrop-filter:saturate(180%) blur(12px);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--line);
}
.work-bar .wrap{display:flex;align-items:center;gap:14px;height:54px}
.work-bar a.back{font-size:14px;color:var(--ink-2);border-bottom:none;white-space:nowrap}
.work-bar a.back:hover{color:var(--brand)}
.work-bar .name{font-size:14.5px;font-weight:600;color:var(--ink);white-space:nowrap}
.work-bar .kind{
  margin-left:auto;font-size:12px;color:var(--ink-3);white-space:nowrap;
  padding:3px 10px;border-radius:999px;background:#f1f4f9;
}

/* ---------- 作品页主区 ---------- */
.work-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px 20px 44px}
.work-tip{font-size:12.5px;color:var(--ink-3);text-align:center;margin-top:18px;line-height:1.8}

/* ---------- 通用按钮 ---------- */
.btn{
  appearance:none;border:1px solid var(--line);background:#fff;color:var(--ink-2);
  font:inherit;font-size:13.5px;padding:8px 15px;border-radius:9px;cursor:pointer;
  transition:border-color .18s,background .18s,color .18s;
}
.btn:hover{border-color:#c3d4f7;background:#f6faff;color:var(--brand)}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn.primary:hover{background:#2a63d6;border-color:#2a63d6;color:#fff}

/* ---------- 页脚 ---------- */
footer.wrap{
  margin-top:12px;
  padding:26px 20px 34px;
  border-top:1px solid var(--line);
  text-align:center;
  color:var(--ink-3);font-size:12.5px;line-height:2;
}
footer a{color:var(--ink-3);border-bottom:none}
/* 悬停下划线改用 box-shadow：不占盒高度，不会把三项里的某一项挤偏 1px */
footer a:hover{color:var(--brand);box-shadow:0 1px 0 rgba(47,111,237,.3)}
/* 三项统一 inline-flex + 垂直居中：盾牌图标的高度不再影响文字基线 */
footer .row{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:6px 20px;
}
footer .row>span{display:inline-flex;align-items:center}
/* 盾牌图标：按【基线】对齐，而不是按行盒居中。
   汉字只占基线上方约 0.88em、下方约 0.12em，行盒却是上下对称的，
   所以居中会让图标视觉上往下掉约 1.6px。vertical-align 相对基线定位，
   不受字体度量影响 —— 图标底边固定落在基线下 2px，正好与汉字底部齐平。 */
footer a.gongan{display:inline-block;white-space:nowrap}
footer a.gongan img{
  display:inline-block;
  width:13px;height:14px;
  margin-right:5px;
  vertical-align:-2px;
  opacity:.9;
}

@media (max-width:520px){
  .wrap{padding:0 15px}
  .nav .wrap{height:52px}
  .nav ul a{padding:6px 9px;font-size:13.5px}
  .nav .brand span{display:none}
  header.hero{padding:40px 0 24px}
  header.hero h1{font-size:21px}
  header.page{padding:32px 0 20px}
  header.page h1{font-size:20px}
  .card{padding:21px 19px;border-radius:12px}
  dl.info{grid-template-columns:1fr;gap:3px 0}
  dl.info dd{margin-bottom:9px}
  footer.wrap{padding:22px 15px 28px}
  footer .row{gap:6px 14px}
}
