:root{
    --brand:#06b6d4;
    --accent:#ec4899;
    --bg:#0c0a1a;
    --ink:#e0f2fe;
    --panel:rgba(224,242,254,0.05);
    --line:rgba(224,242,254,0.12);
    --radius-card:18px;
    --radius-pill:999px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:"Inter","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
    letter-spacing:.2px;
    overflow-x:hidden;
  }
  h1,h2,h3,.hand{
    font-weight:800;
    letter-spacing:.5px;
  }
  a{text-decoration:none;}
  ::selection{background:var(--accent);color:#fff;}

  /* ---------- 导航 ---------- */
  .topbar{
    position:fixed;top:0;left:0;right:0;z-index:1030;
    backdrop-filter:blur(14px);
    background:rgba(12,10,26,.78);
    border-bottom:1px solid var(--line);
  }
  .navbar-brand{
    font-weight:900;font-size:1.32rem;color:var(--ink)!important;
    display:flex;align-items:center;gap:.5rem;
  }
  .navbar-brand .brand-dot{
    width:12px;height:12px;border-radius:50%;
    background:linear-gradient(135deg,var(--brand),var(--accent));
    box-shadow:0 0 14px var(--brand);
  }
  .nav-link{
    color:rgba(224,242,254,.78)!important;
    font-weight:500;font-size:.94rem;
    padding:.45rem .9rem!important;border-radius:var(--radius-pill);
    transition:.25s;
  }
  .nav-link:hover{color:#fff!important;background:rgba(6,182,212,.16);}
  .navbar-toggler{border:1px solid var(--line);color:var(--ink);}
  .navbar-toggler:focus{box-shadow:none;}

  /* ---------- Hero ---------- */
  .hero{
    position:relative;
    min-height:88vh;
    display:flex;align-items:center;
    padding:130px 0 90px;
    overflow:hidden;
  }
  .hero-bg{
    position:absolute;inset:0;
    background:
      radial-gradient(circle at 18% 20%,rgba(6,182,212,.34),transparent 46%),
      radial-gradient(circle at 82% 72%,rgba(236,72,153,.32),transparent 48%),
      linear-gradient(180deg,#0c0a1a 0%,#120e26 55%,#0c0a1a 100%);
    z-index:-2;
  }
  .hero-bg::after{
    content:"";
    position:absolute;inset:0;
    background-image:
      linear-gradient(rgba(224,242,254,.045) 1px,transparent 1px),
      linear-gradient(90deg,rgba(224,242,254,.045) 1px,transparent 1px);
    background-size:52px 52px;
    mask-image:radial-gradient(circle at 50% 40%,#000 20%,transparent 78%);
  }
  .hero-title{
    font-size:clamp(2.6rem,7vw,4rem);
    line-height:1.06;
    margin-bottom:1.1rem;
  }
  .hero-title .typed{
    background:linear-gradient(100deg,var(--brand),var(--accent));
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;
    border-right:3px solid var(--brand);
    padding-right:4px;
    animation:caret 1s step-end infinite;
  }
  @keyframes caret{50%{border-color:transparent;}}
  .hero-sub{
    color:rgba(224,242,254,.7);
    font-size:1.03rem;max-width:620px;line-height:1.9;
  }
  .btn-neon{
    border-radius:var(--radius-pill);
    padding:.78rem 1.8rem;
    font-weight:700;font-size:.95rem;
    border:none;
    background:linear-gradient(120deg,var(--brand),var(--accent));
    color:#fff;
    box-shadow:0 10px 30px rgba(6,182,212,.28);
    transition:.28s;
  }
  .btn-neon:hover{transform:translateY(-3px);color:#fff;box-shadow:0 16px 38px rgba(236,72,153,.36);}
  .btn-ghost{
    border-radius:var(--radius-pill);
    padding:.78rem 1.8rem;font-weight:600;font-size:.95rem;
    border:1px solid var(--line);
    color:var(--ink);background:transparent;
    transition:.28s;
  }
  .btn-ghost:hover{border-color:var(--brand);color:var(--brand);}
  .hero-stat{
    display:flex;gap:2.2rem;flex-wrap:wrap;margin-top:2.4rem;
  }
  .hero-stat b{display:block;font-size:1.75rem;color:var(--brand);font-weight:900;}
  .hero-stat span{font-size:.8rem;color:rgba(224,242,254,.6);}

  /* ---------- 通用区块 ---------- */
  section{padding:74px 0;}
  .sec-head{margin-bottom:2.2rem;}
  .sec-head h2{font-size:clamp(1.6rem,3.4vw,2.25rem);margin:0;}
  .sec-head p{color:rgba(224,242,254,.58);margin:.55rem 0 0;font-size:.94rem;}
  .sec-tag{
    display:inline-block;
    font-size:.74rem;font-weight:700;letter-spacing:1.6px;
    color:var(--brand);text-transform:uppercase;
    border:1px solid rgba(6,182,212,.4);
    border-radius:var(--radius-pill);
    padding:.25rem .85rem;margin-bottom:.9rem;
  }

  /* ---------- 海报网格 ---------- */
  .poster-grid{
    display:grid;
    gap:1.15rem;
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
  .poster-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
  @media(max-width:1199px){
    .poster-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
    .poster-grid.cols-4{grid-template-columns:repeat(3,minmax(0,1fr));}
  }
  @media(max-width:767px){
    .poster-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;}
    .poster-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr));}
  }
  @media(max-width:480px){
    .poster-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  }
  .pcard{
    position:relative;
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:var(--radius-card);
    overflow:hidden;
    transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
    cursor:pointer;
    display:block;
  }
  .pcard:hover{
    transform:translateY(-6px) scale(1.028);
    border-color:var(--brand);
    box-shadow:0 18px 42px rgba(6,182,212,.24);
  }
  .pcard .thumb{
    width:100%;aspect-ratio:2/3;object-fit:cover;
    display:block;background:#151233;
    opacity:0;transition:opacity .6s ease;
  }
  .pcard .thumb.in{opacity:1;}
  .pcard .meta{padding:.7rem .8rem .85rem;}
  .pcard .meta h3{
    font-size:.9rem;font-weight:700;margin:0 0 .35rem;
    color:var(--ink);line-height:1.35;
    display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
  }
  .pcard .meta .rowline{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:rgba(224,242,254,.6);}
  .badge-ep{
    position:absolute;top:8px;left:8px;z-index:2;
    font-size:.68rem;font-weight:700;
    padding:.2rem .55rem;
    border-radius:var(--radius-pill);
    background:rgba(12,10,26,.82);
    border:1px solid rgba(6,182,212,.55);
    color:var(--brand);
    backdrop-filter:blur(4px);
  }
  .badge-score{
    position:absolute;top:8px;right:8px;z-index:2;
    font-size:.7rem;font-weight:800;
    padding:.2rem .55rem;
    border-radius:var(--radius-pill);
    background:linear-gradient(120deg,var(--brand),var(--accent));
    color:#fff;
  }
  .stars{color:var(--accent);font-size:.68rem;letter-spacing:1px;}

  /* ---------- 特色图标列表 ---------- */
  .feat-item{
    display:flex;gap:1rem;
    padding:1.15rem 1.1rem;
    border-radius:var(--radius-card);
    border:1px solid var(--line);
    background:var(--panel);
    height:100%;
    transition:.3s;
  }
  .feat-item:hover{border-color:var(--brand);transform:translateY(-4px);}
  .feat-item i{
    font-size:1.15rem;color:var(--brand);
    width:44px;height:44px;flex:0 0 44px;
    display:flex;align-items:center;justify-content:center;
    border-radius:var(--radius-pill);
    background:rgba(6,182,212,.13);
  }
  .feat-item h3{font-size:1rem;margin:0 0 .35rem;}
  .feat-item p{font-size:.86rem;color:rgba(224,242,254,.6);margin:0;line-height:1.7;}

  /* ---------- 排行榜 ---------- */
  .rank-list{border-top:1px solid var(--line);}
  .rank-row{
    display:flex;align-items:center;gap:1rem;
    padding:1rem .4rem;
    border-bottom:1px solid var(--line);
    transition:.25s;
  }
  .rank-row:hover{background:rgba(6,182,212,.06);padding-left:.9rem;}
  .rank-no{
    font-size:1.25rem;font-weight:900;font-style:italic;
    width:42px;text-align:center;
    color:rgba(224,242,254,.32);
  }
  .rank-row.top .rank-no{
    background:linear-gradient(120deg,var(--brand),var(--accent));
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  }
  .rank-row img{
    width:54px;height:78px;object-fit:cover;border-radius:10px;
    background:#151233;flex:0 0 54px;
  }
  .rank-info{flex:1;min-width:0;}
  .rank-info h3{font-size:.96rem;margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .rank-info span{font-size:.79rem;color:rgba(224,242,254,.55);}
  .rank-heat{
    font-size:.78rem;font-weight:800;color:var(--accent);
    white-space:nowrap;
  }

  /* ---------- 手风琴 ---------- */
  .accordion-item{
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:var(--radius-card)!important;
    margin-bottom:.85rem;
    overflow:hidden;
  }
  .accordion-button{
    background:transparent;color:var(--ink);
    font-weight:700;font-size:.96rem;
    box-shadow:none!important;
  }
  .accordion-button:not(.collapsed){
    background:rgba(6,182,212,.1);color:var(--brand);
  }
  .accordion-button::after{filter:invert(1) sepia(1) saturate(4) hue-rotate(140deg);}
  .accordion-body{color:rgba(224,242,254,.66);font-size:.9rem;line-height:1.9;}

  /* ---------- 即将上线 ---------- */
  .soon-card{
    border-radius:var(--radius-card);
    border:1px solid var(--line);
    background:linear-gradient(160deg,rgba(6,182,212,.12),rgba(236,72,153,.08));
    padding:1.25rem 1.2rem;
    height:100%;
    transition:.3s;
  }
  .soon-card:hover{border-color:var(--accent);transform:translateY(-5px);}
  .soon-card .date{
    font-size:.75rem;font-weight:800;color:var(--accent);
    letter-spacing:1px;
  }
  .soon-card h3{font-size:1.02rem;margin:.55rem 0 .4rem;}
  .soon-card p{font-size:.85rem;color:rgba(224,242,254,.58);margin:0;line-height:1.7;}

  /* ---------- 友链 & 页脚 ---------- */
  .friendzone{
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    background:rgba(224,242,254,.025);
  }
  .friendzone .fl-link{
    color:rgba(224,242,254,.7);font-size:.9rem;
    border:1px dashed var(--line);
    border-radius:var(--radius-pill);
    padding:.35rem 1rem;display:inline-block;
    transition:.25s;
  }
  .friendzone .fl-link:hover{border-color:var(--brand);color:var(--brand);}
  footer{
    padding:56px 0 30px;
    font-size:.88rem;
    color:rgba(224,242,254,.55);
  }
  footer h4{font-size:.95rem;color:var(--ink);margin-bottom:1rem;font-weight:800;}
  footer a{color:rgba(224,242,254,.62);display:block;padding:.22rem 0;transition:.2s;}
  footer a:hover{color:var(--brand);}
  .foot-bottom{
    border-top:1px solid var(--line);
    margin-top:2rem;padding-top:1.4rem;
    font-size:.82rem;color:rgba(224,242,254,.45);
  }

  /* ---------- 回到顶部 ---------- */
  #toTop{
    position:fixed;right:20px;bottom:26px;z-index:1040;
    width:48px;height:48px;border-radius:50%;
    border:none;
    background:linear-gradient(120deg,var(--brand),var(--accent));
    color:#fff;font-size:1rem;
    box-shadow:0 10px 26px rgba(6,182,212,.35);
    opacity:0;pointer-events:none;transform:translateY(14px);
    transition:.35s;
  }
  #toTop.show{opacity:1;pointer-events:auto;transform:translateY(0);}
  #toTop:hover{transform:scale(1.08);}

  @media(max-width:991px){
    section{padding:56px 0;}
    .hero{min-height:auto;padding:118px 0 70px;}
    .hero-stat{gap:1.5rem;}
  }

/* --- 子页面追加 --- */
.guide-lead {color:var(--ink);opacity:.85;font-size:1.02rem;line-height:1.95;max-width:820px}
.guide-card {background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-card);padding:26px 24px;height:100%;transition:.25s}
.guide-card:hover {border-color:rgba(6,182,212,.5);transform:translateY(-3px)}
.guide-card .gc-ico {width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,rgba(6,182,212,.22),rgba(236,72,153,.22));color:var(--brand);font-size:1.15rem;margin-bottom:14px}
.guide-card h3 {font-size:1.06rem;font-weight:700;color:var(--ink);margin-bottom:10px}
.guide-card p {color:var(--ink);opacity:.72;font-size:.9rem;line-height:1.8;margin:0}
.step-list {counter-reset:step;list-style:none;padding:0;margin:0}
.step-list li {counter-increment:step;position:relative;padding:14px 0 14px 52px;border-bottom:1px dashed var(--line);color:var(--ink);opacity:.85;font-size:.93rem;line-height:1.85}
.step-list li:last-child {border-bottom:none}
.step-list li::before {content:counter(step);position:absolute;left:0;top:14px;width:32px;height:32px;border-radius:50%;
    background:linear-gradient(135deg,var(--brand),var(--accent));color:#0c0a1a;font-weight:800;font-size:.85rem;
    display:flex;align-items:center;justify-content:center}
