@font-face{font-family:'Chuanqu';src:url('../fonts/chuanqu.woff2') format('woff2');font-weight:normal;font-style:normal;font-display:swap}

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

:root{
  --pink:#ffb3c8;
  --pink-deep:#ff8fab;
  --blue:#a8d8ff;
  --blue-deep:#6fb8ff;
  --purple:#c9b6ff;
  --purple-deep:#9d7fff;
  --mint:#a8f0d4;
  --text-main:#2a1f3d;
  --text-sub:#6b5b7f;
}

html,body{width:100%;min-height:100vh}

body{
  font-family:'Chuanqu','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'PingFang SC','Microsoft YaHei',sans-serif;
  color:var(--text-main);
  line-height:1.6;
  overflow-x:hidden;
  position:relative;
  background-color:#f0e4f0;
  background-image:
    radial-gradient(circle at 10% 15%,rgba(255,143,171,.7) 0%,transparent 42%),
    radial-gradient(circle at 88% 10%,rgba(111,184,255,.65) 0%,transparent 44%),
    radial-gradient(circle at 80% 85%,rgba(157,127,255,.7) 0%,transparent 46%),
    radial-gradient(circle at 15% 88%,rgba(168,240,212,.6) 0%,transparent 42%),
    radial-gradient(circle at 50% 50%,rgba(255,232,163,.45) 0%,transparent 55%);
  background-attachment:scroll;
}

body{scrollbar-width:none;-ms-overflow-style:none}
body::-webkit-scrollbar{display:none;width:0;height:0}

/* ====== 白色遮罩 + 光斑：只作用于首页 ====== */
.home-page .white-veil{
  position:fixed;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:rgba(255,255,255,.55);
}

.home-page .focus-circle{
  position:fixed;
  top:0;
  left:0;
  width:320px;
  height:320px;
  margin-left:-160px;
  margin-top:-160px;
  border-radius:50%;
  pointer-events:none;
  z-index:2;
  background:radial-gradient(circle at center,rgba(255,255,255,.9) 0%,rgba(255,255,255,.5) 28%,rgba(255,255,255,.15) 55%,transparent 75%);
  transform:translate3d(50vw,50vh,0);
  transition:opacity .25s ease;
  opacity:1;
  will-change:transform;
}

body.cursor-out .focus-circle{opacity:0}

.page-wrap{
  position:relative;
  z-index:10;
  width:100%;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  max-width:1180px;
  margin:0 auto;
  padding:0 2rem;
}

