/* base.css — 结构骨架 (主题无关, 用 var() 引用主题定义的设计令牌). 2026-06-16 */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--text);
  line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--font-head);line-height:1.15;margin:0 0 .5em;font-weight:var(--head-weight,700)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font:inherit;cursor:pointer}
.wrap{max-width:var(--maxw,1180px);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--accent);color:#000;padding:8px 14px;z-index:99}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  padding:.8em 1.4em;border:1px solid transparent;border-radius:var(--radius,10px);
  font-weight:600;font-size:.95rem;transition:transform .12s ease,box-shadow .2s,background .2s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--accent);color:var(--on-accent,#04070d);box-shadow:var(--glow,none)}
.btn-primary:hover{box-shadow:var(--glow-hover,var(--glow,none));filter:brightness(1.05)}
.btn-ghost{background:transparent;border-color:var(--border);color:var(--text)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}

/* header */
.site-header{position:sticky;top:0;z-index:40;background:var(--header-bg,var(--surface));
  border-bottom:1px solid var(--border);backdrop-filter:saturate(140%) blur(8px)}
.header-inner{display:flex;align-items:center;gap:20px;height:64px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-family:var(--font-head)}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--radius,8px);
  background:var(--accent);color:var(--on-accent,#04070d);font-weight:800;font-size:.95rem}
.brand-name{font-size:1.05rem}
.nav{display:flex;gap:22px;margin-left:auto;font-size:.92rem}
.nav a{color:var(--muted)}.nav a:hover{color:var(--accent)}
.nav-support{color:var(--accent)!important}
.lang-switch{display:flex;gap:4px;font-size:.72rem;text-transform:uppercase}
.lang-switch a{padding:3px 6px;color:var(--muted);border-radius:6px}
.lang-switch a.on{background:var(--accent);color:var(--on-accent,#04070d)}

/* hero */
.hero{padding:72px 0 56px;position:relative;overflow:hidden}
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;text-transform:uppercase;
  letter-spacing:.08em;color:var(--accent);margin-bottom:18px}
.hero-eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:var(--glow,none)}
.hero-title{font-size:clamp(2.1rem,4.5vw,3.4rem)}
.hero-sub{font-size:1.12rem;color:var(--muted);max-width:42ch;margin:0 0 28px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:26px}
.hero-badges{list-style:none;display:flex;gap:20px;padding:0;margin:0;flex-wrap:wrap;font-size:.88rem;color:var(--muted)}
.hero-panel{min-width:0}

/* terminal panel (theme-b 主用, 其他主题可覆盖隐藏) */
.terminal{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius,10px) + 4px);
  overflow:hidden;box-shadow:var(--card-shadow,none)}
.terminal-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid var(--border);background:var(--surface-2,var(--surface))}
.terminal-bar span{width:11px;height:11px;border-radius:50%;background:var(--border)}
.terminal-bar i{margin-left:auto;font-style:normal;font-size:.76rem;color:var(--muted);font-family:var(--font-mono)}
.terminal-body{padding:18px;font-family:var(--font-mono);font-size:.84rem;line-height:1.9}
.terminal-body p{margin:0}
.terminal-body .tg{color:var(--accent)}.terminal-body .ok{color:var(--ok,#39d98a)}.terminal-body .muted{color:var(--muted)}
.blink{animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}

/* trustbar */
.trustbar{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface)}
.trustbar-inner{display:flex;flex-wrap:wrap;gap:14px;padding:18px 24px;justify-content:space-between}
.trust-item{display:flex;flex-direction:column;min-width:140px}
.trust-item strong{font-family:var(--font-head);font-size:1.25rem;color:var(--accent)}
.trust-item span{font-size:.82rem;color:var(--muted)}

/* sections */
.section-title{font-size:clamp(1.6rem,3vw,2.2rem);text-align:center;margin-top:0}
.section-sub{text-align:center;color:var(--muted);max-width:56ch;margin:0 auto 40px}
.products,.how,.faq{padding:72px 0}
.how{background:var(--surface)}

/* product grid */
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}
.product-card{position:relative;background:var(--card-bg,var(--surface));border:1px solid var(--border);
  border-radius:var(--radius,12px);padding:24px;display:flex;flex-direction:column;gap:12px;transition:border-color .2s,transform .15s,box-shadow .2s}
