/* roulang page: index */
:root{
  --ht-red:#FF2D55;
  --ht-red-dark:#E11D4B;
  --ht-cyan:#00E5CC;
  --ht-yellow:#FFB800;
  --ht-bg-dark:#0B0F1A;
  --ht-bg-2:#121829;
  --ht-card-bg:#1A2232;
  --ht-card-hover:#1F2A3D;
  --ht-text-main:#E8ECF4;
  --ht-text-sub:#B6BECF;
  --ht-text-mute:#8B95A9;
  --ht-line:rgba(255,255,255,.08);
  --ht-radius:12px;
  --ht-radius-sm:8px;
  --ht-transition:.3s cubic-bezier(.4,0,.2,1);
  --ht-shadow-card:0 8px 28px rgba(0,0,0,.35);
  --ht-shadow-glow-red:0 6px 24px rgba(255,45,85,.35);
  --ht-font-base:"PingFang SC","Microsoft YaHei","Noto Sans SC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ht-font-mono:"JetBrains Mono","Roboto Mono","Consolas",monospace;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
html{scroll-behavior:smooth}
body{
  font-family:var(--ht-font-base);
  background:var(--ht-bg-dark);
  color:var(--ht-text-main);
  font-size:16px;
  line-height:1.65;
  overflow-x:hidden;
  position:relative;
}
body::before{
  content:'';
  position:fixed;
  top:0;left:0;width:100%;height:100%;
  background:
    radial-gradient(circle at 85% 8%, rgba(255,45,85,.15) 0%, transparent 42%),
    radial-gradient(circle at 15% 85%, rgba(0,229,204,.07) 0%, transparent 38%),
    var(--ht-bg-dark);
  z-index:-2;
  pointer-events:none;
}
img{max-width:100%;height:auto}
a{text-decoration:none;color:var(--ht-text-main);transition:color var(--ht-transition)}
a:hover{color:var(--ht-cyan)}
button{font-family:inherit}
::selection{background:rgba(255,45,85,.5);color:#fff}
.container{max-width:1200px;padding-left:24px;padding-right:24px}
.ht-section{padding:100px 0;position:relative}
.ht-section-sm{padding:60px 0}

/* design helper */
.ht-head-tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:rgba(0,229,204,.08);
  border:1px solid rgba(0,229,204,.3);
  color:var(--ht-cyan);
  font-size:13px;
  font-weight:600;
  border-radius:100px;
  padding:5px 16px;
  letter-spacing:.5px;
  text-transform:uppercase;
}
.ht-section-title{font-size:32px;line-height:1.3;font-weight:800;letter-spacing:-.5px}
.ht-section-title .red{color:var(--ht-red)}
.ht-section-title .cyan{color:var(--ht-cyan)}
.ht-section-sub{font-size:16px;color:var(--ht-text-mute);max-width:640px;line-height:1.8}

/* header nav */
.ht-nav{
  position:fixed;
  top:0;left:0;width:100%;
  background:rgba(11,15,26,.9);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  z-index:1050;
  height:72px;
  border-bottom:1px solid transparent;
  transition:box-shadow var(--ht-transition),border-color var(--ht-transition);
}
.ht-nav::after{
  content:'';
  position:absolute;
  left:0;bottom:-1px;
  width:100%;height:1px;
  background:linear-gradient(90deg, transparent, rgba(0,229,204,.4) 50%, transparent);
  pointer-events:none;
}
.ht-nav.scrolled{box-shadow:0 10px 40px rgba(0,0,0,.45)}
.ht-nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}
.ht-logo{display:flex;align-items:center;gap:8px;flex-shrink:0}
.ht-logo-icon{
  width:32px;height:32px;
  background:linear-gradient(135deg,var(--ht-red),var(--ht-red-dark));
  border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  position:relative;
  overflow:hidden;
}
.ht-logo-icon i{color:#fff;font-size:14px;z-index:1}
.ht-logo-icon::after{
  content:'';
  position:absolute;
  width:100%;height:100%;
  background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.25) 50%,transparent 60%);
  animation:logoshine 3s ease-in-out infinite;
}
@keyframes logoshine{
  0%{transform:translateX(-100%)}
  50%,100%{transform:translateX(100%)}
}
.ht-logo-text{font-weight:900;font-size:18px;color:#fff;letter-spacing:.5px;line-height:1.2}
.ht-logo-text em{font-style:normal;color:var(--ht-cyan);position:relative}
.ht-logo-text small{display:block;font-size:10px;font-weight:600;color:var(--ht-text-mute);letter-spacing:1.2px}
.ht-nav-links{display:flex;align-items:center;gap:4px;margin:0;padding:0;list-style:none}
.ht-nav-links .nav-item{margin:0}
.ht-nav-links .nav-link{
  font-size:15px;
  color:#C7D0E0;
  padding:8px 0;
  margin:0 14px;
  font-weight:500;
  position:relative;
  white-space:nowrap;
  background:transparent;
  border:0;
}
.ht-nav-links .nav-link::after{
  content:'';
  position:absolute;
  left:0;bottom:-21px;
  width:100%;height:2px;
  background:var(--ht-red);
  box-shadow:0 2px 8px rgba(255,45,85,.25);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform var(--ht-transition);
}
.ht-nav-links .nav-link:hover,
.ht-nav-links .nav-link.active{color:#fff}
.ht-nav-links .nav-link:hover::after,
.ht-nav-links .nav-link.active::after{transform:scaleX(1)}
.ht-nav-cta{display:flex;align-items:center;gap:12px;flex-shrink:0}
.ht-btn-login{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--ht-red);
  color:#fff;
  border:0;
  font-size:14px;
  font-weight:700;
  padding:8px 20px;
  border-radius:6px;
  transition:all var(--ht-transition);
  box-shadow:0 2px 12px rgba(255,45,85,.3);
}
.ht-btn-login:hover{
  background:var(--ht-red-dark);
  color:#fff;
  box-shadow:0 4px 20px rgba(255,45,85,.45);
  transform:translateY(-1px);
}
.ht-btn-login:active{transform:scale(.98)}
.navbar-toggler-ht{
  width:42px;height:42px;
  background:rgba(255,255,255,.06);
  border:1px solid var(--ht-line);
  border-radius:8px;
  display:none;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  color:#fff;
  font-size:18px;
  transition:all var(--ht-transition);
}
.navbar-toggler-ht:hover{border-color:var(--ht-cyan);color:var(--ht-cyan)}

/* hero */
.ht-hero{
  min-height:100vh;
  display:flex;
  align-items:center;
  padding:140px 0 80px;
  position:relative;
  background-image:url('/assets/images/backpic/back-1.png');
  background-size:cover;
  background-position:center;
  overflow:hidden;
}
.ht-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(100deg, rgba(11,15,26,.96) 0%, rgba(11,15,26,.85) 45%, rgba(11,15,26,.45) 100%);
  z-index:0;
}
.ht-hero::after{
  content:'';
  position:absolute;
  bottom:0;left:0;width:100%;height:2px;
  background:linear-gradient(90deg,var(--ht-red),var(--ht-cyan),transparent);
  opacity:.5;
}
.ht-hero-numline{
  position:absolute;
  bottom:24px;right:4%;
  font-family:var(--ht-font-mono);
  font-size:13px;
  color:rgba(0,229,204,.7);
  background:rgba(11,15,26,.6);
  border:1px solid var(--ht-line);
  border-radius:6px;
  padding:6px 16px;
  z-index:2;
  display:flex;
  align-items:center;
  gap:10px;
  letter-spacing:1px;
}
.ht-hero-numline .dot{
  display:inline-block;width:6px;height:6px;border-radius:50%;
  background:var(--ht-cyan);animation:pulse 1.6s infinite;
}
@keyframes pulse{
  0%,100%{opacity:1;box-shadow:0 0 6px var(--ht-cyan)}
  50%{opacity:.45;box-shadow:0 0 2px var(--ht-cyan)}
}
.ht-hero .container{position:relative;z-index:2}
.ht-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.ht-hero-content{position:relative;z-index:2}
.ht-hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:700;
  color:var(--ht-yellow);
  background:rgba(255,184,0,.12);
  border:1px solid rgba(255,184,0,.25);
  border-radius:100px;
  padding:5px 18px 5px 8px;
  letter-spacing:.3px;
}
.ht-hero-badge .ic{
  background:var(--ht-yellow);color:var(--ht-bg-dark);
  width:24px;height:24px;border-radius:100px;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:12px;
}
.ht-hero h1{
  font-size:46px;
  font-weight:900;
  line-height:1.2;
  margin:24px 0 18px;
  letter-spacing:-1px;
  color:#fff;
}
.ht-hero h1 .hl-red{
  background:linear-gradient(120deg,var(--ht-red),var(--ht-red-dark));
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  position:relative;
}
.ht-hero h1 .hl-cyan{color:var(--ht-cyan)}
.ht-hero-sub{
  font-size:18px;
  color:#A6B1C6;
  line-height:1.7;
  max-width:500px;
  padding-left:18px;
  border-left:3px solid rgba(0,229,204,.6);
  position:relative;
}
.ht-hero-cta{display:flex;align-items:center;gap:16px;margin:38px 0 28px;flex-wrap:wrap}
.ht-btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:linear-gradient(135deg,var(--ht-red),var(--ht-red-dark));
  color:#fff;
  border:0;
  font-size:16px;
  font-weight:700;
  height:52px;
  padding:0 32px;
  border-radius:8px;
  cursor:pointer;
  position:relative;
  transition:all var(--ht-transition);
  box-shadow:0 6px 20px rgba(255,45,85,.35);
  overflow:hidden;
}
.ht-btn-primary::before{
  content:'';
  position:absolute;
  top:0;left:-60%;width:40%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);
  transform:skewX(-20deg);
  transition:left .6s ease;
}
.ht-btn-primary:hover{color:#fff;transform:translateY(-2px);box-shadow:0 12px 32px rgba(255,45,85,.45)}
.ht-btn-primary:hover::before{left:130%}
.ht-btn-primary:active{transform:scale(.97)}
.ht-btn-ghost{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:transparent;
  border:1.5px solid rgba(0,229,204,.65);
  color:var(--ht-cyan);
  font-size:16px;
  font-weight:600;
  height:52px;
  padding:0 28px;
  border-radius:8px;
  cursor:pointer;
  transition:all var(--ht-transition);
}
.ht-btn-ghost:hover{
  background:var(--ht-cyan);
  color:var(--ht-bg-dark);
  border-color:var(--ht-cyan);
  box-shadow:0 0 28px rgba(0,229,204,.25);
  transform:translateY(-2px);
}
.ht-btn-ghost:active{transform:scale(.97)}
.ht-hero-stats{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:32px;
}
.ht-mini-stat{
  display:flex;
  align-items:center;
  gap:10px;
  background:rgba(18,24,41,.7);
  border:1px solid var(--ht-line);
  border-radius:8px;
  padding:8px 18px;
  transition:all var(--ht-transition);
}
.ht-mini-stat:hover{border-color:rgba(0,229,204,.4);transform:translateY(-2px)}
.ht-mini-stat i{color:var(--ht-cyan);font-size:16px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:rgba(0,229,204,.13);border-radius:8px}
.ht-mini-stat span{font-size:14px;font-weight:600;color:#D3DAE6;white-space:nowrap}
.ht-mini-stat em{display:block;font-style:normal;font-size:12px;color:var(--ht-text-mute);font-weight:400}

/* hero login panel */
.ht-login-card-wrap{position:relative;z-index:2}
.ht-login-card-wrap::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 50%, rgba(255,45,85,.12) 0%, transparent 60%);
}
.ht-login-card{
  position:relative;
  background:
    linear-gradient(rgba(26,34,50,.72) 0%, rgba(18,24,41,.92) 100%);
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  padding:36px 34px 28px;
  box-shadow:0 24px 80px rgba(0,0,0,.6), 0 0 0 1px rgba(0,229,204,.04);
  overflow:hidden;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.ht-login-card::before{
  content:'';
  position:absolute;
  top:0;left:0;width:100%;height:100%;
  background-image:
    linear-gradient(rgba(0,229,204,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,229,204,.05) 1px, transparent 1px);
  background-size:32px 32px;
  -webkit-mask-image:linear-gradient(180deg, transparent, #000 20%);
  mask-image:linear-gradient(180deg, transparent, #000 20%);
  pointer-events:none;
  z-index:0;
}
.ht-login-card .card-head{text-align:center;margin-bottom:24px;position:relative;z-index:1}
.ht-login-card .card-head small{
  font-size:12px;
  color:var(--ht-text-mute);
  letter-spacing:2px;
  display:block;
  margin-bottom:6px;
}
.ht-login-card .card-head h3{font-size:22px;font-weight:800;color:#fff;margin:0}
.ht-login-card .card-head h3 em{color:var(--ht-red);font-style:normal}
.ht-login-form{position:relative;z-index:2}
.ht-form-group{margin-bottom:18px}
.ht-form-label{display:block;font-size:13px;color:#9AA5B8;margin-bottom:7px;letter-spacing:.4px;font-weight:500}
.ht-form-control{
  width:100%;
  height:44px;
  background:#0F1420;
  border:1px solid #232E42;
  border-radius:6px;
  padding:0 14px;
  color:var(--ht-text-main);
  font-size:15px;
  transition:all var(--ht-transition);
  outline:none;
}
.ht-form-control::placeholder{color:#5D6A80}
.ht-form-control:focus{
  border-color:var(--ht-cyan);
  box-shadow:0 0 0 3px rgba(0,229,204,.12), 0 0 0 1px var(--ht-cyan);
  background:#101624;
  outline:none;
}
.ht-form-check{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:18px;
}
.ht-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;flex:1}
.ht-checkbox input{position:absolute;opacity:0;width:0;height:0}
.ht-checkbox .ck-icon{
  width:16px;height:16px;border-radius:4px;
  background:#0F1420;
  border:1px solid #39445C;
  display:inline-flex;align-items:center;justify-content:center;
  transition:all var(--ht-transition);
  flex-shrink:0;
}
.ht-checkbox input:checked + .ck-icon{
  background:var(--ht-cyan);
  border-color:var(--ht-cyan);
}
.ht-checkbox input:checked + .ck-icon::after{
  content:'';
  width:7px;height:4px;
  border-left:2px solid var(--ht-bg-dark);
  border-bottom:2px solid var(--ht-bg-dark);
  transform:rotate(-45deg) translate(1px,-1px);
}
.ht-checkbox .ck-text{font-size:12px;color:#9AA5B8}
.ht-checkbox .ck-text a{color:var(--ht-cyan)}
.ht-login-submit{
  width:100%;height:46px;
  background:linear-gradient(135deg,var(--ht-red),var(--ht-red-dark));
  border:0;color:#fff;
  font-weight:700;font-size:15px;
  border-radius:6px;
  cursor:pointer;
  transition:all var(--ht-transition);
  box-shadow:0 4px 16px rgba(255,45,85,.3);
}
.ht-login-submit:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,45,85,.45)}
.ht-login-submit:active{transform:scale(.98)}
.ht-login-tip{text-align:center;font-size:12px;color:var(--ht-text-mute);background:rgba(0,229,204,.05);border-radius:6px;padding:8px;margin-top:16px}

/* hero ticker */
.ht-ticker-bar{
  background:#0D1522;
  border-top:1px solid rgba(0,229,204,.12);
  padding:13px 0;
  overflow:hidden;
  position:relative;
}
.ht-ticker-track{
  display:flex;
  white-space:nowrap;
  gap:0;
  animation:ticker24 26s linear infinite;
  width:max-content;
}
@keyframes ticker24{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
.ht-ticker-track .ticker-item{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:0 26px;
  color:#B6CECF;
  font-size:13px;
  font-weight:500;
  letter-spacing:.3px;
  position:relative;
}
.ht-ticker-track .ticker-item::after{
  content:'';
  position:absolute;
  left:0;
  top:50%;transform:translateY(-50%);
  width:4px;height:4px;
  background:var(--ht-cyan);
  border-radius:50%;
}
.ht-ticker-track .ticker-item i{color:var(--ht-cyan);font-size:14px}

/* intro feature s1 */
.ht-s1{background:var(--ht-bg-block,var(--ht-bg-dark));position:relative}
.ht-s1-inner{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center}
.ht-s1-visual{position:relative}
.ht-s1-visual .main-img{
  border-radius:16px;
  border:1px solid rgba(255,255,255,.1);
  overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.5);
  position:relative;
  z-index:2;
}
.ht-s1-visual .main-img img{width:100%;display:block;min-height:340px;object-fit:cover}
.ht-s1-visual::after{
  content:'';
  position:absolute;
  bottom:-14px;right:-10px;width:60%;height:60%;
  background-image:
    linear-gradient(rgba(0,229,204,.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,229,204,.12) 1px, transparent 1px);
  background-size:18px 18px;
  z-index:1;
}
.ht-s1-visual .float-index{
  position:absolute;
  left:-4px;top:20%;
  background:var(--ht-bg-2);
  border:1px solid rgba(0,229,204,.25);
  border-radius:10px;
  padding:8px 14px;
  display:flex;align-items:center;gap:10px;
  box-shadow:0 12px 30px rgba(0,0,0,.3);
  animation:logoshine 2.8s ease-in-out infinite;
}
.ht-s1-visual .float-index i{color:var(--ht-yellow);font-size:16px}
.ht-s1-visual .float-index span{font-size:12px;color:var(--ht-text-mute)}
.ht-s1-visual .float-index strong{color:#fff;display:block;font-size:18px;font-family:var(--ht-font-mono)}
.ht-s1-content{max-width:500px}
.ht-s1-content .ht-section-title{font-size:34px}
.ht-steps-list{list-style:none;padding:0;margin:24px 0 0}
.ht-steps-list li{
  display:flex;
  align-items:center;
  gap:18px;
  padding:15px 0;
  border-bottom:1px solid rgba(255,255,255,.06);
  position:relative;
}
.ht-steps-list li:last-child{border-bottom:0}
.ht-step-num{
  width:42px;height:42px;
  background:rgba(255,45,85,.12);
  border:1px solid rgba(255,45,85,.4);
  border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--ht-font-mono);
  font-weight:800;
  color:var(--ht-red);
  font-size:18px;
  flex-shrink:0;
  position:relative;
  box-shadow:inset 0 0 12px rgba(255,45,85,.08);
}
.ht-step-num::before{
  content:'';
  position:absolute;
  left:-2px;bottom:-2px;
  width:6px;height:6px;
  background:var(--ht-red);opacity:.6;
}
.ht-step-txt h5{font-size:16px;font-weight:700;color:var(--ht-text-main);margin:0 0 3px}
.ht-step-txt p{font-size:14px;color:var(--ht-text-mute);margin:0;line-height:1.5}
.ht-s1-content .ht-btn-ghost{margin-top:24px;height:44px;font-size:14px}

/* feature cards s2 */
.ht-s2{background:var(--ht-bg-2)}
.ht-s2-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px}
.ht-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.ht-feature-card{
  background:var(--ht-card-bg);
  border-radius:var(--ht-radius);
  border:1px solid var(--ht-line);
  padding:28px 28px 24px;
  transition:all var(--ht-transition);
  position:relative;
  overflow:hidden;
}
.ht-feature-grid .offset-card{transform:translateY(16px)}
.ht-feature-card::after{
  content:'';
  position:absolute;
  bottom:0;left:0;width:100%;height:2px;
  background:linear-gradient(90deg,transparent,var(--ht-cyan),transparent);
  opacity:0;
  transition:opacity var(--ht-transition);
}
.ht-feature-card:hover{
  border-color:rgba(0,229,204,.5);
  box-shadow:var(--ht-shadow-card),0 0 0 1px rgba(0,229,204,.08);
  transform:translateY(-4px);
}
.ht-feature-card:hover::after{opacity:.7}
.ht-feature-card:hover::before{
  content:'';
  position:absolute;
  top:0;left:0;width:100%;height:100%;
  background:radial-gradient(circle at 0% 50%, rgba(255,45,85,.12) 0%, transparent 60%);
  pointer-events:none;
}
.ht-feature-grid .offset-card:hover{transform:translateY(12px)}
.ht-feature-icon{
  width:52px;height:52px;
  border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  font-size:20px;
  background:var(--ht-bg-2);
  color:var(--ht-cyan);
  border:1px solid rgba(0,229,204,.2);
  margin-bottom:20px;
  transition:all var(--ht-transition);
  position:relative;
}
.ht-feature-card:nth-last-child(2n) .ht-feature-icon{
  background:rgba(255,45,85,.1);
  color:var(--ht-red);
  border:1px solid rgba(255,45,85,.3);
}
.ht-feature-card:hover .ht-feature-icon{transform:scale(1.05);box-shadow:0 0 20px rgba(0,229,204,.12)}
.ht-feature-card h4{font-size:19px;font-weight:800;margin-bottom:8px;color:var(--ht-text-main)}
.ht-feature-card .f-desc{font-size:14.5px;color:var(--ht-text-mute);line-height:1.7;margin-bottom:14px}
.ht-feature-card .f-more{
  display:flex;align-items:center;
  font-size:13px;
  color:var(--ht-text-sub);
  font-weight:600;
  gap:6px;
  transition:all var(--ht-transition);
  border:0;background:transparent;padding:0;margin:0;
  margin-left:auto;
}
.ht-feature-card .f-more:hover{color:var(--ht-cyan);gap:10px}
.ht-feature-index{
  position:absolute;top:18px;right:20px;
  font-family:var(--ht-font-mono);
  font-size:14px;
  color:rgba(255,255,255,.16);
  font-weight:800;
  letter-spacing:1px;
}
.ht-feature-index em{font-style:normal;font-size:10px;color:var(--ht-red);display:block;text-align:right}

/* evidence S3 data */
.ht-s3{background:var(--ht-bg-dark);position:relative}
.ht-s3::before{
  content:'';
  position:absolute;
  top:0;left:50%;transform:translateX(-50%);
  width:98%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,45,85,.5),rgba(0,229,204,.4),transparent);
}
.ht-data-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-bottom:52px;
}
.ht-data-cell{
  background:var(--ht-bg-2);
  border-radius:var(--ht-radius);
  padding:26px 24px;
  border:1px solid var(--ht-line);
  position:relative;
  overflow:hidden;
  transition:all var(--ht-transition);
}
.ht-data-cell:hover{border-color:rgba(255,45,85,.4);transform:translateY(-3px);box-shadow:var(--ht-shadow-card)}
.ht-data-label{
  font-size:13px;
  color:var(--ht-text-mute);
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:8px;
}
.ht-data-label .dot{width:8px;height:8px;border-radius:50%;background:var(--ht-cyan);box-shadow:0 0 10px var(--ht-cyan)}
.ht-data-cell:nth-child(2) .ht-data-label .dot{background:var(--ht-red);box-shadow:0 0 10px var(--ht-red)}
.ht-data-cell:nth-child(3) .ht-data-label .dot{background:var(--ht-yellow);box-shadow:0 0 10px var(--ht-yellow)}
.ht-data-cell:nth-child(4) .ht-data-label .dot{background:var(--ht-red);box-shadow:0 0 10px var(--ht-red)}
.ht-data-cell:nth-child(2) .ht-data-label .dot,
.ht-data-cell:nth-child(4) .ht-data-label .dot{background:var(--ht-red)}
.ht-data-num{
  font-family:var(--ht-font-mono);
  font-size:38px;
  font-weight:800;
  line-height:1.2;
  color:#fff;
}
.ht-data-num span{color:var(--ht-cyan)}
.ht-data-num sup{font-size:19px;color:var(--ht-red);top:-12px}
.ht-data-footer{font-size:12px;color:var(--ht-text-mute);margin-top:6px}