.step-list li strong {color:var(--ink);opacity:1}
.tip-box {background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--accent);
    border-radius:12px;padding:16px 20px;color:var(--ink);opacity:.85;font-size:.9rem;line-height:1.85;margin-top:22px}
.tip-box i {color:var(--accent);margin-right:8px}
.faq-item {background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-card);margin-bottom:14px;overflow:hidden}
.faq-q {padding:18px 22px;font-weight:600;color:var(--ink);font-size:.97rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq-q i {color:var(--brand);transition:.25s;flex-shrink:0}
.faq-a {padding:0 22px 18px;color:var(--ink);opacity:.72;font-size:.9rem;line-height:1.85}
.faq-item.open .faq-q i {transform:rotate(180deg)}
.faq-a {display:none}
.faq-item.open .faq-a {display:block}
.quality-table {width:100%;border-collapse:collapse;background:var(--panel);border-radius:var(--radius-card);overflow:hidden}
.quality-table th,.quality-table td {padding:14px 18px;text-align:left;font-size:.88rem;border-bottom:1px solid var(--line);color:var(--ink)}
.quality-table th {color:var(--brand);font-weight:700;background:rgba(6,182,212,.06)}
.quality-table td {opacity:.78}
.quality-table tr:last-child td {border-bottom:none}
.time-tag {display:inline-block;padding:3px 12px;border-radius:var(--radius-pill);font-size:.78rem;font-weight:600;
    background:rgba(6,182,212,.15);color:var(--brand);margin:0 6px 6px 0}

/* --- 子页面追加 --- */
.about-hero {padding:96px 0 56px;position:relative;overflow:hidden;}
.about-hero::after {content:"";position:absolute;inset:0;background:radial-gradient(600px 320px at 78% 12%,rgba(6,182,212,.18),transparent 70%),radial-gradient(520px 300px at 12% 88%,rgba(236,72,153,.14),transparent 72%);pointer-events:none;}
.about-hero .container {position:relative;z-index:2;}
.about-lead {color:var(--ink);opacity:.78;max-width:760px;font-size:1.02rem;line-height:1.95;}
.about-block {padding:8px 0 0;}
.about-card {background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-card);padding:26px 24px;height:100%;transition:.25s;}
.about-card:hover {border-color:rgba(6,182,212,.45);transform:translateY(-3px);}
.about-card h3 {font-size:1.05rem;font-weight:700;color:var(--ink);margin:0 0 12px;display:flex;align-items:center;gap:10px;}
.about-card h3 i {color:var(--brand);font-size:.95rem;}
.about-card p {color:var(--ink);opacity:.7;font-size:.92rem;line-height:1.85;margin:0;}
.about-num {font-size:2rem;font-weight:800;color:var(--brand);letter-spacing:-.02em;line-height:1;}
.about-num.accent {color:var(--accent);}
.about-fact {background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-card);padding:22px 20px;}
.about-fact .t {font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);opacity:.5;margin-bottom:8px;}
.about-fact .v {font-size:1.5rem;font-weight:800;color:var(--ink);}
.about-list {list-style:none;padding:0;margin:0;}
.about-list li {display:flex;gap:12px;padding:14px 0;border-bottom:1px dashed var(--line);color:var(--ink);opacity:.78;font-size:.94rem;line-height:1.8;}
.about-list li:last-child {border-bottom:none;}
.about-list li i {color:var(--accent);margin-top:4px;}
.about-quote {border-left:3px solid var(--brand);padding:6px 0 6px 20px;color:var(--ink);opacity:.72;font-size:.98rem;line-height:1.9;font-style:italic;}
.about-cta {background:linear-gradient(120deg,rgba(6,182,212,.14),rgba(236,72,153,.12));border:1px solid var(--line);border-radius:var(--radius-card);padding:34px 28px;}
.about-cta h2 {font-size:1.35rem;font-weight:800;color:var(--ink);margin:0 0 12px;}
.about-cta p {color:var(--ink);opacity:.7;font-size:.94rem;line-height:1.85;margin:0 0 18px;}
.about-hero {padding:64px 0 36px;}
.about-num {font-size:1.6rem;}

