/* ============================================================
   PanShare — 迷体·gameworld 星际主题（v2）
   · 纯本地 CSS，无任何外链/CDN，不影响加载速度
   · 深空暗色 + 青色霓虹 #00e5ff + 科技网格 HUD
   · 结构/class 与 app.js 完全兼容，仅换肤
   ============================================================ */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:#070b18}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(0,229,255,.45),rgba(99,102,241,.45));border-radius:99px;border:2px solid #070b18}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,rgba(0,229,255,.75),rgba(99,102,241,.75))}
::selection{background:rgba(0,229,255,.28);color:#eaffff}

/* ---------- 深空基底 ---------- */
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  color:#cfe3ea;line-height:1.6;-webkit-font-smoothing:antialiased;
  background:radial-gradient(1200px 700px at 78% -8%,rgba(56,89,255,.22),transparent 60%),
             radial-gradient(1000px 620px at 12% 4%,rgba(0,229,255,.13),transparent 55%),
             radial-gradient(900px 700px at 50% 120%,rgba(124,58,237,.16),transparent 60%),
             linear-gradient(180deg,#050814 0%,#080d1f 45%,#0a0e26 100%);
  min-height:100vh;
}
/* 星尘层（纯静态背景，零性能开销） */
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    radial-gradient(1.2px 1.2px at 12% 18%,rgba(255,255,255,.85),transparent 100%),
    radial-gradient(1px 1px at 32% 62%,rgba(255,255,255,.6),transparent 100%),
    radial-gradient(1.4px 1.4px at 47% 12%,rgba(180,240,255,.9),transparent 100%),
    radial-gradient(1px 1px at 61% 38%,rgba(255,255,255,.55),transparent 100%),
    radial-gradient(1.3px 1.3px at 74% 82%,rgba(255,255,255,.75),transparent 100%),
    radial-gradient(1px 1px at 88% 24%,rgba(180,240,255,.7),transparent 100%),
    radial-gradient(1.5px 1.5px at 8% 84%,rgba(255,255,255,.7),transparent 100%),
    radial-gradient(1px 1px at 93% 66%,rgba(255,255,255,.6),transparent 100%),
    radial-gradient(1.2px 1.2px at 22% 44%,rgba(255,255,255,.5),transparent 100%),
    radial-gradient(1px 1px at 55% 92%,rgba(255,255,255,.55),transparent 100%),
    radial-gradient(1.1px 1.1px at 40% 30%,rgba(255,255,255,.45),transparent 100%),
    radial-gradient(1px 1px at 69% 8%,rgba(255,255,255,.5),transparent 100%);
  background-size:120% 120%;
}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px;position:relative;z-index:1}