.ht-live-feed{
  background:var(--ht-bg-2);
  border-radius:14px;
  padding:8px 0;
  border:1px solid var(--ht-line);
  overflow:hidden;
}
.ht-live-feed-item{
  display:flex;
  align-items:center;
  gap:18px;
  padding:15px 24px;
  border-bottom:1px dashed rgba(255,255,255,.05);
  transition:background var(--ht-transition);
  font-size:14px;
}
.ht-live-feed-item:last-child{border-bottom:0}
.ht-live-feed-item:hover{background:rgba(0,229,204,.03)}
.ht-live-time{
  font-family:var(--ht-font-mono);
  font-size:12px;
  color:var(--ht-cyan);
  background:rgba(0,229,204,.08);
  border:1px solid rgba(0,229,204,.14);
  padding:5px 10px;
  border-radius:4px;
  white-space:nowrap;
  width:88px;
  text-align:center;
  flex-shrink:0;
}
.ht-live-txt{color:var(--ht-text-sub);flex:1;line-height:1.5}
.ht-live-txt strong{color:#fff}
.ht-live-feed-item .ht-badge-new{
  background:rgba(255,45,85,.12);
  color:var(--ht-red);
  border:1px solid rgba(255,45,85,.3);
  font-size:11px;
  font-weight:700;
  padding:3px 10px;
  border-radius:4px;
  letter-spacing:.5px;
}

/* plan section S4 */
.ht-s4{background:var(--ht-bg-2)}
.ht-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.ht-plan-card{
  background:rgba(26,34,50,.7);
  border:1px solid var(--ht-line);
  border-radius:16px;
  padding:36px 28px 30px;
  display:flex;
  flex-direction:column;
  position:relative;
  transition:all var(--ht-transition);
}
.ht-plan-card:hover{border-color:rgba(255,45,85,.3);transform:translateY(-4px);box-shadow:var(--ht-shadow-card)}
.ht-plan-card.featured{
  background:linear-gradient(160deg, rgba(26,34,50,.9) 0%, rgba(30,25,36,.9) 60%);
  border-color:rgba(255,45,85,.65);
  box-shadow:inset 0 0 0 1px rgba(255,45,85,.15), 0 20px 48px rgba(0,0,0,.4);
}
.ht-plan-card.featured .plan-badge{
  position:absolute;
  top:-14px;left:50%;
  transform:translateX(-50%);
  background:var(--ht-red);
  color:#fff;
  font-size:12px;
  font-weight:700;
  padding:4px 20px;
  border-radius:100px;
  box-shadow:0 4px 16px rgba(255,45,85,.4);
  letter-spacing:.5px;
  white-space:nowrap;
}
.ht-plan-card.featured::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--ht-red),transparent);
}
.ht-plan-name{font-size:15px;color:var(--ht-text-mute);font-weight:600;margin-bottom:6px;display:flex;align-items:center;gap:6px}
.ht-plan-name i{color:var(--ht-cyan)}
.ht-plan-card.featured .ht-plan-name{color:var(--ht-yellow)}
.ht-plan-price{font-size:38px;font-weight:800;color:#fff;line-height:1.3}
.ht-plan-price span{font-size:14px;color:var(--ht-text-mute);font-weight:500}
.ht-plan-period{font-size:12px;color:var(--ht-text-mute);margin-bottom:20px}
.ht-plan-list{list-style:none;padding:0;margin:0 0 auto;flex:1}
.ht-plan-list li{
  display:flex;align-items:flex-start;gap:10px;
  font-size:14px;
  color:#C7D0E0;
  padding:6px 0;
  line-height:1.6;
}
.ht-plan-list li i{color:var(--ht-cyan);font-size:13px;margin-top:5px;flex-shrink:0}
.ht-plan-list li.none{color:#5D6A80;text-decoration:line-through;
  text-decoration-color:rgba(255,45,85,.4);
}
.ht-plan-list li.none i{color:#5D6A80;text-decoration:none;font-size:11px}
.ht-plan-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  height:44px;
  margin-top:24px;
  border-radius:8px;
  font-size:14px;
  font-weight:700;
  transition:all var(--ht-transition);
  border:1.5px solid var(--ht-line);
  color:var(--ht-text-sub);
  cursor:pointer;
  background:transparent;
}
.ht-plan-btn:hover{border-color:var(--ht-cyan);color:var(--ht-cyan);background:rgba(0,229,204,.05)}
.ht-plan-card.featured .ht-plan-btn{
  background:var(--ht-red);
  border-color:var(--ht-red);
  color:#fff;
}
.ht-plan-card.featured .ht-plan-btn:hover{
  background:var(--ht-red-dark);
  box-shadow:0 8px 24px rgba(255,45,85,.4);
  color:#fff;
  transform:translateY(-2px);
}
.ht-plan-note{
  text-align:center;
  font-size:13px;
  color:var(--ht-text-mute);
  margin-top:24px;
  background:rgba(255,184,0,.06);
  border:1px dashed rgba(255,184,0,.2);
  padding:10px 20px;
  border-radius:8px;
  max-width:567px;
  margin-left:auto;margin-right:auto;
}
.ht-plan-note i{color:var(--ht-yellow)}

/* article content S5 */
.ht-s5{background:var(--ht-bg-dark)}
.ht-s5 .container{max-width:1140px}
.ht-news-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;flex-wrap:wrap}
.ht-news-head h2{margin:0}
.ht-news-tabs{display:flex;gap:6px;background:var(--ht-bg-2);border-radius:100px;padding:4px;border:1px solid var(--ht-line);flex-wrap:wrap}
.ht-news-tab{
  border:0;background:transparent;
  color:var(--ht-text-mute);
  font-size:13px;font-weight:600;
  padding:6px 18px;
  border-radius:100px;
  cursor:pointer;
  transition:all var(--ht-transition);
}
.ht-news-tab:hover{color:#fff}
.ht-news-tab.current{background:rgba(255,45,85,.2);color:#fff}
.ht-news-tab span{font-size:15px;color:var(--ht-yellow);margin-left:4px;font-weight:700}
.ht-news-list-wrapper{display:flex;flex-direction:column;gap:18px;min-height:180px;margin-bottom:24px}
.ht-news-item{
  display:grid;
  grid-template-columns:96px 1fr;
  gap:22px;
  background:rgba(26,34,50,.65);
  border:1px solid var(--ht-line);
  border-radius:14px;
  padding:14px 16px;
  transition:all var(--ht-transition);
}
.ht-news-item:hover{
  border-color:rgba(0,229,204,.45);
  box-shadow:var(--ht-shadow-card),0 0 0 1px rgba(0,229,204,.07);
  transform:translateY(-3px);
}
.ht-news-thumb{
  border-radius:10px;
  overflow:hidden;
  width:96px;height:96px;
  flex-shrink:0;
}
.ht-news-thumb img{
  width:100%;height:100%;object-fit:cover;
  display:block;
  transition:transform .5s ease;
}
.ht-news-item:hover .ht-news-thumb img{transform:scale(1.05)}
.ht-news-body{display:flex;flex-direction:column;justify-content:center;min-width:0}
.ht-news-body .meta-top{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap}
.ht-news-cat{
  font-size:12px;font-weight:700;
  border:1px solid rgba(0,229,204,.4);
  color:var(--ht-cyan);
  padding:2px 12px;
  border-radius:100px;
  background:rgba(0,229,204,.05);
  transition:all var(--ht-transition);
}
.ht-news-cat:hover{background:rgba(0,229,204,.15);color:var(--ht-cyan)}
.ht-news-body .news-date{font-size:12px;color:var(--ht-text-mute);font-family:var(--ht-font-mono)}
.ht-news-body h3{margin:0 0 6px;font-size:18px;font-weight:700;line-height:1.45}
.ht-news-body h3 a{color:#e6eaf3;transition:color var(--ht-transition)}
.ht-news-body h3 a:hover{color:var(--ht-cyan)}
.ht-news-body .news-desc{
  font-size:14px;line-height:1.6;
  color:var(--ht-text-mute);
  overflow:hidden;
  text-overflow:ellipsis;
  -webkit-line-clamp:2;
  display:-webkit-box;
  -webkit-box-orient:vertical;
}
.ht-news-body .news-read-more{
  font-size:13px;font-weight:600;
  color:var(--ht-text-sub);
  display:inline-flex;align-items:center;gap:6px;
  border:0;background:transparent;padding:0;margin-top:10px;
  transition:all var(--ht-transition);
  align-self:flex-start;
}
.ht-news-body .news-read-more:hover{color:var(--ht-cyan);gap:10px}
.ht-news-body .news-read-more i{font-size:12px}
.ht-empty-feed{
  display:flex;align-items:center;justify-content:center;
  height:86px;
  border:1px dashed rgba(93,106,128,.5);
  border-radius:12px;
  background:rgba(18,24,41,.3);
  color:var(--ht-text-mute);
  font-size:14px;
  letter-spacing:1px;
  min-height:86px;
}
.ht-view-all{
  display:flex;
  justify-content:center;
  margin-top:8px;
}
.ht-link-more{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--ht-text-sub);
  font-size:15px;font-weight:600;
  padding:12px 28px;
  border:1px solid var(--ht-line);
  border-radius:8px;
  transition:all var(--ht-transition);
  background:rgba(255,255,255,.02);
}
.ht-link-more:hover{
  color:var(--ht-cyan);
  border-color:rgba(0,229,204,.45);
  box-shadow:0 0 24px rgba(0,229,204,.08);
  transform:translateY(-2px);
}
.ht-link-more i{transition:transform var(--ht-transition)}
.ht-link-more:hover i{transform:translateX(6px)}

/* s6 app install strip */
.ht-s6-app{background:var(--ht-bg-2);padding:6px 0 2px}
.ht-install-strip{
  background:linear-gradient(90deg, rgba(255,45,85,.12) 0%, transparent 50%, rgba(0,229,204,.1) 100%);
  border-top:1px solid rgba(255,45,85,.15);
  border-bottom:1px solid rgba(0,229,204,.1);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 0;
}
.ht-install-info{display:flex;align-items:center;gap:14px;flex:1;min-width:0}
.ht-install-icon{width:44px;height:44px;background:linear-gradient(135deg,var(--ht-red),var(--ht-red-dark));border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff}
.ht-install-info h5{font-size:16px;font-weight:800;margin:0 0 2px;white-space:nowrap;color:#fff}
.ht-install-info p{font-size:13px;color:var(--ht-text-mute);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ht-install-link{display:flex;align-items:center;gap:10px;flex-shrink:0}
.ht-btn-mini{
  display:inline-flex;
  align-items:center;
  gap:7px;
  height:38px;
  border-radius:6px;
  padding:0 16px;
  font-size:13px;
  font-weight:600;
  border:1.5px solid rgba(0,229,204,.5);
  color:var(--ht-cyan);
  background:rgba(0,229,204,.06);
  transition:all var(--ht-transition);
  cursor:pointer;
  white-space:nowrap;
}
.ht-btn-mini:hover{border-color:var(--ht-cyan);color:var(--ht-bg-dark);background:var(--ht-cyan)}
.ht-btn-mini.red{border-color:var(--ht-red);color:var(--ht-red);background:rgba(255,45,85,.08)}
.ht-btn-mini.red:hover{border-color:var(--ht-red);color:#fff;background:var(--ht-red)}

/* FAQ S7 */
.ht-s7{background:var(--ht-bg-dark)}
.ht-faq-wrap{display:grid;grid-template-columns:340px 1fr;gap:60px;max-width:840px;margin:0 auto}
.ht-faq-side{}
.ht-faq-side h2{font-size:30px;line-height:1.4;margin-bottom:12px}
.ht-faq-side p{font-size:15px;color:var(--ht-text-mute);margin-bottom:20px;line-height:1.8}
.ht-faq-list{position:relative}
.ht-faq-item{
  background:transparent;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:all var(--ht-transition);
}
.ht-faq-item:last-child{border-bottom:0}
.ht-faq-item.open{
  background:#141C2B;
  border-bottom-color:rgba(0,229,204,.25);
  border-radius:10px;
  margin-bottom:0;
}
.ht-faq-item .faq-q{
  position:relative;
  width:100%;
  text-align:left;
  border:0;background:transparent;
  color:var(--ht-text-main);
  font-size:15.5px;
  font-weight:600;
  padding:19px 16px 19px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
  outline:none;
}
.ht-faq-item .faq-q .q-wrap{
  display:flex;
  align-items:center;
  gap:12px;
}
.ht-faq-item .faq-q .q-tag{
  font-weight:800;
  color:var(--ht-red);
  font-style:normal;
  font-family:var(--ht-font-mono);
  font-size:13px;
  flex-shrink:0;
}
.ht-faq-item .faq-q .q-text{transition:color var(--ht-transition)}
.ht-faq-item .faq-q .faq-icon{
  width:24px;height:24px;
  border-radius:6px;
  border:1px solid rgba(255,45,85,.45);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--ht-red);
  flex-shrink:0;
  transition:all .35s ease;
  font-size:14px;
}
.ht-faq-item.open .faq-q .faq-icon{
  background:rgba(0,229,204,.1);
  border-color:var(--ht-cyan);
  color:var(--ht-cyan);
  transform:rotate(45deg);
}
.ht-faq-item.open .faq-q .q-text{color:var(--ht-cyan)}
.ht-faq-item .faq-a{
  display:none;
  padding:0 20px 20px 28px;
  font-size:14px;
  line-height:1.8;
  color:var(--ht-text-sub);
}

/* CTA final */
.ht-cta{
  padding:12px 0 90px;
  background:var(--ht-bg-dark);
}
.ht-cta-card{
  border-radius:18px;
  text-align:center;
  padding:52px 30px 46px;
  position:relative;
  overflow:hidden;
  background-image:url('/assets/images/backpic/back-2.png');
  background-size:cover;
  background-position:center;
  border:1px solid rgba(255,45,85,.14);
}
.ht-cta-card::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(11,15,26,.95), rgba(11,15,26,.6));
}
.ht-cta-card .inner{position:relative;z-index:2}
.ht-cta-card h2{font-size:34px;font-weight:900;color:#fff;margin-bottom:16px;letter-spacing:-.5px}
.ht-cta-card h2 em{color:var(--ht-red);font-style:normal;
  -webkit-text-stroke:.5px rgba(255,45,85,.2);
}
.ht-cta-card p{font-size:16px;color:rgba(255,255,255,.8);max-width:510px;margin:0 auto 32px;line-height:1.8}
.ht-cta-card .ht-btn-primary{height:54px;padding:0 42px;font-size:16px}

/* footer */
.ht-footer{
  background:#080C14;
  border-top:1px solid rgba(255,45,85,.15);
  padding:70px 0 0;
  position:relative;
}
.ht-footer::before{
  content:'';
  position:absolute;
  top:0;left:0px;right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,45,85,.4),transparent);
  box-shadow:0 0 20px rgba(255,45,85,.3);
}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:50px;padding-bottom:45px;border-bottom:1px solid rgba(255,255,255,.05)}
.footer-brand .ht-logo-text{font-size:21px;margin-bottom:14px;display:inline-block}
.footer-brand p{font-size:14px;color:#758197;line-height:1.8;max-width:300px;margin-bottom:20px}
.footer-safety{display:flex;align-items:center;gap:10px;font-size:12px;color:#5D6A80;margin-top:4px}
.footer-safety i{color:var(--ht-cyan);font-size:16px}
.footer-links{}
.footer-links h5{font-size:15px;color:#fff;font-weight:600;margin-bottom:18px}
.footer-links ul{list-style:none;margin:0;padding:0}
.footer-links li{margin-bottom:11px}
.footer-links a{font-size:14px;color:#758197;line-height:1.4;transition:all var(--ht-transition);padding:0;display:inline-flex;background:transparent;border:0}
.footer-links a:hover{color:var(--ht-cyan);padding-left:4px}
.footer-bottom{
  padding:20px 0 28px;
  text-align:center;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.footer-bottom p{font-size:13px;color:#5D6A80;margin:0}
.footer-bottom p a{color:#758197}

/* floating cta */
.ht-float-login{
  position:fixed;
  right:24px;bottom:90px;
  z-index:1030;
}
.ht-float-login .floating-btn{
  width:56px;height:56px;
  background:linear-gradient(135deg,var(--ht-red),var(--ht-red-dark));
  border-radius:50%;
  border:0;
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(255,45,85,.45);
  transition:all var(--ht-transition);
  position:relative;
}
.ht-float-login .floating-btn::before{
  content:'';
  position:absolute;
  inset:-6px;
  border-radius:50%;
  border:1px solid rgba(255,45,85,.5);
  animation:ringPulse 2s infinite;
}
@keyframes ringPulse{
  0%{transform:scale(.9);opacity:1}
  100%{transform:scale(1.3);opacity:0}
}
.ht-float-login .floating-btn:hover{
  transform:scale(1.05);
  background:var(--ht-red-dark);
  box-shadow:0 12px 34px rgba(255,45,85,.6);
}
.ht-float-login .floating-btn i{font-size:20px}
.ht-float-login .floating-btn span{font-size:10px;font-weight:700;margin-top:2px;letter-spacing:.5px}
.ht-float-login.hidden{opacity:0;pointer-events:none;transform:translateY(20px)}

/* mobile install bottom */
.ht-mf-install{
  display:none;
}

/* utility */
.ht-divider-line{
  height:1px;
  border:0;
  background:linear-gradient(90deg,transparent,rgba(0,229,204,.25),transparent);
}

/* responsive core */
@media(max-width:1199px){
  .ht-feature-grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .ht-hero-grid{gap:30px}
  .ht-hero h1{font-size:40px}
  .ht-data-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:991px){
  .ht-nav{height:60px}
  .ht-nav-inner{height:60px}
  .navbar-toggler-ht{display:inline-flex}
  .ht-nav-links{
    position:fixed;
    inset:60px 0 auto 0;
    height:auto;
    max-height:calc(100vh - 60px);
    background:var(--ht-bg-dark);
    flex-direction:column;
    align-items:flex-start;
    padding:16px 24px;
    display:none;
    overflow-y:auto;
    border-bottom:1px solid var(--ht-line);
  }
  .ht-nav-links.show{display:flex}
  .ht-nav-links .nav-item{width:100%;margin:0}
  .ht-nav-links .nav-link{
    width:100%;
    padding:12px 0;
    margin:0;
    border-radius:6px;
    font-size:15px;
    display:flex;
    align-items:center;
  }
  .ht-nav-links .nav-link::after{display:none}
  .ht-nav-links .nav-link[data-bs-toggle="collapse"]::after{
    content:'';
    display:none;
  }
  .ht-nav-links .nav-link:hover,
  .ht-nav-links .nav-link.active{
    background:rgba(255,45,85,.12);
    padding-left:14px;
    border-radius:6px;
  }
  .ht-nav-cta.desktop-only{display:none}
  .ht-hero{min-height:auto;padding:130px 0 70px}
  .ht-hero-grid{grid-template-columns:1fr;gap:50px}
  .ht-hero h1{font-size:36px}
  .ht-s1-inner{grid-template-columns:1fr;gap:40px}
  .ht-s1-content{max-width:none}
  .ht-faq-wrap{grid-template-columns:1fr;gap:30px;max-width:none}
  .ht-footer-grid{
    grid-template-columns:1fr;
    gap:35px;
  }
  .ht-feature-grid{grid-template-columns:repeat(2,1fr)}
  .ht-feature-grid .offset-card{transform:none}
  .ht-feature-grid .offset-card:hover{transform:translateY(-4px)}
  .ht-plan-grid{grid-template-columns:1fr;max-width:480px;margin-left:auto;margin-right:auto}
  .ht-news-item{grid-template-columns:1fr;gap:14px}
  .ht-news-thumb{width:100%;height:auto;min-height:120px}
  .footer-links{grid-column:1}
}
@media(max-width:767px){
  .ht-section{padding:60px 0}
  .ht-section-sm{padding:40px 0}
  .ht-hero{padding:110px 0 60px}
  .ht-hero h1{font-size:30px;letter-spacing:-.5px}
  .ht-hero-sub{font-size:15px}
  .ht-hero-numline{display:none}
  .ht-container-card{width:100%}
  .ht-feature-grid{grid-template-columns:1fr;gap:14px}
  .ht-data-grid{grid-template-columns:1fr;gap:14px}
  .ht-s1-visual .float-index{left:0;top:8px}
  .ht-s2-header{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:32px}
  .ht-news-head{align-items:flex-start}
  .ht-news-tabs{width:100%;overflow-x:auto;flex-wrap:nowrap}
  .ht-news-tab{white-space:nowrap;padding:6px 14px}
  .ht-install-strip{flex-direction:column;align-items:flex-start;padding:15px 0}
  .ht-float-login{right:14px;bottom:80px;display:block}
  .ht-float-login .floating-btn{width:48px;height:48px}
  .ht-float-login .floating-btn i{font-size:17px}
  .ht-cta-card h2{font-size:27px}
  .ht-cta{padding-bottom:50px}
  .footer-links{display:none}
  .ht-mf-install{
    display:block;
    position:fixed;
    left:0;right:0;bottom:0;
    z-index:1020;
    background:rgba(11,15,26,.95);
    backdrop-filter:blur(10px);
    border-top:1px solid rgba(0,229,204,.2);
    padding:12px 16px;
  }
  .ht-mf-install .inner-flex{display:flex;align-items:center;justify-content:space-between;gap:14px}
  .ht-mf-install .app-brief{display:flex;align-items:center;gap:10px;min-width:0}
  .ht-mf-install .app-brief i{color:var(--ht-red);font-size:23px;flex-shrink:0}
  .ht-mf-install .app-brief strong{font-size:14px;display:block;white-space:nowrap;color:#fff}
  .ht-mf-install .app-brief span{font-size:11px;color:var(--ht-text-mute);display:block;white-space:nowrap}
  body{padding-bottom:44px}
  .footer-bottom{justify-content:center;padding-bottom:70px}
}

/* roulang page: category1 */
:root{
  --ht-red:#FF2D55;
  --ht-red-2:#FF4D70;
  --ht-red-dark:#E11D4B;
  --ht-cyan:#00E5CC;
  --ht-cyan-soft:rgba(0,229,204,.14);
  --ht-yellow:#FFB800;
  --bg-deep:#0B0F1A;
  --bg-sub:#121829;
  --bg-card:#1A2232;
  --line-light:rgba(255,255,255,.08);
  --line-cyan:rgba(0,229,204,.28);
  --txt-main:#E8ECF4;
  --txt-gray:#B6BECF;
  --txt-dim:#8B95A9;
  --txt-faint:#5D6A80;
  --font-sans:"PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-mono:"JetBrains Mono","Roboto Mono",Consolas,"Courier New",monospace;
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:18px;
  --shadow-card:0 12px 32px rgba(0,0,0,.35);
  --shadow-red:0 10px 28px rgba(255,45,85,.35);
  --trans:.3s cubic-bezier(.22,.68,.32,1);
  --nav-h:72px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-sans);
  font-size:16px;
  line-height:1.7;
  background:var(--bg-deep);
  color:var(--txt-main);
  -webkit-font-smoothing:antialiased;
  letter-spacing:.01em;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(640px 420px at 88% -5%, rgba(255,45,85,.10), transparent 62%),
    radial-gradient(720px 460px at -10% 42%, rgba(0,229,204,.08), transparent 60%);
}
a{color:var(--ht-cyan);text-decoration:none}
a:hover{color:var(--ht-cyan)}
img{max-width:100%;height:auto}
button,input,textarea{font-family:inherit}
section{position:relative;z-index:1}
.container{max-width:1200px;position:relative;z-index:2}
.ht-section{padding:92px 0}
.ht-section-sub{padding:70px 0}
:focus-visible{outline:2px solid var(--ht-cyan);outline-offset:3px;border-radius:4px}
@media (max-width: 767.98px){
  .ht-section{padding:62px 0}
  .ht-section-sub{padding:46px 0}
}
/* ========== NAV ========== */
.ht-nav{
  position:sticky;
  top:0;
  z-index:1030;
  background:rgba(11,15,26,.9);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  height:var(--nav-h);
  border-bottom:1px solid transparent;
  background-image:linear-gradient(90deg,transparent,rgba(0,229,204,.34),transparent);
  background-size:100% 1px;
  background-repeat:no-repeat;
  background-position:bottom;
}
.ht-nav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:var(--nav-h);
  gap:18px;
}
@media(max-width:991.98px){
  .ht-nav{height:62px}
  .ht-nav-inner{height:62px}
}
.ht-logo{display:flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0}
.ht-logo:hover{text-decoration:none}
.ht-logo-icon{
  width:40px;height:40px;
  border-radius:11px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#FF2D55,#9B0A33);
  color:#fff;
  font-size:17px;
  box-shadow:0 0 0 1px rgba(255,255,255,.14) inset,0 8px 20px rgba(255,45,85,.35);
}
.ht-logo-text{
  font-size:22px;
  font-weight:900;
  color:#fff;
  line-height:1.1;
  letter-spacing:-.3px;
  white-space:nowrap;
}
.ht-logo-text em{font-style:normal;color:var(--ht-red)}
.ht-logo-text small{
  display:block;
  font-size:10.5px;
  font-weight:600;
  letter-spacing:2px;
  color:var(--txt-dim);
  margin-top:1px;
}
.ht-nav-cta{display:flex;align-items:center;gap:12px}
.ht-nav-links{
  display:flex;
  align-items:center;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
}
.ht-nav-links .nav-item{position:relative}
.ht-nav-links .nav-link{
  display:inline-block;
  padding:12px 16px;
  font-size:15px;
  font-weight:600;
  color:#C7D0E0;
  border-bottom:2px solid transparent;
  transition:color .25s ease,border-color .25s ease;
  white-space:nowrap;
}
.ht-nav-links .nav-link:hover{
  color:#fff;
  text-decoration:none;
}
.ht-nav-links .nav-link.active{
  color:#fff;
  border-bottom-color:var(--ht-red);
  box-shadow:0 6px 14px rgba(255,45,85,.18);
}
.ht-btn-login{
  border:none;
  background:var(--ht-red);
  color:#fff;
  font-weight:700;
  font-size:14px;
  padding:9px 19px;
  border-radius:7px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  box-shadow:0 6px 18px rgba(255,45,85,.28);
  transition:background .3s,transform .2s,box-shadow .3s;
}
.ht-btn-login:hover{background:var(--ht-red-2);box-shadow:0 8px 22px rgba(255,45,85,.42);color:#fff}
.ht-btn-login:active{transform:scale(.97)}
.navbar-toggler-ht{
  display:none;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.04);
  color:var(--txt-main);
  width:44px;height:40px;
  border-radius:9px;
  align-items:center;
  justify-content:center;
  font-size:19px;
  transition:border-color .3s,color .3s;
}
.navbar-toggler-ht:hover{border-color:var(--ht-cyan);color:var(--ht-cyan)}
@media (max-width: 1099.98px){
  .ht-nav-links .nav-link{padding-left:10px;padding-right:10px}
}
@media (max-width: 991.98px){
  .ht-nav-links{
    position:absolute;
    top:62px;
    left:0;
    right:0;
    background:#0B0F1A;
    flex-direction:column;
    align-items:stretch;
    display:none;
    box-shadow:0 22px 34px rgba(0,0,0,.24);
    border-bottom:1px solid rgba(0,229,204,.24);
  }
  .ht-nav-links.open{display:flex;max-height:calc(100vh - 62px);overflow:auto;padding:8px 0 16px}
  .ht-nav-links .nav-link{
    color:var(--txt-main);padding:15px 24px;border-left:3px solid transparent;font-size:16px;display:block;
  }
  .ht-nav-links .nav-link.active, .ht-nav-links .nav-link:hover{
    background:rgba(255,45,85,.16);
    border-left-color:var(--ht-red);
    color:#fff;
    box-shadow:none;
  }
  .ht-btn-login span{display:none}
  .ht-btn-login{padding:9px 13px}
  .navbar-toggler-ht{display:inline-flex}
}
/* ========== BANNER ========== */
.cat-banner{
  position:relative;
  padding:92px 0 84px;
  background:
    linear-gradient(120deg,rgba(11,15,26,.96) 8%,rgba(16,23,38,.9) 46%,rgba(34,16,30,.82) 100%),
    url(/assets/images/backpic/back-1.png) center/cover no-repeat;
  border-bottom:1px solid rgba(255,255,255,.05);
  overflow:hidden;
}
.cat-banner::after{
  content:"";
  position:absolute;
  width:480px;height:480px;
  right:-120px;top:-120px;
  background:radial-gradient(circle,rgba(255,45,85,.2),transparent 66%);
  pointer-events:none;
}
.cat-banner .container{position:relative;z-index:2}
.banner-pattern{
  position:absolute;inset:0;z-index:0;opacity:.35;
  background-image:
    linear-gradient(rgba(0,229,204,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,229,204,.05) 1px,transparent 1px);
  background-size:52px 52px;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 36%,#000 72%,transparent);
          mask-image:linear-gradient(to right,transparent,#000 36%,#000 72%,transparent);
}
.cat-banner-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:52px;
  align-items:center;
}
.banner-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:13px;
  font-weight:700;
  color:var(--ht-cyan);
  letter-spacing:2.5px;
  background:rgba(0,229,204,.1);
  border:1px solid rgba(0,229,204,.22);
  padding:5px 12px;
  border-radius:6px;
  margin-bottom:18px;
}
.banner-eyebrow span{color:var(--txt-main)}
.cat-banner h1{
  font-size:44px;
  line-height:1.16;
  font-weight:900;
  letter-spacing:-.4px;
  color:#F5F7FC;
  margin-bottom:15px;
}
.cat-banner h1 .red{color:var(--ht-red)}
.cat-banner h1 .cyan{color:var(--ht-cyan)}
.banner-lead{
  font-size:17px;
  text-align:left;
  color:#A6B1C6;
  border-left:3px solid rgba(0,229,204,.55);
  padding-left:16px;
  max-width:560px;
  line-height:1.9;
  margin:24px 0 28px;
}
.banner-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.banner-tag{
  display:inline-block;
  font-size:12.5px;
  font-weight:600;
  padding:4px 11px;
  border-radius:5px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  color:var(--txt-gray);
}
.banner-actions{display:flex;flex-wrap:wrap;gap:13px}
.ht-btn-primary{
  display:inline-flex;align-items:center;gap:9px;
  background:var(--ht-red);color:#fff;
  font-weight:700;font-size:15px;
  border:none;border-radius:8px;
  padding:13px 28px;
  text-decoration:none;
  box-shadow:0 8px 24px rgba(255,45,85,.32);
  position:relative;overflow:hidden;
  transition:transform .3s,box-shadow .3s,background .3s;
}
.ht-btn-primary::before{
  content:"";position:absolute;top:0;left:-70%;width:40%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);
  transform:skewX(-18deg);
  transition:left .55s ease;
}
.ht-btn-primary:hover{background:var(--ht-red-2);color:#fff;transform:translateY(-2px);box-shadow:0 12px 32px rgba(255,45,85,.46)}
.ht-btn-primary:hover::before{left:130%}
.ht-btn-primary:active{transform:translateY(0) scale(.98)}
.ht-btn-ghost{
  display:inline-flex;align-items:center;gap:9px;
  background:transparent;color:var(--ht-cyan);
  font-weight:650;font-size:15px;
  border:1.5px solid var(--ht-cyan);border-radius:8px;
  padding:12px 26px;text-decoration:none;
  transition:background .3s,color .3s,box-shadow .3s,transform .3s;
}
.ht-btn-ghost:hover{background:var(--ht-cyan);color:var(--bg-deep);box-shadow:0 0 0 6px rgba(0,229,204,.15);text-decoration:none;transform:translateY(-2px)}
.ht-btn-ghost:active{transform:scale(.97)}
.banner-side{
  position:relative;
  background:rgba(18,24,41,.7);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  padding:28px 24px 24px;
  backdrop-filter:blur(7px);
  box-shadow:0 26px 54px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.06);
}
.side-status-head{
  display:flex;align-items:center;gap:10px;
  font-size:13px;color:var(--txt-dim);
  margin-bottom:14px;
}
.pulse-badge{
  width:8px;height:8px;border-radius:50%;
  background:var(--ht-cyan);
  box-shadow:0 0 0 0 rgba(0,229,204,.65);
  animation:pulse 1.9s infinite;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(0,229,204,.55)}
  70%{box-shadow:0 0 0 10px rgba(0,229,204,0)}
  100%{box-shadow:0 0 0 0 rgba(0,229,204,0)}
}
.ver-card{display:flex;align-items:center;gap:15px;background:#141C2C;border-radius:10px;padding:14px 16px;margin-bottom:12px;border:1px solid rgba(255,255,255,.06)}
.ver-card .ver-num{
  width:46px;height:46px;flex:0 0 46px;
  border-radius:9px;background:rgba(255,45,85,.2);
  color:var(--ht-red);font-weight:900;font-family:var(--font-mono);
  display:grid;place-items:center;font-size:14px;
}
.ver-card small{color:var(--txt-dim);display:block;font-size:11.5px;margin-top:2px}
.ver-card strong{display:block;font-size:15px}
.side-note{
  display:flex;gap:13px;margin-top:16px;
  padding:15px 0 0;border-top:1px dashed rgba(255,255,255,.1);
  color:var(--txt-dim);font-size:13px;
}
.side-note i{color:var(--ht-cyan);margin-top:2px;font-size:15px}
@media(max-width:991.98px){
  .cat-banner{padding:62px 0}
  .cat-banner-grid{grid-template-columns:1fr;gap:32px}
  .cat-banner h1{font-size:33px}
  .banner-side{max-width:560px}
}
/* ========== FEATURED ========== */
.featured-wrap{
  padding-top:0;
  transform:translateY(-44px);
  margin-bottom:-44px;
  z-index:3;
}
@media(max-width:767.98px){
  .featured-wrap{margin-top:46px;transform:none;margin-bottom:0;padding-top:0}
}
.featured-card{
  background:linear-gradient(125deg,#172136 0%,#131B2D 52%,#1C2538 100%);
  border:1px solid rgba(255,255,255,.09);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 28px 60px rgba(0,0,0,.52);
  display:grid;
  grid-template-columns:1.03fr .97fr;
}
.fc-left{padding:42px 40px;display:flex;flex-direction:column;justify-content:center}
.fc-thumb{min-height:270px;height:100%;position:relative;overflow:hidden}
.fc-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fc-thumb::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(90deg,#131B2D 4%,transparent 42%);
}
.tag-top{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:18px;
}
.tag-top .pin{color:var(--ht-yellow);font-size:13px;background:rgba(255,184,0,.1);border:1px solid rgba(255,184,0,.3);border-radius:5px;padding:2px 9px;font-weight:700}
.ht-badge{
  display:inline-block;font-size:12px;font-weight:700;
  border-radius:5px;padding:2px 10px;
  border:1px solid rgba(0,229,204,.4);
  color:var(--ht-cyan);
  background:rgba(0,229,204,.08);
  letter-spacing:.3px;
}
.ht-badge.red{color:#FF6B87;border-color:rgba(255,45,85,.5);background:rgba(255,45,85,.1)}
.ht-badge.yellow{color:var(--ht-yellow);border-color:rgba(255,184,0,.4);background:rgba(255,184,0,.08)}
.featured-card h2{
  font-size:28px;
  font-weight:900;
  line-height:1.32;
  color:#F1F4FA;
  max-width:420px;
  margin-bottom:13px;
  letter-spacing:-.3px;
}
.featured-card h2 em{color:var(--ht-red);font-style:normal}
.featured-desc{color:#A4AFBE;font-size:15px;line-height:1.9;max-width:410px}
.fc-list{list-style:none;padding:0;margin:20px 0 24px;display:grid;gap:9px}
.fc-list li{display:flex;align-items:flex-start;gap:10px;color:var(--txt-main);font-size:14.5px}
.fc-list li i{color:var(--ht-cyan);margin-top:5px;font-size:12px}
.fc-btn{font-size:14px}
@media(max-width:767.98px){
  .featured-card{grid-template-columns:1fr}
  .fc-left{padding:28px 24px}
  .fc-thumb{min-height:200px;order:-1}
  .featured-card h2{font-size:22px}
  .fc-thumb::after{background:linear-gradient(180deg,transparent 45%,rgba(22,28,44,.94) 100%)}
}
/* ========== SECTION HEAD ========== */
.section-head{
  display:flex;align-items:flex-end;
  justify-content:space-between;
  gap:26px;
  flex-wrap:wrap;
  margin-bottom:38px;
}
.section-head h2{
  font-size:32px;line-height:1.2;font-weight:900;
  color:#F3F5FA;letter-spacing:-.3px;
  position:relative;padding-left:16px;margin:0;
}
.section-head h2::before{
  content:"";position:absolute;left:0;top:5px;bottom:3px;
  width:4px;border-radius:3px;
  background:linear-gradient(180deg,var(--ht-red),var(--ht-cyan));
}
.section-head h2 span{display:block;font-size:14px;font-weight:500;color:var(--txt-dim);margin-top:7px;letter-spacing:0}
.sec-link{font-size:14px;font-weight:650;color:var(--txt-dim);display:inline-flex;align-items:center;gap:7px;transition:color .3s,gap .3s}
.sec-link:hover{color:var(--ht-cyan);gap:11px;text-decoration:none}
@media(max-width:575.98px){.section-head h2{font-size:25px}}
/* ========== ANNOUNCE LIST ========== */
.bg-slice-1{background:var(--bg-sub);border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04)}
.announce-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.announce-card{
  position:relative;
  background:var(--bg-card);
  border:1px solid var(--line-light);
  border-radius:var(--radius-md);
  padding:25px 24px 20px;
  display:flex;
  flex-direction:column;
  transition:transform var(--trans),border-color var(--trans),box-shadow var(--trans);
  overflow:hidden;
}
.announce-card::after{
  content:"";
  position:absolute;
  width:170px;height:170px;
  right:-90px;top:-90px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,229,204,.16),transparent 66%);
  pointer-events:none;
  transition:transform .4s ease;
}
.announce-card:hover{transform:translateY(-5px);border-color:rgba(0,229,204,.55);box-shadow:0 16px 40px rgba(0,0,0,.46),0 0 0 1px rgba(0,229,204,.08)}
.announce-card:hover::after{transform:scale(1.5)}
.ac-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}
.ac-time{font-family:var(--font-mono);font-size:12px;color:rgba(0,229,204,.65);letter-spacing:.5px}
.announce-card h3{
  font-size:18px;font-weight:800;line-height:1.45;
  color:#EFF1F7;
  margin-bottom:9px;
  transition:color .3s;
}
.announce-card h3 a{color:inherit;text-decoration:none;background-image:linear-gradient(var(--ht-cyan),var(--ht-cyan));background-size:0 2px;background-position:0 96%;background-repeat:no-repeat;transition:background-size .4s,color .25s}
.announce-card h3 a:hover{color:#fff;background-size:100% 2px}
.ac-desc{
  color:var(--txt-dim);
  font-size:14px;
  line-height:1.75;
  margin-bottom:14px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.ac-foot{
  margin-top:auto;
  display:flex;
  align-items:center;
  gap:12px;
  padding-top:13px;
  border-top:1px solid rgba(255,255,255,.05);
}
.ac-foot .read-more{
  font-size:13.5px;font-weight:600;
  color:var(--txt-dim);
  display:inline-flex;align-items:center;gap:7px;
  transition:color .3s;
}
.ac-foot .read-more i{font-size:12px}
.ac-foot .read-more:hover{color:var(--ht-red)}
.ac-foot .mini-status{margin-left:auto;font-size:12px;color:#4F5C73;font-weight:600}
@media(max-width:991.98px){
  .announce-grid{grid-template-columns:1fr;gap:18px}
}
/* ========== CHANGE LOG ========== */
.change-band{
  background:
    radial-gradient(700px 300px at 16% 0%,rgba(0,229,204,.06),transparent 60%),
    radial-gradient(560px 300px at 96% 4%,rgba(255,45,85,.08),transparent 60%),
    var(--bg-deep);
  border-bottom:1px solid rgba(255,255,255,.04);
}
.ver-list{display:grid;justify-content:start;gap:18px;margin-bottom:32px}
.ver-item{
  display:grid;
  grid-template-columns:128px 1fr;
  gap:26px;
  background:transparent;
  border-bottom:1px dashed rgba(255,255,255,.09);
  padding:15px 8px 23px;
  transition:background .3s,border-color .3s;
  border-radius:0;
}
.ver-item:hover{border-bottom-color:rgba(0,229,204,.36)}
.ver-ver{
  font-family:var(--font-mono);
  font-size:22px;
  font-weight:800;
  color:var(--ht-cyan);
  display:flex;flex-direction:column;
  letter-spacing:-.2px;
}
.ver-ver small{
  color:var(--txt-faint);
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:500;
  margin-top:5px;
  display:flex;align-items:center;gap:7px;
}
.ver-ver small i{color:var(--ht-yellow);font-size:8px}
.ver-item h3{font-size:18px;font-weight:750;color:#EDEFF6;margin:0 0 6px}
.ver-item h3 i{color:var(--ht-red);margin-right:7px;font-size:14px}
.ver-item p{color:var(--txt-dim);font-size:14.5px;line-height:1.7;max-width:760px;margin:0}
.notice-mini{
  display:flex;align-items:center;gap:14px;
  background:rgba(255,184,0,.07);
  border:1px solid rgba(255,184,0,.25);
  border-radius:var(--radius-md);
  padding:16px 20px;
  color:#D9E0EA;
  font-size:14px;
  flex-wrap:wrap;
}
.notice-mini i{color:var(--ht-yellow);font-size:19px}
.notice-mini a{font-weight:650;color:var(--ht-cyan);margin-left:5px}
@media(max-width:575.98px){
  .ver-item{grid-template-columns:1fr;gap:4px}
}
/* ========== STAT BAND ========== */
.stat-band{
  position:relative;
  overflow:hidden;
  background:linear-gradient(114deg,#101927 4%,#0B0F1A 70%);
  border-top:1px solid var(--line-light);
}
.stat-band::before{
  content:"";position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(rgba(0,229,204,.045) 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:radial-gradient(50% 80% at 50% 40%,#000 40%,transparent);
          mask-image:radial-gradient(50% 80% at 50% 40%,#000 40%,transparent);
}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px}
.stat-cell{
  text-align:center;
  padding:27px 10px;
  border-radius:var(--radius-md);
  background:rgba(255,255,255,.018);
}
.stat-num{
  font-family:var(--font-sans),var(--font-mono);
  font-size:49px;
  font-weight:900;
  color:#fff;
  letter-spacing:-1px;
  line-height:1.05;
  background:linear-gradient(180deg,#FFFFFF 20%,rgba(0,229,204,.75));
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  position:relative;
  display:inline-block;
  padding-bottom:5px;
}
.stat-cell.red .stat-num{background:linear-gradient(180deg,#fff,rgba(255,45,85,.8));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat-label{margin-top:9px;color:var(--txt-dim);font-size:13.5px;font-weight:600}
@media(max-width:991.98px){.stat-grid{grid-template-columns:repeat(2,1fr);gap:16px}}
@media(max-width:575.98px){.stat-num{font-size:38px}}
/* ========== CTA PANEL ========== */
.cta-panel{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  margin:92px 0 0;
  background:
    radial-gradient(500px 240px at 88% -10%,rgba(255,45,85,.32),transparent 62%),
    radial-gradient(440px 260px at -4% 120%,rgba(0,229,204,.18),transparent 60%),
    linear-gradient(132deg,#1E2433 0%,#111827 55%,#1B2030);
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 30px 70px rgba(0,0,0,.5);
  padding:58px 52px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:38px;
  flex-wrap:wrap;
}
.cta-copy h2{font-size:28px;font-weight:900;color:#fff;line-height:1.5;margin-bottom:10px}
.cta-copy h2 .line1{display:block;font-size:18px;color:var(--ht-cyan);font-weight:700;letter-spacing:.5px}
.cta-copy p{color:#A4AFBE;font-size:15px;max-width:650px;margin:0}
.cta-btns{display:flex;gap:13px;flex-wrap:wrap}
@media(max-width:767.98px){
  .cta-panel{padding:38px 24px;margin-top:52px}
}
/* ========== FAQ ========== */
.faq-section{position:relative}
.faq-grid{max-width:880px;margin:0 auto}
.faq-head{
  display:flex;
  justify-content:flex-start;
  gap:18px;
  flex-direction:column;
  text-align:center;
  margin-bottom:38px;
}
.faq-head h2{font-size:33px;font-weight:900;color:#F1F4FA}
.faq-head p{color:var(--txt-dim)}
.faq-col{display:grid;gap:13px}
.faq-item{
  background:#151D2D;
  border:1px solid rgba(255,255,255,.07);
  border-radius:11px;
  transition:border-color .3s,background .3s;
  overflow:hidden;
}
.faq-item.open{background:#141C2B;border-color:var(--line-cyan)}
.faq-q{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  background:transparent;
  border:none;
  color:var(--txt-main);
  font-size:16px;
  font-weight:700;
  width:100%;
  text-align:left;
  padding:17px 20px;
  cursor:pointer;
  transition:color .3s;
}
.faq-q .q-mark{color:var(--ht-cyan);font-family:var(--font-mono);font-weight:800;margin-right:11px}
.faq-q span.q-text{flex:1}
.faq-q .q-icon{
  width:24px;height:24px;flex:0 0 24px;
  display:grid;place-items:center;
  border-radius:5px;
  border:1px solid rgba(255,255,255,.14);
  color:var(--ht-cyan);
  font-size:14px;
  transition:transform .35s,background .35s,color .35s;
}
.faq-item.open .q-icon{transform:rotate(45deg);background:var(--ht-red);color:#fff;border-color:var(--ht-red)}
.faq-a{
  max-height:0;
  overflow:hidden;
  transition:max-height .35s ease;
}
.faq-a-inner{padding:0 20px 18px;color:#9AA5B8;font-size:15px;line-height:1.9;border-top:0}
.faq-item.open .faq-a{max-height:420px}
.faq-item.open .faq-a-inner{padding-top:3px}
/* ========== FOOTER ========== */
.ht-footer{
  background:#080C14;
  border-top:1px solid rgba(255,45,85,.16);
  box-shadow:0 -30px 60px rgba(255,45,85,.04);
  margin-top:0;
  position:relative;z-index:2;
}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:50px;padding:50px 0 44px;border-bottom:1px solid rgba(255,255,255,.05)}
.footer-brand p{color:var(--txt-dim);font-size:14.5px;line-height:1.9;max-width:330px;margin:16px 0 20px}
.footer-safety{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;color:#687A90;
  background:rgba(255,255,255,.03);
  padding:6px 12px;border-radius:6px;
}
.footer-safety i{color:var(--ht-cyan)}
.footer-links h5,.footer-brand .footer-title{font-size:15px;font-weight:800;color:#F4F6FA;margin-bottom:13px}
.footer-brand .ht-logo-text{font-size:23px}
.footer-links ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.footer-links a,.footer-links li{color:#758197;font-size:14px;text-decoration:none;transition:color .3s,padding-left .3s;line-height:1.8}
.footer-links a:hover{color:var(--ht-cyan);padding-left:4px}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding:22px 0 26px;
  color:var(--txt-faint);font-size:13px;
  flex-wrap:wrap;gap:10px;
}
/* ========== FLOAT CTA ========== */
.ht-float-cta{
  position:fixed;
  right:22px;bottom:26px;
  z-index:1040;
  opacity:0;
  visibility:hidden;
  transform:translateY(18px);
  transition:opacity .4s,transform .4s,visibility .4s;
}
.ht-float-cta.show{opacity:1;visibility:visible;transform:none}
.ht-float-btn{
  width:58px;height:58px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--ht-red),#C41450);
  color:#fff;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  gap:2px;
  font-size:11px;font-weight:800;
  text-decoration:none;
  border:none;
  box-shadow:0 10px 26px rgba(255,45,85,.5);
  position:relative;
  z-index:2;
}
.ht-float-btn::before{
  content:"";position:absolute;inset:-2px;border-radius:50%;
  border:2px solid rgba(255,45,85,.65);
  animation:ring 2.1s infinite;
}
.ht-float-btn i{font-size:18px;margin-bottom:1px}
.ht-float-btn:hover{color:#fff;transform:scale(1.07)}
.ht-float-btn:active{transform:scale(.96)}
@keyframes ring{
  0%{transform:scale(.92);opacity:.9}
  70%{transform:scale(1.22);opacity:0}
  100%{opacity:0}
}
@media(max-width:575.98px){
  .ht-float-cta{right:15px;bottom:18px}
  .ht-float-btn{width:49px;height:49px;font-size:10px}
}
/* ========== misc ========== */
.breadcrumb-zone{padding-top:70px;background:var(--bg-sub);border-bottom:1px solid rgba(255,255,255,.05)}
.breadcrumb-zone nav{font-size:13px}
.breadcrumb-zone a,.breadcrumb-zone span{color:#7C889B}
.breadcrumb-zone .sep{margin:0 10px;color:#3C485E}
.text-white{color:#fff}
.mt-extra{margin-top:20px}
.ht-row-cta{margin-top:54px}
.category-nav-bottom{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
/* ========== Responsive tweaks ========== */
@media (max-width: 767.98px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px}
  .cta-copy p br{display:none}
}
@media (max-width: 575.98px){
  .footer-grid{grid-template-columns:1fr;gap:18px;padding-top:34px}
  .footer-links{border-left:2px solid rgba(255,45,85,.2);padding-left:13px}
  .announce-card h3{font-size:16.5px}
  .cat-banner h1{font-size:29px}
}

/* roulang page: article */
:root{
  --ht-bg:#0B0F1A;
  --ht-bg2:#121829;
  --ht-card:#1A2232;
  --ht-red:#FF2D55;
  --ht-red-dark:#E11D4B;
  --ht-cyan:#00E5CC;
  --ht-yellow:#FFB800;
  --ht-line:rgba(255,255,255,.08);
  --ht-border:#232E42;
  --ht-text:#E8ECF4;
  --ht-text2:#B6BECF;
  --ht-muted:#8B95A9;
  --ht-radius:12px;
  --ht-shadow:0 10px 30px rgba(0,0,0,.4);
  --ht-glow-red:rgba(255,45,85,.4);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter","PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  background:var(--ht-bg);
  color:var(--ht-text);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--ht-cyan);text-decoration:none;transition:color .2s ease}
a:hover{color:#82fff2;text-decoration:none}
button,input,textarea,select{font-family:inherit}
:focus-visible{outline:2px solid var(--ht-cyan);outline-offset:2px}
.container{max-width:1200px}
/* 头部导航 */
.ht-nav{
  position:sticky;
  top:0;
  z-index:1040;
  background:rgba(11,15,26,.92);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(0,229,204,.22);
  box-shadow:0 1px 0 rgba(0,0,0,.2),0 6px 18px rgba(0,0,0,.25);
}
.ht-nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px;gap:20px}
.ht-logo{display:flex;align-items:center;gap:10px;color:var(--ht-text)}
.ht-logo-icon{
  width:40px;height:40px;flex:none;
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--ht-red),#ff5b70);
  border-radius:10px;color:#fff;font-size:18px;
  box-shadow:0 0 0 1px rgba(255,45,85,.35),0 8px 20px rgba(255,45,85,.28);
}
.ht-logo-text{font-size:21px;font-weight:900;letter-spacing:-.3px;line-height:1.1;color:#fff}
.ht-logo-text em{font-style:normal;color:var(--ht-cyan)}
.ht-logo-text small{display:block;font-size:10px;font-weight:600;letter-spacing:2px;color:var(--ht-muted);margin-top:3px}
.ht-nav-links{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
.nav-item{position:relative}
.nav-link{
  display:block;
  padding:10px 0;
  font-size:15px;
  color:#C7D0E0;
  font-weight:500;
  letter-spacing:.2px;
  background:none;
  border:0;
  position:relative;
}
.nav-link::after{
  content:"";
  position:absolute;
  left:0;bottom:4px;
  width:0;height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,var(--ht-red),#ff6b83);
  box-shadow:0 0 12px var(--ht-glow-red);
  transition:width .25s ease;
}
.nav-link:hover{color:#fff}
.nav-link:hover::after,.nav-link.active::after{width:100%}
.nav-link.active{color:#fff}
.ht-nav-cta{display:flex;align-items:center;gap:12px}
.ht-btn-login{
  display:inline-flex;align-items:center;gap:8px;
  border:0;background:linear-gradient(135deg,var(--ht-red),#ec1e4c);
  color:#fff;font-weight:700;font-size:14px;
  padding:9px 20px;border-radius:8px;cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
  position:relative;overflow:hidden;
}
.ht-btn-login::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.22) 50%,transparent 62%);
  transform:translateX(-80%);
  transition:transform .5s ease;
}
.ht-btn-login:hover{color:#fff;background:#ff496c;box-shadow:0 8px 24px rgba(255,45,85,.36);transform:translateY(-2px)}
.ht-btn-login:hover::before{transform:translateX(80%)}
.ht-btn-login:active{transform:scale(.97)}
.navbar-toggler-ht{
  display:none;
  align-items:center;
  justify-content:center;
  width:42px;height:42px;border-radius:8px;
  background:transparent;border:1px solid rgba(255,255,255,.12);
  color:#fff;font-size:17px;cursor:pointer;
  transition:border-color .2s ease,background .2s ease;
}
.navbar-toggler-ht:hover{border-color:var(--ht-cyan);background:rgba(0,229,204,.08)}
/* 按钮体系 */
.ht-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  border-radius:8px;padding:11px 24px;
  font-weight:600;font-size:15px;
  border:1px solid transparent;
  cursor:pointer;text-align:center;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease;
  text-decoration:none;
}
.ht-btn-red{background:linear-gradient(135deg,var(--ht-red),#f5204d);color:#fff;box-shadow:0 8px 22px rgba(255,45,85,.24)}
.ht-btn-red:hover{color:#fff;background:linear-gradient(135deg,#ff475d,#ff2d55);transform:translateY(-2px);box-shadow:0 12px 30px rgba(255,45,85,.4)}
.ht-btn-line{background:transparent;border:1.5px solid var(--ht-cyan);color:var(--ht-cyan)}
.ht-btn-line:hover{background:var(--ht-cyan);color:#0B0F1A;box-shadow:0 0 24px rgba(0,229,204,.35)}
.ht-btn-xl{padding:14px 32px;font-size:16px;border-radius:10px}
/* 文章主体背景 */
.article-page-main{
  position:relative;
  padding:48px 0 20px;
  min-height:72vh;
  background:
    radial-gradient(980px 320px at 85% -4%,rgba(255,45,85,.13),transparent 60%),
    radial-gradient(700px 300px at -4% 14%,rgba(0,229,204,.08),transparent 60%),
    linear-gradient(#0B0F1A,#0e1420);
  overflow:hidden;
}
.article-page-main::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,45,85,.6),transparent);
  opacity:.4;
}
/* 面包屑 */
.ht-breadcrumb{
  max-width:880px;margin:6px auto 22px;
  display:flex;align-items:center;flex-wrap:wrap;
  font-size:13px;color:var(--ht-muted);gap:10px;
}
.ht-breadcrumb a{color:var(--ht-muted);text-decoration:none;transition:color .2s ease}
.ht-breadcrumb a:hover{color:var(--ht-cyan)}
.ht-breadcrumb .crumb-here{color:#fff;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ht-breadcrumb i{font-size:10px;color:#4d5a70}
/* 文章内容卡壳 */
.article-shell{max-width:880px;margin:0 auto}
.post-head{margin-bottom:24px}
.post-kicker{display:flex;align-items:center;gap:10px}
.area-tag{
  display:inline-flex;align-items:center;gap:7px;
  padding:6px 14px;border-radius:30px;
  background:rgba(0,229,204,.09);
  border:1px solid rgba(0,229,204,.28);
  color:var(--ht-cyan);font-size:12px;font-weight:700;letter-spacing:.5px;
}
.area-tag i{font-size:11px}
.post-title{
  margin:18px 0 20px;
  font-size:36px;
  font-weight:900;
  line-height:1.28;
  letter-spacing:-.4px;
  color:#fff;
  text-wrap:balance;
}
.post-meta{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px;
  padding:15px 0;
  border-top:1px solid var(--ht-line);
  border-bottom:1px solid var(--ht-line);
  color:var(--ht-muted);font-size:13px;
}
.post-meta .meta-item{display:inline-flex;align-items:center;gap:8px}
.post-meta i{color:var(--ht-cyan);width:14px;text-align:center}
.post-meta .meta-pill{
  padding:3px 11px;border-radius:30px;
  background:rgba(255,45,85,.12);
  border:1px solid rgba(255,45,85,.22);
  color:#ff8797;
  font-size:12px;
}
/* 封面 */
.post-cover{
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 16px 46px rgba(0,0,0,.42),0 0 0 1px rgba(0,229,204,.06);
  margin-bottom:40px;
  position:relative;
}
.post-cover img{width:100%;height:360px;object-fit:cover}
.post-cover::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(11,15,26,.6));
  pointer-events:none;
}
/* 正文字体 */
.post-content{
  max-width:780px;margin:0 auto;
  color:#C7D0DE;
  font-size:16.5px;
  line-height:1.95;
  word-break:break-word;
}
.post-content p{margin:0 0 1.75em}
.post-content h2{
  font-size:27px;font-weight:800;color:#fff;
  margin:2.2em 0 .9em;
  padding-bottom:.45em;
  border-bottom:1px solid rgba(255,255,255,.08);
  line-height:1.35;
}
.post-content h3{
  font-size:22px;font-weight:800;color:#fff;
  padding-left:15px;
  border-left:4px solid var(--ht-red);
  margin:2.3em 0 1em;
  line-height:1.45;
}
.post-content h4{
  font-size:18px;font-weight:800;color:#dffcf8;
  margin:1.9em 0 .8em;
}
.post-content a{
  color:var(--ht-cyan);
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-color:rgba(0,229,204,.55);
}
.post-content a:hover{color:#96fff2;text-decoration-color:currentColor}
.post-content img{
  max-width:100%;border-radius:14px;
  border:1px solid rgba(255,255,255,.09);
  margin:2em auto;
  box-shadow:0 14px 34px rgba(0,0,0,.3);
}
.post-content blockquote{
  margin:2.1em 0;
  padding:20px 24px;
  border-left:3px solid var(--ht-cyan);
  background:rgba(0,229,204,.07);
  border-radius:0 12px 12px 0;
  color:#b7dcf0;
  font-style:normal;
}
.post-content blockquote p:last-child{margin-bottom:0}
.post-content ul,.post-content ol{margin:0 0 1.8em;padding-left:1.4em}
.post-content li{margin-bottom:.55em}
.post-content li::marker{color:var(--ht-red)}
.post-content hr{
  border:0;height:1px;
  background:linear-gradient(90deg,var(--ht-red),transparent);
  margin:2.4em 0;
  opacity:.3;
}
.post-content code{
  background:rgba(0,229,204,.1);
  border:1px solid rgba(0,229,204,.16);
  color:#68ffdf;
  padding:3px 8px;border-radius:5px;
  font-size:.92em;
}
.post-content pre{
  background:#0e1522;
  padding:18px;border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  overflow-x:auto;
  margin:0 0 1.8em;
}
.post-content pre code{background:transparent;border:0;padding:0}
/* 文末标签和分享 */
.post-bottom{
  max-width:780px;margin:44px auto 0;
  padding-top:24px;
  border-top:1px solid var(--ht-line);
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;flex-wrap:wrap;
}
.tag-label{color:var(--ht-muted);font-size:13px;display:inline-flex;gap:8px;align-items:center;margin-right:4px}
.tag-label i{color:var(--ht-cyan)}
.tag-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 13px;margin:0 6px 8px 0;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.14);
  color:var(--ht-text2);background:rgba(255,255,255,.04);
  font-size:13px;
}
.tag-chip:hover{border-color:var(--ht-cyan);color:var(--ht-cyan);background:rgba(0,229,204,.08)}
.post-share{display:flex;align-items:center;gap:10px;color:var(--ht-muted);font-size:13px}
.share-cir{
  width:36px;height:36px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;font-size:14px;
  transition:all .2s ease;
}
.share-cir:hover{
  background:var(--ht-red);
  border-color:var(--ht-red);
  box-shadow:0 0 16px rgba(255,45,85,.45);
  color:#fff;transform:translateY(-2px);
}
.share-cir.cyan:hover{background:var(--ht-cyan);border-color:var(--ht-cyan);color:#0B0F1A;box-shadow:0 0 16px rgba(0,229,204,.4);color:#0B0F1A}
/* 评论区 */
.comment-section{
  background:var(--ht-bg2);
  padding:64px 0;
  border-top:1px solid var(--ht-line);
  border-bottom:1px solid var(--ht-line);
}
.comment-wrap{max-width:760px;margin:0 auto}
.section-hed{display:flex;align-items:center;gap:12px;margin-bottom:34px}
.hed-ico{
  width:42px;height:42px;border-radius:10px;
  background:rgba(255,45,85,.13);
  border:1px solid rgba(255,45,85,.25);
  display:inline-flex;align-items:center;justify-content:center;
  color:var(--ht-red);
}
.section-hed h2{
  margin:0;font-size:22px;font-weight:800;color:#fff;letter-spacing:-.2px;
  line-height:1.3;
}
.section-hed p{margin:2px 0 0;color:var(--ht-muted);font-size:13px}
.comment-list{display:grid;gap:16px}
.comment-card{
  background:var(--ht-card);
  border:1px solid rgba(255,255,255,.06);
  border-radius:14px;
  padding:20px;
  display:flex;gap:15px;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.comment-card:hover{border-color:rgba(0,229,204,.3)}
.user-avatar{
  width:46px;height:46px;flex:none;
  border-radius:50%;
  background:linear-gradient(135deg,#2b3a55,#161f30);
  border:1px solid rgba(255,255,255,.12);
  display:inline-flex;align-items:center;justify-content:center;
  color:#fff;font-weight:700;font-size:16px;
}
.comment-card .avatar-c{background:linear-gradient(135deg,var(--ht-red),#a51b38);box-shadow:0 0 0 4px rgba(255,45,85,.12)}
.comment-card .avatar-b{background:linear-gradient(135deg,var(--ht-cyan),#0f7d70);box-shadow:0 0 0 4px rgba(0,229,204,.1)}
.comment-body{flex:1;min-width:0}
.comment-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.c-name{font-weight:700;color:#fff;font-size:14px}
.c-time{color:var(--ht-muted);font-size:12px}
.c-badge{
  font-size:11px;padding:2px 8px;border-radius:20px;
  background:rgba(0,229,204,.1);color:var(--ht-cyan);
}
.comment-text{color:var(--ht-text2);font-size:14.5px;line-height:1.7;margin-bottom:8px}
.comment-actions{display:flex;gap:16px;color:var(--ht-muted);font-size:12px}
.comment-actions span{display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:color .2s ease}
.comment-actions span:hover{color:var(--ht-cyan)}
/* 推荐阅读 */
.related-section{padding:72px 0 40px}
.related-wrap{max-width:920px;margin:0 auto}
.related-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px;flex-wrap:wrap}
.related-top h2{font-size:24px;font-weight:900;margin:0;color:#fff}
.related-top p{margin:6px 0 0;color:var(--ht-muted);font-size:14px}
.related-link{color:var(--ht-cyan);font-size:13px}
.related-list{display:grid;gap:16px}
.related-card{
  display:grid;
  grid-template-columns:224px 1fr;
  background:var(--ht-card);
  border:1px solid rgba(255,255,255,.07);
  border-radius:16px;
  overflow:hidden;
  text-decoration:none;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.related-card:hover{
  transform:translateY(-3px);
  border-color:rgba(0,229,204,.35);
  box-shadow:var(--ht-shadow),0 0 0 1px rgba(0,229,204,.08);
}
.rel-pic{overflow:hidden;min-height:130px}
.rel-pic img{width:100%;height:100%;object-fit:cover;min-height:130px;transition:transform .4s ease}
.related-card:hover .rel-pic img{transform:scale(1.05)}
.rel-body{padding:17px 20px;display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0}
.rel-cat{font-size:12px;font-weight:700;color:var(--ht-cyan);letter-spacing:.4px}
.rel-body h3{font-size:16.5px;color:#fff;margin:0;font-weight:700;line-height:1.45}
.rel-body p{font-size:13.5px;color:var(--ht-muted);margin:0;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rel-more{font-size:12px;color:var(--ht-text2);display:inline-flex;align-items:center;gap:6px;transition:color .2s ease}
.rel-more:hover{color:var(--ht-cyan)}
/* CTA */
.cta-section{padding:64px 0}
.cta-banner{
  position:relative;
  border-radius:20px;
  overflow:hidden;
  padding:54px 56px;
  display:flex;align-items:center;justify-content:space-between;
  gap:36px;flex-wrap:wrap;
  background:url('/assets/images/backpic/back-3.png') center/cover no-repeat;
  background-color:#130e1b;
}
.cta-banner::before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(112deg,rgba(255,45,85,.82),rgba(18,17,32,.88) 62%,rgba(0,229,204,.32)),
    repeating-linear-gradient(0deg,transparent 0 9px,rgba(255,255,255,.025) 9px 10px);
}
.cta-banner::after{
  content:"";position:absolute;
  left:-80px;top:-50px;width:280px;height:280px;border-radius:50%;
  background:rgba(0,229,204,.2);filter:blur(70px);
}
.cta-banner>*{position:relative;z-index:2}
.cta-copy{flex:1;min-width:260px}
.cta-copy h2{color:#fff;font-size:27px;font-weight:900;margin:0 0 10px;letter-spacing:-.3px}
.cta-copy p{color:rgba(255,255,255,.85);margin:0;max-width:520px;font-size:15px;line-height:1.8}
.cta-act{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
/* 空内容态 */
.missing-section{padding:130px 0;position:relative;background:var(--ht-bg)}
.missing-section::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(700px 260px at 50% 0,rgba(255,45,85,.1),transparent 60%),
    repeating-linear-gradient(0deg,transparent 0 40px,rgba(255,255,255,.02) 40px 41px);
}
.missing-card{
  position:relative;z-index:2;
  max-width:680px;margin:0 auto;text-align:center;
  padding:64px 48px;
  background:var(--ht-card);
  border:1px solid rgba(255,45,85,.28);
  border-radius:20px;
  box-shadow:0 20px 50px rgba(0,0,0,.4);
}
.missing-card .miss-ico{
  width:64px;height:64px;margin:0 auto 18px;
  border-radius:18px;
  background:rgba(255,45,85,.14);
  border:1px solid rgba(255,45,85,.25);
  display:flex;align-items:center;justify-content:center;
  color:var(--ht-red);font-size:24px;
}
.missing-card h1{font-size:28px;color:#fff;font-weight:900;margin:0 0 12px}
.missing-card p{color:var(--ht-muted);margin:0 0 26px;font-size:15px;line-height:1.8}
/* 页脚 */
.ht-footer{
  position:relative;
  background:#080C14;
  border-top:1px solid rgba(255,45,85,.2);
  overflow:hidden;
}
.ht-footer::before{
  content:"";display:block;
  height:1px;background:linear-gradient(90deg,transparent,rgba(255,45,85,.75),transparent);
}
.footer-grid{
  display:grid;
  grid-template-columns:2.2fr 1fr 1fr 1.1fr;
  gap:50px;
  padding:56px 0 44px;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.footer-brand .ht-logo-text{font-size:24px;display:inline-flex;align-items:center}
.footer-brand .ht-logo-text em{font-style:normal;color:var(--ht-red);margin-left:2px}
.footer-brand p{color:var(--ht-muted);font-size:14px;line-height:1.9;margin:16px 0 20px;max-width:360px}
.footer-safety{
  display:inline-flex;align-items:center;gap:9px;
  padding:9px 14px;border-radius:30px;
  background:rgba(0,229,204,.07);
  border:1px solid rgba(0,229,204,.16);
  color:#7acfc0;font-size:12px;
}
.footer-links h5{font-size:15px;color:#fff;margin:0 0 17px;font-weight:700}
.footer-links ul{list-style:none;margin:0;padding:0}
.footer-links li{margin-bottom:11px}
.footer-links a{color:var(--ht-muted);font-size:14px;text-decoration:none;transition:color .2s ease,padding-left .2s ease}
.footer-links a:hover{color:var(--ht-cyan);padding-left:3px}
.footer-bottom{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;flex-wrap:wrap;
  padding:22px 0;
  color:#556173;font-size:12px;
}
.footer-bottom a{color:#6a7a90}
.footer-bottom a:hover{color:var(--ht-cyan)}
/* 响应式 */
@media (max-width:991.98px){
  .ht-nav-inner{height:62px}
  .ht-nav-links{
    position:absolute;
    top:62px;left:0;right:0;
    max-height:0;
    overflow:hidden;
    flex-direction:column;
    gap:0;
    background:#0B0F1A;
    align-items:stretch;
    border-bottom:1px solid transparent;
    transition:max-height .32s ease,border-color .32s ease;
  }
  .ht-nav-links.open{
    max-height:340px;
    border-bottom-color:rgba(0,229,204,.22);
    box-shadow:0 18px 40px rgba(0,0,0,.5);
  }
  .nav-item{border-top:1px solid rgba(255,255,255,.04)}
  .nav-link{padding:14px 24px;font-size:15px}
  .nav-link::after{display:none}
  .nav-link:hover{background:rgba(255,45,85,.14)}
  .navbar-toggler-ht{display:inline-flex}
  .ht-btn-login span{display:none}
  .ht-btn-login{width:42px;height:42px;padding:0;justify-content:center;border-radius:10px}
  .ht-btn-login i{font-size:16px}
  .post-title{font-size:31px}
  .post-content{font-size:16px;line-height:1.9}
  .cta-banner{padding:40px 30px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px;padding-top:46px}
}
@media (max-width:767.98px){
  .article-page-main{padding-top:32px}
  .post-title{font-size:26px}
  .post-cover img{height:240px}
  .post-bottom{flex-direction:column;align-items:flex-start}
  .comment-card{padding:16px}
  .related-card{grid-template-columns:1fr}
  .rel-pic img,.rel-pic{min-height:180px;max-height:200px}
  .cta-banner{flex-direction:column;align-items:flex-start}
  .cta-act{width:100%}
  .cta-act .ht-btn{flex:1}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
  .footer-brand{grid-column:1/-1}
}
@media (max-width:575.98px){
  .container{padding-left:16px;padding-right:16px}
  .ht-login-small{display:inline}
  .ht-breadcrumb{gap:6px}
  .ht-breadcrumb a,.ht-breadcrumb span{font-size:12px}
  .ht-breadcrumb .crumb-here{max-width:130px}
  .post-title{font-size:23px;line-height:1.4}
  .post-meta{gap:8px 12px}
  .section-hed h2{font-size:19px}
  .related-top h2{font-size:21px}
  .cta-copy h2{font-size:21px}
  .footer-grid{grid-template-columns:1fr;gap:26px}
  .footer-bottom{flex-direction:column;text-align:center;padding:20px 0}
  .missing-card{padding:44px 20px}
  .missing-card h1{font-size:23px}
}

/* roulang page: category3 */
:root {
  --ht-red: #FF2D55;
  --ht-red-dark: #E11D4B;
  --ht-cyan: #00E5CC;
  --ht-yellow: #FFB800;
  --ht-dark: #0B0F1A;
  --ht-dark2: #121829;
  --ht-card: #1A2232;
  --ht-card2: #141C2B;
  --ht-text: #E8ECF4;
  --ht-muted: #8B95A9;
  --ht-muted2: #B6BECF;
  --ht-border: rgba(255, 255, 255, .08);
  --ht-radius: 12px;
  --ht-radius-sm: 6px;
  --ht-shadow: 0 10px 30px rgba(0, 0, 0, .45);
  --ht-glow: 0 0 24px rgba(0, 229, 204, .12);
  --ht-font: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ht-mono: "JetBrains Mono", "Roboto Mono", Consolas, "Courier New", monospace;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  font-family: var(--ht-font);
  font-size: 16px;
  line-height: 1.7;
  background: var(--ht-dark);
  color: var(--ht-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img {
  max-width: 100%;
}
a {
  color: var(--ht-cyan);
  text-decoration: none;
  transition: color .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}
a:hover {
  color: var(--ht-cyan);
}
button {
  font-family: inherit;
}
ul, ol {
  padding: 0;
  margin: 0;
  list-style: none;
}
.container {
  max-width: 1200px;
}
section {
  position: relative;
}

/* ====== Navigation ====== */
.ht-nav {
  position: sticky;
  top: 0;
  z-index: 1040;
  height: 72px;
  background: rgba(11, 15, 26, .92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(0, 229, 204, .08);
}
.ht-nav::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0, 229, 204, .55), transparent);
  opacity: .5;
  pointer-events: none;
}
.ht-nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 72px;
  position: relative;
}
.ht-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #fff;
  flex-shrink: 0;
}
.ht-logo:hover {
  color: #fff;
}
.ht-logo-icon {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--ht-red), #FF6A44);
  border-radius: 10px;
  font-size: 17px;
  color: #fff;
  box-shadow: 0 0 16px rgba(255, 45, 85, .35);
}
.ht-logo-text {
  font-size: 21px;
  font-weight: 900;
  letter-spacing: .5px;
  color: #fff;
  line-height: 1.1;
  display: flex;
  align-items: baseline;
  gap: 3px;
  white-space: nowrap;
}
.ht-logo-text em {
  font-style: normal;
  color: var(--ht-red);
}
.ht-logo-text small {
  display: block;
  font-size: 11px;
  font-weight: 500;
  color: var(--ht-muted2);
  letter-spacing: 2.2px;
  line-height: 1.2;
}
.ht-nav-links {
  display: flex;
  align-items: center;
  padding: 0 6px;
}
.ht-nav-links .nav-item {
  position: relative;
}
.ht-nav-links .nav-link {
  display: inline-block;
  padding: 8px 2px;
  margin: 0 14px;
  font-size: 15px;
  font-weight: 500;
  color: #C7D0E0;
  position: relative;
  background: none;
  border: 0;
  white-space: nowrap;
  transition: color .2s ease;
}
.ht-nav-links .nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 2px;
  background: var(--ht-red);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .25s ease;
  box-shadow: 0 0 10px rgba(255, 45, 85, .45);
}
.ht-nav-links .nav-link:hover {
  color: #fff;
}
.ht-nav-links .nav-link:hover::after {
  transform: scaleX(1);
}
.ht-nav-links .nav-link.active {
  color: var(--ht-red);
}
.ht-nav-links .nav-link.active::after {
  transform: scaleX(1);
}
.ht-nav-cta {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.ht-btn-login {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 40px;
  padding: 0 18px;
  border: 0;
  background: var(--ht-red);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  border-radius: var(--ht-radius-sm);
  transition: background .2s ease, box-shadow .2s ease, transform .15s ease;
  box-shadow: 0 6px 16px rgba(255, 45, 85, .25);
}
.ht-btn-login:hover {
  background: var(--ht-red-dark);
  color: #fff;
  box-shadow: 0 0 24px rgba(255, 45, 85, .45);
}
.ht-btn-login:active {
  transform: scale(.98);
}
.navbar-toggler-ht {
  display: none;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 8px;
  color: #fff;
  font-size: 18px;
}
.navbar-toggler-ht:focus {
  outline: 2px solid rgba(0, 229, 204, .6);
  outline-offset: 2px;
}

/* ====== Page Hero ====== */
.ht-page-hero {
  position: relative;
  padding: 82px 0 76px;
  background: var(--ht-dark);
  overflow: hidden;
}
.ht-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url('/assets/images/backpic/back-2.png') center / cover no-repeat;
  opacity: .22;
  filter: saturate(.75);
}
.ht-page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 18%, rgba(255, 45, 85, .2), transparent 42%),
    radial-gradient(circle at 85% 80%, rgba(0, 229, 204, .16), transparent 48%),
    linear-gradient(180deg, rgba(11, 15, 26, .55), rgba(11, 15, 26, .88));
  pointer-events: none;
}
.ht-page-hero .container {
  position: relative;
  z-index: 2;
}
.hero-grid {
  display: grid;
  grid-template-columns: 1.3fr .82fr;
  gap: 48px;
  align-items: end;
}
.ht-crumbs {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: var(--ht-muted);
  margin-bottom: 28px;
}
.ht-crumbs a {
  color: var(--ht-muted2);
  text-decoration: none;
}
.ht-crumbs a:hover {
  color: var(--ht-cyan);
}
.ht-crumbs span {
  color: rgba(255, 255, 255, .65);
}
.hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 12px;
  border: 1px solid rgba(255, 184, 0, .35);
  background: rgba(255, 184, 0, .06);
  color: var(--ht-yellow);
  font-size: 13px;
  border-radius: 999px;
  letter-spacing: 1px;
  margin-bottom: 18px;
}
.ht-page-hero h1 {
  font-size: clamp(34px, 5vw, 54px);
  font-weight: 900;
  line-height: 1.16;
  letter-spacing: .5px;
  margin: 0 0 18px;
  color: #fff;
}
.ht-page-hero h1 em {
  font-style: normal;
  color: var(--ht-cyan);
  text-shadow: 0 0 30px rgba(0, 229, 204, .35);
}
.hero-lead {
  max-width: 560px;
  font-size: 17px;
  line-height: 1.9;
  color: #B6C2D6;
  margin: 0 0 28px;
  padding-left: 18px;
  border-left: 3px solid rgba(255, 45, 85, .7);
}
.hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
}
.hero-note-card {
  background: rgba(26, 34, 50, .68);
  border: 1px solid rgba(0, 229, 204, .14);
  border-radius: var(--ht-radius);
  padding: 22px 22px 20px;
  backdrop-filter: blur(6px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
}
.hero-note-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 14px;
}
.hero-note-title i {
  color: var(--ht-cyan);
}
.hero-note-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.hero-note-list li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 14px;
  color: var(--ht-muted2);
}
.hero-note-list li i {
  color: var(--ht-yellow);
  font-size: 13px;
  line-height: 1.8;
}

/* ====== General Sections ====== */
.ht-section {
  padding: 96px 0;
}
.ht-section.tint {
  background: var(--ht-dark2);
}
.ht-sec-head {
  max-width: 680px;
  margin: 0 auto 56px;
  text-align: center;
}
.ht-sec-head.left {
  text-align: left;
  margin-left: 0;
}
.ht-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ht-cyan);
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.ht-kicker::before {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--ht-cyan);
  display: inline-block;
}
.ht-sec-head h2 {
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 800;
  line-height: 1.3;
  color: #fff;
  letter-spacing: .5px;
  margin-bottom: 14px;
}
.ht-sec-head p {
  color: var(--ht-muted);
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 0;
}

/* ====== Guide Main ====== */
.guide-layout {
  display: grid;
  grid-template-columns: 272px 1fr;
  gap: 40px;
  align-items: start;
}
.guide-rail {
  position: sticky;
  top: 104px;
  background: var(--ht-card);
  border: 1px solid var(--ht-border);
  border-radius: var(--ht-radius);
  padding: 26px 20px 24px;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .3);
}
.rail-title {
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 1px;
  padding-bottom: 12px;
  margin-bottom: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.rail-title i {
  color: var(--ht-cyan);
  margin-right: 8px;
}
.rail-links li + li {
  margin-top: 4px;
}
.rail-link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  border-radius: 8px;
  color: var(--ht-muted2);
  font-size: 14px;
  transition: all .2s ease;
}
.rail-link span {
  font-family: var(--ht-mono);
  font-size: 12px;
  color: rgba(255, 255, 255, .35);
}
.rail-link:hover {
  background: rgba(0, 229, 204, .06);
  color: #fff;
}
.rail-link.active {
  background: rgba(255, 45, 85, .12);
  color: var(--ht-red);
}
.rail-link.active span {
  color: var(--ht-red);
}
.rail-cta {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, .08);
}
.guide-stack {
  display: flex;
  flex-direction: column;
  gap: 26px;
}
.guide-card {
  display: grid;
  grid-template-columns: 360px 1fr;
  background: var(--ht-card);
  border: 1px solid var(--ht-border);
  border-radius: var(--ht-radius);
  overflow: hidden;
  transition: border-color .25s ease, box-shadow .3s ease, transform .3s ease;
}
.guide-card:hover {
  border-color: rgba(0, 229, 204, .5);
  box-shadow: var(--ht-shadow), 0 0 0 1px rgba(0, 229, 204, .1);
  transform: translateY(-5px);
}
.guide-figure {
  position: relative;
  min-height: 260px;
  overflow: hidden;
}
.guide-figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
  transition: transform .5s ease;
}
.guide-card:hover .guide-figure img {
  transform: scale(1.04);
}
.guide-content {
  padding: 28px 32px 26px;
}
.guide-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.guide-num {
  font-family: var(--ht-mono);
  font-size: 13px;
  font-weight: 700;
  padding: 3px 9px;
  background: rgba(255, 45, 85, .18);
  color: var(--ht-red);
  border-radius: 6px;
  letter-spacing: .5px;
}
.g-tag {
  font-size: 13px;
  color: var(--ht-cyan);
  border: 1px solid rgba(0, 229, 204, .25);
  border-radius: 999px;
  padding: 2px 10px;
}
.guide-content h3 {
  font-size: 21px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 10px;
}
.guide-content p {
  color: var(--ht-muted2);
  font-size: 15px;
  line-height: 1.85;
  margin-bottom: 16px;
}
.guide-tips {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-bottom: 22px;
  padding: 14px 16px;
  background: rgba(11, 15, 26, .4);
  border-left: 2px solid var(--ht-cyan);
  border-radius: 0 8px 8px 0;
}
.guide-tips li {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  font-size: 14px;
  color: var(--ht-muted2);
}
.guide-tips li i {
  color: var(--ht-cyan);
  margin-top: 4px;
  font-size: 13px;
}
.guide-link {
  text-align: right;
}
.guide-link a {
  font-size: 14px;
  font-weight: 600;
  color: var(--ht-cyan);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.guide-link a i {
  transition: transform .2s ease;
}
.guide-link a:hover i {
  transform: translateX(4px);
}

/* ====== Buttons ====== */
.ht-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  height: 50px;
  padding: 0 28px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 600;
  border: 0;
  transition: all .2s ease;
  cursor: pointer;
  white-space: nowrap;
}
.ht-btn-red {
  background: var(--ht-red);
  color: #fff;
  box-shadow: 0 8px 24px rgba(255, 45, 85, .3);
}
.ht-btn-red:hover {
  background: #FF4D70;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(255, 45, 85, .4);
}
.ht-btn-ghost {
  background: transparent;
  color: var(--ht-cyan);
  border: 1.5px solid var(--ht-cyan);
}
.ht-btn-ghost:hover {
  background: var(--ht-cyan);
  color: var(--ht-dark);
  box-shadow: 0 0 26px rgba(0, 229, 204, .35);
  transform: translateY(-2px);
}
.ht-btn-line {
  background: transparent;
  color: var(--ht-muted2);
  border: 1px solid rgba(255, 255, 255, .18);
}
.ht-btn-line:hover {
  color: var(--ht-cyan);
  border-color: var(--ht-cyan);
}
.ht-btn-sm {
  height: 42px;
  padding: 0 18px;
  font-size: 14px;
  border-radius: 6px;
}

/* ====== Steps ====== */
.ht-process {
  background: var(--ht-dark2);
  padding: 90px 0;
}
.step-grid .step-card {
  background: var(--ht-card);
  border: 1px solid var(--ht-border);
  border-radius: var(--ht-radius);
  padding: 28px 24px 24px;
  height: 100%;
  position: relative;
  overflow: hidden;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.step-grid .step-card::before {
  content: "";
  position: absolute;
  right: -18px;
  top: -18px;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: rgba(255, 45, 85, .1);
  transition: transform .3s ease;
}
.step-grid .step-card:hover {
  transform: translateY(-5px);
  border-color: rgba(255, 45, 85, .5);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .45);
}
.step-card .step-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--ht-mono);
  font-weight: 700;
  font-size: 14px;
  min-width: 42px;
  height: 30px;
  background: rgba(255, 45, 85, .14);
  color: var(--ht-red);
  border-radius: 6px;
  margin-bottom: 18px;
  letter-spacing: .5px;
}
.step-card h3 {
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 8px;
}
.step-card p {
  color: var(--ht-muted);
  font-size: 14px;
  line-height: 1.75;
  margin-bottom: 0;
}
.process-note {
  margin-top: 34px;
  text-align: center;
  color: var(--ht-muted);
  font-size: 14px;
}
.process-note i {
  color: var(--ht-yellow);
  margin-right: 6px;
}

/* ====== Settings Tips ====== */
.tip-grid .tip-card {
  background: var(--ht-card);
  border: 1px solid var(--ht-border);
  border-radius: var(--ht-radius);
  padding: 30px 26px;
  height: 100%;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.tip-grid .tip-card:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 184, 0, .4);
  box-shadow: 0 12px 28px rgba(0, 0, 0, .35);
}
.tip-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 19px;
  background: rgba(255, 184, 0, .12);
  color: var(--ht-yellow);
  margin-bottom: 20px;
}
.tip-card h3 {
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
}
.tip-card p {
  color: var(--ht-muted);
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 0;
}

/* ====== FAQ ====== */
.ht-faq {
  padding: 92px 0;
}
.faq-page-wrap {
  max-width: 920px;
  margin: 0 auto;
}
.faq-accordion .accordion-item {
  background: var(--ht-card2);
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: var(--ht-radius) !important;
  margin-bottom: 12px;
  overflow: hidden;
  transition: background .2s ease, border-color .2s ease;
}
.faq-accordion .accordion-button {
  background: transparent;
  color: var(--ht-text);
  font-weight: 600;
  font-size: 16px;
  padding: 20px 22px;
  border-radius: 0 !important;
  box-shadow: none;
}
.faq-accordion .accordion-button::after {
  content: "+";
  background: none;
  font-size: 24px;
  font-weight: 400;
  width: auto;
  height: auto;
  color: var(--ht-red);
  transform: none;
  transition: color .2s ease;
  line-height: 1;
}
.faq-accordion .accordion-button:not(.collapsed)::after {
  content: "×";
  color: var(--ht-cyan);
  transform: none;
}
.faq-accordion .accordion-button:not(.collapsed) {
  color: #fff;
  background: var(--ht-card2);
}
.faq-accordion .accordion-button:focus {
  box-shadow: none;
  border-color: rgba(0, 229, 204, .4);
}
.faq-accordion .accordion-button:hover {
  color: #fff;
}
.faq-accordion .accordion-body {
  padding: 0 22px 20px 24px;
  color: var(--ht-muted2);
  font-size: 15px;
  line-height: 1.85;
  border-top: 1px solid rgba(255, 255, 255, .05);
}

/* ====== CTA ====== */
.cta-sec {
  padding: 30px 0 100px;
}
.cta-box {
  position: relative;
  border-radius: 18px;
  background: linear-gradient(120deg, rgba(255, 45, 85, .95), rgba(255, 79, 110, .9));
  padding: 58px 56px;
  overflow: hidden;
  box-shadow: 0 22px 60px rgba(255, 45, 85, .3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}
.cta-box::before {
  content: "";
  position: absolute;
  right: -100px;
  top: -100px;
  width: 320px;
  height: 320px;
  background: url('/assets/images/backpic/back-3.png') center / cover no-repeat;
  opacity: .22;
  transform: rotate(-12deg);
  border-radius: 50%;
  pointer-events: none;
}
.cta-box::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 5px;
  background: linear-gradient(90deg, transparent, var(--ht-yellow), transparent);
  opacity: .6;
}
.cta-box .cta-left {
  position: relative;
  z-index: 2;
}
.cta-box .cta-sub {
  font-size: 14px;
  font-weight: 600;
  color: rgba(255, 255, 255, .8);
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.cta-box h2 {
  color: #fff;
  font-size: clamp(24px, 3.4vw, 36px);
  font-weight: 900;
  margin-bottom: 14px;
  line-height: 1.3;
}
.cta-box p {
  color: rgba(255, 255, 255, .88);
  margin-bottom: 0;
  font-size: 15px;
  line-height: 1.75;
  max-width: 560px;
}
.cta-box .cta-actions {
  position: relative;
  z-index: 2;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  flex-shrink: 0;
}
.cta-btn-white {
  background: #fff;
  color: var(--ht-red-dark);
}
.cta-btn-white:hover {
  background: rgba(255, 255, 255, .9);
  color: var(--ht-red-dark);
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, .2);
}
.cta-btn-line-white {
  background: transparent;
  color: #fff;
  border: 1.5px solid rgba(255, 255, 255, .55);
}
.cta-btn-line-white:hover {
  border-color: #fff;
  color: #fff;
  transform: translateY(-2px);
}

/* ====== Footer ====== */
.ht-footer {
  background: #080C14;
  position: relative;
  padding-top: 30px;
}
.ht-footer::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(255, 45, 85, .65), transparent);
  opacity: .4;
}
.ht-footer .footer-brand .ht-logo-text {
  font-size: 24px;
}
.ht-footer .footer-brand p {
  margin: 14px 0 18px;
  font-size: 14px;
  color: var(--ht-muted);
  line-height: 1.9;
  max-width: 360px;
}
.footer-safety {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--ht-muted);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 999px;
  padding: 6px 12px;
}
.footer-safety i {
  color: var(--ht-cyan);
}
.footer-links h5 {
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 16px;
  letter-spacing: .5px;
}
.footer-links ul {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.footer-links a {
  color: var(--ht-muted);
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color .2s ease, padding-left .2s ease;
}
.footer-links a:hover {
  color: var(--ht-cyan);
  padding-left: 4px;
}
.footer-links a::before {
  content: "";
  width: 4px;
  height: 4px;
  background: var(--ht-red);
  border-radius: 50%;
  opacity: .6;
}
.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  padding: 20px 0 26px;
  font-size: 13px;
  color: #5F6B80;
}
.footer-bottom p {
  margin: 0;
}

/* ====== Responsive ====== */
@media (max-width: 1199px) {
  .guide-card {
    grid-template-columns: 320px 1fr;
  }
}
@media (max-width: 991px) {
  .ht-nav {
    height: auto;
  }
  .ht-nav-inner {
    height: 60px;
  }
  .navbar-toggler-ht {
    display: inline-flex;
  }
  .ht-nav-links {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 60px;
    flex-direction: column;
    align-items: stretch;
    background: #0B0F1A;
    padding: 8px 20px 14px;
    border-bottom: 1px solid rgba(0, 229, 204, .25);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .5);
  }
  .ht-nav-links.open {
    display: flex;
  }
  .ht-nav-links .nav-link {
    display: block;
    width: 100%;
    margin: 0 !important;
    padding: 12px 6px !important;
    color: var(--ht-muted2);
    border-bottom: 1px solid rgba(255, 255, 255, .04);
  }
  .ht-nav-links .nav-link.active {
    color: var(--ht-red);
  }
  .ht-nav-links .nav-link::after {
    display: none;
  }
  .ht-page-hero {
    padding: 60px 0 52px;
  }
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .guide-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .guide-rail {
    position: static;
  }
  .rail-links {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }
  .rail-links li {
    width: auto;
  }
  .rail-links li + li {
    margin-top: 0;
  }
  .rail-link span {
    margin-right: 2px;
  }
  .rail-cta {
    display: none;
  }
  .guide-card {
    grid-template-columns: 1fr;
  }
  .guide-figure {
    height: 220px;
    min-height: 0;
  }
  .cta-box {
    flex-direction: column;
    align-items: flex-start;
    padding: 40px 30px;
  }
}
@media (max-width: 767px) {
  .ht-nav {
    min-height: 60px;
  }
  .ht-logo-icon {
    width: 34px;
    height: 34px;
    font-size: 15px;
  }
  .ht-logo-text {
    font-size: 18px;
  }
  .ht-logo-text small {
    font-size: 10px;
  }
  .ht-page-hero h1 {
    font-size: 30px;
  }
  .ht-section {
    padding: 58px 0;
  }
  .ht-sec-head {
    margin-bottom: 34px;
  }
  .ht-sec-head h2 {
    font-size: 24px;
  }
  .guide-content {
    padding: 22px 20px;
  }
  .guide-content h3 {
    font-size: 19px;
  }
  .guide-figure {
    height: 180px;
  }
  .cta-box {
    padding: 32px 22px;
    border-radius: 14px;
  }
  .ht-btn {
    width: 100%;
  }
  .cta-box .cta-actions {
    width: 100%;
  }
  .cta-box .cta-actions a {
    width: auto;
    flex: 1;
  }
}
@media (max-width: 575px) {
  .ht-btn-login span {
    display: none;
  }
  .ht-btn-login {
    width: 40px;
    padding: 0;
    justify-content: center;
  }
  .hero-note-card {
    padding: 18px 16px;
  }
  .step-grid .step-card {
    padding: 20px 16px;
  }
  .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    padding: 36px 0 30px !important;
  }
  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    padding: 16px 0 24px;
  }
  .cta-box .cta-actions a {
    width: 100%;
  }
}

/* roulang page: category2 */
:root {
  --ht-red: #FF2D55;
  --ht-cyan: #00E5CC;
  --ht-yellow: #FFB800;
  --ht-bg: #0B0F1A;
  --ht-bg2: #121829;
  --ht-card: #1A2232;
  --ht-line: rgba(255,255,255,.08);
  --ht-hi: #E8ECF4;
  --ht-mid: #B6BECF;
  --ht-low: #8B95A9;
  --ht-muted: #5D6A80;
  --radius: 12px;
  --radius-lg: 20px;
  --shadow: 0 14px 30px rgba(0,0,0,.28);
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 86px;
}
body {
  margin: 0;
  background: var(--ht-bg);
  color: var(--ht-mid);
  font-family: "Inter", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, -apple-system, sans-serif;
  font-size: 15.5px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5 {
  margin: 0 0 .5em;
  color: var(--ht-hi);
  font-weight: 800;
  line-height: 1.28;
}
h1 {
  font-size: clamp(34px, 5vw, 52px);
  letter-spacing: -.02em;
}
h2 {
  font-size: clamp(28px, 3.6vw, 40px);
  letter-spacing: -.02em;
}
h3 {
  font-size: 18px;
  letter-spacing: -.01em;
}
p {
  margin: 0 0 1em;
}
a {
  color: inherit;
  text-decoration: none;
  transition: color .25s ease, border-color .25s ease, background .25s ease, box-shadow .25s ease, transform .25s ease;
}
a:hover {
  color: var(--ht-cyan);
}
img {
  max-width: 100%;
  display: block;
}
ul {
  padding: 0;
  margin: 0;
}
button {
  border: 0;
  background: none;
  color: inherit;
  font-family: inherit;
}
a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--ht-cyan);
  outline-offset: 3px;
  border-radius: 6px;
}
::selection {
  background: var(--ht-red);
  color: #fff;
}
.container {
  max-width: 1200px;
  padding-left: 20px;
  padding-right: 20px;
}
.section {
  padding: 96px 0;
  position: relative;
}
.sec-head {
  max-width: 720px;
  margin-bottom: 46px;
}
.sec-head.center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.sec-head.center p {
  margin-left: auto;
  margin-right: auto;
  max-width: 620px;
}
.sec-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  color: var(--ht-cyan);
  background: rgba(0, 229, 204, .08);
  border: 1px solid rgba(0, 229, 204, .22);
  padding: 5px 13px;
  border-radius: 999px;
  margin-bottom: 18px;
}
.sec-tag i {
  font-size: 10px;
}
.sec-sub {
  color: var(--ht-low);
  font-size: 16px;
  margin-top: 14px;
}

.ht-nav {
  position: sticky;
  top: 0;
  z-index: 1050;
  background: rgba(11, 15, 26, .92);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(0, 229, 204, .26);
  box-shadow: 0 6px 30px rgba(0, 0, 0, .24);
}
.ht-nav-inner {
  position: relative;
  display: flex;
  align-items: center;
  gap: 18px;
  height: 72px;
}
.ht-logo {
  display: flex;
  align-items: center;
  gap: 11px;
  flex-shrink: 0;
}
.ht-logo-icon {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: linear-gradient(145deg, var(--ht-red), #5E0F26);
  color: #fff;
  font-size: 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 24px rgba(255, 45, 85, .42);
}
.ht-logo-text {
  font-weight: 900;
  font-size: 23px;
  letter-spacing: -.02em;
  color: #fff;
  line-height: 1;
}
.ht-logo-text em {
  font-style: normal;
  color: var(--ht-red);
}
.ht-logo-text small {
  display: block;
  margin-top: 4px;
  font-size: 9px;
  letter-spacing: .2em;
  font-weight: 700;
  color: var(--ht-low);
  white-space: nowrap;
}
.ht-nav-links {
  display: flex;
  flex: 1;
  justify-content: center;
  align-items: center;
  gap: 2px;
}
.ht-nav-links .nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 72px;
  padding: 0 14px;
  font-size: 15px;
  font-weight: 600;
  color: #C7D0E0;
  position: relative;
  white-space: nowrap;
}
.ht-nav-links .nav-link::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 13px;
  height: 2px;
  background: var(--ht-red);
  border-radius: 2px;
  box-shadow: 0 0 10px rgba(255, 45, 85, .7);
  transform: scaleX(0);
  transition: transform .28s ease;
}
.ht-nav-links .nav-link:hover,
.ht-nav-links .nav-link.active {
  color: #fff;
}
.ht-nav-links .nav-link.active::after,
.ht-nav-links .nav-link:hover::after {
  transform: scaleX(1);
}
.ht-nav-cta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-shrink: 0;
}
.ht-btn-login {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 39px;
  padding: 0 17px;
  border-radius: 9px;
  background: var(--ht-red);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 6px 18px rgba(255, 45, 85, .24);
  transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
}
.ht-btn-login:hover {
  background: #ff4d70;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(255, 45, 85, .36);
}
.ht-btn-login:active {
  transform: scale(.97);
}
.navbar-toggler-ht {
  display: none;
  width: 42px;
  height: 38px;
  align-items: center;
  justify-content: center;
  color: var(--ht-cyan);
  font-size: 20px;
  border: 1px solid rgba(0, 229, 204, .24);
  border-radius: 9px;
  background: rgba(255, 255, 255, .02);
}

.ht-btn-main {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 52px;
  padding: 12px 26px;
  border-radius: 11px;
  background: var(--ht-red);
  color: #fff;
  font-weight: 600;
  font-size: 15px;
  border: 0;
  box-shadow: 0 8px 24px rgba(255, 45, 85, .28);
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.ht-btn-main:hover {
  background: #ff4d70;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(255, 45, 85, .36);
}
.ht-btn-main:active {
  transform: scale(.97);
}
.ht-btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 50px;
  padding: 11px 24px;
  border-radius: 11px;
  background: rgba(0, 229, 204, .03);
  color: var(--ht-cyan);
  border: 1.5px solid rgba(0, 229, 204, .62);
  font-weight: 600;
  font-size: 15px;
  transition: background .25s ease, color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.ht-btn-ghost:hover {
  background: var(--ht-cyan);
  color: var(--ht-bg);
  box-shadow: 0 0 28px rgba(0, 229, 204, .3);
}
.ht-btn-ghost:active {
  transform: scale(.97);
}
.ht-text-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--ht-low);
  font-weight: 600;
  font-size: 15px;
}
.ht-text-link:hover {
  color: var(--ht-cyan);
}

.cat-banner {
  position: relative;
  padding: 86px 0 78px;
  overflow: hidden;
  background: linear-gradient(rgba(11, 15, 26, .92), rgba(11, 15, 26, .88)), url("/assets/images/backpic/back-2.png") center center / cover no-repeat;
}
.cat-banner::before {
  content: "";
  position: absolute;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 45, 85, .25), transparent 70%);
  top: -180px;
  right: -90px;
  pointer-events: none;
}
.cat-banner::after {
  content: "";
  position: absolute;
  width: 480px;
  height: 480px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 229, 204, .16), transparent 70%);
  left: -130px;
  bottom: -230px;
  pointer-events: none;
}
.banner-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(0, 229, 204, .09);
  border: 1px solid rgba(0, 229, 204, .25);
  color: var(--ht-cyan);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .02em;
}
.banner-kicker i {
  font-size: 12px;
}
.cat-banner h1 {
  margin: 22px 0 20px;
  max-width: 680px;
}
.cat-banner h1 span {
  color: var(--ht-cyan);
}
.banner-desc {
  max-width: 630px;
  color: #A6B1C6;
  font-size: 17px;
  line-height: 1.85;
  margin-bottom: 0;
}
.banner-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}
.banner-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 32px;
  color: var(--ht-low);
  font-size: 13px;
}
.banner-meta span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.banner-meta i {
  color: var(--ht-cyan);
  font-size: 12px;
}
.score-card {
  max-width: 420px;
  margin-left: auto;
  border-radius: 18px;
  background: #101624;
  border: 1px solid rgba(255, 255, 255, .08);
  overflow: hidden;
  box-shadow: 0 28px 56px rgba(0, 0, 0, .48), 0 0 0 1px rgba(0, 229, 204, .04);
}
.score-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  color: var(--ht-mid);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
}
.live-pill {
  background: var(--ht-red);
  color: #fff;
  font-size: 10px;
  letter-spacing: .14em;
  padding: 3px 8px;
  border-radius: 5px;
  box-shadow: 0 0 12px rgba(255, 45, 85, .5);
}
.score-card-media {
  position: relative;
  height: 235px;
  overflow: hidden;
}
.score-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.score-card-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11, 15, 26, .05), rgba(11, 15, 26, .96));
}
.score-info {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 20px;
  z-index: 2;
}
.score-info-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  color: var(--ht-cyan);
  background: rgba(11, 15, 26, .62);
  padding: 4px 10px;
  border-radius: 999px;
  margin-bottom: 12px;
}
.score-info strong {
  display: block;
  color: #fff;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.4;
}
.score-info small {
  display: block;
  color: var(--ht-mid);
  font-size: 13px;
  margin-top: 6px;
}
.score-card-bottom {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  background: rgba(255, 255, 255, .02);
}
.score-card-bottom span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--ht-low);
  font-size: 12.5px;
}
.score-card-bottom i {
  color: var(--ht-cyan);
  font-size: 13px;
}