/* --- 子页面追加 --- */
/* 本页专属少量样式，仅用于免责声明正文排版 */
  .legal-wrap { max-width: 900px; margin: 0 auto; }
.legal-card {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    padding: 28px 26px;
    margin-bottom: 22px;
  }
.legal-card h2 {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--ink);
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
  }
.legal-card h2 i { color: var(--brand); font-size: 1.05rem; }
.legal-card h3 {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--brand);
    margin: 18px 0 8px;
  }
.legal-card p, .legal-card li {
    color: var(--ink);
    opacity: .82;
    line-height: 1.95;
    font-size: .95rem;
    margin-bottom: 8px;
  }
.legal-card ul { padding-left: 20px; }
.legal-card li { margin-bottom: 6px; }
.legal-card strong { color: var(--ink); opacity: 1; font-weight: 700; }
.legal-meta {
    display: flex; flex-wrap: wrap; gap: 10px 22px;
    font-size: .85rem; color: var(--ink); opacity: .6;
    border-bottom: 1px dashed var(--line);
    padding-bottom: 16px; margin-bottom: 22px;
  }
.legal-meta i { color: var(--accent); margin-right: 6px; }
.legal-tip {
    border-left: 3px solid var(--accent);
    background: rgba(236,72,153,.07);
    border-radius: 10px;
    padding: 14px 18px;
    margin-top: 14px;
  }
