*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:'PingFang SC','Microsoft YaHei','Segoe UI',Roboto,system-ui,-apple-system,sans-serif;
}
html{
  -webkit-text-size-adjust:100%;
  -webkit-tap-highlight-color:transparent;
}
body{
  background:#0b0b0f;
  color:#eaeef2;
  line-height:1.5;
  overflow-x:hidden;
}
img{
  max-width:100%;
  height:auto;
  display:block;
}
a{text-decoration:none;}
.container{
  max-width:1300px;
  margin:0 auto;
  padding:0 20px;
}
.header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 0;
  flex-wrap:wrap;
  gap:12px;
  border-bottom:1px solid #2a2a32;
}
.logo{
  display:flex;
  align-items:center;
  gap:10px;
}
.logo img{
  height:36px;
  width:auto;
  border-radius:8px;
  object-fit:cover;
  box-shadow:0 4px 12px rgba(255,140,0,.3);
}
.logo span{
  font-size:1.4rem;
  font-weight:700;
  background:linear-gradient(135deg,#ffb347,#ff7e5f);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  letter-spacing:1px;
  white-space:nowrap;
}
.download-btn-top{
  background:linear-gradient(145deg,#ff6b4a,#d93e1f);
  color:#fff;
  padding:10px 20px;
  border-radius:40px;
  font-weight:600;
  font-size:.95rem;
  display:inline-flex;
  align-items:center;
  gap:8px;
  box-shadow:0 6px 14px rgba(255,80,40,.4);
  transition:.2s ease;
  border:1px solid #ff9166;
  white-space:nowrap;
}
.download-btn-top:hover{
  transform:scale(1.02);
  background:linear-gradient(145deg,#ff7e5f,#c93214);
  box-shadow:0 10px 20px rgba(255,80,40,.6);
}
.hero{
  display:flex;
  flex-wrap:wrap;
  gap:30px;
  align-items:center;
  margin:32px 0 28px;
  background:#15151e;
  border-radius:32px;
  padding:30px;
  border:1px solid #30303c;
  box-shadow:0 15px 35px rgba(0,0,0,.7);
}
.hero-text{
  flex:1 1 320px;
  min-width:0;
}
.hero-text h1{
  font-size:clamp(1.7rem,5vw,2.8rem);
  line-height:1.2;
  background:linear-gradient(130deg,#ffe6a7,#ffb347,#ff6b4a);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  margin-bottom:14px;
  font-weight:800;
  word-break:break-word;
}
.hero-text p{
  font-size:clamp(.95rem,2.5vw,1.15rem);
  color:#b9c2d0;
  margin-bottom:22px;
  max-width:600px;
}
.hero-badge{
  background:#2d2d3a;
  padding:8px 16px;
  border-radius:30px;
  display:inline-block;
  margin-bottom:20px;
  color:#ffb347;
  font-weight:500;
  font-size:.9rem;
  border-left:4px solid #ff6b4a;
}
.btn-group{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.btn-primary,.btn-secondary{
  padding:12px 28px;
  border-radius:40px;
  font-weight:700;
  font-size:.95rem;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:all .2s;
}
.btn-primary{
  background:linear-gradient(145deg,#ff6b4a,#d93e1f);
  color:#fff;
  box-shadow:0 8px 18px #ff4a2a60;
  border:1px solid #ff9f7a;
}
.btn-primary:hover{
  background:linear-gradient(145deg,#ff8566,#c03010);
  transform:translateY(-2px);
  box-shadow:0 14px 24px #ff4a2a90;
}
.btn-secondary{
  background:transparent;
  color:#ffe0b5;
  border:2px solid #ffb347;
}
.btn-secondary:hover{
  background:#ffb34720;
  border-color:#ffd78c;
  color:#fff;
}
.hero-img{
  flex:1 1 280px;
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}
.hero-img img{
  width:120px;
  height:160px;
  object-fit:cover;
  border-radius:18px;
  box-shadow:0 20px 30px -8px #000;
  border:2px solid #3e3e4c;
  transition:transform .2s;
}
.hero-img img:hover{
  transform:scale(1.03);
  border-color:#ffb347;
}
.section-title{
  font-size:clamp(1.4rem,3.5vw,2rem);
  font-weight:700;
  margin:42px 0 22px;
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  letter-spacing:-.5px;
  flex-wrap:wrap;
}
.section-title .dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#ff7e5f;
  flex-shrink:0;
  box-shadow:0 0 10px #ff7e5f;
}
.section-title span{
  background:linear-gradient(120deg,#ffb86b,#ff5e3a);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.grid-5{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:18px;
}
.card{
  background:#181822;
  border-radius:20px;
  padding:16px;
  border:1px solid #2c2c38;
  transition:all .25s;
  box-shadow:0 8px 16px rgba(0,0,0,.5);
  display:flex;
  flex-direction:column;
}
.card:hover{
  border-color:#ff7e5f80;
  box-shadow:0 18px 30px -8px #ff6b4a30;
  transform:translateY(-4px);
}
.card img{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  border-radius:14px;
  background:#292934;
  border:1px solid #3b3b4a;
}
.card h3{
  font-size:1rem;
  margin:12px 0 4px;
  font-weight:600;
  color:#fff;
  word-break:break-word;
}
.card p{
  color:#a6b0c0;
  font-size:.82rem;
  margin-bottom:8px;
  flex:1;
}
.tag{
  display:inline-block;
  background:#2d2d3e;
  color:#ffb98a;
  font-size:.7rem;
  padding:3px 10px;
  border-radius:40px;
  border:1px solid #4f4f66;
  align-self:flex-start;
}
.qa-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:18px;
}
.qa-item{
  background:#13131c;
  border-radius:18px;
  padding:20px;
  border-left:5px solid #ff7e5f;
  border-right:1px solid #2b2b38;
  border-top:1px solid #2b2b38;
  border-bottom:1px solid #2b2b38;
}
.qa-item h3{
  font-size:1.05rem;
  color:#ffc899;
  margin-bottom:10px;
  display:flex;
  gap:8px;
  align-items:center;
  word-break:break-word;
}
.qa-item h3 .q{
  color:#ffb347;
  flex-shrink:0;
  font-weight:800;
}
.qa-item p{
  color:#b7c2d0;
  font-size:.9rem;
  margin-bottom:6px;
  padding-left:20px;
  position:relative;
  line-height:1.55;
}
.qa-item p::before{
  content:"·";
  position:absolute;
  left:6px;
  top:0;
  color:#ff7e5f;
  font-weight:800;
}
.download-banner{
  background:linear-gradient(110deg,#1d1d2b,#2a1f1a);
  border-radius:40px;
  padding:30px 35px;
  margin:48px 0 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:22px;
  border:1px solid #ff7e5f50;
  box-shadow:0 25px 30px -15px #000;
}
.download-text h2{
  font-size:clamp(1.4rem,4vw,2.2rem);
  font-weight:800;
  background:linear-gradient(145deg,#ffcd94,#ff6b4a);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  margin-bottom:6px;
}
.download-text p{
  color:#b0bac8;
  font-size:.95rem;
}
.download-btn-large{
  background:linear-gradient(145deg,#ff8a5c,#e63e1a);
  color:#fff;
  padding:16px 42px;
  border-radius:60px;
  font-size:1.2rem;
  font-weight:800;
  display:flex;
  align-items:center;
  gap:12px;
  box-shadow:0 15px 25px #ff4a2a80;
  border:2px solid #ffc8a2;
  transition:.2s;
  white-space:nowrap;
}
.download-btn-large:hover{
  transform:scale(1.03);
  background:linear-gradient(145deg,#ffa07a,#d4320c);
  box-shadow:0 20px 35px #ff4a2ac0;
}
.footer{
  margin-top:60px;
  padding:35px 0 28px;
  border-top:1px solid #262630;
  text-align:center;
  color:#8f99a8;
  font-size:.85rem;
}
.footer .links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:20px;
  margin-bottom:18px;
}
.footer .links a{
  color:#b9c2d0;
  transition:color .2s;
  font-size:.85rem;
}
.footer .links a:hover{color:#ffb347;}
.footer .copyright{
  margin-top:16px;
  color:#5e6878;
  font-size:.78rem;
  line-height:1.7;
}
.footer .copyright a{
  color:#7c8797;
  border-bottom:1px dotted #4a5260;
}
.footer .copyright a:hover{color:#ffb347;}
.record-line{
  margin-top:14px;
  font-size:.78rem;
  color:#5e6878;
}
.update-line{
  margin-top:8px;
  font-size:.75rem;
  color:#6c7787;
}
.update-line time{color:#8f99a8;}
.lore-section{
  background:#0e0e16;
  border-radius:32px;
  padding:28px 24px;
  margin:45px 0 20px;
  border:1px solid #2e2e40;
  box-shadow:inset 0 0 30px #00000055,0 10px 25px #00000080;
  position:relative;
  overflow:hidden;
}
.lore-section::before{
  content:"AI";
  position:absolute;
  top:-20px;
  right:6px;
  font-size:7rem;
  font-weight:900;
  color:#ffffff08;
  pointer-events:none;
  letter-spacing:-5px;
}
.lore-header{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:24px;
  flex-wrap:wrap;
}
.lore-header h2{
  font-size:clamp(1.3rem,3.5vw,2rem);
  background:linear-gradient(145deg,#d4af37,#ff9a5a);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  font-weight:800;
  letter-spacing:-.5px;
}
.lore-header .badge{
  background:#ff6b4a20;
  border:1px solid #ff6b4a;
  padding:5px 14px;
  border-radius:40px;
  font-size:.78rem;
  color:#ffb88a;
}
.lore-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px;
}
.lore-timeline{
  border-left:2px dashed #ff7e5f60;
  padding-left:22px;
  margin-left:6px;
}
.timeline-item{
  margin-bottom:22px;
  position:relative;
}
.timeline-item::before{
  content:"◆";
  position:absolute;
  left:-30px;
  top:0;
  color:#ffb347;
  font-size:1rem;
  background:#0e0e16;
  padding:2px;
}
.timeline-item h3{
  font-size:1.05rem;
  color:#ffd7a5;
  margin-bottom:6px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.timeline-item h3 span{
  background:#2d2d40;
  padding:2px 10px;
  border-radius:30px;
  font-size:.65rem;
  font-weight:400;
  color:#b0b8cc;
}
.timeline-item p{
  color:#b3bdd0;
  font-size:.88rem;
  padding-right:10px;
  line-height:1.6;
}
.lore-dossier{
  background:#12121d;
  border-radius:24px;
  padding:24px 20px 18px;
  border:1px solid #3f3f55;
  box-shadow:0 10px 20px -10px #000;
  position:relative;
  margin-top:10px;
}
.lore-dossier::after{
  content:"📁 剧集档案";
  position:absolute;
  top:-13px;
  left:20px;
  background:#ff7e5f;
  color:#0b0b0f;
  font-weight:800;
  font-size:.78rem;
  padding:3px 16px;
  border-radius:30px;
  letter-spacing:1px;
  box-shadow:0 6px 12px #ff4a2a40;
}
.dossier-row{
  display:flex;
  border-bottom:1px solid #2a2a3a;
  padding:11px 0;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:6px;
}
.dossier-row:last-child{border-bottom:none;}
.dossier-label{
  width:80px;
  flex-shrink:0;
  font-weight:700;
  color:#ffb88a;
  font-size:.82rem;
  letter-spacing:.5px;
}
.dossier-value{
  color:#ced6e6;
  font-size:.88rem;
  line-height:1.6;
  flex:1;
  min-width:140px;
}
.matrix-section{margin:55px 0 25px;}
.matrix-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:18px;
}
.matrix-card{
  background:#111118;
  border-radius:18px;
  padding:22px 20px;
  border:1px solid #2b2b3c;
  transition:.3s;
  position:relative;
  overflow:hidden;
  box-shadow:0 10px 20px -5px #000000aa;
}
.matrix-card:hover{
  border-color:#ffb34780;
  box-shadow:0 20px 35px -10px #ff6b4a40;
}
.matrix-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:5px;
  height:100%;
  background:linear-gradient(to bottom,#ff6b4a,#ffb347);
}
.matrix-card .num{
  font-size:2.5rem;
  font-weight:900;
  color:#ffffff08;
  position:absolute;
  bottom:0;
  right:8px;
  line-height:1;
}
.matrix-card h3{
  font-size:1.15rem;
  font-weight:700;
  margin-bottom:6px;
  color:#ffcc99;
}
.matrix-card .meta{
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:1.5px;
  color:#ff7e5f;
  margin-bottom:12px;
}
.matrix-card p{
  color:#b0bac8;
  font-size:.88rem;
  line-height:1.65;
  margin-bottom:16px;
}
.matrix-card .icon-row{
  display:flex;
  gap:10px;
  color:#6b7a8f;
  font-size:.78rem;
  border-top:1px dashed #303042;
  padding-top:14px;
  flex-wrap:wrap;
}
.quote-section{
  background:#0c0c13;
  border-radius:32px;
  padding:30px 28px;
  margin:45px 0 20px;
  border:1px solid #2f2f42;
  display:flex;
  flex-direction:column;
  gap:22px;
  box-shadow:0 20px 30px -15px #000;
}
.quote-title{
  font-size:clamp(1.4rem,3.5vw,2rem);
  font-weight:800;
  letter-spacing:-.5px;
  background:linear-gradient(135deg,#ffe4b5,#ff7e5f);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  display:flex;
  align-items:center;
  gap:12px;
}
.quote-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:22px;
}
.quote-block{
  background:#14141e;
  border-radius:20px;
  padding:26px 20px 20px;
  border:1px solid #35354b;
  position:relative;
  transition:.2s;
}
.quote-block:hover{
  background:#1a1a28;
  border-color:#ffb34780;
}
.quote-block::before{
  content:"“";
  position:absolute;
  top:-8px;
  left:12px;
  font-size:4rem;
  color:#ff7e5f30;
  font-family:serif;
  line-height:1;
}
.quote-block .quote-text{
  font-size:1rem;
  font-weight:500;
  color:#f0e6d8;
  line-height:1.6;
  margin-bottom:16px;
  font-style:italic;
  position:relative;
  z-index:1;
}
.quote-block .quote-source{
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-top:1px solid #303048;
  padding-top:12px;
  color:#a6b0c0;
  font-size:.82rem;
  flex-wrap:wrap;
  gap:8px;
}
.quote-source .character{
  font-weight:700;
  color:#ffb88a;
}
.quote-source .ep{
  background:#2b2b3a;
  padding:2px 10px;
  border-radius:40px;
  font-size:.7rem;
  color:#b0bac8;
  white-space:nowrap;
}
.quote-analysis{
  margin-top:22px;
  background:#0f0f1a;
  border-radius:20px;
  padding:22px 22px;
  border-left:6px solid #ff7e5f;
  border-right:1px solid #2b2b3f;
}
.quote-analysis h4{
  color:#ffcb94;
  font-size:1.15rem;
  margin-bottom:10px;
}
.quote-analysis p{
  color:#b8c2d4;
  font-size:.9rem;
  line-height:1.75;
}
.wall{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:16px;
}
.wall figure{
  background:#15151f;
  border:1px solid #2c2c3a;
  border-radius:18px;
  overflow:hidden;
}
.wall img{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
}
.wall figcaption{
  padding:10px 12px 12px;
  font-size:.78rem;
  color:#9fa9ba;
  line-height:1.5;
}
@media (max-width:1024px){
  .hero{gap:24px;}
}
@media (max-width:900px){
  .lore-grid{grid-template-columns:1fr;}
  .hero{border-radius:28px;padding:24px;}
}
@media (max-width:680px){
  .container{padding:0 15px;}
  .header{padding:12px 0;}
  .logo img{height:30px;}
  .logo span{font-size:1.15rem;}
  .download-btn-top{padding:8px 14px;font-size:.82rem;}
  .hero{padding:20px 18px;gap:22px;margin:24px 0 20px;border-radius:24px;}
  .hero-text h1{font-size:1.65rem;}
  .hero-img img{width:100px;height:135px;}
  .btn-primary,.btn-secondary{padding:10px 20px;font-size:.85rem;}
  .section-title{margin:32px 0 16px;gap:8px;}
  .grid-5{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px;}
  .card{padding:10px;border-radius:16px;}
  .card h3{font-size:.85rem;margin:8px 0 3px;}
  .card p{font-size:.7rem;margin-bottom:6px;}
  .tag{font-size:.6rem;padding:2px 8px;}
  .qa-grid{grid-template-columns:1fr;gap:14px;}
  .qa-item{padding:16px;border-radius:16px;}
  .qa-item h3{font-size:.95rem;}
  .qa-item p{font-size:.82rem;}
  .download-banner{padding:22px 18px;border-radius:28px;margin:36px 0 20px;flex-direction:column;align-items:flex-start;gap:18px;}
  .download-text h2{font-size:1.35rem;}
  .download-text p{font-size:.82rem;}
  .download-btn-large{padding:12px 28px;font-size:1rem;width:100%;justify-content:center;}
  .footer{margin-top:40px;padding:28px 0 22px;}
  .footer .links{gap:12px;}
  .footer .links a{font-size:.75rem;}
  .footer .copyright{font-size:.7rem;}
  .lore-section{padding:22px 16px;border-radius:24px;margin:36px 0 16px;}
  .lore-section::before{font-size:5rem;top:-10px;}
  .lore-header h2{font-size:1.3rem;}
  .lore-header .badge{font-size:.7rem;padding:4px 12px;}
  .lore-timeline{padding-left:18px;margin-left:2px;}
  .timeline-item::before{left:-26px;font-size:.85rem;}
  .timeline-item h3{font-size:.95rem;}
  .timeline-item p{font-size:.82rem;}
  .lore-dossier{padding:20px 16px 14px;}
  .dossier-label{width:68px;font-size:.75rem;}
  .dossier-value{font-size:.82rem;min-width:120px;}
  .matrix-grid{grid-template-columns:1fr;gap:14px;}
  .matrix-card{padding:18px 16px;}
  .matrix-card h3{font-size:1.05rem;}
  .matrix-card p{font-size:.82rem;}
  .quote-section{padding:22px 18px;border-radius:24px;margin:36px 0 16px;}
  .quote-grid{grid-template-columns:1fr;gap:16px;}
  .quote-block{padding:22px 16px 16px;}
  .quote-block .quote-text{font-size:.92rem;}
  .quote-source .ep{font-size:.65rem;}
  .quote-analysis{padding:18px 16px;}
  .quote-analysis h4{font-size:1rem;}
  .quote-analysis p{font-size:.82rem;}
  .wall{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;}
  .wall figcaption{font-size:.7rem;padding:8px 10px 10px;}
}
@media (max-width:380px){
  .hero-img img{width:85px;height:115px;}
  .btn-primary,.btn-secondary{padding:9px 16px;font-size:.8rem;}
  .grid-5{grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:10px;}
  .card h3{font-size:.78rem;}
  .card p{font-size:.65rem;}
}