.strip-wrap {
  background: #0D1220;
  border-block: 1px solid rgba(255, 255, 255, .05);
  padding: 28px 0;
}
.strip-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.strip-item {
  display: flex;
  align-items: center;
  gap: 13px;
}
.strip-icon {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  background: rgba(0, 229, 204, .08);
  color: var(--ht-cyan);
  border: 1px solid rgba(0, 229, 204, .18);
}
.strip-item strong {
  display: block;
  color: var(--ht-hi);
  font-size: 15px;
  line-height: 1.3;
}
.strip-item small {
  display: block;
  color: var(--ht-low);
  font-size: 12.5px;
  margin-top: 2px;
}

.feature-sec {
  background: var(--ht-bg);
}
.feature-sec::before {
  content: "";
  position: absolute;
  width: 360px;
  height: 360px;
  background: radial-gradient(circle, rgba(255, 45, 85, .1), transparent 70%);
  top: 60px;
  left: -100px;
  pointer-events: none;
}
.feature-card {
  position: relative;
  height: 100%;
  padding: 26px 22px 22px;
  border-radius: 16px;
  background: linear-gradient(180deg, #1B2436, #151D2B);
  border: 1px solid var(--ht-line);
  overflow: hidden;
  transition: border-color .3s ease, transform .3s ease, box-shadow .3s ease;
}
.feature-card::after {
  content: "";
  position: absolute;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 45, 85, .18), transparent 70%);
  top: -55px;
  right: -55px;
  pointer-events: none;
}
.feature-card:hover {
  transform: translateY(-5px);
  border-color: rgba(0, 229, 204, .45);
  box-shadow: 0 16px 36px rgba(0, 0, 0, .4), 0 0 0 1px rgba(0, 229, 204, .08);
}
.feature-card-top {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 20px;
}
.feature-index {
  font-family: "Inter", "Roboto Mono", Consolas, monospace;
  font-weight: 800;
  font-size: 15px;
  color: var(--ht-low);
  letter-spacing: .06em;
}
.feature-tag {
  font-size: 11px;
  font-weight: 700;
  color: var(--ht-cyan);
  border: 1px solid rgba(0, 229, 204, .25);
  border-radius: 999px;
  padding: 3px 10px;
  background: rgba(0, 229, 204, .07);
}
.feature-icon {
  display: inline-flex;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  align-items: center;
  justify-content: center;
  font-size: 21px;
  background: rgba(255, 45, 85, .1);
  color: var(--ht-red);
  margin-bottom: 18px;
}
.feature-card:nth-child(even) .feature-icon {
  background: rgba(0, 229, 204, .08);
  color: var(--ht-cyan);
}
.feature-card h3 {
  font-size: 18px;
  margin-bottom: 10px;
}
.feature-card p {
  color: var(--ht-low);
  font-size: 14px;
  line-height: 1.72;
  margin-bottom: 18px;
}
.fcard-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--ht-mid);
  font-weight: 600;
}
.fcard-link:hover {
  color: var(--ht-cyan);
}