.legal-tip p { opacity: .9; margin: 0; }
.legal-steps { counter-reset: step; list-style: none; padding-left: 0; }
.legal-steps li {
    counter-increment: step;
    position: relative;
    padding-left: 40px;
    margin-bottom: 12px;
  }
.legal-steps li::before {
    content: counter(step);
    position: absolute; left: 0; top: 2px;
    width: 26px; height: 26px; border-radius: 50%;
    background: rgba(6,182,212,.15);
    border: 1px solid var(--brand);
    color: var(--brand);
    font-size: .8rem; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
  }
.legal-card { padding: 20px 16px; }
.legal-card h2 { font-size: 1.15rem; }

/* --- 子页面追加 --- */
.map-hero {padding:120px 0 40px;position:relative}
.map-hero h1 {font-size:clamp(1.7rem,4vw,2.7rem);font-weight:800;line-height:1.25}
.map-hero p {color:rgba(224,242,254,.7);max-width:720px;margin-top:14px}
.map-block {background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-card);padding:26px 24px;height:100%}
.map-block h2 {font-size:1.15rem;font-weight:700;margin-bottom:6px;display:flex;align-items:center;gap:10px}
.map-block h2 i {color:var(--brand);font-size:1rem}
.map-block .map-note {font-size:.85rem;color:rgba(224,242,254,.55);margin-bottom:16px}
.map-list {list-style:none;padding:0;margin:0}
.map-list li {border-bottom:1px dashed var(--line);padding:9px 0}
.map-list li:last-child {border-bottom:0}
.map-list a {color:var(--ink);text-decoration:none;font-size:.95rem;display:flex;align-items:center;gap:9px;transition:.2s}
.map-list a:hover {color:var(--brand);transform:translateX(4px)}
.map-list a i {font-size:.7rem;color:rgba(224,242,254,.35)}
.map-list .tag-new {font-size:.65rem;padding:2px 7px;border-radius:var(--radius-pill);background:rgba(236,72,153,.18);color:var(--accent);margin-left:auto}
.map-tip {background:linear-gradient(135deg,rgba(6,182,212,.12),rgba(236,72,153,.08));border:1px solid var(--line);border-radius:var(--radius-card);padding:22px 24px}
.map-tip h3 {font-size:1.05rem;font-weight:700;margin-bottom:10px}
.map-tip p {color:rgba(224,242,254,.72);font-size:.92rem;margin:0}
.map-tip code {background:rgba(0,0,0,.35);color:var(--brand);padding:1px 6px;border-radius:6px;font-size:.85rem}

/* --- Bootstrap 组件配色适配(程序自动补,避免白底黑字) --- */
.accordion-header { background:transparent !important; }
