/* 全局基础重置 */
*{margin:0;padding:0;box-sizing:border-box;font-family:system-ui,-apple-system,Segoe UI,Roboto,"Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
html{font-size:16px;scroll-behavior:auto;}
html,body{height:100%;overflow:hidden;}
@media(max-width:768px){html{font-size:15px}}
@media(max-width:640px){html{font-size:14px}}
a{text-decoration:none;color:inherit}
button,input{
  font-family:inherit;
  cursor:pointer;
  touch-action: manipulation;
  outline:none;
  -webkit-appearance: none;
  appearance: none;
  border: none;
}

button,.link-item,.suggest-item,#clearBtn{min-height:48px}
.link-item a:visited .link-name{color:#5286e8;}

:root{
  --primary:#2563eb;
  --primary-light:#3b82f6;
  --primary-soft:#60a5fa;
  --primary-accent:#93c5fd;
  --primary-bg:#eff6ff;
  --primary-border:#bfdbfe;
  --glass-bg:rgba(255,255,255,0.78);
  --glass-border:rgba(255,255,255,0.9);
  --gray-100:#f8fafc;
  --gray-200:#e2e8f0;
  --gray-300:#cbd5e1;
  --gray-400:#64748b;
  --gray-600:#334155;
  --gray-80:#0f172a;
  --shadow-sm:0 1px 3px rgba(10,20,40,0.03);
  --shadow-md:0 3px 10px rgba(10,20,40,0.06);
  --shadow-lg:0 10px 28px rgba(37,99,235,0.12);
  --shadow-xl:0 16px 40px rgba(37,99,235,0.16);
  --shadow-focus:0 0 0 5px rgba(59,130,246,0.22);
  --radius-sm:9px;
  --radius-md:13px;
  --radius-lg:20px;
  --radius-xl:28px;
  --transition-fast:0.15s ease;
  --transition-normal:0.24s cubic-bezier(0.4,0,0.2,1);
  --safe-bottom:env(safe-area-inset-bottom,0px);
}

/* 无障碍：系统关闭动画时禁用全部动画 */
@media (prefers-reduced-motion: reduce){
  *{animation:none !important;transition:none !important;}
}

body{
  background:linear-gradient(160deg,#f5f7fb 0%,#eef2fb 50%,#e6eeff 100%);
  background-attachment:fixed;
  color:#1f2937;
  line-height:1.62;
}

/* 滚动条美化 */
.scroll-container::-webkit-scrollbar{width:6px}
.scroll-container::-webkit-scrollbar-track{background:transparent}
.scroll-container::-webkit-scrollbar-thumb{background:#c0d4f5;border-radius:3px}
.scroll-container::-webkit-scrollbar-thumb:hover{background:#9cbcec}

/* 头部区域 */
.header-wrap{
  position:sticky;
  top:0;
  left:0;
  width:100%;
  z-index:99;
  padding:32px 12px 20px;
  background:transparent !important;
}
.site-title{
  font-size:32px;
  font-weight:800;
  background:linear-gradient(90deg,var(--primary),var(--primary-light));
  -webkit-background-clip:text;
  color:transparent;
  text-align:center;
}
@media(max-width:640px){
  .site-title{font-size:26px}
  .header-wrap{padding:24px 12px 16px;}
}

/* 搜索区域 */
.search-wrap{
  max-width:760px;
  margin:0 auto;
  margin-top:24px;
  margin-bottom:40px;
  position:relative;
}
.search-box{
  display:flex;
  height:62px;
  border:1px solid var(--primary-border);
  border-radius:var(--radius-xl);
  overflow:hidden;
  background:#ffffff;
  background:var(--glass-bg);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:var(--shadow-sm);
  transition:var(--transition-normal);
}
.search-box:focus-within{
  border-color:var(--primary-light);
  box-shadow:var(--shadow-focus);
}
.input-wrap{
  flex:1;
  position:relative;
  height:100%;
}
.search-input{
  width:100%;
  height:100%;
  border:0;outline:0;
  padding:0 26px;
  padding-right: 52px;
  font-size:1rem;
  background:transparent;
  color:var(--gray-80);
}
.search-input::placeholder{color:var(--gray-400)}
.search-btn{
  width:104px;
  background:linear-gradient(90deg,var(--primary),var(--primary-light));
  color:#fff;
  font-weight:500;
  font-size:1rem;
  transition:var(--transition-fast);
}
.search-btn:hover{opacity:0.93;transform:scale(1.02)}
.search-btn:active{transform:scale(0.97)}

/* 清除按钮：稳定垂直居中方案 */
.search-clear{
  position:absolute;
  right:16px;
  top:0;
  bottom:0;
  margin:auto 0;
  font-size:22px;
  color:var(--gray-400);
  display:none;
  width:26px;
  height:26px;
  border-radius:50%;
  transition:var(--transition-fast);
  cursor:pointer;
  z-index:2;
  align-items:center;
  justify-content:center;
  line-height:1;
  flex-shrink:0;
}
.search-clear:hover{
  background:var(--gray-100);
  color:var(--gray-80);
}

.suggest-box{
  position:absolute;
  width:760px;
  top:66px;
  left:50%;
  transform:translateX(-50%);
  background:#ffffff;
  background:var(--glass-bg);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-radius:0 0 var(--radius-xl) var(--radius-xl);
  box-shadow:var(--shadow-md);
  display:none;
  overflow:hidden;
  z-index:10;
}
.suggest-item{
  line-height:42px;
  padding:0 26px;
  cursor:pointer;
  border-top:1px solid var(--gray-100);
  transition:var(--transition-fast);
}
.suggest-item:first-child{border-top:none}
.suggest-item.active{background:var(--primary-bg);color:var(--primary);font-weight:500}
.suggest-item:hover{background:var(--primary-bg)}
.no-suggest{padding:16px 26px;color:var(--gray-400);text-align:center}
@media(max-width:640px){
  .search-wrap{width:100%;padding:0 12px;}
  .suggest-box{width:calc(100% - 24px);left:0;transform:none;}
  .search-box{height:56px}
  .suggest-box{top:60px}
}

/* 滚动容器 */
.scroll-container{
  height:calc(100% - var(--header-height, 160px));
  overflow-y:auto !important;
  overflow-x:hidden;
  padding:0 20px calc(80px + var(--safe-bottom));
  background:transparent !important;
  -webkit-overflow-scrolling: touch;
}
@media(max-width:640px){.scroll-container{padding:0 12px 60px;}}

/* 卡片网格 */
.card-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:30px}
@media(min-width:640px){.card-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:992px){.card-grid{grid-template-columns:repeat(3,1fr)}}
.nav-card{min-height:330px}
@media(max-width:640px){
  .card-grid{gap:20px}
  .nav-card{padding:22px;min-height:auto}
  .nav-card::after{display:none !important;}
}

/* 卡片入场动画 */
@keyframes cardFadeIn{
  from{opacity:0;transform:translateY(16px);}
  to{opacity:1;transform:translateY(0);}
}
.nav-card{
  position:relative;
  overflow:hidden;
  background:#ffffff;
  background:var(--glass-bg);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid var(--glass-border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
  padding:30px;
  transition:var(--transition-normal);
  opacity:0;
  transform:translateY(16px);
  animation:cardFadeIn 0.6s ease forwards;
}
.nav-card::after{
  content:"";
  position:absolute;
  top:0;left:-100%;
  width:100%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.08),transparent);
  transition:left 0.7s ease;
  pointer-events:none;
}
.nav-card:hover::after{left:100%;}
.nav-card:nth-child(1){animation-delay:0.08s}
.nav-card:nth-child(2){animation-delay:0.20s}
.nav-card:nth-child(3){animation-delay:0.32s}
.nav-card:nth-child(4){animation-delay:0.44s}
.nav-card:nth-child(5){animation-delay:0.56s}
.nav-card:nth-child(6){animation-delay:0.68s}
.nav-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);}
.nav-card::before{
  content:"";
  position:absolute;left:0;top:0;
  width:100%;height:2px;
  background:linear-gradient(90deg,var(--primary),var(--primary-soft));
  opacity:0;
  transition:opacity 0.25s ease;
}
.nav-card:hover::before{opacity:1;}

/* 板块标题 + 更多链接 */
.card-title{
  font-size:19px;
  font-weight:600;
  color:var(--primary);
  margin-bottom:24px;
  border-bottom:1px solid var(--gray-200);
  padding-bottom:12px;
  display:flex;
  align-items:center;
  gap:12px;
}
.card-title::before{
  content:"";
  display:inline-block;
  width:5px;
  height:22px;
  background:linear-gradient(180deg,var(--primary),var(--primary-accent));
  border-radius:3px;
}
/* 更多链接优化版 */
.card-more{
  margin-left:auto;
  display:inline-block;
  font-size:14px;
  font-weight:400;
  color:var(--gray-400);
  transition:var(--transition-fast);
  white-space:nowrap;
  transform-origin:right center;
  position:relative;
}
.card-more::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-2px;
  width:0;
  height:2px;
  background:var(--primary);
  transition:width 0.32s cubic-bezier(0.2,0,0.2,1);
}
.card-more span{
  display:inline-block;
  transition:transform var(--transition-fast);
}
.card-more:hover{
  color:var(--primary);
  font-weight:600;
  transform:scale(1.08);
}
.card-more:hover::after{
  width:100%;
}
.card-more:hover span{
  transform:translateX(2px);
}
@media(max-width:640px){
  .card-title{font-size:17px;margin-bottom:16px}
  .card-title::before{height:18px}
  .card-more{font-size:13px}
}