.scene-sec {
  background: var(--ht-bg2);
}
.scene-sec::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .3;
  pointer-events: none;
  background-image: linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 20%, #000 80%, transparent);
  mask-image: linear-gradient(180deg, transparent, #000 20%, #000 80%, transparent);
}
.scene-sec .container {
  position: relative;
  z-index: 2;
}
.scene-sticky {
  position: sticky;
  top: 110px;
}
.scene-sticky p {
  color: var(--ht-low);
  margin: 14px 0 22px;
}
.scene-list {
  display: grid;
  gap: 16px;
}
.scene-row {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 20px;
  padding: 14px;
  border-radius: 18px;
  background: var(--ht-card);
  border: 1px solid rgba(255, 255, 255, .07);
  transition: border-color .3s ease, transform .3s ease, box-shadow .3s ease;
}
.scene-row:hover {
  transform: translateY(-3px);
  border-color: rgba(0, 229, 204, .5);
  box-shadow: 0 14px 30px rgba(0, 0, 0, .35);
}
.scene-img {
  border-radius: 12px;
  overflow: hidden;
  height: 100%;
  min-height: 125px;
}
.scene-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.scene-body {
  padding: 4px 2px 2px 0;
}
.scene-no {
  display: inline-block;
  font-family: "Inter", Consolas, monospace;
  font-weight: 800;
  font-size: 13px;
  color: var(--ht-cyan);
  letter-spacing: .08em;
  border-left: 3px solid var(--ht-red);
  padding-left: 10px;
  margin-bottom: 10px;
}
.scene-body h3 {
  margin-bottom: 8px;
}
.scene-body p {
  color: var(--ht-low);
  font-size: 14px;
  line-height: 1.75;
  margin-bottom: 12px;
}
.scene-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.scene-tags span {
  font-size: 11px;
  color: var(--ht-mid);
  border: 1px solid rgba(255, 255, 255, .1);
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .03);
}

