
:root{
  --bg: #020617;
  --bg-soft: #0f172a;
  --panel: rgba(15, 23, 42, 0.86);
  --panel-strong: rgba(15, 23, 42, 0.96);
  --line: rgba(148, 163, 184, 0.16);
  --line-strong: rgba(148, 163, 184, 0.24);
  --text: #e2e8f0;
  --muted: #94a3b8;
  --primary: #22d3ee;
  --primary-2: #3b82f6;
  --accent: #facc15;
  --success: #34d399;
  --shadow: 0 18px 60px rgba(2, 6, 23, 0.45);
  --radius: 22px;
  --radius-sm: 14px;
  --container: 1280px;
}

*,
*::before,
*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: "Inter","PingFang SC","Microsoft YaHei","Noto Sans CJK SC",system-ui,sans-serif;
  background:
    radial-gradient(circle at top left, rgba(34,211,238,.10), transparent 35%),
    radial-gradient(circle at top right, rgba(59,130,246,.12), transparent 30%),
    radial-gradient(circle at bottom, rgba(250,204,21,.08), transparent 30%),
    linear-gradient(180deg, #020617 0%, #050b1b 40%, #020617 100%);
  color: var(--text);
  line-height:1.6;
  min-height:100vh;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
::selection{background:rgba(34,211,238,.25);color:#fff}

.container{width:min(100% - 32px, var(--container));margin-inline:auto}
.stack{display:grid;gap:18px}
.section{padding:28px 0}
.section-sm{padding:16px 0}
.section-head{
  display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px
}
.kicker{
  display:inline-flex;align-items:center;gap:8px;
  color:rgba(255,255,255,.88);font-size:12px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase
}
.kicker::before{
  content:"";width:10px;height:10px;border-radius:999px;
  background:linear-gradient(135deg,var(--primary),var(--primary-2));
  box-shadow:0 0 0 4px rgba(34,211,238,.12)
}
h1,h2,h3,h4,p{margin:0}
.title-xl{
  font-size:clamp(2.2rem,4vw,4.6rem);
  line-height:1.05;
  letter-spacing:-.04em;
}
.title-lg{font-size:clamp(1.6rem,2.2vw,2.4rem);line-height:1.1}
.title-md{font-size:1.15rem;line-height:1.2}
.muted{color:var(--muted)}
.lead{font-size:1.03rem;color:#cbd5e1;max-width:64ch}

.header{
  position:sticky;top:0;z-index:50;
  backdrop-filter: blur(18px);
  background: linear-gradient(180deg, rgba(2,6,23,.92), rgba(2,6,23,.62));
  border-bottom:1px solid rgba(148,163,184,.12);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  min-height:72px;
}
.brand{
  display:flex;align-items:center;gap:12px;min-width:0;
}
.brand-mark{
  width:44px;height:44px;border-radius:16px;flex:none;
  background:
    radial-gradient(circle at 30% 28%, rgba(255,255,255,.48), transparent 32%),
    linear-gradient(135deg, rgba(34,211,238,1), rgba(59,130,246,1) 68%, rgba(250,204,21,.92));
  box-shadow:0 14px 40px rgba(34,211,238,.22);
  position:relative;
}
.brand-mark::after{
  content:"";position:absolute;inset:9px;border-radius:12px;
  border:1px solid rgba(255,255,255,.55);
}
.brand-text{min-width:0}
.brand-text strong{
  display:block;
  font-size:1.05rem;
  line-height:1.1;
  background: linear-gradient(90deg, #e0f2fe, #22d3ee 48%, #60a5fa);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.brand-text span{
  display:block;
  font-size:.78rem;color:var(--muted);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

.nav{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.nav a{
  padding:10px 12px;border-radius:999px;color:#cbd5e1;
  transition:all .2s ease;border:1px solid transparent;
}
.nav a:hover,.nav a.active{
  color:#fff;background:rgba(34,211,238,.10);border-color:rgba(34,211,238,.22)
}
.header-actions{display:flex;align-items:center;gap:10px}
.icon-btn{
  width:42px;height:42px;border-radius:14px;border:1px solid rgba(148,163,184,.18);
  background:rgba(15,23,42,.72);color:#fff;display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;transition:transform .2s ease, border-color .2s ease, background .2s ease;
}
.icon-btn:hover{transform:translateY(-1px);border-color:rgba(34,211,238,.3);background:rgba(15,23,42,.95)}
.menu-toggle{display:none}

.hero{
  position:relative;
  padding:28px 0 10px;
}
.hero-shell{
  overflow:hidden;
  border:1px solid rgba(148,163,184,.12);
  border-radius:32px;
  background:
    radial-gradient(circle at top left, rgba(34,211,238,.12), transparent 30%),
    radial-gradient(circle at bottom right, rgba(250,204,21,.08), transparent 28%),
    linear-gradient(180deg, rgba(15,23,42,.92), rgba(2,6,23,.85));
  box-shadow: var(--shadow);
}
.hero-inner{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:24px;
  padding:28px;
  align-items:center;
}
.hero-copy{
  display:grid;gap:18px;
}
.hero-badges{
  display:flex;flex-wrap:wrap;gap:10px;
}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:999px;
  background:rgba(255,255,255,.04);border:1px solid rgba(148,163,184,.15);
  color:#e2e8f0;font-size:.88rem
}
.badge.hot{background:rgba(250,204,21,.10);border-color:rgba(250,204,21,.22);color:#fef08a}
.badge.cyan{background:rgba(34,211,238,.10);border-color:rgba(34,211,238,.22);color:#a5f3fc}
.hero-actions{
  display:flex;flex-wrap:wrap;gap:12px;align-items:center
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:46px;padding:0 18px;border-radius:16px;border:1px solid transparent;
  cursor:pointer;transition:transform .2s ease, background .2s ease, border-color .2s ease;
  font-weight:700;letter-spacing:.01em;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
  background:linear-gradient(135deg,var(--primary),var(--primary-2));
  color:#04111f;box-shadow:0 14px 34px rgba(34,211,238,.16)
}
.btn-secondary{
  background:rgba(15,23,42,.62);border-color:rgba(148,163,184,.18);color:#e2e8f0
}
.btn-secondary:hover{border-color:rgba(34,211,238,.28);background:rgba(15,23,42,.9)}
.searchbar{
  display:flex;gap:10px;align-items:center;
  padding:10px;border-radius:18px;background:rgba(2,6,23,.45);border:1px solid rgba(148,163,184,.14)
}
.searchbar input{
  flex:1;border:none;outline:none;background:transparent;color:#fff;
  min-width:0;font-size:1rem
}
.searchbar input::placeholder{color:#94a3b8}
.searchbar .btn{min-height:42px}

.hero-mosaic{
  display:grid;grid-template-columns:1fr 1fr;
  gap:14px;
}
.hero-card{
  position:relative;overflow:hidden;border-radius:24px;border:1px solid rgba(148,163,184,.14);
  background:rgba(15,23,42,.55);box-shadow:0 12px 30px rgba(2,6,23,.25);
}
.hero-card.large{grid-column:1 / -1;min-height:240px}
.hero-card .poster{
  width:100%;aspect-ratio: 16/10;object-fit:cover;display:block;
  filter:saturate(1.08) contrast(1.02);
}
.hero-card.large .poster{aspect-ratio:auto;min-height:240px}
.hero-card .overlay{
  position:absolute;inset:auto 0 0 0;
  padding:18px;
  background:linear-gradient(180deg, transparent, rgba(2,6,23,.94));
}
.hero-card .overlay h3{font-size:1.02rem;margin-bottom:4px}
.hero-card .overlay p{font-size:.85rem;color:#cbd5e1}
.hero-card .chip{
  display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:700;
  background:rgba(34,211,238,.14);border:1px solid rgba(34,211,238,.22);color:#a5f3fc;margin-bottom:10px;
}
.statbar{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;
}
.stat{
  padding:14px 16px;border-radius:18px;background:rgba(15,23,42,.58);
  border:1px solid rgba(148,163,184,.12);
}
.stat strong{display:block;font-size:1.2rem}
.stat span{display:block;color:var(--muted);font-size:.84rem}

.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.grid-6{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}

.card{
  position:relative;overflow:hidden;border-radius:22px;
  background:linear-gradient(180deg, rgba(15,23,42,.94), rgba(15,23,42,.72));
  border:1px solid rgba(148,163,184,.12);
  box-shadow:0 10px 30px rgba(2,6,23,.22);
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.card:hover{
  transform:translateY(-4px);
  border-color:rgba(34,211,238,.26);
  box-shadow:0 18px 42px rgba(2,6,23,.34);
}
.card .poster-wrap{
  position:relative;overflow:hidden;
  aspect-ratio: 2 / 3;
  background:#111827;
}
.card .poster-wrap img{
  width:100%;height:100%;object-fit:cover;transition:transform .3s ease, filter .3s ease;
}
.card:hover .poster-wrap img{transform:scale(1.04);filter:saturate(1.08)}
.card .meta{
  padding:14px 14px 15px;
  display:grid;gap:8px;
}
.card .meta h3{
  font-size:1rem;line-height:1.25;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.card .meta p{
  color:var(--muted);font-size:.86rem;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em;
}
.card .foot{
  display:flex;align-items:center;justify-content:space-between;gap:10px;color:#cbd5e1;font-size:.78rem
}
.pill{
  display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;
  background:rgba(34,211,238,.12);border:1px solid rgba(34,211,238,.16);color:#a5f3fc;font-weight:700;
}
.pill.amber{background:rgba(250,204,21,.12);border-color:rgba(250,204,21,.2);color:#fde68a}
.pill.gray{background:rgba(148,163,184,.10);border-color:rgba(148,163,184,.14);color:#dbeafe}

.panel{
  border-radius:28px;
  background:linear-gradient(180deg, rgba(15,23,42,.86), rgba(15,23,42,.68));
  border:1px solid rgba(148,163,184,.12);
  box-shadow:var(--shadow);
}
.panel .panel-inner{padding:22px}
.tabs{
  display:flex;flex-wrap:wrap;gap:10px
}
.tab{
  display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;
  border:1px solid rgba(148,163,184,.15);background:rgba(15,23,42,.55);color:#cbd5e1;
}
.tab.active{background:rgba(34,211,238,.12);border-color:rgba(34,211,238,.25);color:#dffcff}

.detail{
  display:grid;grid-template-columns: minmax(0, 1.1fr) 340px;gap:20px;align-items:start;
}
.player{
  overflow:hidden;border-radius:26px;background:#000;border:1px solid rgba(148,163,184,.12);box-shadow:var(--shadow)
}
.player video{
  width:100%;display:block;aspect-ratio: 16 / 9;background:#000;
}
.detail-hero{
  overflow:hidden;border-radius:28px;
  background:
    radial-gradient(circle at top left, rgba(34,211,238,.12), transparent 32%),
    linear-gradient(180deg, rgba(15,23,42,.88), rgba(2,6,23,.88));
  border:1px solid rgba(148,163,184,.12);
  box-shadow:var(--shadow);
}
.detail-hero-inner{
  display:grid;grid-template-columns: 280px 1fr;gap:20px;padding:20px;align-items:start;
}
.poster-lg{
  border-radius:24px;overflow:hidden;border:1px solid rgba(148,163,184,.12);
  box-shadow:0 14px 30px rgba(2,6,23,.25);
}
.poster-lg img{width:100%;aspect-ratio:2/3;object-fit:cover}
.detail-meta{display:grid;gap:14px}
.detail-meta .chips{display:flex;flex-wrap:wrap;gap:8px}
.detail-meta .info{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px
}
.info-box{
  padding:12px 14px;border-radius:18px;background:rgba(15,23,42,.58);border:1px solid rgba(148,163,184,.12)
}
.info-box span{display:block;color:var(--muted);font-size:.82rem}
.info-box strong{display:block;margin-top:4px;font-size:.95rem}
.copy{
  color:#cbd5e1;font-size:.98rem;line-height:1.8
}
.copy p{margin:0 0 10px}
.hr{height:1px;background:rgba(148,163,184,.12);margin:0}
.aside-list{display:grid;gap:10px}
.aside-item{
  display:grid;grid-template-columns:64px 1fr;gap:10px;align-items:center;
  padding:10px;border-radius:16px;background:rgba(15,23,42,.56);border:1px solid rgba(148,163,184,.1)
}
.aside-item img{width:64px;height:86px;object-fit:cover;border-radius:12px}
.aside-item h4{font-size:.92rem;line-height:1.25;margin-bottom:4px}
.aside-item p{font-size:.78rem;color:var(--muted)}
.footer{
  margin-top:24px;
  padding:30px 0 38px;color:#cbd5e1
}
.footer-inner{
  border-top:1px solid rgba(148,163,184,.12);
  padding-top:24px;
  display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap
}
.footer a{color:#cbd5e1}
.footer a:hover{color:#fff}
.small{font-size:.88rem;color:var(--muted)}
.pagination{
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center
}
.page-link{
  min-width:40px;height:40px;border-radius:12px;padding:0 12px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(15,23,42,.58);border:1px solid rgba(148,163,184,.14);color:#e2e8f0
}
.page-link.active{background:rgba(34,211,238,.14);border-color:rgba(34,211,238,.25);color:#fff}
.page-link.disabled{opacity:.4;pointer-events:none}
.form{
  display:grid;gap:14px
}
.field{
  display:grid;gap:8px
}
.field label{font-size:.92rem;color:#cbd5e1}
.field input,.field textarea,.field select{
  width:100%;padding:14px 16px;border-radius:16px;border:1px solid rgba(148,163,184,.16);
  background:rgba(2,6,23,.38);color:#fff;outline:none;
}
.field input:focus,.field textarea:focus,.field select:focus{border-color:rgba(34,211,238,.34);box-shadow:0 0 0 4px rgba(34,211,238,.08)}
.toolbar{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between
}
.result-count{color:#cbd5e1;font-size:.92rem}
.search-results{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.search-sidebar{
  display:grid;gap:14px
}
.note{
  padding:16px;border-radius:18px;background:rgba(250,204,21,.08);border:1px solid rgba(250,204,21,.16);color:#fde68a
}
.faq{
  display:grid;gap:12px
}
.faq-item{
  padding:16px;border-radius:18px;background:rgba(15,23,42,.58);border:1px solid rgba(148,163,184,.12)
}
.faq-item h3{margin-bottom:8px;font-size:1rem}
.faq-item p{color:#cbd5e1}
.mobile-only{display:none}

@media (max-width: 1100px){
  .hero-inner,.detail,.detail-hero-inner{grid-template-columns:1fr}
  .grid-6,.grid-4,.grid-3,.search-results{grid-template-columns:repeat(3,1fr)}
  .hero-card.large{min-height:200px}
}
@media (max-width: 860px){
  .nav{display:none}
  .nav.open{display:flex;position:absolute;left:16px;right:16px;top:72px;flex-direction:column;align-items:stretch;
    padding:14px;background:rgba(2,6,23,.96);border:1px solid rgba(148,163,184,.12);border-radius:20px;box-shadow:var(--shadow)}
  .menu-toggle{display:inline-flex}
  .hero-inner{padding:20px}
  .statbar{grid-template-columns:repeat(2,1fr)}
  .grid-6,.grid-4,.grid-3,.search-results{grid-template-columns:repeat(2,1fr)}
  .detail-meta .info{grid-template-columns:1fr 1fr}
  .mobile-only{display:block}
}
@media (max-width: 640px){
  .container{width:min(100% - 24px, var(--container))}
  .hero-shell,.panel,.detail-hero{border-radius:22px}
  .hero-inner,.panel .panel-inner,.detail-hero-inner{padding:16px}
  .title-xl{font-size:2rem}
  .grid-6,.grid-4,.grid-3,.search-results{grid-template-columns:1fr}
  .detail-meta .info,.statbar{grid-template-columns:1fr}
  .header-inner{min-height:66px}
  .brand-text span{display:none}
}
