:root{
  --bg1:#6a5cff; --bg2:#8a5cff; --bg3:#ff6a9c;
  --page:#ffffff;
  --card:#ffffff;
  --text:#2b2f38;
  --muted:#8a8f99;
  --green:#31c193;
  --green-dark:#27a37b;
  --line:rgba(0,0,0,.12);
  --shadow:0 8px 24px rgba(43,47,56,.08);
  --radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
button,input,textarea,select{font-family:inherit;}
body{
  font-family:"楷体","KaiTi","STKaiti","Kaiti SC","DFKai-SB","BiauKai",serif;
  color:var(--text);
  min-height:100vh;
  background:var(--page);
  display:flex;flex-direction:column;align-items:center;
  padding:clamp(40px,8vh,96px) 16px 0;
  -webkit-tap-highlight-color:transparent;
}
.wrap{width:100%;max-width:1280px;flex:1;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* 顶部 */
.logo{display:flex;justify-content:center;align-items:center;margin-bottom:0;}
.logo a{display:block;line-height:0;text-decoration:none;}
.logo .mark{height:clamp(68px,11.3vw,125px);width:auto;display:block;}

/* 胶囊搜索框 */
.search{margin:18px 0 8px;}
.box{
  display:flex;align-items:center;
  border:2px solid transparent;border-radius:999px;
  background:
    linear-gradient(var(--card),var(--card)) padding-box,
    linear-gradient(90deg,#6a5cff,#ff6a9c,#31c193) border-box;
  box-shadow:0 8px 26px rgba(106,92,255,.22);
  padding:6px 6px 6px 20px;
  max-width:760px;margin:0 auto;
  transition:.2s;
}
.box:focus-within{transform:scale(1.02);box-shadow:0 12px 34px rgba(255,106,156,.32);}
.box input{flex:1;border:0;outline:0;font-size:18px;color:var(--text);background:transparent;min-width:0;}
.box button{
  border:0;cursor:pointer;flex-shrink:0;
  width:46px;height:46px;border-radius:50%;
  background:linear-gradient(135deg,var(--bg1),var(--bg3));
  color:#fff;font-size:19px;display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 16px rgba(106,92,255,.4);transition:.18s;
}
.box button:hover{transform:scale(1.06);}
.box button:active{transform:scale(.96);}

/* 搜索框下方的兜底：去京东搜 */
.search-alt{
  display:block;text-align:center;
  margin:10px auto 0;font-size:13px;letter-spacing:.5px;
  color:var(--green);text-decoration:none;cursor:pointer;
}
.search-alt:hover{color:var(--green-dark);text-decoration:underline;}

/* 欢迎/说明 + 彩虹装饰线 */
.welcome{width:100%;margin:18px auto 0;text-align:center;color:var(--green);font-size:clamp(14px,2.6vw,17px);letter-spacing:.5px;line-height:1.6;}
.divider{
  height:3px;width:100%;max-width:520px;margin:18px auto 0;border-radius:3px;
  background:linear-gradient(90deg,#6a5cff,#8a5cff,#ff6a9c,#ffb36b,#31c193,#3aa0ff,#6a5cff);
}

/* 面包屑 / 返回 */
.crumb{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:18px auto 4px;font-size:15px;color:var(--muted);}
.crumb a{color:var(--green);text-decoration:none;}
.crumb a:hover{text-decoration:underline;color:var(--green-dark);}
.crumb .sep{color:var(--muted);}
.crumb .now{color:var(--text);font-weight:700;}
.page-title{text-align:center;font-size:clamp(20px,4vw,30px);font-weight:800;letter-spacing:1px;margin:6px auto 0;color:var(--text);}
.page-sub{text-align:center;font-size:13px;color:var(--muted);margin-top:6px;}

/* 卡片网格 */
/* 类目切换条（静态类目页顶部） */
.cat-tabs{
  display:flex;flex-wrap:wrap;justify-content:center;gap:8px;
  max-width:900px;margin:18px auto 0;
}
.cat-tabs a{
  font-size:13px;padding:4px 12px;border-radius:999px;
  color:var(--green);text-decoration:none;
  background:#fff;box-shadow:inset 0 0 0 1px rgba(49,193,147,.35);
  transition:.15s;
}
.cat-tabs a:hover{color:var(--green-dark);box-shadow:inset 0 0 0 1px var(--green);}
.cat-tabs a.cur{
  color:#fff;background:linear-gradient(135deg,var(--bg1),var(--bg3));
  box-shadow:0 4px 12px rgba(106,92,255,.35);
}

.grid{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(10px,1.5vw,16px);margin:26px 0 40px;}
.card{
  display:flex;align-items:center;justify-content:center;
  border:2px solid #a9d3f2;border-radius:12px;background:var(--card);
  padding:12px 6px;text-decoration:none;color:var(--text);
  box-shadow:var(--shadow);transition:.18s;
}
.card:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(43,47,56,.13);}
.card .label{font-size:clamp(13px,2.2vw,16px);font-weight:600;color:var(--green);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.card .label .count{font-size:11px;color:var(--muted);font-weight:400;margin-left:4px;}

/* 分页 */
.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin:0 auto 44px;}
.pager button{
  border:1px solid #dfe3ea;background:#fff;color:var(--text);cursor:pointer;
  min-width:38px;height:34px;padding:0 10px;border-radius:9px;
  font-size:14px;font-weight:600;transition:.15s;
}
.pager button:hover{border-color:#a9d3f2;}
.pager button.cur{border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--bg1),var(--bg3));}
.pager button:disabled{opacity:.45;cursor:default;border-color:#eee;}
.pager .info{font-size:13px;color:var(--muted);margin:0 6px;}

/* 提示 / 空态 */
.tip{max-width:760px;margin:0 auto 30px;text-align:center;font-size:12px;color:var(--muted);line-height:1.7;}
.empty{text-align:center;color:var(--muted);padding:30px 0;font-size:15px;}

/* 页脚 */
footer{width:100%;text-align:center;color:var(--green);font-size:12px;padding:20px 12px calc(20px + env(safe-area-inset-bottom));letter-spacing:.5px;}
footer a{color:inherit;text-decoration:none;}
footer a:hover{text-decoration:underline;}
.footer-site{
  display:block;width:max-content;margin:0 auto 12px;
  font-size:15px;font-weight:700;letter-spacing:1px;color:var(--green);background:#fff;
  padding:7px 24px;border-radius:999px;
  box-shadow:inset 0 0 0 1.5px rgba(49,193,147,.6);transition:.18s;
}
.footer-site:hover{text-decoration:none;color:var(--green-dark);box-shadow:inset 0 0 0 1.5px var(--green),0 6px 16px rgba(49,193,147,.28);transform:translateY(-1px);}

/* 响应式 */
@media (max-width:900px){ .grid{grid-template-columns:repeat(4,1fr);} }
@media (max-width:600px){ .grid{grid-template-columns:repeat(3,1fr);} .box{padding-left:14px;} }
@media (max-width:380px){ .grid{grid-template-columns:repeat(2,1fr);} }