a{color:#5ee7ff;text-decoration:none;transition:color .18s}
a:hover{color:#aef4ff;text-shadow:0 0 12px rgba(0,229,255,.55)}

/* ---------- 顶栏（毛玻璃 + 霓虹底边） ---------- */
.topbar{
  background:rgba(7,11,24,.72);
  backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid rgba(0,229,255,.16);
  box-shadow:0 1px 0 rgba(0,229,255,.08),0 12px 34px rgba(0,0,0,.35);
  position:sticky;top:0;z-index:50;
}
.topbar::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(0,229,255,.6),transparent)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;color:#eaffff;letter-spacing:.04em}
.logo{
  display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;
  background:linear-gradient(135deg,#00e5ff,#6366f1);color:#04121c;font-size:19px;font-weight:800;
  box-shadow:0 0 16px rgba(0,229,255,.5),inset 0 1px 0 rgba(255,255,255,.35);
}
.brand-name{font-size:18px}
.brand-name em{font-style:normal;color:rgba(190,225,235,.55);font-weight:500;font-size:13px;margin-left:2px}
.nav{display:flex;gap:28px;align-items:center}
.nav a{color:#a9c4ce;font-size:14px;font-weight:500;display:flex;align-items:center;gap:4px}
.nav a:hover{color:#5ee7ff;text-shadow:0 0 12px rgba(0,229,255,.5)}
.nav a.active,.nav a:hover{color:#5ee7ff}
.nav a.active{position:relative}
.nav a.active::after{content:"";position:absolute;left:8%;right:8%;bottom:-8px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,#00e5ff,transparent);box-shadow:0 0 10px rgba(0,229,255,.8)}

/* ---------- Hero（星云 + 霓虹标题） ---------- */
.hero{
  position:relative;padding:88px 0 64px;text-align:center;overflow:hidden;
  background:radial-gradient(ellipse 900px 420px at 50% -6%,rgba(0,229,255,.16),transparent 62%),
             radial-gradient(ellipse 720px 360px at 18% 18%,rgba(124,58,237,.14),transparent 60%),
             radial-gradient(ellipse 640px 340px at 84% 30%,rgba(56,89,255,.16),transparent 60%);
}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(0,229,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,229,255,.05) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(ellipse 760px 420px at 50% 0%,#000 30%,transparent 78%);
  -webkit-mask-image:radial-gradient(ellipse 760px 420px at 50% 0%,#000 30%,transparent 78%);
}
.badge{
  position:relative;display:inline-flex;align-items:center;gap:8px;padding:7px 16px;
  background:rgba(10,16,34,.6);border:1px solid rgba(0,229,255,.32);border-radius:999px;
  font-size:13px;color:#aef4ff;letter-spacing:.06em;margin-bottom:26px;
  box-shadow:0 0 20px rgba(0,229,255,.12),inset 0 0 14px rgba(0,229,255,.06);
}
.dot{width:7px;height:7px;border-radius:50%;background:#00e5ff;
  box-shadow:0 0 8px rgba(0,229,255,.9),0 0 18px rgba(0,229,255,.55);
  animation:pulse 2.2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}
.hero h1{
  position:relative;font-size:clamp(30px,4.8vw,56px);font-weight:800;line-height:1.18;
  color:#eaffff;margin-bottom:22px;letter-spacing:.02em;
  text-shadow:0 0 26px rgba(0,229,255,.35),0 0 60px rgba(0,229,255,.14);
}
.accent{
  background:linear-gradient(92deg,#00e5ff,#7c6cff 55%,#00e5ff);
  background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 14px rgba(0,229,255,.45));
  animation:accentFlow 7s linear infinite;
}
@keyframes accentFlow{0%{background-position:0% 0}100%{background-position:200% 0}}
.hero .sub{position:relative;font-size:clamp(14px,1.6vw,16px);color:#8fb0bc;max-width:700px;margin:0 auto 36px}

.searchbox{
  position:relative;display:flex;align-items:center;max-width:700px;margin:0 auto;
  background:rgba(10,16,34,.66);border:1px solid rgba(0,229,255,.24);border-radius:16px;
  padding:7px 7px 7px 20px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 14px 40px rgba(0,0,0,.45),inset 0 0 24px rgba(0,229,255,.05);
  transition:border-color .2s,box-shadow .2s;
}
.searchbox:focus-within{border-color:rgba(0,229,255,.65);
  box-shadow:0 0 0 1px rgba(0,229,255,.35),0 0 34px rgba(0,229,255,.22),0 14px 40px rgba(0,0,0,.5)}
.searchbox .si{flex-shrink:0;filter:drop-shadow(0 0 6px rgba(0,229,255,.5))}
.searchbox input{flex:1;border:0;outline:0;font-size:15px;padding:12px 14px;background:transparent;color:#eaffff;min-width:0}
.searchbox input::placeholder{color:#5d7a86}
#searchBtn{
  background:linear-gradient(135deg,#00e5ff,#4f6bff);color:#03131c;border:0;border-radius:12px;
  padding:11px 26px;font-size:14px;font-weight:800;cursor:pointer;letter-spacing:.04em;
  box-shadow:0 0 18px rgba(0,229,255,.4),inset 0 1px 0 rgba(255,255,255,.35);
  transition:box-shadow .2s,transform .15s,filter .2s;
}
#searchBtn:hover{filter:brightness(1.1);box-shadow:0 0 30px rgba(0,229,255,.65)}
#searchBtn:active{transform:translateY(1px)}

.cats-row{display:flex;flex-wrap:wrap;justify-content:center;margin-top:28px;gap:10px}
.chip{
  padding:7px 16px;background:rgba(10,16,34,.55);border:1px solid rgba(0,229,255,.22);border-radius:999px;
  font-size:13px;color:#9fc6d2;cursor:pointer;transition:border-color .16s,color .16s,box-shadow .16s,transform .16s;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.chip:hover{border-color:rgba(0,229,255,.6);color:#5ee7ff;transform:translateY(-1px);box-shadow:0 0 16px rgba(0,229,255,.18)}
.chip.active{background:linear-gradient(135deg,rgba(0,229,255,.22),rgba(79,107,255,.22));color:#eaffff;border-color:rgba(0,229,255,.65);box-shadow:0 0 18px rgba(0,229,255,.3)}
.chip em{font-style:normal;opacity:.55;font-size:11px;margin-left:4px}

/* ---------- 主体 ---------- */
.content{padding:34px 0 90px}
.grid{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start}

/* 侧栏玻璃卡 */
.sidebar{position:sticky;top:84px;align-self:start}
.card{
  position:relative;background:rgba(10,16,34,.6);border:1px solid rgba(0,229,255,.14);border-radius:16px;
  padding:20px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 14px 40px rgba(0,0,0,.35),inset 0 0 26px rgba(0,229,255,.03);
}
.card.mt{margin-top:18px}
.card-head{font-weight:700;font-size:15px;margin-bottom:16px;display:flex;align-items:center;gap:8px;
  color:#eaffff;letter-spacing:.05em;text-shadow:0 0 14px rgba(0,229,255,.35)}
.card-head .ic{font-size:18px;filter:drop-shadow(0 0 8px rgba(0,229,255,.4))}
#catList{list-style:none}
#catList li{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-radius:10px;
  cursor:pointer;font-size:14px;color:#9fc6d2;transition:background .14s,color .14s}
#catList li:hover{background:rgba(0,229,255,.08);color:#dffaff}
#catList li.active{background:linear-gradient(90deg,rgba(0,229,255,.18),rgba(0,229,255,.04));color:#5ee7ff;font-weight:600;box-shadow:inset 0 0 0 1px rgba(0,229,255,.28)}
#catList li span.count{background:rgba(0,229,255,.1);color:#7fb8c6;font-size:12px;padding:1px 9px;border-radius:99px;font-weight:500}
#catList li.active span.count{background:rgba(0,229,255,.25);color:#eaffff}

.stats{display:grid;grid-template-columns:1fr;gap:10px}
.stats > div{display:flex;justify-content:space-between;align-items:baseline;padding:9px 12px;
  background:rgba(0,229,255,.05);border:1px solid rgba(0,229,255,.1);border-radius:10px}
.stats strong{font-size:18px;color:#5ee7ff;font-weight:700;text-shadow:0 0 12px rgba(0,229,255,.5)}
.stats span{font-size:12px;color:#7fb8c6}

.tips{padding-left:20px;font-size:13px;color:#9fc6d2;line-height:2}
.tips li{margin-bottom:4px}
.tips a{color:#5ee7ff}

/* 列表区 */
.main-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.main-bar h2{font-size:20px;font-weight:700;color:#eaffff;letter-spacing:.03em;
  text-shadow:0 0 18px rgba(0,229,255,.25)}
.bar-tools select{
  padding:7px 12px;border:1px solid rgba(0,229,255,.24);border-radius:10px;font-size:13px;
  background:rgba(10,16,34,.7);color:#cfe3ea;cursor:pointer;outline:0;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:border-color .18s;
}
.bar-tools select:hover,.bar-tools select:focus{border-color:rgba(0,229,255,.55)}
.bar-tools select option{background:#0a1022;color:#cfe3ea}

.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.card-r{
  position:relative;background:rgba(10,16,34,.6);border:1px solid rgba(0,229,255,.13);border-radius:16px;
  overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s;
  display:flex;flex-direction:column;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:0 12px 34px rgba(0,0,0,.35);
}
.card-r:hover{border-color:rgba(0,229,255,.55);transform:translateY(-3px);
  box-shadow:0 0 26px rgba(0,229,255,.18),0 18px 44px rgba(0,0,0,.5)}
.cover{height:140px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:42px;color:#5ee7ff;
  background:
    radial-gradient(320px 160px at 28% 14%,rgba(0,229,255,.22),transparent 60%),
    radial-gradient(300px 180px at 78% 84%,rgba(124,58,237,.25),transparent 60%),
    linear-gradient(135deg,#0d1430,#141b3f 50%,#0d1430);}
.cover::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(0,229,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(0,229,255,.07) 1px,transparent 1px);
  background-size:26px 26px}
.cover::after{content:"";position:absolute;inset:0;
  background:radial-gradient(120% 90% at 50% 0%,transparent 55%,rgba(2,6,16,.65) 100%)}
.cover-emoji{position:relative;filter:drop-shadow(0 0 14px rgba(0,229,255,.45));z-index:1}
.cover-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .28s ease;z-index:2}
.card-r:hover .cover-img{transform:scale(1.05)}
.cat-badge{position:absolute;top:10px;left:10px;z-index:3;
  background:rgba(4,12,22,.72);color:#7feaff;font-size:11px;padding:3px 10px;border-radius:8px;font-weight:600;
  border:1px solid rgba(0,229,255,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  letter-spacing:.05em;box-shadow:0 0 12px rgba(0,229,255,.15)}
.body-r{padding:15px 17px 17px;flex:1;display:flex;flex-direction:column;position:relative;z-index:1}
.body-r h3{font-size:14.5px;font-weight:700;color:#e6f7fb;line-height:1.45;margin-bottom:9px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.meta{display:flex;justify-content:space-between;color:#7fb8c6;font-size:12px;margin-bottom:13px}
.meta .size{color:#5ee7ff;font-weight:600;text-shadow:0 0 10px rgba(0,229,255,.4)}
.btns{display:flex;gap:8px;margin-top:auto}
.btn-c{flex:1;padding:9px 0;border-radius:10px;border:0;font-size:13px;font-weight:700;cursor:pointer;
  transition:box-shadow .16s,transform .16s,background .16s;text-align:center;letter-spacing:.03em}
.btn-copy{background:rgba(0,229,255,.1);color:#5ee7ff;border:1px solid rgba(0,229,255,.3)}
.btn-copy:hover{background:rgba(0,229,255,.18);box-shadow:0 0 16px rgba(0,229,255,.25)}
.btn-go{background:linear-gradient(135deg,#00e5ff,#4f6bff);color:#03131c;box-shadow:0 0 16px rgba(0,229,255,.35),inset 0 1px 0 rgba(255,255,255,.3)}
.btn-go:hover{filter:brightness(1.12);box-shadow:0 0 26px rgba(0,229,255,.6)}
.btn-copy.copied{background:rgba(16,185,129,.2);color:#34d399;border-color:rgba(52,211,153,.5);box-shadow:0 0 16px rgba(52,211,153,.3)}

.no-results{text-align:center;color:#5d7a86;padding:60px 0;font-size:14px}

/* ---------- 页脚 ---------- */
footer{position:relative;background:rgba(6,9,20,.8);border-top:1px solid rgba(0,229,255,.14);padding:34px 0;text-align:center;font-size:13px;color:#7fb8c6;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
footer::before{content:"";position:absolute;top:-1px;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(0,229,255,.5),transparent)}
footer p{margin:6px 0}
footer .links a{color:#5ee7ff}
#backTop{position:fixed;right:24px;bottom:24px;width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg,#00e5ff,#4f6bff);color:#03131c;border:0;font-size:19px;font-weight:800;cursor:pointer;
  box-shadow:0 0 22px rgba(0,229,255,.5);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:40}
#backTop.show{opacity:1;pointer-events:auto}
#backTop:hover{transform:translateY(-2px);box-shadow:0 0 32px rgba(0,229,255,.7)}

/* ---------- 响应式 ---------- */
@media (max-width:880px){
  .grid{grid-template-columns:1fr}
  .sidebar{position:static}
  .stats{grid-template-columns:1fr 1fr 1fr}
  .stats > div{flex-direction:column;align-items:flex-start;gap:2px}
  .hero{padding:56px 0 42px}
  .nav a{font-size:13px}
  .brand-name{display:none}
}
@media (max-width:480px){
  .wrap{padding:0 16px}
  .grid-cards{grid-template-columns:1fr 1fr;gap:12px}
  .cover{height:110px;font-size:32px}
  .body-r{padding:11px 13px 13px}
  .body-r h3{font-size:13.5px}
  .btn-c{padding:8px 0;font-size:12px}
}

/* ---------- 无障碍：减少动态 ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}