.steps-sec {
  background: var(--ht-bg);
}
.steps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 12px;
}
.step-card {
  position: relative;
  padding: 32px 26px 26px;
  border-radius: 18px;
  background: linear-gradient(180deg, #1B2436, #141A28);
  border: 1px solid rgba(255, 255, 255, .08);
  transition: border-color .3s ease, transform .3s ease, box-shadow .3s ease;
}
.step-card:hover {
  border-color: rgba(255, 45, 85, .45);
  transform: translateY(-4px);
  box-shadow: 0 18px 38px rgba(0, 0, 0, .35);
}
.step-card:not(:last-child)::after {
  content: "→";
  position: absolute;
  top: 50%;
  right: -21px;
  transform: translateY(-50%);
  z-index: 3;
  color: var(--ht-cyan);
  font-size: 22px;
  font-weight: 700;
  text-shadow: 0 0 16px rgba(0, 229, 204, .45);
}
.step-no {
  display: inline-flex;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  align-items: center;
  justify-content: center;
  font-family: "Inter", Consolas, monospace;
  font-size: 15px;
  font-weight: 800;
  color: var(--ht-red);
  background: rgba(255, 45, 85, .12);
  border: 1px solid rgba(255, 45, 85, .24);
  margin-bottom: 20px;
}
.step-card h3 {
  margin-bottom: 10px;
}
.step-card p {
  color: var(--ht-low);
  font-size: 14px;
  margin-bottom: 0;
}

.sports-sec {
  background: var(--ht-bg2);
  overflow: hidden;
}
.sport-card {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 220px;
  height: 100%;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .07);
  transition: box-shadow .3s ease, transform .3s ease, border-color .3s ease;
}
.sport-card:hover {
  border-color: rgba(255, 45, 85, .5);
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, .42);
}
.sport-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sport-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11, 15, 26, .06), rgba(11, 15, 26, .93));
}
.sport-content {
  position: relative;
  z-index: 2;
  padding: 22px;
  width: 100%;
}
.sport-content .sport-kicker {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 700;
  color: var(--ht-cyan);
  margin-bottom: 10px;
}
.sport-content h3 {
  color: #fff;
  font-size: 22px;
  margin-bottom: 6px;
}
.sport-content p {
  color: rgba(255, 255, 255, .72);
  font-size: 13px;
  margin-bottom: 12px;
}
.sport-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.sport-badges span {
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .18);
  color: #e9eef6;
  background: rgba(11, 15, 26, .4);
}
.sport-card-lg {
  min-height: 320px;
}