.product-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:var(--card-shadow-hover,var(--glow,none))}
.product-badge{position:absolute;top:-10px;right:16px;background:var(--accent);color:var(--on-accent,#04070d);
  font-size:.7rem;font-weight:700;padding:4px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}
.product-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.product-head h3{margin:0;font-size:1.15rem}
.product-stock{font-size:.74rem;color:var(--ok,#39d98a);white-space:nowrap}
.product-desc{color:var(--muted);font-size:.9rem;margin:0}
.product-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;font-size:.86rem}
.product-features li{padding-left:20px;position:relative}
.product-features li::before{content:"›";position:absolute;left:4px;color:var(--accent)}
.product-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px}
.product-price{font-family:var(--font-head);font-size:1.5rem;font-weight:700}
.product-price .from{font-size:.7rem;color:var(--muted);font-weight:400;text-transform:uppercase}

/* steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.step{padding:24px;border:1px solid var(--border);border-radius:var(--radius,12px);background:var(--card-bg,var(--bg))}
.step-n{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--accent);
  color:var(--on-accent,#04070d);font-weight:800;font-family:var(--font-head);margin-bottom:12px}
.step h3{font-size:1.05rem;margin:0 0 6px}.step p{color:var(--muted);font-size:.9rem;margin:0}

/* faq */
.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.faq-item{border:1px solid var(--border);border-radius:var(--radius,10px);background:var(--surface);padding:4px 18px}
.faq-item summary{cursor:pointer;font-weight:600;padding:14px 0;list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq-item summary::after{content:"+";color:var(--accent);font-size:1.3rem}
.faq-item[open] summary::after{content:"−"}
.faq-a{color:var(--muted);font-size:.92rem;padding:0 0 16px}

/* footer */
.site-footer{border-top:1px solid var(--border);background:var(--surface);margin-top:40px}
.footer-inner{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;padding:40px 24px 24px}
.footer-brand{display:flex;gap:12px;align-items:flex-start;max-width:320px}
.footer-brand p{color:var(--muted);font-size:.85rem;margin:4px 0 0}
.footer-nav,.footer-langs{display:flex;gap:16px;flex-wrap:wrap;font-size:.88rem;color:var(--muted)}
.footer-langs{text-transform:uppercase;font-size:.74rem}
.footer-nav a:hover,.footer-langs a:hover{color:var(--accent)}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:18px 24px;
  border-top:1px solid var(--border);font-size:.8rem;color:var(--muted)}

/* order modal */
.order-overlay{position:fixed;inset:0;background:rgba(2,4,10,.74);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;padding:20px;z-index:80}
.order-overlay[hidden]{display:none}
.order-modal{position:relative;width:100%;max-width:520px;background:var(--surface);border:1px solid var(--border);
  border-radius:calc(var(--radius,12px) + 4px);padding:28px;max-height:92vh;overflow:auto;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.order-close{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--muted);font-size:1.6rem;line-height:1}
.order-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 14px;
  padding:14px 16px;background:var(--card-bg,var(--bg));border:1px solid var(--border);border-radius:var(--radius,10px)}