main{
  flex:1;
  width:100%;
  padding:3rem 0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.hero{
  display:grid;
  grid-template-columns:1.618fr 1fr;
  gap:2.5rem;
  align-items:center;
  position:relative;
  min-height:420px;
}

.hero-left{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.hero h1{
  font-size:clamp(1.8rem,4.2vw,2.7rem);
  font-weight:800;
  letter-spacing:-.02em;
  color:var(--text-main);
  margin-bottom:1rem;
  line-height:1.22;
  text-shadow:0 2px 16px rgba(255,255,255,.7);
}

.hero h1 .highlight{
  background:linear-gradient(135deg,var(--pink-deep) 0%,var(--purple-deep) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

.hero-desc{
  font-size:clamp(.95rem,1.4vw,1.08rem);
  color:var(--text-sub);
  margin-bottom:2rem;
  max-width:520px;
  line-height:1.75;
  text-shadow:0 1px 10px rgba(255,255,255,.8);
}

.search-box{
  width:100%;
  max-width:560px;
  background-color:#fff;
  border-radius:60px;
  padding:.5rem .5rem .5rem 1.75rem;
  display:flex;
  align-items:center;
  gap:.75rem;
  box-shadow:0 14px 36px rgba(157,127,255,.18),0 4px 12px rgba(255,143,171,.12);
  border:2px solid rgba(255,179,200,.5);
  transition:border-color .2s ease,box-shadow .2s ease;
  margin-bottom:1.75rem;
}

.search-box:focus-within{
  border-color:var(--pink-deep);
  box-shadow:0 16px 42px rgba(157,127,255,.28),0 4px 16px rgba(255,143,171,.2);
}

.search-box input{
  flex:1;
  border:none;
  outline:none;
  font-family:inherit;
  font-size:1rem;
  color:var(--text-main);
  background:transparent;
  padding:.5rem 0;
}

.search-box input::placeholder{color:#b9aec8}

.search-box button{
  border:none;
  background:linear-gradient(135deg,var(--pink) 0%,var(--purple) 100%);
  color:#fff;
  font-family:inherit;
  font-weight:700;
  font-size:.95rem;
  padding:.8rem 2rem;
  border-radius:50px;
  cursor:pointer;
  transition:transform .15s ease;
  white-space:nowrap;
  box-shadow:0 4px 12px rgba(157,127,255,.3);
}

.search-box button:hover{transform:scale(1.03)}

.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}

.hero-btn{
  border:none;
  font-family:inherit;
  font-size:1rem;
  font-weight:700;
  padding:.9rem 2.4rem;
  border-radius:50px;
  cursor:pointer;
  transition:transform .15s ease,box-shadow .15s ease;
  letter-spacing:.3px;
  position:relative;
  text-decoration:none;
  display:inline-block;
  text-align:center;
}

.hero-btn-join{
  background:linear-gradient(135deg,var(--pink) 0%,var(--pink-deep) 100%);
  color:#fff;
  box-shadow:0 6px 18px rgba(255,143,171,.45);
}

.hero-btn-join:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(255,143,171,.55);
}

.hero-btn-query{
  background:#fff;
  color:var(--text-main);
  border:2px solid var(--blue);
  box-shadow:0 4px 12px rgba(111,184,255,.22);
}

.hero-btn-query:hover{
  transform:translateY(-3px);
  border-color:var(--blue-deep);
  box-shadow:0 10px 24px rgba(111,184,255,.35);
}

.hero-right{
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}

.kanban-wrap{
  position:relative;
  width:100%;
  max-width:260px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.kanban-wrap::before{
  content:'';
  position:absolute;
  width:220px;
  height:220px;
  background:radial-gradient(circle,rgba(255,179,200,.45) 0%,rgba(201,182,255,.3) 40%,transparent 70%);
  border-radius:50%;
  z-index:0;
}

.kanban-img{
  position:relative;
  z-index:2;
  width:100%;
  max-width:240px;
  max-height:280px;
  height:auto;
  display:block;
  filter:drop-shadow(0 14px 24px rgba(157,127,255,.28));
  border-radius:22px;
  object-fit:contain;
}

.kanban-bubble{
  position:absolute;
  top:-10px;
  right:-20px;
  background:#fff;
  border:2px solid rgba(255,179,200,.5);
  border-radius:20px 20px 20px 4px;
  padding:.6rem 1rem;
  font-size:.82rem;
  font-weight:600;
  color:var(--text-main);
  z-index:6;
  box-shadow:0 8px 20px rgba(157,127,255,.18);
  white-space:nowrap;
}

.kanban-bubble::after{
  content:'';
  position:absolute;
  bottom:-8px;
  left:14px;
  width:0;
  height:0;
  border-left:8px solid transparent;
  border-right:8px solid transparent;
  border-top:10px solid #fff;
}

.quick-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.25rem;
  margin-top:2.5rem;
}

.stat-item{
  position:relative;
  padding:1.5rem 1.4rem 1.3rem;
  border-radius:22px;
  background:linear-gradient(160deg,rgba(255,255,255,.72) 0%,rgba(255,255,255,.42) 100%);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 22px rgba(157,127,255,.08);
  transition:transform .18s ease,box-shadow .18s ease;
  overflow:hidden;
}

.stat-item::before{
  content:'';
  position:absolute;
  top:0;
  left:18px;
  right:18px;
  height:3px;
  border-radius:0 0 3px 3px;
}

.stat-item:nth-child(1)::before{background:linear-gradient(90deg,var(--pink) 0%,var(--pink-deep) 100%)}
.stat-item:nth-child(2)::before{background:linear-gradient(90deg,var(--blue) 0%,var(--blue-deep) 100%)}
.stat-item:nth-child(3)::before{background:linear-gradient(90deg,var(--purple) 0%,var(--purple-deep) 100%)}
.stat-item:nth-child(4)::before{background:linear-gradient(90deg,var(--mint) 0%,#4dd69a 100%)}

.stat-item::after{
  content:'';
  position:absolute;
  right:14px;
  bottom:12px;
  width:8px;
  height:8px;
  border-radius:50%;
  opacity:.5;
}

.stat-item:nth-child(1)::after{background:var(--pink-deep)}
.stat-item:nth-child(2)::after{background:var(--blue-deep)}
.stat-item:nth-child(3)::after{background:var(--purple-deep)}
.stat-item:nth-child(4)::after{background:#4dd69a}

.stat-item:hover{
  transform:translateY(-4px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,1),0 16px 34px rgba(157,127,255,.16);
}

.stat-label{
  font-size:.82rem;
  color:var(--text-sub);
  letter-spacing:.3px;
  margin-bottom:.5rem;
  font-weight:600;
}

.stat-value{
  font-size:clamp(1.5rem,2.5vw,2rem);
  font-weight:800;
  line-height:1.2;
  letter-spacing:-.02em;
}

.stat-item:nth-child(1) .stat-value{
  background:linear-gradient(135deg,var(--pink-deep) 0%,var(--pink) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.stat-item:nth-child(2) .stat-value{
  background:linear-gradient(135deg,var(--blue-deep) 0%,var(--blue) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.stat-item:nth-child(3) .stat-value{
  background:linear-gradient(135deg,var(--purple-deep) 0%,var(--purple) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.stat-item:nth-child(4) .stat-value{
  background:linear-gradient(135deg,#4dd69a 0%,var(--mint) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}

.stat-value small{
  font-size:.85rem;
  font-weight:500;
  color:var(--text-sub);
  margin-left:6px;
  letter-spacing:0;
  -webkit-text-fill-color:var(--text-sub);
}

.stat-sub{font-size:.82rem;color:#9b8bab;margin-top:.4rem}

.notice-box{
  margin-top:2.5rem;
  text-align:center;
  font-size:.82rem;
  color:#9b8bab;
  line-height:1.9;
  text-shadow:0 1px 8px rgba(255,255,255,.8);
}

.notice-box p{margin:0}

footer{
  width:100%;
  margin-top:auto;
  padding:1.5rem 0 1.5rem;
  text-align:center;
  font-size:.82rem;
  color:#9b8bab;
  line-height:1.9;
  text-shadow:0 1px 8px rgba(255,255,255,.8);
}

footer .f-line{
  display:block;
  width:100%;
  height:1px;
  margin:0 auto 1.2rem;
  background:linear-gradient(90deg,transparent 0%,rgba(255,179,200,.5) 20%,rgba(201,182,255,.5) 50%,rgba(168,216,255,.5) 80%,transparent 100%);
}

footer p{margin:0}
footer .copy{font-size:.78rem;color:#b0a3bf}

@media(max-width:960px){
  .hero{grid-template-columns:1fr;gap:2rem;min-height:auto}
  .hero-right{display:none}
  .quick-stats{grid-template-columns:repeat(2,1fr)}
  .focus-circle{width:220px;height:220px;margin-left:-110px;margin-top:-110px}
}

@media(max-width:720px){
  .page-wrap{padding:0 1.25rem}
  main{padding:2rem 0}
  .hero h1{font-size:1.9rem}
  .hero-desc{font-size:.95rem}
  .search-box{flex-direction:column;border-radius:28px;padding:1rem;gap:.75rem}
  .search-box input{width:100%;text-align:center;padding:.5rem}
  .search-box button{width:100%;border-radius:40px}
  .hero-actions{flex-direction:column}
  .hero-btn{width:100%;text-align:center}
  .quick-stats{grid-template-columns:1fr;gap:1rem}
  .focus-circle{width:160px;height:160px;margin-left:-80px;margin-top:-80px}
  .kanban-bubble{right:-10px;font-size:.75rem;padding:.5rem .8rem}
}

/* ========== 查询结果 ========== */
.query-result{
  margin-top:2.5rem;
  padding:1.5rem 1.6rem;
  border-radius:16px;
  background:rgba(255,255,255,.55);
  backdrop-filter:blur(14px) saturate(150%);
  -webkit-backdrop-filter:blur(14px) saturate(150%);
  border:1.5px solid rgba(255,255,255,.8);
  box-shadow:0 8px 22px rgba(0,0,0,.08);
}

.query-result-title{
  font-size:1rem;
  font-weight:800;
  color:#1a1028;
  margin-bottom:1rem;
}

.query-result-list{
  display:flex;
  flex-direction:column;
  gap:.9rem;
}

.query-item{
  padding:.9rem 1rem;
  border-radius:12px;
  background:rgba(255,255,255,.7);
  border:1.5px solid rgba(255,255,255,.9);
}

.query-item-head{
  font-size:.9rem;
  font-weight:800;
  color:#ff5f88;
  margin-bottom:.5rem;
}

.query-item-row{
  display:flex;
  gap:1rem;
  font-size:.82rem;
  font-weight:600;
  color:#3a2a4e;
  line-height:1.8;
}

.query-item-row .k{
  flex:0 0 70px;
  color:#6b5b7f;
}

.query-item-row .v{
  flex:1 1 auto;
  color:#1a1028;
  word-break:break-all;
}

.query-empty{
  font-size:.85rem;
  font-weight:600;
  color:#8a7a9e;
}

/* ========== 页脚备案号 ========== */
.footer-icp{
  margin:.5rem 0 0;
  text-align:center;
  font-size:.78rem;
}

.footer-icp a{
  display:inline-flex;
  align-items:center;
  color:#9b8bab;
  text-decoration:none;
  transition:color .15s ease;
}

.footer-icp a:hover{
  color:#ff5f88;
}

.footer-icp img{
  width:16px;
  height:16px;
  vertical-align:-2px;
  margin-right:3px;
}