/* 链接列表 */
.link-list{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}
@media(max-width:640px){.link-list{gap:10px}}
.link-item{
  padding:14px 14px;
  border-radius:var(--radius-md);
  transition:var(--transition-normal);
  position:relative;
  background:transparent;
}
@media(max-width:640px){.link-item{padding:10px 10px}}
.link-item a{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  outline:none;
}
.link-item a:focus-visible{
  box-shadow:0 0 0 4px rgba(59,130,246,0.2);
  background:var(--primary-bg);
}
.link-name{
  position:relative;
  display:inline-block;
  font-size:1rem;
  font-weight:400;
  color:var(--gray-600);
  transition:var(--transition-fast);
  transform-origin:left center;
}
.link-name::after{
  content:"";
  position:absolute;left:0;right:0;bottom:-2px;
  height:2px;background:var(--primary);
  transform:scaleX(0);
  transform-origin:left center;
  transition:0.32s cubic-bezier(0.2,0,0.2,1);
}
.link-item:hover .link-name::after{transform:scaleX(1);}
.link-item:hover{background:var(--primary-bg);transform:translateX(2px);}
.link-item:hover .link-name{
  color:var(--primary);
  font-weight:600;
  transform:scale(1.08);
}

/* 返回顶部按钮 */
#backTop{
  position:fixed;
  right:26px;
  bottom:calc(66px + var(--safe-bottom));
  width:48px;
  height:48px;
  background:linear-gradient(135deg,var(--primary),var(--primary-light));
  color:#fff;
  border:0;
  border-radius:var(--radius-md);
  font-size:20px;
  display:none;
  z-index:98;
  box-shadow:var(--shadow-md);
  transition:var(--transition-normal);
}
#backTop:hover{transform:translateY(-4px) scale(1.08);box-shadow:var(--shadow-xl)}
#backTop:active{transform:translateY(-2px) scale(1.03)}
@media(max-width:640px){
  #backTop{right:16px;width:42px;height:42px;font-size:18px}
}

.footer{display:none}