.faq-sec {
  background: var(--ht-bg);
}
.faq-layout {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 34px;
  align-items: start;
}
.faq-intro {
  position: sticky;
  top: 110px;
}
.faq-intro p {
  color: var(--ht-low);
}
.faq-help {
  display: flex;
  gap: 10px;
  padding: 14px 16px;
  background: var(--ht-card);
  border-radius: 12px;
  font-size: 13px;
  color: var(--ht-mid);
  border: 1px solid rgba(255, 255, 255, .08);
}
.faq-help i {
  color: var(--ht-yellow);
  margin-top: 3px;
}
.faq-list {
  display: grid;
  gap: 12px;
}
.faq-item {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 16px;
  transition: background .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.faq-item.open {
  background: #141C2B;
  border-color: rgba(0, 229, 204, .3);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .25);
}
.faq-q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  padding: 18px 18px;
  text-align: left;
  color: var(--ht-hi);
  font-size: 15.5px;
  font-weight: 600;
  line-height: 1.5;
  cursor: pointer;
}
.faq-q i {
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid rgba(255, 45, 85, .4);
  color: var(--ht-red);
  font-size: 13px;
  transition: transform .3s ease, color .3s ease, border-color .3s ease, background .3s ease;
}
.faq-item.open .faq-q i {
  transform: rotate(45deg);
  color: var(--ht-cyan);
  border-color: rgba(0, 229, 204, .5);
  background: rgba(0, 229, 204, .08);
}
.faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height .45s ease;
}
.faq-item.open .faq-a {
  max-height: 520px;
}
.faq-a-inner {
  padding: 0 18px 18px;
  color: var(--ht-low);
  font-size: 14.5px;
  line-height: 1.85;
}
.faq-a-inner p {
  margin-bottom: 0;
}

