/* roulang page: index */
:root{
      --bg:#07111f;
      --bg-2:#0b1728;
      --panel:#0e1a2c;
      --panel-2:#12233b;
      --card:#102238;
      --card-2:#15294a;
      --line:rgba(255,255,255,.09);
      --text:#eaf2ff;
      --muted:#a9b8cf;
      --muted-2:#7f90ab;
      --primary:#6ee7ff;
      --primary-2:#2dd4bf;
      --accent:#8b5cf6;
      --warm:#f97316;
      --good:#22c55e;
      --shadow:0 24px 60px rgba(0,0,0,.32);
      --shadow-soft:0 12px 32px rgba(3,10,22,.24);
      --radius:22px;
      --radius-sm:16px;
      --radius-xs:12px;
      --space:clamp(18px,2vw,28px);
      --container:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:system-ui,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
      background:
        radial-gradient(circle at 15% 0%, rgba(110,231,255,.14), transparent 30%),
        radial-gradient(circle at 95% 5%, rgba(139,92,246,.18), transparent 24%),
        linear-gradient(180deg, #06101d 0%, #081422 40%, #091424 100%);
      color:var(--text);
      line-height:1.7;
      overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none}
    a:hover{color:inherit}
    img{max-width:100%;display:block}
    ::selection{background:rgba(110,231,255,.24);color:#fff}
    .container-xxl{max-width:var(--container)}
    .site-header{
      position:sticky;top:0;z-index:1020;
      background:rgba(6,14,25,.72);
      backdrop-filter:blur(18px);
      border-bottom:1px solid rgba(255,255,255,.06);
    }
    .navbar{
      padding:14px 0;
    }
    .brand{
      display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.2px;
      color:var(--text);
    }
    .brand:hover{color:var(--text)}
    .brand-mark{
      width:42px;height:42px;border-radius:14px;display:grid;place-items:center;
      background:linear-gradient(135deg, rgba(110,231,255,.25), rgba(139,92,246,.34));
      border:1px solid rgba(255,255,255,.13);
      box-shadow:0 12px 28px rgba(0,0,0,.28);
      color:#fff;
    }
    .brand-text{display:flex;flex-direction:column;line-height:1.1}
    .brand-text strong{font-size:1rem}
    .brand-text span{font-size:.78rem;color:var(--muted)}
    .navbar-nav{align-items:center;gap:12px}
    .nav-link{
      color:var(--muted);
      padding:.7rem 1rem !important;
      border-radius:999px;
      transition:.24s ease;
    }
    .nav-link:hover,.nav-link:focus{
      color:var(--text);
      background:rgba(255,255,255,.06);
    }
    .nav-link.active{
      color:#04111d !important;
      background:linear-gradient(135deg, var(--primary), #9cf0ff);
      box-shadow:0 10px 24px rgba(110,231,255,.18);
    }
    .phase-wrap{
      display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;
    }
    .phase-chip{
      display:inline-flex;align-items:center;gap:8px;
      padding:.55rem .8rem;border-radius:999px;
      border:1px solid rgba(255,255,255,.1);
      background:rgba(255,255,255,.04);
      color:var(--muted);
      font-size:.84rem;
      white-space:nowrap;
    }
    .phase-chip .dot{width:8px;height:8px;border-radius:50%}
    .phase-chip.pre .dot{background:var(--warm);box-shadow:0 0 0 6px rgba(249,115,22,.14)}
    .phase-chip.on .dot{background:var(--good);box-shadow:0 0 0 6px rgba(34,197,94,.12)}
    .phase-chip.replay .dot{background:var(--primary);box-shadow:0 0 0 6px rgba(110,231,255,.12)}
    .navbar-toggler{
      border:1px solid rgba(255,255,255,.12);
      background:rgba(255,255,255,.05);
      color:var(--text);
      box-shadow:none !important;
    }
    .navbar-toggler-icon{
      filter:invert(1) brightness(1.15);
    }
    .hero{
      position:relative;
      padding:clamp(38px,5vw,72px) 0 28px;
      overflow:hidden;
    }
    .hero:before,.hero:after{
      content:"";
      position:absolute;
      inset:auto;
      border-radius:50%;
      pointer-events:none;
      filter:blur(4px);
    }
    .hero:before{
      width:340px;height:340px;left:-120px;top:30px;
      background:radial-gradient(circle, rgba(110,231,255,.17), transparent 70%);
    }
    .hero:after{
      width:420px;height:420px;right:-150px;top:10px;
      background:radial-gradient(circle, rgba(139,92,246,.18), transparent 70%);
    }
    .section{
      position:relative;
      padding:clamp(26px,4vw,44px) 0;
    }
    .section + .section{border-top:1px solid rgba(255,255,255,.05)}
    .eyebrow{
      display:inline-flex;align-items:center;gap:8px;
      padding:.45rem .82rem;border-radius:999px;
      background:rgba(110,231,255,.1);
      color:#bdf4ff;
      border:1px solid rgba(110,231,255,.18);
      font-size:.82rem;
      letter-spacing:.4px;
    }
    .eyebrow .spark{
      width:7px;height:7px;border-radius:50%;
      background:var(--primary);
      box-shadow:0 0 0 6px rgba(110,231,255,.12);
    }
    h1,h2,h3,h4{
      line-height:1.18;
      letter-spacing:-.02em;
      margin:0;
    }
    .hero h1{
      font-size:clamp(2.1rem,4.5vw,4.5rem);
      font-weight:900;
      max-width:11.5ch;
      margin-top:18px;
    }
    .section-title{
      font-size:clamp(1.55rem,2.8vw,2.45rem);
      font-weight:850;
    }
    .section-desc{
      color:var(--muted);
      max-width:72ch;
      margin-top:12px;
      font-size:1.02rem;
    }
    .hero-desc{
      color:#d7e4f7;
      max-width:58ch;
      margin-top:18px;
      font-size:1.05rem;
    }
    .hero-grid{
      display:grid;
      grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);
      gap:28px;
      align-items:stretch;
      position:relative;
      z-index:1;
    }
    .hero-panel{
      background:
        linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)),
        linear-gradient(135deg, rgba(18,35,59,.92), rgba(10,19,33,.92));
      border:1px solid rgba(255,255,255,.08);
      border-radius:calc(var(--radius) + 6px);
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .hero-copy{
      padding:clamp(22px,3.5vw,36px);
      min-height:100%;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap:24px;
    }
    .hero-topline{
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:10px;
    }
    .burst{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:.5rem .82rem;
      border-radius:999px;
      background:linear-gradient(135deg, rgba(249,115,22,.18), rgba(255,153,92,.1));
      border:1px solid rgba(249,115,22,.22);
      color:#ffd4b1;
      font-size:.84rem;
      box-shadow:0 10px 26px rgba(249,115,22,.08);
    }
    .burst i{color:#ffbc80}
    .hero-actions{
      display:flex;flex-wrap:wrap;gap:12px;align-items:center;
      margin-top:22px;
    }
    .btn{
      border-radius:999px;
      padding:.88rem 1.2rem;
      font-weight:700;
      transition:transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease, border-color .22s ease;
    }
    .btn:focus,.btn:active{
      box-shadow:none !important;
      outline:0 !important;
    }
    .btn-primary{
      border:0;
      color:#02111c;
      background:linear-gradient(135deg, #82efff, #8ef0da);
      box-shadow:0 16px 30px rgba(110,231,255,.16);
    }
    .btn-primary:hover{
      color:#02111c;
      transform:translateY(-2px);
      box-shadow:0 18px 38px rgba(110,231,255,.22);
    }
    .btn-outline-light{
      border:1px solid rgba(255,255,255,.15);
      color:var(--text);
      background:rgba(255,255,255,.03);
    }
    .btn-outline-light:hover{
      color:#fff;
      background:rgba(255,255,255,.08);
      border-color:rgba(255,255,255,.22);
      transform:translateY(-2px);
    }
    .btn-ghost{
      border:1px solid rgba(110,231,255,.18);
      background:rgba(110,231,255,.07);
      color:#dffbff;
    }
    .btn-ghost:hover{
      background:rgba(110,231,255,.12);
      color:#fff;
      transform:translateY(-2px);
    }
    .hero-stats{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:12px;
      margin-top:4px;
    }
    .stat{
      padding:14px 16px;
      border-radius:18px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
      min-height:92px;
    }
    .stat .num{
      display:block;
      font-size:1.4rem;
      font-weight:900;
      color:#fff;
      line-height:1.05;
    }
    .stat .label{
      display:block;
      color:var(--muted);
      font-size:.86rem;
      margin-top:8px;
    }
    .hero-form{
      display:grid;
      grid-template-columns:1.4fr .8fr auto;
      gap:10px;
      margin-top:20px;
      padding:12px;
      border-radius:22px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
    }
    .search-input,.select-input{
      height:54px;
      border-radius:16px;
      background:#0a1525;
      border:1px solid rgba(255,255,255,.1);
      color:var(--text);
      padding:0 16px;
    }
    .search-input::placeholder{color:var(--muted-2)}
    .search-input:focus,.select-input:focus{
      background:#0a1525;
      border-color:rgba(110,231,255,.45);
      color:var(--text);
      box-shadow:0 0 0 .18rem rgba(110,231,255,.12);
    }
    .hero-side{
      padding:18px;
      display:flex;
      flex-direction:column;
      gap:16px;
      min-height:100%;
    }
    .countdown-card{
      background:
        linear-gradient(180deg, rgba(110,231,255,.08), rgba(139,92,246,.08)),
        linear-gradient(135deg, rgba(18,35,59,.95), rgba(11,23,40,.95));
      border-radius:28px;
      border:1px solid rgba(255,255,255,.08);
      padding:22px;
      box-shadow:var(--shadow-soft);
    }
    .countdown-head{
      display:flex;justify-content:space-between;align-items:flex-start;gap:12px;
    }
    .countdown-head h3{
      font-size:1.2rem;font-weight:850;
    }
    .countdown-note{
      color:var(--muted);
      font-size:.9rem;
      margin-top:8px;
    }
    .countdown{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:10px;
      margin-top:18px;
    }
    .time-box{
      text-align:center;
      padding:14px 8px;
      border-radius:18px;
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.08);
    }
    .time-box strong{
      display:block;
      font-size:1.45rem;
      line-height:1;
      font-weight:900;
      color:#fff;
    }
    .time-box span{
      display:block;
      margin-top:8px;
      color:var(--muted);
      font-size:.8rem;
    }
    .hero-mini{
      display:grid;
      gap:12px;
    }
    .mini-card{
      border-radius:22px;
      padding:14px 16px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
      display:flex;
      gap:12px;
      align-items:center;
    }
    .mini-icon{
      width:44px;height:44px;border-radius:14px;
      display:grid;place-items:center;
      background:linear-gradient(135deg, rgba(110,231,255,.2), rgba(139,92,246,.22));
      color:#fff;
      flex:0 0 auto;
    }
    .mini-card h4{
      font-size:1rem;font-weight:800;margin-bottom:4px;
    }
    .mini-card p{
      margin:0;color:var(--muted);font-size:.88rem;
    }
    .track-shell{
      background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));
      border:1px solid rgba(255,255,255,.07);
      border-radius:28px;
      padding:18px;
      box-shadow:var(--shadow-soft);
    }
    .track-row{
      display:flex;
      gap:14px;
      overflow-x:auto;
      padding-bottom:8px;
      scroll-snap-type:x mandatory;
    }
    .track-row::-webkit-scrollbar{height:10px}
    .track-row::-webkit-scrollbar-thumb{
      background:linear-gradient(90deg, rgba(110,231,255,.35), rgba(139,92,246,.35));
      border-radius:999px;
    }
    .movie-card{
      flex:0 0 220px;
      scroll-snap-align:start;
      background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
      border:1px solid rgba(255,255,255,.08);
      border-radius:24px;
      overflow:hidden;
      box-shadow:0 10px 24px rgba(0,0,0,.18);
      transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    }
    .movie-card:hover{
      transform:translateY(-4px);
      border-color:rgba(110,231,255,.22);
      box-shadow:0 18px 36px rgba(0,0,0,.26);
    }
    .poster{
      position:relative;
      aspect-ratio:4/5;
      overflow:hidden;
      background:
        radial-gradient(circle at 20% 18%, rgba(110,231,255,.42), transparent 28%),
        radial-gradient(circle at 82% 20%, rgba(249,115,22,.28), transparent 22%),
        linear-gradient(145deg, #143257, #0f1f33 50%, #091423 100%);
    }
    .poster:after{
      content:"";
      position:absolute;inset:0;
      background:
        linear-gradient(180deg, transparent 0%, transparent 52%, rgba(4,10,18,.2) 70%, rgba(4,10,18,.86) 100%);
    }
    .poster-badge{
      position:absolute;top:14px;left:14px;z-index:2;
      padding:.35rem .65rem;border-radius:999px;
      background:rgba(7,17,31,.76);
      border:1px solid rgba(255,255,255,.1);
      color:#fff;font-size:.75rem;
    }
    .poster-badge.hot{background:rgba(249,115,22,.18);color:#ffd2b0;border-color:rgba(249,115,22,.22)}
    .poster-badge.free{background:rgba(34,197,94,.14);color:#c9f8d9;border-color:rgba(34,197,94,.22)}
    .poster-badge.new{background:rgba(110,231,255,.14);color:#d6fbff;border-color:rgba(110,231,255,.22)}
    .poster-title{
      position:absolute;left:16px;right:16px;bottom:16px;z-index:2;
    }
    .poster-title strong{
      display:block;font-size:1.12rem;font-weight:850;line-height:1.2;
    }
    .poster-title span{
      display:block;margin-top:8px;color:#d3deed;font-size:.84rem;
    }
    .movie-body{
      padding:15px 15px 16px;
    }
    .movie-body p{
      color:var(--muted);
      margin:10px 0 0;
      font-size:.9rem;
      min-height:40px;
    }
    .tag-row,.chip-row{
      display:flex;flex-wrap:wrap;gap:8px;
    }
    .tag{
      display:inline-flex;align-items:center;gap:6px;
      padding:.38rem .68rem;
      border-radius:999px;
      background:rgba(255,255,255,.05);
      color:#dbe8fb;
      border:1px solid rgba(255,255,255,.08);
      font-size:.78rem;
    }
    .tag i{color:#8feeff}
    .glance{
      display:grid;
      grid-template-columns:1.12fr .88fr;
      gap:18px;
      align-items:stretch;
    }
    .feature-card{
      background:
        radial-gradient(circle at 18% 14%, rgba(110,231,255,.14), transparent 24%),
        linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
      border:1px solid rgba(255,255,255,.08);
      border-radius:28px;
      overflow:hidden;
      box-shadow:var(--shadow-soft);
    }
    .feature-inner{
      padding:24px;
      height:100%;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap:18px;
    }
    .feature-banner{
      min-height:260px;
      border-radius:24px;
      background:
        radial-gradient(circle at 25% 20%, rgba(110,231,255,.28), transparent 26%),
        radial-gradient(circle at 78% 22%, rgba(249,115,22,.22), transparent 20%),
        linear-gradient(135deg, #183055, #101f33 52%, #0b1728 100%);
      border:1px solid rgba(255,255,255,.08);
      position:relative;
      overflow:hidden;
      padding:22px;
    }
    .feature-banner:before{
      content:"";
      position:absolute;inset:-20% auto auto -18%;
      width:280px;height:280px;border-radius:50%;
      background:radial-gradient(circle, rgba(110,231,255,.18), transparent 68%);
    }
    .feature-banner:after{
      content:"";
      position:absolute;right:-18px;bottom:-30px;
      width:180px;height:180px;border-radius:50%;
      background:radial-gradient(circle, rgba(139,92,246,.18), transparent 64%);
    }
    .feature-stack{
      position:relative;z-index:1;
      display:flex;flex-direction:column;justify-content:space-between;
      min-height:216px;
    }
    .feature-stack .big{
      max-width:16ch;
      font-size:2.05rem;font-weight:900;line-height:1.04;
    }
    .feature-stack .sub{
      color:#dce7f7;
      max-width:40ch;
      margin-top:12px;
      font-size:.98rem;
    }
    .meta-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:12px;
    }
    .meta-item{
      padding:14px 15px;
      border-radius:18px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
    }
    .meta-item strong{
      display:block;font-size:1.08rem;font-weight:850;
    }
    .meta-item span{
      display:block;color:var(--muted);font-size:.84rem;margin-top:6px;
    }
    .rank-card{
      background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
      border:1px solid rgba(255,255,255,.08);
      border-radius:28px;
      padding:22px;
      box-shadow:var(--shadow-soft);
      height:100%;
    }
    .rank-list{display:grid;gap:12px;margin-top:18px}
    .rank-item{
      display:grid;
      grid-template-columns:auto 1fr auto;
      gap:12px;
      align-items:center;
      padding:13px 14px;
      border-radius:18px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.07);
      transition:transform .22s ease, background .22s ease;
    }
    .rank-item:hover{transform:translateX(2px);background:rgba(255,255,255,.06)}
    .rank-num{
      width:34px;height:34px;border-radius:12px;
      display:grid;place-items:center;
      background:linear-gradient(135deg, rgba(110,231,255,.18), rgba(139,92,246,.18));
      font-weight:900;color:#fff;
    }
    .rank-item strong{
      display:block;font-size:1rem;font-weight:850;
    }
    .rank-item p{
      margin:4px 0 0;color:var(--muted);font-size:.86rem;line-height:1.5;
    }
    .rank-meter{
      width:82px;height:8px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden;
    }
    .rank-meter span{
      display:block;height:100%;border-radius:inherit;
      background:linear-gradient(90deg, var(--primary), var(--accent));
    }
    .section-grid{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:14px;
    }
    .zone-card{
      padding:18px;
      min-height:220px;
      border-radius:24px;
      background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
      border:1px solid rgba(255,255,255,.08);
      box-shadow:var(--shadow-soft);
      transition:transform .22s ease, border-color .22s ease;
    }
    .zone-card:hover{
      transform:translateY(-3px);
      border-color:rgba(110,231,255,.18);
    }
    .zone-icon{
      width:52px;height:52px;border-radius:18px;
      display:grid;place-items:center;
      background:linear-gradient(135deg, rgba(110,231,255,.16), rgba(249,115,22,.16));
      color:#fff;
      margin-bottom:14px;
      border:1px solid rgba(255,255,255,.08);
    }
    .zone-card h3{
      font-size:1.08rem;font-weight:850;
    }
    .zone-card p{
      margin:10px 0 0;
      color:var(--muted);
      font-size:.92rem;
      min-height:44px;
    }
    .zone-card ul{
      list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px;
    }
    .zone-card li{
      color:#dbe7f5;font-size:.88rem;display:flex;gap:8px;align-items:flex-start;
    }
    .zone-card li i{color:var(--primary);margin-top:4px}
    .news-layout{
      display:grid;
      grid-template-columns:1.2fr .8fr;
      gap:18px;
    }
    .news-list,.sidebar-box{
      background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
      border:1px solid rgba(255,255,255,.08);
      border-radius:28px;
      padding:22px;
      box-shadow:var(--shadow-soft);
    }
    .news-items{
      display:grid;
      gap:10px;
      margin-top:18px;
    }
    .news-item{
      display:grid;
      grid-template-columns:auto 1fr auto;
      gap:12px;
      align-items:center;
      padding:14px 14px;
      border-radius:18px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.07);
      transition:transform .22s ease, background .22s ease;
    }
    .news-item:hover{transform:translateX(2px);background:rgba(255,255,255,.06)}
    .news-date{
      width:58px;
      border-radius:16px;
      padding:10px 8px;
      text-align:center;
      background:linear-gradient(135deg, rgba(110,231,255,.16), rgba(139,92,246,.14));
      border:1px solid rgba(255,255,255,.08);
      color:#fff;
      flex:0 0 auto;
      line-height:1.05;
    }
    .news-date strong{display:block;font-size:1.2rem;font-weight:900}
    .news-date span{display:block;font-size:.72rem;color:#d8e7fb;margin-top:4px}
    .news-copy strong{
      display:block;
      font-size:1rem;
      font-weight:850;
      margin-bottom:4px;
    }
    .news-copy p{
      margin:0;color:var(--muted);font-size:.88rem;line-height:1.5;
    }
    .news-link{
      display:inline-flex;align-items:center;gap:8px;
      color:#eaf5ff;
    }
    .news-link:hover{color:#fff;text-decoration:none}
    .side-stack{display:grid;gap:12px;margin-top:16px}
    .side-quote{
      padding:16px;
      border-radius:22px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
    }
    .side-quote .who{
      display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px
    }
    .avatar{
      width:38px;height:38px;border-radius:14px;
      background:linear-gradient(135deg, rgba(110,231,255,.2), rgba(139,92,246,.2));
      border:1px solid rgba(255,255,255,.08);
      display:grid;place-items:center;
      color:#fff;font-weight:800;
    }
    .side-quote p{margin:0;color:#dbe7f7;font-size:.92rem;line-height:1.65}
    .entry-layout{
      display:grid;
      grid-template-columns:.9fr 1.1fr;
      gap:18px;
      align-items:stretch;
    }
    .steps-box,.subscribe-box{
      background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
      border:1px solid rgba(255,255,255,.08);
      border-radius:28px;
      padding:22px;
      box-shadow:var(--shadow-soft);
      height:100%;
    }
    .step-list{
      display:grid;gap:12px;margin-top:18px
    }
    .step-item{
      display:flex;gap:14px;
      padding:16px;
      border-radius:20px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.07);
    }
    .step-num{
      width:40px;height:40px;border-radius:14px;
      display:grid;place-items:center;
      background:linear-gradient(135deg, rgba(110,231,255,.16), rgba(249,115,22,.14));
      border:1px solid rgba(255,255,255,.08);
      flex:0 0 auto;
      font-weight:900;
    }
    .step-item strong{display:block;font-size:1rem;font-weight:850;margin-bottom:4px}
    .step-item p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}
    .subscribe-form{
      display:grid;
      gap:12px;
      margin-top:18px;
    }
    .subscribe-form .row{
      --bs-gutter-x:12px;
      --bs-gutter-y:12px;
    }
    .help-note{
      color:var(--muted);
      font-size:.88rem;
      margin-top:10px;
    }
    .reward-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:12px;
      margin-top:18px;
    }
    .reward-card{
      padding:16px;
      border-radius:20px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
      min-height:120px;
    }
    .reward-card .mini-icon{width:40px;height:40px;border-radius:14px;margin-bottom:12px}
    .reward-card strong{display:block;font-weight:850}
    .reward-card p{margin:8px 0 0;color:var(--muted);font-size:.88rem;line-height:1.55}
    .safety-layout{
      display:grid;
      grid-template-columns:.88fr 1.12fr;
      gap:18px;
    }
    .safety-grid{
      display:grid;
      gap:12px;
      margin-top:18px;
    }
    .safety-card{
      padding:16px;
      border-radius:20px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
      display:flex;gap:14px;
    }
    .safety-card i{
      width:42px;height:42px;border-radius:14px;
      display:grid;place-items:center;
      background:linear-gradient(135deg, rgba(34,197,94,.15), rgba(110,231,255,.14));
      color:#dfffee;flex:0 0 auto;
      border:1px solid rgba(255,255,255,.08);
    }
    .safety-card strong{display:block;font-weight:850;margin-bottom:4px}
    .safety-card p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}
    .accordion{
      --bs-accordion-bg:transparent;
      --bs-accordion-border-color:rgba(255,255,255,.08);
      --bs-accordion-color:var(--text);
      --bs-accordion-btn-color:var(--text);
      --bs-accordion-btn-bg:rgba(255,255,255,.04);
      --bs-accordion-active-bg:rgba(110,231,255,.08);
      --bs-accordion-active-color:#fff;
      --bs-accordion-btn-focus-box-shadow:0 0 0 .18rem rgba(110,231,255,.12);
      --bs-accordion-btn-icon-filter:brightness(1.8) invert(1);
      --bs-accordion-btn-padding-x:1rem;
      --bs-accordion-btn-padding-y:1rem;
      --bs-accordion-body-padding-x:1rem;
      --bs-accordion-body-padding-y:1rem;
      border-radius:22px;
      overflow:hidden;
      box-shadow:var(--shadow-soft);
    }
    .accordion-item{
      background:transparent;
      border-color:rgba(255,255,255,.08);
    }
    .accordion-button{
      background:rgba(255,255,255,.04);
      color:var(--text);
      font-weight:800;
    }
    .accordion-button:not(.collapsed){
      box-shadow:none;
      color:#fff;
    }
    .accordion-body{
      color:var(--muted);
      background:rgba(255,255,255,.02);
      line-height:1.75;
    }
    .cta-panel{
      margin-top:24px;
      padding:24px;
      border-radius:28px;
      background:
        radial-gradient(circle at 14% 18%, rgba(110,231,255,.14), transparent 20%),
        radial-gradient(circle at 82% 24%, rgba(139,92,246,.14), transparent 22%),
        linear-gradient(135deg, rgba(18,35,59,.95), rgba(8,18,31,.98));
      border:1px solid rgba(255,255,255,.08);
      box-shadow:var(--shadow);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      flex-wrap:wrap;
    }
    .cta-panel .cta-text{max-width:64ch}
    .cta-panel h2{font-size:clamp(1.5rem,2.8vw,2.25rem);font-weight:900}
    .cta-panel p{margin:12px 0 0;color:var(--muted);font-size:1rem}
    .cta-actions{display:flex;gap:12px;flex-wrap:wrap}
    .footer{
      padding:26px 0 34px;
      border-top:1px solid rgba(255,255,255,.08);
      background:rgba(3,8,16,.3);
    }
    .footer-top{
      display:grid;
      grid-template-columns:1.2fr .8fr;
      gap:18px;
      align-items:start;
      padding-bottom:20px;
    }
    .footer-links{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:14px;
    }
    .footer-links a{
      padding:.55rem .84rem;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.08);
      background:rgba(255,255,255,.04);
      color:var(--muted);
      transition:.22s ease;
    }
    .footer-links a:hover{
      color:#fff;background:rgba(255,255,255,.08);
      transform:translateY(-1px);
    }
    .footer-note{
      color:var(--muted);
      font-size:.92rem;
      line-height:1.8;
      margin-top:12px;
    }
    .footer-meta{
      display:grid;gap:10px;
      justify-items:end;
      text-align:right;
      color:var(--muted);
      font-size:.92rem;
    }
    .footer-pill{
      display:inline-flex;align-items:center;gap:8px;
      padding:.5rem .8rem;border-radius:999px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
      color:#dceaff;
    }
    .footer-bottom{
      padding-top:18px;
      border-top:1px solid rgba(255,255,255,.08);
      color:var(--muted-2);
      display:flex;
      justify-content:space-between;
      gap:10px;
      flex-wrap:wrap;
      font-size:.88rem;
    }
    .quick-anchors{
      display:flex;gap:8px;flex-wrap:wrap;margin-top:18px
    }
    .quick-anchors a{
      padding:.45rem .75rem;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.08);
      background:rgba(255,255,255,.04);
      color:var(--muted);
      transition:.2s ease;
    }
    .quick-anchors a:hover{
      color:#fff;background:rgba(255,255,255,.08);transform:translateY(-1px)
    }
    .badge-soft{
      display:inline-flex;
      align-items:center;
      padding:.42rem .7rem;
      border-radius:999px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
      color:#dbe7f7;
      font-size:.78rem;
      gap:6px;
    }
    .divider{
      height:1px;
      background:linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
      margin:18px 0;
    }
    .focus-ring:focus-visible{
      outline:none;
      box-shadow:0 0 0 .2rem rgba(110,231,255,.16), 0 0 0 .38rem rgba(110,231,255,.08);
    }
    @media (max-width: 1199.98px){
      .hero-grid,.glance,.news-layout,.entry-layout,.safety-layout,.footer-top{
        grid-template-columns:1fr;
      }
      .hero-form{grid-template-columns:1fr 1fr auto}
      .section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    }
    @media (max-width: 991.98px){
      .navbar-collapse{
        margin-top:12px;
        padding:14px;
        border-radius:20px;
        background:rgba(10,18,31,.96);
        border:1px solid rgba(255,255,255,.08);
        box-shadow:var(--shadow-soft);
      }
      .phase-wrap{justify-content:flex-start;margin-top:10px}
      .hero h1{max-width:12ch}
      .hero-stats{grid-template-columns:1fr}
      .countdown{grid-template-columns:repeat(2,minmax(0,1fr))}
      .meta-grid{grid-template-columns:1fr}
      .reward-grid{grid-template-columns:1fr}
    }
    @media (max-width: 767.98px){
      .hero{padding-top:26px}
      .hero-form{grid-template-columns:1fr;gap:10px}
      .hero-actions,.cta-actions{flex-direction:column;align-items:stretch}
      .hero-actions .btn,.cta-actions .btn,.hero-form .btn{width:100%}
      .section-grid{grid-template-columns:1fr}
      .countdown{grid-template-columns:repeat(2,1fr)}
      .track-shell,.rank-card,.news-list,.sidebar-box,.steps-box,.subscribe-box,.feature-card,.zone-card,.cta-panel{
        border-radius:24px;
      }
      .news-item,.rank-item{grid-template-columns:1fr;justify-items:start}
      .news-date{width:72px}
      .footer-meta{text-align:left;justify-items:start}
    }
    @media (max-width: 575.98px){
      .hero h1{font-size:2.1rem}
      .section-title{font-size:1.55rem}
      .countdown{grid-template-columns:1fr 1fr}
      .time-box strong{font-size:1.18rem}
      .movie-card{flex-basis:190px}
      .feature-stack .big{font-size:1.72rem}
      .hero-copy,.hero-side,.feature-inner,.rank-card,.news-list,.sidebar-box,.steps-box,.subscribe-box{
        padding:18px;
      }
    }

/* roulang: framework shim */
/* 覆盖 Bootstrap 等对 a/btn 的全局默认，避免导航出现下划线/蓝链 */
.site-header a,.site-header a:hover,.navbar a,.navbar a:hover,.nav-links a,.nav-links a:hover,header nav a,header nav a:hover{text-decoration:none}
.site-header .btn,.navbar .btn,.nav-cta{text-decoration:none}