.om-amount{font-family:var(--font-head);font-size:1.4rem;color:var(--accent)}
.order-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.8rem;color:var(--muted);margin-bottom:16px}
.order-meta code{color:var(--text)}
.om-status .pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--warn,#f5a524);margin-right:5px;animation:pulse 1.4s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.net-toggle{display:flex;gap:8px;margin-bottom:18px}
.net-btn{flex:1;padding:10px;background:var(--card-bg,var(--bg));border:1px solid var(--border);border-radius:var(--radius,8px);color:var(--muted);font-weight:600}
.net-btn.on{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}
.pay-box{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}
.qr-wrap{display:flex;flex-direction:column;align-items:center;gap:6px}
.qr-wrap img{border-radius:var(--radius,10px);background:#fff;padding:8px;width:160px;height:160px}
.qr-cap{font-size:.74rem;color:var(--muted)}
.addr-box label{display:block;font-size:.78rem;color:var(--muted);margin-bottom:5px}
.addr-row{display:flex;gap:8px;align-items:stretch}
.addr-row code{flex:1;font-family:var(--font-mono);font-size:.74rem;word-break:break-all;
  background:var(--card-bg,var(--bg));border:1px solid var(--border);border-radius:var(--radius,8px);padding:10px}
.btn-copy{padding:0 14px;background:var(--accent);color:var(--on-accent,#04070d);border-radius:var(--radius,8px);font-size:.8rem}
.addr-note{font-size:.78rem;color:var(--muted);margin:10px 0 0}
.order-actions{display:flex;gap:12px;margin-top:20px}
.order-actions .btn{flex:1}

@media(max-width:860px){
  .hero-inner{grid-template-columns:1fr;gap:32px}
  .nav{display:none}
  .pay-box{grid-template-columns:1fr}
  .qr-wrap{order:-1}
}

/* ===== SEO 文章 (guide) ===== */
.guide-main{padding:40px 0 20px}
.guide-wrap{max-width:820px}
.breadcrumb{font-size:.82rem;color:var(--muted);margin-bottom:22px}
.breadcrumb a{color:var(--muted)}.breadcrumb a:hover{color:var(--accent)}
.guide-article h1{font-size:clamp(1.8rem,3.5vw,2.6rem);margin-bottom:14px;line-height:1.12}
.guide-lede{font-size:1.15rem;color:var(--muted);margin:0 0 28px;line-height:1.55}
.guide-body{font-size:1.02rem;line-height:1.8}
.guide-body h2{font-size:1.5rem;margin:1.8em 0 .5em}
.guide-body h3{font-size:1.18rem;margin:1.4em 0 .4em}
.guide-body p{margin:0 0 1.1em}
.guide-body ul,.guide-body ol{margin:0 0 1.2em;padding-left:1.3em}
.guide-body li{margin:.4em 0}
.guide-body a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.guide-body strong{color:var(--text)}
.guide-body blockquote{border-left:3px solid var(--accent);margin:1.2em 0;padding:.4em 1.2em;color:var(--muted)}
.guide-cta{margin:40px 0;padding:28px;border:1px solid var(--border);border-radius:var(--radius,12px);
  background:var(--card-bg,var(--surface));text-align:center}
.guide-cta h3{margin:0 0 6px}.guide-cta p{color:var(--muted);margin:0 0 16px}
.guide-related{margin:36px 0;padding-top:24px;border-top:1px solid var(--border)}
.guide-related h3{font-size:1.1rem;margin:0 0 12px}
.guide-related ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.guide-related a{color:var(--accent)}.guide-related a:hover{text-decoration:underline}
.guide-index-head{padding:24px 0 32px;text-align:center}
.guide-index-head h1{font-size:clamp(1.8rem,3.5vw,2.6rem)}
.guide-index-head p{color:var(--muted)}
.guide-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;padding-bottom:40px}
.guide-card{display:flex;flex-direction:column;gap:8px;padding:22px;border:1px solid var(--border);
  border-radius:var(--radius,12px);background:var(--card-bg,var(--surface));transition:border-color .2s,transform .15s}
.guide-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.guide-card h2{font-size:1.12rem;margin:0}
.guide-card p{font-size:.9rem;color:var(--muted);margin:0;flex:1}
.guide-readmore{font-size:.85rem;color:var(--accent);font-weight:600}
