:root {
  --base: #0b0b0b; --sizecolor: #f2f2f2; --clickcolor: #fe2c55; --contrast: #222; --contrast-2: #aaa;
}
body { background: #1a1a1a; margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; }
a { color: inherit; }

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#0d0d12;--bg2:#16161f;--bg3:#1e1e2a;--text:#e8e8f0;--muted:#9a9ab0;--accent:#e84393;--accent2:#a855f7;--border:#2a2a3a;--radius:12px;--max:1100px}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--text);line-height:1.7;font-size:16px}
a{color:var(--accent);text-decoration:none;transition:opacity .2s}
a:hover{opacity:.85}
img{max-width:100%;height:auto;display:block}
.container{max-width:var(--max);margin:0 auto;padding:0 20px}
header{background:var(--bg2);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;max-width:var(--max);margin:0 auto}
.logo{display:flex;align-items:center;gap:10px;font-size:1.25rem;font-weight:700;color:var(--text)}
.logo img{width:36px;height:36px;border-radius:8px}
nav ul{display:flex;gap:6px;list-style:none;flex-wrap:wrap}
nav a{color:var(--muted);padding:6px 12px;border-radius:8px;font-size:.9rem}
nav a:hover,nav a.active{color:var(--text);background:var(--bg3)}
.hero{padding:60px 0 50px;background:linear-gradient(135deg,#1a0a2e 0%,#2d1b4e 40%,#1a1028 100%)}
.hero h1{font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.3;margin-bottom:16px;background:linear-gradient(90deg,#fff,#e84393);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero p{color:var(--muted);font-size:1.05rem;max-width:640px;margin-bottom:28px}
.btn{display:inline-block;padding:14px 32px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border-radius:50px;font-weight:600;font-size:1rem;border:none;cursor:pointer}
.btn:hover{opacity:.9;color:#fff}
section{padding:50px 0}
section h2{font-size:1.6rem;margin-bottom:12px}
section>.container>p,.section-desc{color:var(--muted);margin-bottom:32px;max-width:720px}
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.feature-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:transform .2s}
.feature-card:hover{transform:translateY(-4px)}
.feature-card img{width:100%;aspect-ratio:9/16;object-fit:cover;object-position:top}
.feature-card .card-body{padding:18px}
.feature-card h3{font-size:1.05rem;margin-bottom:8px}
.feature-card p{color:var(--muted);font-size:.9rem}
.advantages{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:24px}
.adv-item{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:24px}
.adv-item h3{font-size:1rem;margin-bottom:8px;color:var(--accent)}
.adv-item p{color:var(--muted);font-size:.9rem}
.faq{margin-top:24px}
.faq details{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:16px 20px}
.faq summary{cursor:pointer;font-weight:600;list-style:none}
.faq summary::before{content:"＋ ";color:var(--accent)}
.faq details[open] summary::before{content:"－ "}
.faq p{color:var(--muted);margin-top:10px;font-size:.95rem}
.breadcrumb{padding:16px 0;font-size:.85rem;color:var(--muted)}
.breadcrumb a{color:var(--muted)}
.breadcrumb span{margin:0 6px}
.page-content{padding:40px 0 60px}
.page-content h1{font-size:1.8rem;margin-bottom:20px}
.page-content h2{font-size:1.3rem;margin:28px 0 12px;color:var(--accent)}
.page-content h3{font-size:1.1rem;margin:20px 0 8px}
.page-content p,.page-content li{color:var(--muted);margin-bottom:12px}
.page-content ul,.page-content ol{padding-left:24px;margin-bottom:16px}
.page-content li{margin-bottom:6px}
.cta-box{background:linear-gradient(135deg,#2d1b4e,#1a0a2e);border:1px solid var(--border);border-radius:var(--radius);padding:40px;text-align:center;margin:40px 0}
.cta-box h2{margin-bottom:12px}
.cta-box p{color:var(--muted);margin-bottom:20px}
footer{background:var(--bg2);border-top:1px solid var(--border);padding:40px 0 24px;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px;margin-bottom:30px}
.footer-grid h4{font-size:.95rem;margin-bottom:12px;color:var(--text)}
.footer-grid ul{list-style:none}
.footer-grid li{margin-bottom:8px}
.footer-grid a{color:var(--muted);font-size:.9rem}
.copyright{text-align:center;color:var(--muted);font-size:.8rem;padding-top:20px;border-top:1px solid var(--border)}
.error-page{min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:40px 20px}
.error-page h1{font-size:5rem;background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.error-page p{color:var(--muted);margin:16px 0 28px}
.intro-block{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:32px;margin-bottom:40px}
.intro-block p{color:var(--muted);margin-bottom:12px}
.showcase{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-bottom:56px;padding-bottom:56px;border-bottom:1px solid var(--border)}
.showcase:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.showcase.reverse .showcase-img{order:2}
.showcase.reverse .showcase-text{order:1}
.showcase-img{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);box-shadow:0 8px 32px rgba(0,0,0,.4)}
.showcase-img img{width:100%;aspect-ratio:9/16;object-fit:cover;object-position:top}
.showcase-text h3{font-size:1.25rem;margin-bottom:14px;color:var(--text)}
.showcase-text h4{font-size:1rem;margin:16px 0 8px;color:var(--accent)}
.showcase-text p,.showcase-text li{color:var(--muted);font-size:.95rem;margin-bottom:10px}
.showcase-text ul{padding-left:20px;margin-bottom:12px}
.channel-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:20px}
.channel-tag{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:10px 14px;text-align:center;font-size:.9rem;color:var(--muted)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:24px}
.step-item{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:24px;text-align:center}
.step-num{display:inline-block;width:36px;height:36px;line-height:36px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:700;margin-bottom:12px}
.step-item p{color:var(--muted);font-size:.9rem}
#applist{background:var(--bg2);border-bottom:1px solid var(--border);padding:14px 20px;text-align:center}
#applist .applist-title{font-weight:700;font-size:.95rem;margin-bottom:10px;background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
#ads{display:flex;justify-content:center;align-items:flex-start;flex-wrap:wrap;gap:12px 16px}
#ads>div{display:flex;flex-direction:column;align-items:center;width:76px}
#ads img{width:70px;height:70px;object-fit:cover;border-radius:16px;box-shadow:0 4px 16px rgba(232,67,147,.25);transition:transform .18s ease,box-shadow .18s ease;display:block;border:2px solid var(--border)}
#ads a{display:inline-block;text-decoration:none;border-radius:16px}
#ads img:hover{transform:translateY(-3px) scale(1.06);box-shadow:0 8px 24px rgba(232,67,147,.4)}
#ads .caption{height:16px;font-size:11px;color:var(--muted);text-align:center;max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:6px}
@media(max-width:768px){
  .header-inner{flex-direction:column;gap:10px}
  nav ul{justify-content:center}
  .hero{padding:40px 0 30px}
  .showcase{grid-template-columns:1fr;gap:24px}
  .showcase.reverse .showcase-img,.showcase.reverse .showcase-text{order:unset}
  .showcase-img{max-width:280px;margin:0 auto}
}


/* === shell layout (paired with target theme CSS above) === */
.header-box { width: 100%; }
.header {
  height: 70px; display: flex; align-items: center; justify-content: space-between;
  padding: 0 20px; position: sticky; top: 0; z-index: 1000;
  background: var(--base, #000); color: var(--sizecolor, #fff);
}
.logo img { height: 50px; width: auto; border-radius: 10px; }
.nav { display: flex; flex-wrap: wrap; gap: 14px 18px; align-items: center; }
.nav a { color: var(--sizecolor, #fff); text-decoration: none; font-size: 15px; }
.nav a:hover, .nav a.active { color: var(--clickcolor, #fe2c55); }
button.menu-btn {
  display: none; background: none; border: none; color: var(--sizecolor, #fff);
  font-size: 26px; cursor: pointer;
}
main {
  max-width: 1100px; margin: 16px auto; padding: 28px 24px;
  background: var(--base, #111); border-radius: 8px;
  color: var(--sizecolor, #eee);
}
.content a { color: var(--clickcolor, #fe2c55); font-weight: 600; }
.content h1, .content h2 {
  font-size: 20px; padding: 0.9em 1em; text-align: center; margin: 0 0 18px;
  background: #fff; color: #111;
}
.content h3 { margin: 1.2em 0 0.6em; font-size: 18px; }
.content p { margin: 0 0 1.2em; line-height: 1.75; }
.content ul, .content ol { margin: 0 0 1.2em 1.6em; }
.img-box { text-align: center; margin: 16px 0 22px; }
.img-box img, .content img {
  max-width: 860px; width: 100%; height: auto; border-radius: 12px; display: block; margin: 0 auto;
}
.footer {
  background: var(--base, #000); color: var(--sizecolor, #fff);
  padding: 28px 16px; margin-top: 28px; text-align: center;
}
.footer a { color: var(--sizecolor, #fff); margin: 0 10px 8px; display: inline-block; text-decoration: none; }
.footer-bottom { margin-top: 14px; font-size: 13px; opacity: 0.85; }
.overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,0.55); display: none; z-index: 2000;
}
.overlay.is-open { display: block; }
.sidebar {
  width: 280px; height: 100%; background: var(--base, #111); padding: 20px; position: relative;
}
.sidebar .menu a {
  display: block; padding: 14px 8px; color: var(--sizecolor, #fff); text-decoration: none; font-size: 18px;
}
button.close-btn {
  position: absolute; top: 16px; right: -52px; width: 40px; height: 40px;
  background: #333; color: #fff; border: none; cursor: pointer;
}
.right-area { position: absolute; left: 280px; right: 0; top: 0; bottom: 0; }
.ads-top-bar { margin: 10px 0 22px; }
#applist {
  text-align: center; margin: 8px 0; padding: 14px 10px;
  border: 1px solid rgba(255,255,255,0.12); border-radius: 10px; background: rgba(0,0,0,0.35);
}
#applist .applist-title { font-weight: bold; margin-bottom: 10px; }
#ads { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
#ads .ads-item, #ads > div { width: 70px; text-align: center; }
#ads img { width: 65px; height: 65px; object-fit: cover; border-radius: 18px; display: block; margin: 0 auto; }
#ads .caption, #ads figcaption {
  font-size: 12px; max-width: 100px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin: 4px auto 0;
}
.related { margin-top: 28px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,0.12); }
@media (max-width: 768px) {
  .nav { display: none !important; }
  button.menu-btn { display: block !important; }
}
