:root{
  --bg:#0b1020;
  --card:rgba(22,28,48,.72);
  --card-solid:#161c30;
  --line:rgba(255,255,255,.10);
  --txt:#eef2ff;
  --sub:#9aa6c7;
  --brand1:#5b7cff;
  --brand2:#a855f7;
  --ok:#22c55e;
  --err:#ef4444;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  background:var(--bg);
  color:var(--txt);
  min-height:100vh;
  overflow-x:hidden;
}
.bg-orb{position:fixed;border-radius:50%;filter:blur(90px);opacity:.5;z-index:0;pointer-events:none}
.orb1{width:480px;height:480px;background:#3b5bff;top:-160px;left:-120px}
.orb2{width:520px;height:520px;background:#8b2fd6;bottom:-200px;right:-140px}

.wrap{position:relative;z-index:1;max-width:920px;margin:0 auto;padding:32px 18px 60px}

.hero{display:flex;align-items:center;gap:16px;margin-bottom:26px}
.logo{
  width:60px;height:60px;flex:0 0 60px;border-radius:18px;
  background:linear-gradient(135deg,var(--brand1),var(--brand2));
  display:flex;align-items:center;justify-content:center;
  font-size:30px;font-weight:800;color:#fff;
  box-shadow:0 10px 30px rgba(91,124,255,.45);
}
.hero-text h1{margin:0;font-size:26px;letter-spacing:.5px}
.hero-text p{margin:6px 0 0;color:var(--sub);font-size:13px}

.panel,.result{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:22px;
  padding:20px;
  backdrop-filter:blur(14px);
  box-shadow:0 18px 50px rgba(0,0,0,.35);
}
.field-label{display:block;font-size:13px;color:var(--sub);margin-bottom:10px}
textarea{
  width:100%;min-height:120px;resize:vertical;
  background:rgba(0,0,0,.28);
  border:1px solid var(--line);border-radius:14px;
  color:var(--txt);font-size:14px;line-height:1.6;padding:14px;
  outline:none;transition:border .2s;
  font-family:inherit;
}
textarea:focus{border-color:var(--brand1)}

.row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.btn{
  border:none;border-radius:12px;padding:11px 20px;font-size:14px;font-weight:600;
  cursor:pointer;transition:.18s;font-family:inherit;
}
.btn.primary{background:linear-gradient(135deg,var(--brand1),var(--brand2));color:#fff;box-shadow:0 8px 22px rgba(91,124,255,.4)}
.btn.primary:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(91,124,255,.55)}
.btn.ghost{background:rgba(255,255,255,.07);color:var(--txt);border:1px solid var(--line)}
.btn.ghost:hover{background:rgba(255,255,255,.14)}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.hint{margin-top:12px;font-size:12px;color:var(--sub)}

.status{margin-top:18px;padding:14px 18px;border-radius:14px;font-size:14px;border:1px solid var(--line);background:rgba(255,255,255,.05)}
.status.loading{color:#c7d2fe}
.status.ok{color:#bbf7d0;border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.10)}
.status.err{color:#fecaca;border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.10)}
.hidden{display:none}

.result{margin-top:20px}
.result-head{display:flex;gap:18px;flex-wrap:wrap}
.cover{width:150px;height:150px;flex:0 0 150px;border-radius:16px;background:#0e1428 center/cover no-repeat;border:1px solid var(--line);position:relative;overflow:hidden}
.cover::after{content:"无封面";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--sub);font-size:12px;z-index:-1}
.meta{flex:1;min-width:220px}
.meta h2{margin:0 0 12px;font-size:17px;line-height:1.5;font-weight:700}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.tag{font-size:12px;padding:5px 12px;border-radius:999px;background:rgba(91,124,255,.16);border:1px solid rgba(91,124,255,.32);color:#c7d2fe}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-top:20px}
.cell{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#0e1428;position:relative;aspect-ratio:1/1}
.cell video,.cell img{width:100%;height:100%;object-fit:cover;display:block;background:#000}
.cell .dl{
  position:absolute;left:8px;right:8px;bottom:8px;
  background:rgba(0,0,0,.66);color:#fff;text-align:center;
  padding:8px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;
  text-decoration:none;backdrop-filter:blur(6px);
}
.cell .dl:hover{background:linear-gradient(135deg,var(--brand1),var(--brand2))}

.foot{margin-top:34px;text-align:center;font-size:12px;color:var(--sub);line-height:1.7}

@media (max-width:520px){
  .wrap{padding:20px 14px 50px}
  .hero-text h1{font-size:22px}
  .cover{width:100%;height:180px;flex:none}
}