.cta-section {
  padding: 80px 0 90px;
  background: var(--ht-bg2);
}
.cta-panel {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  padding: 52px 50px;
  display: grid;
  grid-template-columns: 1.25fr .95fr;
  gap: 44px;
  align-items: center;
  background: radial-gradient(circle at 12% 12%, rgba(255, 45, 85, .2), transparent 38%), radial-gradient(circle at 92% 96%, rgba(0, 229, 204, .14), transparent 42%), linear-gradient(135deg, #182236, #0C111D);
  border: 1px solid rgba(255, 45, 85, .3);
}
.cta-panel h2 {
  font-size: clamp(27px, 3vw, 37px);
  max-width: 600px;
}
.cta-copy p {
  color: var(--ht-low);
  font-size: 15.5px;
  max-width: 560px;
}
.cta-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin-top: 24px;
}
.cta-note {
  color: var(--ht-low);
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.cta-note i {
  color: var(--ht-cyan);
}
.login-feature-list {
  list-style: none;
  margin: 0;
  padding: 22px;
  background: rgba(11, 15, 26, .56);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 18px;
}
.login-feature-list li {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 13px 4px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.login-feature-list li:last-child {
  border-bottom: 0;
}
.login-feature-list li i {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(0, 229, 204, .08);
  color: var(--ht-cyan);
  font-size: 15px;
}
.login-feature-list strong {
  display: block;
  color: #fff;
  font-size: 14.5px;
  line-height: 1.3;
}
.login-feature-list span {
  color: var(--ht-low);
  font-size: 12.5px;
}
.bottom-links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 22px;
  padding-top: 30px;
}
.bottom-links a {
  color: var(--ht-low);
  font-size: 14px;
}
.bottom-links a:hover {
  color: var(--ht-cyan);
}

.ht-footer {
  position: relative;
  background: #080C14;
  overflow: hidden;
}
.ht-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 45, 85, .7), transparent);
}
.footer-brand .ht-logo-text {
  font-size: 25px;
}
.footer-brand p {
  color: #758197;
  font-size: 14.5px;
  line-height: 1.85;
}
.footer-safety {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: var(--ht-low);
  font-size: 13px;
  padding: 7px 12px;
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 999px;
  background: rgba(255, 255, 255, .02);
}
.footer-safety i {
  color: var(--ht-cyan);
}
.footer-links h5 {
  color: #fff;
  font-size: 15px;
  margin-bottom: 18px;
  font-weight: 700;
}
.footer-links ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer-links li + li {
  margin-top: 10px;
}
.footer-links a {
  color: #758197;
  font-size: 14px;
}
.footer-links a:hover {
  color: var(--ht-cyan);
}
.footer-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  padding: 24px 0 28px;
}
.footer-bottom p {
  margin: 0;
  color: #5D6A80;
  font-size: 13px;
}

@media (max-width: 1199.98px) {
  .ht-nav-links .nav-link {
    padding: 0 10px;
  }
  .sport-card-lg {
    min-height: 280px;
  }
}
@media (max-width: 991.98px) {
  .ht-nav-inner {
    height: 60px;
  }
  .ht-nav-links {
    position: absolute;
    top: 60px;
    left: 0;
    right: 0;
    background: rgba(11, 15, 26, .98);
    padding: 10px 14px 16px;
    flex-direction: column;
    align-items: stretch;
    display: none;
    border-bottom: 1px solid rgba(0, 229, 204, .24);
    box-shadow: 0 22px 50px rgba(0, 0, 0, .3);
    max-height: calc(100vh - 60px);
    overflow: auto;
  }
  .ht-nav-links.show {
    display: flex;
  }
  .ht-nav-links .nav-link {
    height: 46px;
    padding: 0 14px;
    justify-content: flex-start;
    border-radius: 10px;
  }
  .ht-nav-links .nav-link::after {
    display: none;
  }
  .ht-nav-links .nav-link:hover,
  .ht-nav-links .nav-link.active {
    background: rgba(255, 45, 85, .13);
  }
  .navbar-toggler-ht {
    display: inline-flex;
  }
  .cat-banner {
    padding: 60px 0 56px;
  }
  .score-card {
    margin-left: 0;
    margin-top: 40px;
    max-width: 520px;
  }
  .section {
    padding: 68px 0;
  }
  .feature-row .col-lg-3:nth-child(2),
  .feature-row .col-lg-3:nth-child(4) {
    margin-top: 0 !important;
  }
  .scene-sticky {
    position: static;
    margin-bottom: 26px;
  }
  .scene-row {
    grid-template-columns: 140px 1fr;
  }
  .steps-grid {
    grid-template-columns: 1fr;
    gap: 58px;
    max-width: 540px;
  }
  .step-card:not(:last-child)::after {
    content: "↓";
    top: auto;
    bottom: -46px;
    right: 50%;
    transform: translateX(50%);
  }
  .faq-layout {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .faq-intro {
    position: static;
  }
  .cta-panel {
    grid-template-columns: 1fr;
    padding: 36px 30px;
  }
  .strip-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 16px;
  }
}
@media (max-width: 767.98px) {
  .scene-row {
    grid-template-columns: 1fr;
    padding: 12px;
  }
  .scene-img {
    min-height: 0;
    height: 155px;
  }
  .sport-card-lg {
    min-height: 260px;
  }
  .sport-card {
    min-height: 200px;
  }
}
@media (max-width: 575.98px) {
  .container {
    padding-left: 16px;
    padding-right: 16px;
  }
  body {
    font-size: 15px;
  }
  .ht-logo-text {
    font-size: 20px;
  }
  .ht-logo-text small {
    font-size: 8px;
    letter-spacing: .12em;
  }
  .ht-logo-icon {
    width: 36px;
    height: 36px;
    font-size: 15px;
  }
  .ht-btn-login {
    width: 42px;
    padding: 0;
    justify-content: center;
    font-size: 0;
    gap: 0;
  }
  .ht-btn-login i {
    font-size: 16px;
  }
  .navbar-toggler-ht {
    width: 38px;
  }
  .cat-banner {
    padding: 46px 0 46px;
  }
  .banner-desc {
    font-size: 15.5px;
  }
  .banner-ctas .ht-btn-main,
  .banner-ctas .ht-btn-ghost {
    width: 100%;
  }
  .banner-meta {
    gap: 12px;
  }
  .score-card-media {
    height: 200px;
  }
  .section {
    padding: 54px 0;
  }
  .sec-head {
    margin-bottom: 32px;
  }
  .strip-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .strip-item {
    padding: 6px 0;
  }
  .feature-card {
    padding: 22px 18px;
  }
  .score-card {
    margin-top: 30px;
  }
  .step-card {
    padding: 24px 20px;
  }
  .cta-panel {
    padding: 28px 18px;
  }
  .cta-actions .ht-btn-main,
  .cta-actions .ht-btn-ghost {
    width: 100%;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 30px 24px !important;
  }
  .footer-bottom {
    flex-direction: column;
    justify-content: flex-start;
    gap: 8px;
  }
}

