/* ===== 历史报告页 history.css ===== */

.hs-body{
  min-height:100vh;
  background:
    radial-gradient(900px 520px at 12% -12%, rgba(109,94,252,.20), transparent 60%),
    radial-gradient(760px 460px at 92% 4%, rgba(0,229,192,.11), transparent 58%),
    var(--bg-0);
}

.hs-wrap{
  max-width:var(--maxw);
  margin:0 auto;
  padding:46px 20px 70px;
}

.hs-card-t,.hs-del-name,.hs-tag,.hs-state p{
  overflow-wrap:anywhere;
  word-break:break-word;
}

/* ---------- 头部 ---------- */
.hs-head{margin-bottom:30px}
.hs-brand{
  margin:0 0 10px;
  font-size:12px;font-weight:800;letter-spacing:2.4px;
  text-transform:uppercase;color:var(--aurora-3);
}
.hs-title{
  margin:0 0 10px;
  font-size:clamp(26px,4vw,40px);font-weight:900;letter-spacing:-.5px;
  background:var(--grad-text);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:var(--tx-0);
}
.hs-sub{margin:0;font-size:14.5px;line-height:1.7;color:var(--tx-2)}

/* ---------- 状态块 ---------- */
.hs-state{
  display:flex;flex-direction:column;align-items:center;
  gap:14px;padding:70px 20px;text-align:center;
  border-radius:var(--r-lg);
  background:var(--glass);
  border:1px solid var(--line);
}
.hs-state h2{margin:0;font-size:20px;font-weight:800;color:var(--tx-0)}
.hs-state p{margin:0;font-size:14px;line-height:1.75;color:var(--tx-2);max-width:44ch}
.hs-spin{
  width:36px;height:36px;border-radius:50%;
  border:3px solid rgba(255,255,255,.12);
  border-top-color:var(--aurora-2);
  animation:hsSpin .85s linear infinite;
}
@keyframes hsSpin{to{transform:rotate(360deg)}}
.hs-state-err{border-color:rgba(255,95,162,.28);background:rgba(255,95,162,.06)}
.hs-state-err h2{color:#ff8fbb}
.hs-state-btns{display:flex;gap:11px;flex-wrap:wrap;justify-content:center;margin-top:6px}

.hs-btn{
  min-height:48px;
  display:inline-grid;place-items:center;
  padding:12px 24px;border-radius:999px;
  font:inherit;font-size:15px;font-weight:800;
  text-decoration:none;cursor:pointer;
  border:1px solid transparent;
  transition:transform .2s,background .2s,box-shadow .2s;
  -webkit-tap-highlight-color:transparent;
}
.hs-btn-main{color:#fff;background:var(--grad-main);box-shadow:var(--shadow-glow)}
.hs-btn-ghost{color:var(--tx-1);background:var(--glass);border-color:var(--line)}
.hs-btn-danger{color:#ff9dc0;background:rgba(255,95,162,.10);border-color:rgba(255,95,162,.36)}
.hs-btn:disabled{opacity:.5;cursor:not-allowed}
@media (hover:hover) and (pointer:fine){
  .hs-btn:not(:disabled):hover{transform:translateY(-2px)}
  .hs-btn-ghost:not(:disabled):hover{background:var(--glass-2)}
  .hs-btn-danger:not(:disabled):hover{background:rgba(255,95,162,.2)}
}

/* ---------- 空态 ---------- */
.hs-empty{padding:60px 20px 46px}
.hs-empty-ic{
  width:74px;height:74px;
  display:grid;place-items:center;
  border-radius:22px;
  background:linear-gradient(150deg,rgba(109,94,252,.22),rgba(47,184,255,.10));
  border:1px solid rgba(109,94,252,.34);
}
.hs-empty-ic svg{
  width:38px;height:38px;
  fill:none;stroke:var(--aurora-2);stroke-width:3;
  stroke-linecap:round;stroke-linejoin:round;
}
.hs-quick{
  list-style:none;margin:26px 0 0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:12px;width:100%;max-width:660px;
}
.hs-quick a{
  display:flex;flex-direction:column;gap:5px;
  padding:16px 16px;
  border-radius:var(--r-md);
  text-decoration:none;text-align:left;
  background:rgba(255,255,255,.04);
  border:1px solid var(--line);
  transition:transform .22s,border-color .22s,background .22s;
}
.hs-quick b{font-size:15.5px;font-weight:800;color:var(--tx-0)}
.hs-quick span{font-size:12.5px;color:var(--tx-2)}
@media (hover:hover) and (pointer:fine){
  .hs-quick a:hover{
    transform:translateY(-3px);
    border-color:rgba(47,184,255,.45);
    background:rgba(47,184,255,.08);
  }
}

/* ---------- 列表 ---------- */
.hs-count{
  margin:0 0 16px;
  font-size:13px;color:var(--tx-3);
}
.hs-list-in{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:16px;
}
.hs-card{
  position:relative;
  display:flex;flex-direction:column;
  padding:22px 20px 18px;
  border-radius:var(--r-lg);
  background:linear-gradient(155deg,var(--glass-2),rgba(255,255,255,.02));
  border:1px solid var(--line);
  box-shadow:var(--shadow-1);
  overflow:hidden;
  transition:transform .25s,border-color .25s,box-shadow .25s;
}
.hs-card::before{
  content:'';position:absolute;left:0;right:0;top:0;height:3px;
  background:var(--grad-main);
}
.hs-card.is-member::before{background:var(--grad-gold)}
@media (hover:hover) and (pointer:fine){
  .hs-card:hover{
    transform:translateY(-4px);
    border-color:rgba(109,94,252,.45);
    box-shadow:0 14px 40px rgba(0,0,0,.45);
  }
}
.hs-card-top{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin-bottom:12px;
}
.hs-tag{
  padding:5px 11px;border-radius:999px;
  font-size:11.5px;font-weight:800;
  color:#fff;
  background:rgba(109,94,252,.26);
  border:1px solid rgba(109,94,252,.5);
}
.hs-tag-tier{
  color:var(--tx-2);background:var(--glass);border-color:var(--line);
}
.hs-tag-tier.is-member{
  color:#3a2a05;background:var(--grad-gold);border-color:transparent;
}
.hs-card-t{
  margin:0 0 10px;
  font-size:17.5px;font-weight:800;line-height:1.5;color:var(--tx-0);
}
.hs-card-time{
  margin:0 0 18px;
  font-size:12.5px;color:var(--tx-3);
  font-variant-numeric:tabular-nums;
}
.hs-card-acts{
  display:flex;gap:9px;margin-top:auto;
}
.hs-act{
  flex:1;
  min-height:44px;
  display:inline-grid;place-items:center;
  padding:10px 14px;border-radius:999px;
  font:inherit;font-size:14px;font-weight:800;
  text-decoration:none;cursor:pointer;
  border:1px solid transparent;
  transition:transform .2s,background .2s;
  -webkit-tap-highlight-color:transparent;
}
.hs-act-view{color:#fff;background:var(--grad-main)}
.hs-act-del{
  flex:0 0 40%;
  color:#ff9dc0;background:rgba(255,95,162,.09);
  border-color:rgba(255,95,162,.32);
}
@media (hover:hover) and (pointer:fine){
  .hs-act:hover{transform:translateY(-2px)}
  .hs-act-del:hover{background:rgba(255,95,162,.2)}
}

/* ---------- 弹窗 ---------- */
.hs-modal{
  position:fixed;inset:0;z-index:900;
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.hs-modal[hidden]{display:none}
.hs-modal-mask{
  position:absolute;inset:0;
  background:rgba(3,5,14,.78);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.hs-modal-box{
  position:relative;
  width:100%;max-width:430px;
  border-radius:var(--r-lg);
  background:linear-gradient(170deg,var(--bg-2),var(--bg-1));
  border:1px solid var(--line);
  box-shadow:0 26px 70px rgba(0,0,0,.6);
  animation:hsUp .3s cubic-bezier(.25,1.1,.4,1) both;
  overflow:hidden;
}
@keyframes hsUp{from{opacity:0;transform:translateY(20px) scale(.97)}}
.hs-modal-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:17px 19px;border-bottom:1px solid var(--line);
}
.hs-modal-head h2{margin:0;font-size:17px;font-weight:800;color:var(--tx-0)}
.hs-modal-x{
  width:36px;height:36px;flex:none;
  display:grid;place-items:center;
  border:none;border-radius:50%;
  font-size:24px;line-height:1;
  color:var(--tx-2);background:var(--glass);cursor:pointer;
}
@media (hover:hover) and (pointer:fine){
  .hs-modal-x:hover{color:var(--tx-0);background:var(--glass-2)}
}
.hs-modal-body{padding:18px 19px}
.hs-del-name{
  margin:0 0 10px;
  font-size:15.5px;font-weight:800;color:var(--tx-0);line-height:1.55;
}
.hs-del-tx{margin:0;font-size:14px;line-height:1.75;color:var(--tx-2)}
.hs-modal-foot{
  display:flex;gap:11px;
  padding:15px 19px;border-top:1px solid var(--line);
}
.hs-modal-foot .hs-btn{flex:1}

.hs-foot{
  margin:44px 0 0;text-align:center;
  font-size:12px;color:var(--tx-3);
}

/* ---------- 移动端 ---------- */
@media (max-width:768px){
  .hs-wrap{padding:28px 15px 50px}
  .hs-title{font-size:26px}
  .hs-sub{font-size:13.5px}
  .hs-head{margin-bottom:22px}
  .hs-list-in{grid-template-columns:1fr;gap:13px}
  .hs-card{padding:18px 16px 16px}
  .hs-card-t{font-size:16.5px}
  .hs-state{padding:50px 16px;border-radius:var(--r-md)}
  .hs-empty{padding:44px 16px 36px}
  .hs-state-btns{flex-direction:column;width:100%}
  .hs-state-btns .hs-btn{width:100%}
  .hs-quick{grid-template-columns:1fr}
  .hs-modal{padding:14px}
}
@media (max-width:380px){
  .hs-title{font-size:23px}
  .hs-card-t{font-size:15.5px}
  .hs-act{font-size:13.5px;padding:10px 10px}
  .hs-tag{font-size:11px;padding:4px 9px}
}