/* roulang page: category4 */
:root{
      --ht-bg:#0B0F1A;
      --ht-bg-2:#121829;
      --ht-card:#1A2232;
      --ht-soft:#141C2B;
      --ht-line:rgba(255,255,255,.08);
      --ht-red:#FF2D55;
      --ht-red-dark:#E11D4B;
      --ht-red-soft:rgba(255,45,85,.16);
      --ht-cyan:#00E5CC;
      --ht-cyan-soft:rgba(0,229,204,.14);
      --ht-yellow:#FFB800;
      --ht-white:#E8ECF4;
      --ht-silver:#B6BECF;
      --ht-gray:#8B95A9;
      --ht-dim:#5D6A80;
      --ht-radius:14px;
      --ht-radius-sm:8px;
      --ht-font:"PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,-apple-system,sans-serif;
      --ht-mono:"JetBrains Mono",Consolas,"Roboto Mono",monospace;
      --ht-shadow:0 18px 46px rgba(0,0,0,.36);
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:var(--ht-font);
      background:var(--ht-bg);
      color:var(--ht-white);
      line-height:1.7;
      overflow-x:hidden;
      -webkit-font-smoothing:antialiased;
    }
    a{text-decoration:none;color:inherit;transition:all .2s ease}
    img{max-width:100%;display:block}
    button, input{font-family:inherit}
    ul, ol, li{list-style:none;margin:0;padding:0}
    p{margin:0 0 14px}
    h1,h2,h3,h4,h5{font-weight:700;line-height:1.25;margin:0}
    a:focus-visible,button:focus-visible,input:focus-visible{
      outline:2px solid var(--ht-cyan);
      outline-offset:2px;
    }
    i[class^=fa-]{font-family:"Font Awesome 6 Free";font-weight:900}
    ::selection{background:rgba(255,45,85,.3);color:#fff}

    .container{max-width:1200px;padding-left:24px;padding-right:24px}

    /* ===================== 导航 ===================== */
    .ht-nav{
      position:sticky;
      top:0;
      z-index:2000;
      background:rgba(11,15,26,.92);
      backdrop-filter:blur(12px);
      -webkit-backdrop-filter:blur(12px);
      border-bottom:1px solid transparent;
    }
    .ht-nav::after{
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:-1px;
      height:1px;
      background:linear-gradient(90deg,transparent,rgba(0,229,204,.55),transparent);
      pointer-events:none;
    }
    .ht-nav-inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      height:72px;
      gap:18px;
      position:relative;
    }
    .ht-logo{
      display:flex;
      align-items:center;
      gap:10px;
      flex-shrink:0;
    }
    .ht-logo-icon{
      width:38px;
      height:38px;
      border-radius:10px;
      background:linear-gradient(135deg,var(--ht-red),#FF6B2C);
      color:#fff;
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:17px;
      box-shadow:0 0 16px rgba(255,45,85,.45);
    }
    .ht-logo-text{
      font-size:21px;
      font-weight:800;
      letter-spacing:.2px;
      color:var(--ht-white);
      line-height:1;
      display:flex;
      align-items:baseline;
      flex-wrap:wrap;
      column-gap:2px;
    }
    .ht-logo-text em{
      font-style:normal;
      color:var(--ht-red);
      font-size:17px;
      font-weight:900;
    }
    .ht-logo-text small{
      display:block;
      width:100%;
      font-size:10px;
      font-weight:400;
      color:var(--ht-gray);
      letter-spacing:2.6px;
      margin-top:4px;
    }
    .ht-nav-links{
      display:flex;
      align-items:center;
      gap:5px;
    }
    .nav-item{
      display:flex;
      align-items:center;
    }
    .nav-link{
      position:relative;
      font-size:15px;
      color:#C7D0E0;
      font-weight:500;
      padding:8px 12px;
      border-radius:6px;
      white-space:nowrap;
      transition:all .2s ease;
    }
    .nav-link::after{
      content:"";
      position:absolute;
      left:12px;
      right:12px;
      bottom:-1px;
      height:2px;
      background:var(--ht-red);
      border-radius:2px;
      box-shadow:0 2px 10px rgba(255,45,85,.5);
      opacity:0;
      transform:scaleX(.4);
      transition:all .25s ease;
    }
    .nav-link:hover,.nav-link.active{
      color:#fff;
    }
    .nav-link:hover::after,.nav-link.active::after{
      opacity:1;
      transform:scaleX(1);
    }
    .nav-link:hover{
      background:rgba(255,45,85,.12);
    }
    .ht-nav-cta{
      display:flex;
      align-items:center;
      gap:14px;
      flex-shrink:0;
    }
    .ht-btn-login{
      display:inline-flex;
      align-items:center;
      gap:7px;
      background:var(--ht-red);
      color:#fff;
      border:0;
      border-radius:6px;
      min-height:40px;
      padding:0 18px;
      font-size:14px;
      font-weight:600;
      box-shadow:0 4px 18px rgba(255,45,85,.25);
      transition:all .2s;
      cursor:pointer;
    }
    .ht-btn-login:hover{
      background:var(--ht-red-dark);
      box-shadow:0 6px 24px rgba(255,45,85,.42);
      transform:translateY(-1px);
    }
    .ht-btn-login:active{
      transform:scale(.98);
    }
    .navbar-toggler-ht{
      display:none;
      width:42px;
      height:40px;
      border:1px solid rgba(255,255,255,.14);
      border-radius:8px;
      background:rgba(255,255,255,.04);
      color:#fff;
      font-size:18px;
      cursor:pointer;
    }
    @media (max-width:991.98px){
      .ht-nav-inner{height:60px}
      .ht-logo-icon{width:34px;height:34px}
      .ht-logo-text{font-size:18px}
      .navbar-toggler-ht{display:inline-flex;align-items:center;justify-content:center}
      .ht-nav-links{
        display:none;
        position:absolute;
        top:calc(100% + 1px);
        left:0;
        right:0;
        background:#0B0F1A;
        flex-direction:column;
        align-items:stretch;
        gap:0;
        border-bottom:1px solid rgba(0,229,204,.5);
        padding:8px 20px 16px;
      }
      .ht-nav-links.open{
        display:flex;
      }
      .nav-item{
        width:100%;
        border-bottom:1px solid rgba(255,255,255,.05);
      }
      .nav-item:last-child{border-bottom:0}
      .nav-link{
        display:block;
        width:100%;
        line-height:36px;
        color:#D7DEE9;
      }
      .nav-link::after{display:none}
      .nav-link:hover,.nav-link.active{
        color:#fff;
        background:rgba(255,45,85,.15);
        border-radius:8px;
        padding-left:14px;
      }
      .ht-btn-login span{display:none}
      .ht-btn-login{min-width:42px;padding:0 10px;justify-content:center}
    }
    @media (max-width:390px){
      .ht-logo-text small{letter-spacing:1px}
      .ht-logo-text{font-size:16px}
    }

    /* ===================== 页脚 ===================== */
    .ht-footer{
      background:#080C14;
      border-top:1px solid rgba(255,255,255,.04);
      padding-top:14px;
      margin-top:0;
    }
    .footer-brand .ht-logo-text{
      font-size:26px;
      color:var(--ht-white);
      display:inline-flex;
    }
    .footer-brand p{
      color:#758197;
      font-size:14px;
      line-height:1.8;
      max-width:420px;
      margin:12px 0 18px;
    }
    .footer-safety{
      display:inline-flex;
      align-items:center;
      gap:9px;
      color:#7C8AA0;
      font-size:13px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.06);
      border-radius:6px;
      padding:7px 13px;
    }
    .footer-safety i{color:var(--ht-cyan)}
    .footer-links h5{
      color:#fff;
      font-size:15px;
      font-weight:700;
      margin-bottom:16px;
      position:relative;
      padding-bottom:10px;
      letter-spacing:.6px;
    }
    .footer-links h5::after{
      content:"";
      position:absolute;
      left:0;bottom:0;
      width:24px;
      height:2px;
      background:var(--ht-red);
      border-radius:4px;
      box-shadow:0 0 8px rgba(255,45,85,.55);
    }
    .footer-links ul li{
      padding:6px 0;
    }
    .footer-links a{
      color:#758197;
      font-size:14px;
      display:inline-flex;
      align-items:center;
      gap:5px;
      transition:all .15s;
    }
    .footer-links a:hover{
      color:var(--ht-cyan);
      padding-left:3px;
    }
    .footer-bottom{
      padding:20px 0;
      display:flex;
      flex-wrap:wrap;
      justify-content:space-between;
      gap:8px 20px;
      color:#5D6A80;
      font-size:13px;
    }
    @media (max-width:991.98px){
      .footer-grid{
        grid-template-columns:1fr 1fr !important;
        gap:30px !important;
      }
    }
    @media (max-width:575.98px){
      .footer-grid{
        grid-template-columns:1fr !important;
        gap:24px !important;
        padding:34px 0 !important;
      }
      .footer-bottom{
        flex-direction:column;
        align-items:flex-start;
      }
    }

    /* ===================== 通用区段 ===================== */
    .sec{padding:86px 0}
    .sec-alt{background:var(--ht-bg-2)}
    .sec-narrow-inner{max-width:880px;margin:0 auto}
    .sec-head{
      text-align:center;
      margin-bottom:46px;
    }
    .sec-head.left{text-align:left}
    .sec-tag{
      display:inline-flex;
      align-items:center;
      gap:6px;
      color:var(--ht-red);
      font-size:13px;
      font-weight:700;
      letter-spacing:2px;
      text-transform:uppercase;
      margin-bottom:12px;
    }
    .sec-tag i{
      color:var(--ht-red);
    }
    .sec-tag.cyan{
      color:var(--ht-cyan);
    }
    .sec-tag.cyan i{color:var(--ht-cyan)}
    .sec-title{
      font-size:32px;
      letter-spacing:-.4px;
      color:var(--ht-white);
      margin-bottom:12px;
    }
    .sec-desc{
      color:var(--ht-gray);
      font-size:16px;
      max-width:700px;
    }
    .sec-head.center .sec-desc{margin-left:auto;margin-right:auto}
    .ht-btn{
      display:inline-flex;
      align-items:center;
      gap:8px;
      height:50px;
      padding:0 26px;
      border-radius:8px;
      font-weight:600;
      font-size:15px;
      transition:all .22s;
      cursor:pointer;
      border:0;
    }
    .ht-btn-primary{
      background:linear-gradient(138deg,var(--ht-red),#FF4D70);
      color:#fff;
      box-shadow:0 8px 26px rgba(255,45,85,.28);
    }
    .ht-btn-primary:hover{
      box-shadow:0 12px 34px rgba(255,45,85,.4);
      transform:translateY(-2px);
      color:#fff;
    }
    .ht-btn-ghost{
      background:transparent;
      border:1.5px solid var(--ht-cyan);
      color:var(--ht-cyan);
      box-shadow:0 0 0 rgba(0,229,204,0);
    }
    .ht-btn-ghost:hover{
      background:var(--ht-cyan);
      color:var(--ht-bg);
      box-shadow:0 0 28px rgba(0,229,204,.4);
      transform:translateY(-2px);
    }
    .ht-btn-sm{
      height:40px;
      padding:0 18px;
      font-size:14px;
      border-radius:7px;
    }
    .link-more{
      color:var(--ht-silver);
      font-size:14px;
      display:inline-flex;
      align-items:center;
      gap:6px;
      font-weight:600;
    }
    .link-more i{
      color:var(--ht-cyan);
      transition:transform .25s;
    }
    .link-more:hover i{
      transform:translateX(5px);
    }
    .link-more:hover{
      color:var(--ht-cyan);
    }

    /* ===================== 分类横幅 ===================== */
    .cat-banner{
      position:relative;
      padding:64px 0;
      color:#fff;
      background:
        linear-gradient(rgba(11,15,26,.82),rgba(9,12,20,.92)),
        url("/assets/images/backpic/back-3.png") center/cover no-repeat;
      overflow:hidden;
      border-bottom:1px solid rgba(255,255,255,.05);
    }
    .cat-banner::before{
      content:"";
      position:absolute;
      inset:0;
      background-image:
        linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
      background-size:46px 46px;
      -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.6),transparent 90%);
      mask-image:linear-gradient(180deg,rgba(0,0,0,.6),transparent 90%);
      pointer-events:none;
    }
    .cat-banner-inner{
      position:relative;
      z-index:2;
    }
    .cat-breadcrumb{
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:8px;
      font-size:13px;
      color:var(--ht-gray);
      margin-bottom:12px;
    }
    .cat-breadcrumb a{
      color:#9BA6BA;
      transition:color .2s;
    }
    .cat-breadcrumb a:hover{
      color:var(--ht-cyan);
    }
    .cat-breadcrumb span{
      color:var(--ht-silver);
    }
    .cat-banner-title{
      font-size:38px;
      font-weight:800;
      color:#fff;
      line-height:1.18;
      letter-spacing:-1px;
      margin-bottom:12px;
    }
    .cat-banner-title i{
      font-style:normal;
      color:var(--ht-red);
    }
    .cat-banner-lead{
      font-size:15px;
      color:#AEB7C8;
      max-width:760px;
      line-height:1.85;
      margin:0;
    }
    .cat-banner-side{
      border-left:1px solid rgba(255,255,255,.1);
      padding-left:28px;
      margin-top:8px;
    }
    .cat-banner-side .scoreboard{
      font-family:var(--ht-mono);
      letter-spacing:1.4px;
    }
    .cat-banner-side .scoreboard span{
      display:block;
      color:var(--ht-gray);
      font-size:12px;
      margin-bottom:4px;
    }
    .cat-banner-side .scoreboard strong{
      font-size:26px;
      color:var(--ht-white);
    }
    @media (max-width:991.98px){
      .cat-banner{padding:46px 0}
      .cat-banner-side{
        border-left:0;
        padding-left:0;
        margin-top:20px;
      }
    }
    @media (max-width:575.98px){
      .cat-banner-title{font-size:27px}
      .cat-banner{padding:36px 0}
    }

    /* ===================== 安全防线卡片 ===================== */
    .feature-card{
      background:var(--ht-card);
      border:1px solid rgba(255,255,255,.08);
      border-radius:var(--ht-radius);
      padding:28px 24px 22px;
      height:100%;
      position:relative;
      transition:all .25s ease;
      overflow:hidden;
    }
    .feature-card::before{
      content:"";
      position:absolute;
      right:-54px;top:-54px;
      width:124px;height:124px;
      border-radius:50%;
      background:radial-gradient(circle,rgba(255,45,85,.18),transparent 68%);
      transition:opacity .3s;
    }
    .feature-card:hover{
      border-color:rgba(0,229,204,.5);
      transform:translateY(-5px);
      box-shadow:0 14px 36px rgba(0,0,0,.35),0 0 0 1px rgba(0,229,204,.08);
    }
    .feature-icon{
      width:52px;
      height:52px;
      border-radius:14px;
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:21px;
      background:rgba(255,45,85,.14);
      color:var(--ht-red);
      margin-bottom:20px;
      position:relative;
    }
    .feature-card:nth-child(even) .feature-icon{
      background:rgba(0,229,204,.12);
      color:var(--ht-cyan);
    }
    .feature-card h3{
      font-size:19px;
      color:#fff;
      margin-bottom:9px;
      letter-spacing:.3px;
    }
    .feature-card p{
      color:#8E99AF;
      font-size:14.5px;
      line-height:1.8;
      margin-bottom:18px;
      min-height:64px;
    }
    .feature-more{
      display:inline-flex;
      align-items:center;
      gap:6px;
      font-size:13px;
      color:var(--ht-cyan);
      font-weight:600;
    }
    .feature-more i{
      font-size:12px;
      transition:transform .2s;
    }
    .feature-card:hover .feature-more i{
      transform:translateX(4px);
    }
    @media (max-width:575.98px){
      .feature-card p{min-height:0}
      .sec-title{font-size:25px}
    }

    /* ===================== 适用场景双栏 ===================== */
    .sec-scenario-row{
      align-items:center;
    }
    .scenario-visual{
      position:relative;
      border-radius:20px;
      overflow:hidden;
      box-shadow:0 20px 60px rgba(0,0,0,.45);
    }
    .scenario-visual img{
      width:100%;
      height:480px;
      object-fit:cover;
    }
    .scenario-visual::after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(200deg,rgba(11,15,26,.2),rgba(11,15,26,.46));
      pointer-events:none;
    }
    .scenario-badge{
      position:absolute;
      left:18px;
      bottom:18px;
      z-index:2;
      background:rgba(11,15,26,.72);
      border:1px solid rgba(255,255,255,.08);
      backdrop-filter:blur(10px);
      padding:10px 16px;
      border-radius:10px;
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:#E6EBF2;
      font-size:13px;
    }
    .scenario-badge i{
      color:var(--ht-cyan);
    }
    .scenario-list{
      display:flex;
      flex-direction:column;
      gap:14px;
    }
    .scenario-item{
      display:flex;
      gap:16px;
      background:rgba(255,255,255,.025);
      border:1px solid rgba(255,255,255,.055);
      border-radius:12px;
      padding:18px 18px 16px;
      transition:all .22s;
    }
    .scenario-item:hover{
      background:rgba(0,229,204,.055);
      border-color:rgba(0,229,204,.4);
    }
    .scenario-num{
      flex:0 0 auto;
      width:38px;
      height:38px;
      border-radius:9px;
      display:flex;
      align-items:center;
      justify-content:center;
      font-family:var(--ht-mono);
      font-size:17px;
      font-weight:700;
      background:rgba(255,45,85,.13);
      color:var(--ht-red);
    }
    .scenario-item h4{
      font-size:16px;
      color:#F1F4FA;
      margin-bottom:3px;
    }
    .scenario-item p{
      color:var(--ht-gray);
      font-size:14px;
      line-height:1.7;
      margin:0;
    }
    @media (max-width:991.98px){
      .scenario-visual img{height:320px}
    }
    @media (max-width:575.98px){
      .scenario-item{
        flex-direction:column;
        gap:9px;
      }
    }

    /* ===================== 流程步骤 ===================== */
    .process-wrap{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:20px;
      position:relative;
    }
    .process-step{
      text-align:center;
      background:var(--ht-card);
      border:1px solid var(--ht-line);
      border-radius:var(--ht-radius);
      padding:32px 20px;
      position:relative;
      transition:all .25s;
    }
    .process-step::after{
      content:"";
      position:absolute;
      right:-18px;
      top:50%;
      width:12px;height:12px;
      border-top:2px solid var(--ht-cyan);
      border-right:2px solid var(--ht-cyan);
      transform:translateY(-50%) rotate(45deg);
      opacity:.45;
    }
    .process-step:last-child::after{display:none}
    .process-step:hover{
      border-color:rgba(255,45,85,.45);
      transform:translateY(-4px);
    }
    .process-num{
      width:54px;height:54px;
      margin:0 auto 17px;
      border-radius:12px;
      background:rgba(0,229,204,.1);
      border:1px solid rgba(0,229,204,.28);
      display:flex;
      align-items:center;
      justify-content:center;
      font-family:var(--ht-mono);
      font-size:20px;
      font-weight:700;
      color:var(--ht-cyan);
    }
    .process-step:nth-child(2n) .process-num{
      background:rgba(255,45,85,.1);
      border-color:rgba(255,45,85,.3);
      color:var(--ht-red);
    }
    .process-step h4{
      font-size:17px;
      color:#fff;
      margin-bottom:7px;
    }
    .process-step p{
      color:var(--ht-gray);
      font-size:14px;
      line-height:1.7;
      margin:0;
    }
    @media (max-width:991.98px){
      .process-wrap{grid-template-columns:repeat(2,1fr)}
      .process-step::after{display:none}
    }
    @media (max-width:575.98px){
      .process-wrap{grid-template-columns:1fr}
    }

    /* ===================== 紧凑快捷列表 ===================== */
    .shortlist-wrap{
      max-width:980px;
      margin:0 auto;
    }
    .shortlist-title{
      color:#fff;
      font-size:29px;
      margin-bottom:9px;
    }
    .shortlist-desc{
      color:var(--ht-gray);
      margin-bottom:36px;
      font-size:15px;
    }
    .shortlist{
      border-top:1px solid rgba(255,255,255,.1);
    }
    .short-item{
      display:grid;
      grid-template-columns:58px 1fr 32px;
      align-items:center;
      gap:18px;
      padding:22px 12px;
      border-bottom:1px solid rgba(255,255,255,.09);
      background:transparent;
      transition:all .22s;
      border-radius:4px;
    }
    .short-item:hover{
      background:rgba(0,229,204,.05);
      padding-left:18px;
      border-bottom-color:rgba(0,229,204,.3);
    }
    .short-num{
      font-family:var(--ht-mono);
      font-size:13px;
      color:var(--ht-dim);
      font-weight:600;
      letter-spacing:1px;
      width:44px;
      height:30px;
      display:flex;
      align-items:center;
      justify-content:center;
      background:rgba(255,255,255,.04);
      border-radius:7px;
    }
    .short-item:hover .short-num{
      color:var(--ht-cyan);
      background:rgba(0,229,204,.1);
    }
    .short-content strong{
      display:block;
      color:#F0F3F9;
      font-size:16.5px;
      margin-bottom:4px;
    }
    .short-desc{
      color:var(--ht-gray);
      font-size:14px;
      line-height:1.7;
    }
    .short-arrow{
      width:34px;
      height:34px;
      border:1px solid rgba(255,255,255,.1);
      border-radius:50%;
      color:var(--ht-gray);
      display:flex;
      align-items:center;
      justify-content:center;
      transition:all .22s;
    }
    .short-item:hover .short-arrow{
      background:var(--ht-red);
      color:#fff;
      border-color:var(--ht-red);
      rotate:-45deg;
    }
    @media (max-width:767.98px){
      .short-item{
        grid-template-columns:44px 1fr 28px;
        gap:12px;
        padding:17px 4px;
      }
      .short-content strong{
        font-size:15px;
      }
      .short-desc{
        font-size:13px;
        display:-webkit-box;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
        overflow:hidden;
      }
    }

    /* ===================== FAQ 手风琴 ===================== */
    .faq-row{
      display:grid;
      grid-template-columns:340px 1fr;
      gap:48px;
      align-items:start;
    }
    .faq-intro .sec-title{
      font-size:30px;
    }
    .faq-intro .faq-phone{
      display:flex;
      align-items:center;
      gap:8px;
      color:#9BA6B8;
      font-size:14px;
      margin-top:22px;
      background:rgba(255,255,255,.04);
      padding:11px 14px;
      border-radius:8px;
      width:fit-content;
      border:1px solid rgba(255,255,255,.06);
    }
    .faq-intro .faq-phone i{
      color:var(--ht-cyan);
    }
    .ht-accordion{
      display:flex;
      flex-direction:column;
      gap:12px;
    }
    .ht-accordion .accordion-item{
      background:rgba(10,14,24,.5);
      border:1px solid var(--ht-line);
      border-radius:12px !important;
      overflow:hidden;
      transition:border-color .2s;
    }
    .ht-accordion .accordion-item.is-active,
    .ht-accordion .accordion-item:has(.accordion-button:not(.collapsed)){
      border-color:rgba(0,229,204,.45);
      background:#141C2B;
    }
    .ht-accordion .accordion-button{
      background:transparent;
      color:var(--ht-silver);
      font-size:16px;
      font-weight:600;
      padding:18px 20px;
      border:0;
      display:flex;
      align-items:center;
      gap:8px;
      box-shadow:none !important;
      width:100%;
      text-align:left;
    }
    .ht-accordion .accordion-button::before{
      content:"[Q]";
      color:var(--ht-red);
      font-size:13px;
      font-weight:800;
      flex-shrink:0;
      margin-right:3px;
    }
    .ht-accordion .accordion-button:not(.collapsed){
      background:transparent;
      color:#fff;
    }
    .ht-accordion .accordion-button::after{
      background-image:none;
      content:"+";
      font-size:22px;
      font-weight:300;
      color:var(--ht-cyan);
      width:auto;
      height:auto;
      margin-left:auto;
      flex-shrink:0;
      transition:all .25s;
    }
    .ht-accordion .accordion-button:not(.collapsed)::after{
      content:"−";
      color:var(--ht-red);
      transform:none;
    }
    .ht-accordion .accordion-body{
      padding:0 20px 19px 46px;
      color:#9AA5B8;
      font-size:14.5px;
      line-height:1.85;
      border-top:1px dashed rgba(255,255,255,.06);
    }
    @media (max-width:991.98px){
      .faq-row{
        grid-template-columns:1fr;
        gap:28px;
      }
    }

    /* ===================== CTA面板 ===================== */
    .cta-section{
      padding:90px 0;
      background:
        radial-gradient(circle at 80% 20%,rgba(255,45,85,.16),transparent 34%),
        radial-gradient(circle at 10% 80%,rgba(0,229,204,.1),transparent 30%),
        var(--ht-bg);
    }
    .cta-panel{
      max-width:1020px;
      margin:0 auto;
      background:linear-gradient(135deg,rgba(255,45,85,.13),rgba(0,229,204,.06)),#121829;
      border:1px solid rgba(255,255,255,.1);
      border-radius:22px;
      padding:52px 54px;
      position:relative;
      overflow:hidden;
      text-align:center;
    }
    .cta-panel::before{
      content:"";
      position:absolute;
      top:0;left:8%;
      right:8%;
      height:1px;
      background:linear-gradient(90deg,transparent,rgba(255,45,85,.75),rgba(0,229,204,.65),transparent);
    }
    .cta-panel h2{
      font-size:31px;
      color:#fff;
      letter-spacing:-.5px;
      margin-bottom:18px;
    }
    .cta-panel p{
      color:#A7B0C0;
      max-width:620px;
      margin:0 auto 26px;
      font-size:15px;
      line-height:1.85;
    }
    .cta-btn-group{
      display:flex;
      justify-content:center;
      gap:12px;
      flex-wrap:wrap;
    }
    @media (max-width:767.98px){
      .cta-section{padding:54px 0}
      .cta-panel{padding:34px 22px}
      .cta-panel h2{font-size:23px}
    }

    /* ===================== 登录锚点区域 ===================== */
    #htLogin{
      scroll-margin-top:110px;
    }

    /* ===================== 登录弹窗 ===================== */
    .ht-login-modal .modal-content{
      background:var(--ht-bg);
      border:1px solid rgba(255,255,255,.1);
      border-radius:18px;
      color:#fff;
      overflow:hidden;
    }
    .ht-login-modal .modal-header{
      border-bottom:1px solid rgba(255,255,255,.06);
      padding:20px 24px;
    }
    .ht-login-modal .modal-title{
      display:flex;
      align-items:center;
      gap:10px;
      font-size:17px;
      font-weight:700;
    }
    .ht-login-modal .modal-title i{
      color:var(--ht-red);
      font-size:19px;
    }
    .ht-login-modal .btn-close{
      background:transparent;
      filter:invert(1);
      opacity:.7;
    }
    .ht-login-modal .modal-body{
      padding:24px;
    }
    .ht-login-modal .form-label{
      color:#B6C0D1;
      font-size:13px;
      margin-bottom:4px;
      letter-spacing:.5px;
    }
    .ht-login-modal .form-control{
      background:#0F1420;
      border:1px solid #232E42;
      border-radius:8px;
      height:46px;
      color:#fff;
    }
    .ht-login-modal .form-control::placeholder{
      color:var(--ht-dim);
    }
    .ht-login-modal .form-control:focus{
      background:#0F1420;
      border-color:var(--ht-cyan);
      box-shadow:0 0 0 3px rgba(0,229,204,.2);
      color:#fff;
    }
    .ht-login-modal .form-check-input{
      width:18px;
      height:18px;
      border-radius:5px;
      background:#0F1420;
      border:1px solid #2A364C;
      cursor:pointer;
    }
    .ht-login-modal .form-check-input:checked{
      background-color:var(--ht-cyan);
      border-color:var(--ht-cyan);
    }
    .ht-login-modal .form-check-label{
      color:var(--ht-gray);
      font-size:13px;
    }
    .ht-login-modal .login-tip{
      color:var(--ht-dim);
      font-size:12px;
      margin-top:14px;
      text-align:center;
      letter-spacing:.3px;
    }
    .ht-login-modal .btn{
      height:46px;
      font-weight:700;
      border-radius:8px;
    }

    /* ===================== 分割装饰 ===================== */
    .divider-glow{
      max-width:1200px;
      margin:0 auto;
      height:1px;
      background:linear-gradient(90deg,transparent,rgba(0,229,204,.3),transparent);
    }
