/* ════════════════════════════════════════════════════════════════════
   Nadrix 设计系统 — 移植自旧站 <style>(原样,已手调,勿重调)
   纯黑底 · 三色渐变 · Orbitron/Space Grotesk/Space Mono
   仅去除旧认购专属块(假购买列表 .purchase-item / 旧 #payment-modal)
   ════════════════════════════════════════════════════════════════════ */

/* ── Variables ── */
:root {
  --bg:      #000000;
  --bg2:     #0a0a0a;
  --bg3:     #111111;
  --bg4:     #1a1a1a;
  --border:  rgba(255,255,255,0.08);
  --border2: rgba(255,255,255,0.15);
  --purple:  #9945FF;
  --cyan:    #14F195;
  --green:   #14F195;
  --blue:    #4e6bff;
  --gold:    #F0B429;
  --red:     #f87171;
  --text:    #ffffff;
  --text2:   #888888;
  --text3:   #444444;
  --grad:    linear-gradient(135deg, #9945FF 0%, #4e6bff 50%, #14F195 100%);
  --font-h:  'Orbitron', sans-serif;
  --font-b:  'Space Grotesk', sans-serif;
  --font-m:  'Space Mono', monospace;
  --nav-h:   68px;
  --max:     1200px;
  --section-pad: 80px; /* 主区块统一竖向 padding */
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-b);
  font-size: 15px;
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* ── Nav ── */
nav {
  /* 顶部态:全宽融入页顶、透明无边线无圆角 */
  position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  height: var(--nav-h);
  display: flex; align-items: center; justify-content: flex-start; /* Q:整排靠左成组 */
  padding: 0 40px;
  background: transparent;
  backdrop-filter: none;
  border-bottom: 1px solid transparent;
  border-radius: 0;
  box-shadow: none;
  transition: background 0.3s ease, backdrop-filter 0.3s ease, border-color 0.3s ease,
              border-radius 0.3s ease, box-shadow 0.3s ease, top 0.3s ease, left 0.3s ease, right 0.3s ease;
}
.nav-logo {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--font-h); font-size: 17px; font-weight: 800;
  letter-spacing: 0.04em; color: var(--text); text-decoration: none;
  white-space: nowrap;
}
.nav-logo-mark {
  width: 32px; height: 32px; border-radius: 8px;
  background: var(--grad);
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 900; color: #000;
  font-family: var(--font-h);
}
.nav-links { display: flex; align-items: center; gap: 32px; list-style: none; margin-left: 40px; }
.nav-links a {
  font-size: 18px; font-weight: 700; color: var(--text2);
  text-decoration: none; letter-spacing: 0.02em; transition: color 0.2s;
}
.nav-links a:hover { color: var(--text); }
.nav-right { display: flex; align-items: center; gap: 12px; margin-left: auto; } /* Q:右侧控件靠右 */
.btn-ghost {
  padding: 8px 20px; border: 1px solid var(--border2);
  background: transparent; color: var(--text2);
  font-size: 15px; font-weight: 500; font-family: var(--font-b);
  border-radius: 6px; cursor: pointer; transition: all 0.2s; letter-spacing: 0.02em;
}
.btn-ghost:hover { border-color: var(--text); color: var(--text); }
.btn-primary {
  padding: 8px 20px; background: #111; color: #fff;
  border: 1px solid rgba(255,255,255,0.2);
  font-size: 14px; font-weight: 600; font-family: var(--font-b);
  border-radius: 8px; cursor: pointer; white-space: nowrap;
  transition: all 0.2s; letter-spacing: 0.02em;
}
.btn-primary:hover { background: rgba(255,255,255,0.85); color:#000; }
.hamburger { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 4px; }
.hamburger span { display: block; width: 20px; height: 1.5px; background: var(--text2); transition: all 0.3s; }
.hamburger.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
.mobile-nav {
  display: none; position: fixed; top: var(--nav-h); left: 0; right: 0;
  background: rgba(0,0,0,0.97); backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
  padding: 24px 32px 32px; z-index: 199; flex-direction: column; gap: 0;
}
.mobile-nav.open { display: flex; }
.mobile-nav a {
  font-size: 15px; color: var(--text2); text-decoration: none;
  padding: 14px 0; border-bottom: 1px solid var(--border);
  font-weight: 500; letter-spacing: 0.02em; transition: color 0.2s;
}
.mobile-nav a:hover { color: var(--text); }
.mobile-nav .btn-primary { margin-top: 20px; width: 100%; text-align: center; padding: 13px; }

/* ── Sections base ── */
section { position: relative; }
.inner { max-width: var(--max); margin: 0 auto; padding: 0 40px; }
.section-mono { font-family: var(--font-m); font-size: 14px; letter-spacing: 0.15em; color: var(--text3); text-transform: uppercase; margin-bottom: 16px; }
.section-heading {
  font-family: var(--font-h); font-size: clamp(26px, 2.8vw, 38px);
  font-weight: 600; line-height: 1.05; letter-spacing: -0.01em; color: var(--text); margin-bottom: 16px;
}
.section-sub { font-size: 18px; color: var(--text2); line-height: 1.7; max-width: 560px; }
.grad-text { background: var(--grad); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }

/* ── Hero ── */
#hero { display: flex; align-items: center; padding: calc(var(--nav-h) + var(--section-pad)) 40px var(--section-pad); position: relative; overflow: visible; border-bottom: 1px solid var(--border); } /* 顶距 = 底距 = --section-pad(导航固定占位另计),上下对称 */
#hero::before {
  content: ''; position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 70% 60% at 60% 40%, rgba(153,69,255,0.08) 0%, transparent 60%),
    radial-gradient(ellipse 50% 40% at 20% 70%, rgba(20,241,149,0.04) 0%, transparent 50%);
  pointer-events: none;
}
.hero-inner { max-width: var(--max); margin: 0 auto; width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.hero-live { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-m); font-size: 19px; letter-spacing: 0.12em; color: var(--cyan); margin-bottom: 16px; }
body.light-mode .hero-live { color: #0a8f57; } /* 深绿:浅底可读 */
.live-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--cyan); animation: pulse 2s ease-in-out infinite; }
@keyframes pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(20,241,149,0.4); } 50% { box-shadow: 0 0 0 6px rgba(20,241,149,0); } }
.hero-h1, .hero-h { font-family: var(--font-h); font-size: clamp(36px, 4.5vw, 58px); font-weight: 600; line-height: 1.0; letter-spacing: -0.01em; color: var(--text); margin-bottom: 13px; }
.hero-desc { font-size: 18px; color: var(--text2); line-height: 1.7; max-width: 480px; margin-bottom: 24px; }
.hero-cta { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.btn-hero-primary { padding: 13px 28px; background: var(--text); color: #000; font-size: 16px; font-weight: 600; font-family: var(--font-b); border: none; border-radius: 8px; cursor: pointer; transition: all 0.2s; letter-spacing: 0.01em; }
.btn-hero-primary:hover { background: rgba(255,255,255,0.88); transform: translateY(-1px); }
.btn-hero-ghost { padding: 13px 28px; background: transparent; border: 1px solid var(--border2); color: var(--text); font-size: 16px; font-weight: 500; font-family: var(--font-b); border-radius: 8px; cursor: pointer; transition: all 0.2s; }
.btn-hero-ghost:hover { border-color: var(--text); }
/* 连接钱包按钮统一主题渐变(顶栏 .btn-primary / hero .btn-hero-ghost / 移动端;靠 data-wallet-connect 精准命中,不波及其他按钮)。放在 btn 定义之后,等权重靠源序压过 .btn-primary/.btn-hero-ghost */
[data-wallet-connect] { background: var(--grad); color: #000; border: none; }
[data-wallet-connect]:hover { opacity: .9; transform: translateY(-1px); }
.hero-slogan { margin-top: 40px; font-family: var(--font-m); font-size: 13px; letter-spacing: 0.12em; color: var(--text3); text-transform: uppercase; display: flex; align-items: center; gap: 12px; }
.hero-slogan::before { content: ''; flex: 0 0 24px; height: 1px; background: var(--text3); }
.hero-right { display: flex; align-items: center; justify-content: center; position: relative; overflow: visible; align-self: stretch; }
/* 方案2(2026-07-12 拍板):hero 高度由左列文案决定(撤 600px 预留),地球绝对定位在右列内独立居中
   —— 消除 grid 垂直居中的上下余量,按钮→分割线 = 干净的 --section-pad;移动端 768 媒询把 img 打回 static,不受影响 */
.hero-right img { position: absolute; inset: 0; margin: auto !important; width: auto !important; max-width: 100% !important; max-height: 100%; } /* margin !important:压过内联 margin:0 auto,否则垂直居中失效、地球贴顶 */
@keyframes orbFloat { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-16px) rotate(2deg); } }
@keyframes pillFloat { 0%,100% { transform: translate(0,0); } 50% { transform: translate(4px,-10px); } }
.token-pill { position: absolute; background: var(--bg3); border: 1px solid var(--border2); border-radius: 24px; padding: 8px 14px; font-size: 14px; font-weight: 500; display: flex; align-items: center; gap: 6px; white-space: nowrap; animation: pillFloat 7s ease-in-out infinite; }
.token-pill.p1 { animation-duration: 6.5s; animation-delay: 0s; }
.token-pill.p2 { animation-duration: 8s;   animation-delay: .6s; }
.token-pill.p3 { animation-duration: 7.2s; animation-delay: 1.1s; }
.token-pill.p4 { animation-duration: 8.5s; animation-delay: .3s; }
.pill-dot { width: 6px; height: 6px; border-radius: 50%; }

/* ── Partners Ticker ── */
#partners { border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 20px 0; overflow: hidden; background: var(--bg); }
.partners-label-top { text-align: center; font-family: var(--font-m); font-size: 15px; letter-spacing: 0.18em; color: var(--text3); text-transform: uppercase; margin-bottom: 16px; }
.ticker-track { display: flex; gap: 0; }
.ticker-inner { display: flex; align-items: center; gap: 56px; animation: ticker 28s linear infinite; white-space: nowrap; padding: 0 28px; }
@keyframes ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.ticker-item { display: flex; align-items: center; gap: 10px; opacity: 0.4; transition: opacity 0.2s; cursor: default; }
.ticker-item:hover { opacity: 0.8; }
.ticker-name { font-family: var(--font-h); font-size: 15px; font-weight: 700; letter-spacing: 0.08em; color: var(--text); text-transform: uppercase; }
.ticker-logo { height: 32px; width: auto; filter: brightness(0) invert(1); } /* 暗色:统一白色剪影 */

/* ── Token Section ── */
#token { padding: var(--section-pad) 0; border-bottom: 1px solid var(--border); }
.token-inner { max-width: var(--max); margin: 0 auto; padding: 0 40px; display: flex; flex-direction: column; align-items: stretch; gap: 32px; }
.token-cards { display: flex; flex-direction: column; gap: 32px; }
.token-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--border); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; margin-top: 40px; }
.token-stat { background: var(--bg2); padding: 24px; }
.stat-val { font-family: var(--font-h); font-size: 30px; font-weight: 800; letter-spacing: -0.02em; margin-bottom: 4px; }
.stat-label { font-size: 15px; color: var(--text2); letter-spacing: 0.04em; }
.token-ctas { display: flex; gap: 12px; margin-top: 32px; flex-wrap: wrap; }
.btn-grad { padding: 12px 24px; background: var(--grad); color: #000; font-size: 15px; font-weight: 700; font-family: var(--font-b); border: none; border-radius: 8px; cursor: pointer; transition: all 0.2s; }
.btn-grad:hover { opacity: 0.88; transform: translateY(-1px); }
.btn-grad:disabled { opacity: 0.4; cursor: not-allowed; transform: none; }
.networks-row { display: flex; align-items: center; gap: 16px; margin-top: 28px; flex-wrap: wrap; }
.networks-label { font-size: 15px; color: var(--text3); }
.network-chip { display: flex; align-items: center; gap: 6px; padding: 5px 12px; border: 1px solid var(--border); border-radius: 20px; font-size: 15px; color: var(--text2); font-weight: 500; }
.network-ico { font-size: 16px; }

/* ── Sale widget / form card (reused for private & public sale panels) ── */
.presale-widget { background: var(--bg2); border: 1px solid var(--border2); border-radius: 16px; padding: 28px; }
.pw-live { display: flex; align-items: center; gap: 8px; font-family: var(--font-m); font-size: 13px; letter-spacing: 0.14em; color: var(--cyan); text-transform: uppercase; margin-bottom: 20px; }
.pw-title { font-family: var(--font-h); font-size: 24px; font-weight: 600; margin-bottom: 6px; letter-spacing: -0.01em; }
.pw-sub { font-size: 16px; color: var(--text2); margin-bottom: 24px; }
.pw-stats-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--border); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; margin-bottom: 20px; }
.pw-stats-row.cols-2 { grid-template-columns: repeat(2,1fr); } /* 公开卡:起始价 + 总量 */
.pw-stat { background: var(--bg3); padding: 14px 12px; }
.pw-stat-v { font-family: var(--font-m); font-size: 16px; font-weight: 500; margin-bottom: 2px; }
.pw-stat-l { font-size: 13px; color: var(--text2); letter-spacing: 0.06em; text-transform: uppercase; }
.pw-prog-label { display: flex; justify-content: space-between; font-size: 14px; color: var(--text2); margin-bottom: 8px; }
.pw-prog-label span { color: var(--cyan); font-weight: 600; }
.prog-bar { height: 6px; background: rgba(255,255,255,0.06); border-radius: 3px; margin-bottom: 20px; overflow: hidden; }
.prog-fill { height: 100%; border-radius: 3px; background: linear-gradient(90deg, var(--purple), var(--cyan)); width: 0%; transition: width 0.6s ease; }
.pw-input-label, .form-label { font-size: 13px; color: var(--text2); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 8px; display:block; }
.pw-input, .form-input, .form-select, .form-textarea {
  width: 100%; background: var(--bg3); border: 1px solid var(--border2);
  border-radius: 8px; padding: 12px 14px; color: var(--text);
  font-family: var(--font-b); font-size: 16px; outline: none;
  transition: border-color 0.2s; margin-bottom: 14px;
}
.pw-input { font-family: var(--font-m); }
.form-textarea { resize: vertical; min-height: 88px; }
.pw-input:focus, .form-input:focus, .form-select:focus, .form-textarea:focus { border-color: var(--purple); }
.pw-input::placeholder, .form-input::placeholder, .form-textarea::placeholder { color: var(--text3); }
.form-select { font-family: var(--font-m); appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23888' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 34px; }
.btn-buy { width: 100%; padding: 14px; background: var(--grad); color: #000; font-size: 16px; font-weight: 700; font-family: var(--font-b); border: none; border-radius: 8px; cursor: pointer; transition: all 0.2s; letter-spacing: 0.01em; }
.btn-buy:hover { opacity: 0.88; }
.btn-buy:disabled { opacity: 0.4; cursor: not-allowed; }
.pw-note { font-size: 13px; color: var(--text3); text-align: center; margin-top: 12px; }
.pw-calc { font-size: 14px; color: var(--text2); text-align: center; margin-bottom: 16px; min-height: 18px; }

/* ── Wallet gate(认购区未连钱包门控:无壳·居中·内容直坐 section 底色)── */
#sale-content { display: flex; flex-direction: column; gap: 32px; }
#sale-content .networks-row { margin-top: 0; } /* 段头并入后由 flex gap 统一节奏 */
.sale-gate-card {
  max-width: 960px; margin: 0 auto; text-align: center;
  display: flex; flex-direction: column; align-items: center;
  padding: 24px 20px 8px;
}
.sale-gate-title {
  font-family: var(--font-h); font-weight: 600; line-height: 1.1; letter-spacing: -0.01em;
  font-size: clamp(28px, 3.4vw, 42px); margin-bottom: 18px;
  max-width: none; /* 放开限宽:桌面一行,窄屏自然折行(不用 nowrap) */
}
.sale-gate-desc { font-size: 17px; color: var(--text2); line-height: 1.8; max-width: 520px; margin: 0 auto 32px; }
.sale-gate-btn {
  background: var(--grad); color: #000; border: none; cursor: pointer;
  font-family: var(--font-b); font-size: 16px; font-weight: 700; letter-spacing: 0.01em;
  padding: 14px 40px; border-radius: 8px; transition: opacity 0.2s, transform 0.2s;
}
.sale-gate-btn:hover { opacity: 0.9; transform: translateY(-1px); }

/* notice / warning / pill blocks */
.notice-box { background: rgba(240,180,41,0.08); border: 1px solid rgba(240,180,41,0.25); border-radius: 12px; padding: 16px 18px; margin: 16px 0; }
.notice-box .notice-title { font-family: var(--font-h); font-size: 15px; font-weight: 700; color: var(--gold); margin-bottom: 10px; letter-spacing: 0.03em; }
.notice-box ul { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.notice-box li { font-size: 16px; color: var(--text2); line-height: 1.5; padding-left: 20px; position: relative; }
.notice-box li::before { content: '⚠'; position: absolute; left: 0; color: var(--gold); }
.tag-pill { display: inline-block; font-size: 12px; padding: 3px 10px; border-radius: 20px; font-family: var(--font-m); letter-spacing: 0.08em; text-transform: uppercase; }
.tag-soon { border: 1px solid var(--border2); color: var(--text3); }
.tag-live { border: 1px solid rgba(20,241,149,0.4); color: var(--cyan); background: rgba(20,241,149,0.06); }
.tag-warn { border: 1px solid rgba(248,113,113,0.4); color: var(--red); background: rgba(248,113,113,0.06); }

/* ── Products ── */
#products { padding: var(--section-pad) 0; border-bottom: 1px solid var(--border); }
.products-head { max-width: var(--max); margin: 0 auto 56px; padding: 0 40px; }
.products-head .section-sub { max-width: 700px; } /* 段头副文案两行排(P 图7 拍板) */
.products-grid { max-width: var(--max); margin: 0 auto; padding: 0 40px; display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--border); border: 1px solid var(--border); border-radius: 16px; overflow: hidden; }
.product-card { background: var(--bg); padding: 40px 32px; transition: background 0.2s; }
.product-card:hover { background: var(--bg2); }
.prod-head { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.prod-ico { font-size: 30px; }
.prod-tag { font-family: var(--font-m); font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 12px; }
.prod-title { font-family: var(--font-h); font-size: 22px; font-weight: 800; margin-bottom: 12px; letter-spacing: -0.01em; }
.prod-desc { font-size: 17px; color: var(--text2); line-height: 1.7; margin-bottom: 24px; }
.prod-link { display: inline-flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 600; text-decoration: none; transition: gap 0.2s; cursor: pointer; background: none; border: none; font-family: var(--font-b); }
.prod-link:hover { gap: 10px; }
.prod-link { opacity: .5; } /* Coming Soon 半透明(各色保留、只变淡)*/
.products-scroll { overflow-x: auto; scrollbar-width: none; padding: 0 40px; cursor: grab; }
.products-scroll::-webkit-scrollbar { display: none; }
.products-scroll:active { cursor: grabbing; }
.products-scroll .products-grid { display: flex; gap: 16px; background: transparent; border: none; border-radius: 0; overflow: visible; width: max-content; padding-bottom: 8px; }
.products-scroll .product-card { min-width: 360px; max-width: 360px; flex-shrink: 0; background: var(--bg); border: 1px solid var(--border); border-radius: 16px; }

/* ── Token Holder Tools(2026-07-12 起单行横滑,同 products-scroll 交互)── */
#tools { padding: var(--section-pad) 0; border-bottom: 1px solid var(--border); background: var(--bg2); }
.tools-inner { max-width: var(--max); margin: 0 auto; padding: 0 40px; }
.tools-head { margin-bottom: 56px; }
.tools-scroll { overflow-x: auto; scrollbar-width: none; padding: 0 40px; cursor: grab; }
.tools-scroll::-webkit-scrollbar { display: none; }
.tools-scroll:active { cursor: grabbing; }
.tools-grid { display: flex; gap: 16px; width: max-content; padding-bottom: 8px; }
.tool-card { background: var(--bg); border: 1px solid var(--border); border-radius: 12px; padding: 28px 24px; transition: border-color 0.2s; min-width: 340px; max-width: 340px; flex-shrink: 0; }
.tool-card:hover { border-color: var(--border2); }
.tool-head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.tool-ico { font-size: 26px; }
.tool-title { font-family: var(--font-h); font-size: 18px; font-weight: 700; margin-bottom: 8px; }
.tool-desc { font-size: 16px; color: var(--text2); line-height: 1.6; margin-bottom: 20px; }
.tool-chip { display: inline-block; font-size: 12px; padding: 3px 10px; border-radius: 20px; font-family: var(--font-m); letter-spacing: 0.08em; text-transform: uppercase; }
.chip-soon { border: 1px solid var(--border2); color: var(--text3); }
.chip-live { border: 1px solid rgba(20,241,149,0.4); color: var(--cyan); background: rgba(20,241,149,0.06); }

/* ── Governance ── */
#governance { padding: var(--section-pad) 0; border-bottom: 1px solid var(--border); text-align: center; position: relative; overflow: hidden; }
#governance::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 80% 60% at 50% 50%, rgba(153,69,255,0.05), transparent 60%); pointer-events: none; }
.gov-inner { max-width: var(--max); margin: 0 auto; padding: 0 40px; position: relative; }
.gov-heading { font-family: var(--font-h); font-size: clamp(30px, 3.8vw, 48px); font-weight: 600; line-height: 1.0; letter-spacing: -0.01em; margin-bottom: 20px; }
.gov-sub { font-size: 18px; color: var(--text2); line-height: 1.7; margin-bottom: 40px; max-width: 600px; margin-left: auto; margin-right: auto; }
.gov-ctas { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.gov-cards { max-width: var(--max); margin: 72px auto 0; padding: 0 40px; display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--border); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
.gov-card { background: var(--bg); padding: 32px 28px; text-align: left; }
.gov-head { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.gov-ico { font-size: 24px; line-height: 1; }
.gov-card-title { font-family: var(--font-h); font-size: 20px; font-weight: 700; margin-bottom: 10px; }
.gov-card-desc { font-size: 16px; color: var(--text2); line-height: 1.7; }

/* ── CTA Band ── */
#cta-band { padding: var(--section-pad) 0; background: var(--bg); border-bottom: 1px solid var(--border); }
.cta-band-inner { max-width: var(--max); margin: 0 auto; padding: 0 40px; display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center; }
.cta-band-title { font-family: var(--font-h); font-size: clamp(26px, 3.2vw, 40px); font-weight: 600; letter-spacing: -0.01em; line-height: 1.1; }
.cta-band-sub { font-size: 17px; color: var(--text2); margin-top: 10px; }
.cta-band-right { display: flex; gap: 12px; flex-shrink: 0; }

/* ── Subscribe ── */
#subscribe { padding: var(--section-pad) 0; background: var(--bg2); border-bottom: 1px solid var(--border); }
.sub-inner { max-width: var(--max); margin: 0 auto; padding: 0 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.sub-head { margin-bottom: 24px; }
.sub-h { font-family: var(--font-h); font-size: 26px; font-weight: 800; margin-bottom: 8px; }
.sub-p { font-size: 16px; color: var(--text2); }
.sub-form { display: flex; gap: 10px; }
.sub-input { flex: 1; padding: 12px 16px; background: var(--bg3); border: 1px solid var(--border2); border-radius: 8px; color: var(--text); font-family: var(--font-b); font-size: 16px; outline: none; transition: border-color 0.2s; }
.sub-input:focus { border-color: var(--purple); }
.sub-input::placeholder { color: var(--text3); }
.btn-sub { padding: 12px 20px; background: var(--text); color: #000; font-size: 15px; font-weight: 700; font-family: var(--font-b); border: none; border-radius: 8px; cursor: pointer; transition: all 0.2s; white-space: nowrap; }
.btn-sub:hover { background: rgba(255,255,255,0.88); }
.msg-ok { font-size: 14px; color: var(--cyan); margin-top: 10px; min-height: 18px; }
.msg-err { font-size: 14px; color: #f87171; margin-top: 10px; min-height: 18px; }
.fb-form { display: flex; flex-direction: column; gap: 10px; }
.fb-textarea { padding: 12px 16px; background: var(--bg3); border: 1px solid var(--border2); border-radius: 8px; color: var(--text); font-family: var(--font-b); font-size: 16px; outline: none; resize: vertical; min-height: 100px; transition: border-color 0.2s; }
.fb-textarea:focus { border-color: var(--purple); }
.fb-textarea::placeholder { color: var(--text3); }
.btn-fb { align-self: flex-start; padding: 11px 22px; background: transparent; border: 1px solid var(--border2); color: var(--text); font-size: 15px; font-weight: 600; font-family: var(--font-b); border-radius: 8px; cursor: pointer; transition: all 0.2s; }
.btn-fb:hover { border-color: var(--text); }

/* ── Footer ── */
footer { padding: 48px 0 36px; background: var(--bg); }
.footer-inner { max-width: var(--max); margin: 0 auto; padding: 0 40px; }
.footer-top { display: flex; justify-content: space-between; align-items: flex-start; padding-bottom: 40px; border-bottom: 1px solid var(--border); margin-bottom: 32px; gap: 40px; flex-wrap: wrap; }
.footer-brand { max-width: 280px; }
.footer-logo { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-family: var(--font-h); font-size: 15px; font-weight: 800; color: var(--text); }
.footer-desc { font-size: 13px; color: var(--text3); line-height: 1.7; }
.footer-links-grid { display: flex; gap: 56px; flex-wrap: wrap; }
.footer-col-title { font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text); margin-bottom: 16px; font-family: var(--font-m); }
.footer-col a { display: block; font-size: 13px; color: var(--text3); text-decoration: none; margin-bottom: 10px; transition: color 0.2s; }
.footer-col a:hover { color: var(--text); }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: var(--text3); flex-wrap: wrap; gap: 12px; }
.footer-socials { display: flex; gap: 20px; }
.footer-socials a { color: var(--text3); text-decoration: none; font-size: 13px; transition: color 0.2s; }
.footer-socials a:hover { color: var(--text); }
/* 品牌 tagline 下方社交图标行(flex 可扩展;单色跟 footer 文字同灰系,hover 提亮)*/
.footer-socials-row { display: flex; gap: 16px; margin-top: 20px; flex-wrap: wrap; }
.social-link { display: inline-flex; align-items: center; justify-content: center; color: var(--text2); transition: color 0.2s; }
.social-link:hover { color: var(--text); }
.social-link svg { width: 24px; height: 24px; fill: currentColor; display: block; }

/* ── Toast ── */
.toast { position: fixed; bottom: 28px; left: 50%; z-index: 999; transform: translateX(-50%) translateY(16px); padding: 12px 22px; border-radius: 8px; font-size: 15px; font-weight: 500; opacity: 0; pointer-events: none; transition: all 0.3s; font-family: var(--font-b); white-space: nowrap; background:#0d0d0d; border:1px solid var(--border2); }
.toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ── Reveal animations ── */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.7s ease, transform 0.7s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-d1 { transition-delay: 0.1s; }
.reveal-d2 { transition-delay: 0.2s; }
.reveal-d3 { transition-delay: 0.3s; }

/* ── Dropdown Nav ── */
.nav-links li { position: relative; list-style: none; }
.nav-btn { display: flex; align-items: center; gap: 5px; background: none; border: none; cursor: pointer; font-size: 18px; font-weight: 700; color: var(--text2); font-family: var(--font-b); letter-spacing: 0.02em; padding: 4px 2px; transition: color 0.2s; }
.nav-btn:hover { color: var(--text); }
.has-dropdown:hover .nav-btn { color: var(--text); }
.nav-caret { font-size: 14px; opacity: 0.5; transition: transform 0.2s; display: inline-block; }
.has-dropdown:hover .nav-caret { transform: rotate(180deg); opacity: 1; }
.dropdown { position: absolute; top: calc(100% + 14px); left: 50%; transform: translateX(-50%) translateY(-6px); background: #141414; backdrop-filter: blur(20px); border: 1px solid rgba(255,255,255,0.1); border-radius: 12px; padding: 16px; opacity: 0; pointer-events: none; transition: opacity 0.18s ease, transform 0.18s ease; z-index: 300; min-width: 320px; box-shadow: 0 20px 60px rgba(0,0,0,0.6); }
body.light-mode .dropdown { background: #ffffff; backdrop-filter: blur(20px); }
.has-dropdown:hover .dropdown { opacity: 1; pointer-events: all; transform: translateX(-50%) translateY(0); }
.has-dropdown:last-of-type .dropdown { left: auto; right: 0; transform: translateX(0); }
.has-dropdown:last-of-type:hover .dropdown { transform: translateX(0) translateY(0); }
.has-dropdown::after { content: ''; position: absolute; top: 100%; left: -20px; right: -20px; height: 18px; }
.drop-cols { display: flex; gap: 8px; }
.drop-col { flex: 1; min-width: 140px; }
.drop-group { font-size: 11px; color: var(--text3); letter-spacing: 0.12em; text-transform: uppercase; font-family: var(--font-m); padding: 4px 10px 8px; margin-bottom: 2px; }
.drop-item { display: flex; align-items: flex-start; gap: 10px; padding: 9px 10px; border-radius: 8px; text-decoration: none; color: var(--text); transition: background 0.15s; cursor: pointer; border: none; background: none; width: 100%; text-align: left; font-family: var(--font-b); }
.drop-item:hover { background: rgba(255,255,255,0.06); }
.drop-item.soon { opacity: 0.55; }
.drop-item.soon:hover { opacity: 0.8; background: rgba(255,255,255,0.04); }
.drop-ico { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; flex-shrink: 0; margin-top: 1px; color: var(--text2); }
.drop-ico svg { width: 20px; height: 20px; display: block; } /* 描线图标:stroke=currentColor 随文字色 + 主题 */
.drop-item strong { display: block; font-size: 13px; font-weight: 600; line-height: 1.3; }
.drop-item small { display: block; font-size: 11px; color: var(--text3); margin-top: 1px; line-height: 1.3; }
.soon-badge { display: inline-block; font-size: 9px; padding: 1px 6px; border: 1px solid rgba(255,255,255,0.2); border-radius: 10px; color: var(--text3); font-family: var(--font-m); letter-spacing: 0.06em; margin-left: 4px; vertical-align: middle; }
/* R 下滑态:悬浮圆角胶囊 */
nav.scrolled {
  top: 10px; left: 16px; right: 16px;
  background: rgba(0,0,0,0.85);
  backdrop-filter: blur(20px);
  border-radius: 16px;
  border-bottom-color: transparent;
  box-shadow: 0 8px 32px rgba(0,0,0,0.45);
}

/* ── Unlock banner ── */
#unlock-banner { padding: 80px 40px; display: flex; align-items: center; justify-content: center; background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(10,10,10,0.98) 30%, #0a0a0a 100%); }
.unlock-inner { max-width: 760px; width: 100%; display: flex; align-items: center; gap: 28px; background: rgba(255,255,255,0.03); border: 1px solid rgba(153,69,255,0.25); border-radius: 20px; padding: 36px 40px; position: relative; overflow: hidden; }
.unlock-inner::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 80% 60% at 50% 50%, rgba(153,69,255,0.06), transparent 70%); pointer-events: none; }
.unlock-icon { font-size: 42px; flex-shrink: 0; }
.unlock-text { flex: 1; }
.unlock-title { font-family: var(--font-h); font-size: 19px; font-weight: 700; letter-spacing: 0.04em; color: var(--text); margin-bottom: 8px; }
.unlock-sub { font-size: 15px; color: var(--text2); line-height: 1.6; }
.unlock-btn { flex-shrink: 0; padding: 13px 28px; border-radius: 10px; background: linear-gradient(135deg, #9945FF, #4e6bff, #14F195); border: none; color: #fff; font-family: var(--font-h); font-size: 14px; font-weight: 700; letter-spacing: 0.06em; cursor: pointer; transition: opacity 0.2s, transform 0.2s; white-space: nowrap; }
.unlock-btn:hover { opacity: 0.85; transform: scale(1.03); }

/* ── Wallet Modal Overlay ── */
#wallet-modal { position: fixed; inset: 0; z-index: 1000; display: none; align-items: center; justify-content: center; background: rgba(0,0,0,0.75); backdrop-filter: blur(8px); }
@keyframes wmIn { from { opacity:0; transform:scale(0.92) translateY(20px); } to { opacity:1; transform:scale(1) translateY(0); } }
@keyframes spin { to { transform: rotate(360deg); } }

/* ── Connected state nav ── */
.btn-connected { display: flex; align-items: center; gap: 8px; padding: 7px 16px; border-radius: 10px; background: rgba(20,241,149,0.08); border: 1px solid rgba(20,241,149,0.25); font-family: var(--font-m); font-size: 11px; color: var(--cyan); cursor: pointer; }
.btn-connected .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 6px var(--cyan); animation: blink 2s infinite; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0.3} }

/* ── Theme toggle ── */
.theme-toggle-wrap { display: flex; align-items: center; }
.theme-toggle-btn { display: flex; align-items: center; gap: 8px; background: var(--bg3); border: 1px solid var(--border2); border-radius: 99px; padding: 5px 10px 5px 8px; cursor: pointer; transition: all 0.2s; }
.theme-toggle-btn:hover { border-color: rgba(255,255,255,0.3); }
.theme-icon-dark, .theme-icon-light { font-size: 13px; line-height: 1; transition: opacity 0.2s; }
body.dark-mode .theme-icon-dark { opacity: 1; }
body.dark-mode .theme-icon-light { opacity: 0; display:none; }
body.light-mode .theme-icon-dark { opacity: 0; display:none; }
body.light-mode .theme-icon-light { opacity: 1; }
.theme-icon-light { display: none; }
.toggle-track { width: 34px; height: 18px; background: var(--bg3); border: 1px solid var(--border2); border-radius: 99px; display: flex; align-items: center; padding: 2px; transition: background 0.3s; flex-shrink: 0; }
body.light-mode .toggle-track { background: linear-gradient(135deg, #f0b429, #ff8c00); border-color: transparent; }
body:not(.light-mode) .toggle-track { background: linear-gradient(135deg, #4e6bff, #9945FF); border-color: transparent; }
.toggle-thumb { width: 12px; height: 12px; background: #fff; border-radius: 50%; box-shadow: 0 1px 4px rgba(0,0,0,0.4); transition: transform 0.3s cubic-bezier(0.4,0,0.2,1); transform: translateX(0); }
body.light-mode .toggle-thumb { transform: translateX(16px); }

/* ── Light mode overrides ── */
body.light-mode { --bg:#f5f5f7; --bg2:#ffffff; --bg3:#f0f0f2; --bg4:#e8e8ea; --border:rgba(0,0,0,0.08); --border2:rgba(0,0,0,0.15); --text:#0a0a0a; --text2:#555555; --text3:#aaaaaa; }
body.light-mode nav { background: transparent; border-bottom-color: transparent; } /* 顶部融入 */
body.light-mode nav.scrolled { background: rgba(245,245,247,0.92); border-bottom-color: transparent; box-shadow: 0 8px 32px rgba(0,0,0,0.12); } /* 浅色胶囊 */
body.light-mode .btn-primary { background: #fff; color: #000; border: 1px solid rgba(0,0,0,0.2); }
body.light-mode .btn-primary:hover { background: #f0f0f0; border-color: rgba(0,0,0,0.35); }
/* 弹窗锁深色:卡片底固定深色(内联 #0d0d0d 已锁),文字也锁浅色压深底 —— 不跟随站点浅色翻
   (标题/钱包名原无显式色,继承随主题翻的全局文字色,浅色下变深字埋进深底)*/
#wallet-modal .wm-box, #wc-qr-box { color: #fff; }
body.light-mode #wallet-modal .wm-box, body.light-mode #wc-qr-box { color: #fff; }
body.light-mode #unlock-banner { background: linear-gradient(180deg, rgba(245,245,247,0), rgba(245,245,247,0.98) 30%, #f5f5f7 100%); }
body.light-mode .unlock-inner { background: rgba(0,0,0,0.03); border-color: rgba(153,69,255,0.2); }
body.light-mode footer { background: #f0f0f2; border-top: 1px solid rgba(0,0,0,0.08); }
body.light-mode .footer-bottom { border-top-color: rgba(0,0,0,0.08); }
body.light-mode .footer-col a, body.light-mode .footer-col-title, body.light-mode .footer-brand p { color: #555; }
body.light-mode .footer-col a:hover { color: #000; }
body.light-mode .footer-socials a { color: #555; }
body.light-mode .footer-socials a:hover { color: #000; }
body.light-mode .btn-hero-primary { background: #0a0a0a; color: #fff; }
body.light-mode .btn-hero-primary:hover { background: #333; }
body.light-mode .btn-hero-ghost { border-color: rgba(0,0,0,0.25); color: #0a0a0a; }
body.light-mode .btn-hero-ghost:hover { border-color: rgba(0,0,0,0.5); background: rgba(0,0,0,0.05); }
/* C:Subscribe 按钮浅色态复用主按钮黑底白字(原 color:#000 + bg:var(--text) 浅色变黑底黑字)*/
body.light-mode .btn-sub { background: #0a0a0a; color: #fff; }
body.light-mode .btn-sub:hover { background: #333; }
/* 连接钱包渐变在浅色也生效(盖过上面 body.light-mode .btn-primary / .btn-hero-ghost,等权重靠源序)*/
body.light-mode [data-wallet-connect] { background: var(--grad); color: #000; border: none; }
body.light-mode [data-wallet-connect]:hover { opacity: .9; transform: translateY(-1px); }
body.light-mode .partners-label-top { color: #888; }
body.light-mode .ticker-item { color: #333; }
body.light-mode .ticker-logo { filter: brightness(0); } /* 亮色:统一黑色剪影 */
body.light-mode #partners { border-color: rgba(0,0,0,0.08); }
body.light-mode .nav-links a { color: #333; }
body.light-mode .product-card, body.light-mode .tool-card, body.light-mode .gov-card { background: #fff; border-color: rgba(0,0,0,0.08); }
body.light-mode .product-card:hover { background:#fafafa; }
body.light-mode .presale-widget { background: #fff; border-color: rgba(0,0,0,0.1); }
body.light-mode .pw-input, body.light-mode .form-input, body.light-mode .form-select, body.light-mode .form-textarea { background: #f5f5f7; border-color: rgba(0,0,0,0.1); color: #0a0a0a; }
body.light-mode #subscribe { background: #e8e8ea; }
body.light-mode .sub-input, body.light-mode .fb-textarea { background: #fff; border-color: rgba(0,0,0,0.1); color: #0a0a0a; }
body.light-mode #cta-band { background: #e0e0e2; }
body.light-mode #governance, body.light-mode #tools { background: #f0f0f2; }
body.light-mode .toast { background: #fff; border-color: rgba(0,0,0,0.12); box-shadow: 0 4px 20px rgba(0,0,0,0.12); }

/* ── Responsive ── */
@media (max-width: 1080px) {
  nav { padding: 0 20px; }
  .nav-links { display: none; }
  .hamburger { display: flex; }
  .dropdown { display: none !important; }
  .hero-inner { grid-template-columns: 1fr; gap: 48px; text-align: center; }
  .hero-right { display: none !important; }
  .hero-desc { margin: 0 auto 36px; }
  .hero-cta { justify-content: center; }
  .hero-slogan { justify-content: center; }
  .products-grid { grid-template-columns: 1fr; }
  .gov-cards { grid-template-columns: 1fr; }
  .cta-band-inner { grid-template-columns: 1fr; text-align: center; }
  .cta-band-right { justify-content: center; }
  .sub-inner { grid-template-columns: 1fr; gap: 40px; }
  .footer-top { flex-direction: column; }
  .footer-links-grid { gap: 32px; }
  .products-scroll { padding: 0 20px; }
  .products-scroll .product-card { min-width: 280px; }
  .tools-scroll { padding: 0 20px; }
  .tool-card { min-width: 280px; max-width: 280px; }
  .inner, .products-head, .products-grid, .tools-inner, .gov-inner, .gov-cards, .cta-band-inner, .sub-inner, .footer-inner, .token-inner { padding: 0 20px; }
}
@media (max-width: 768px) {
  #hero { padding: calc(var(--nav-h) + 64px) 20px 64px; } /* 移动端同样上下对称(64 = 移动端区块间距) */
  .hero-right { display: block !important; position: relative; margin-top: 24px; min-height: auto; } /* 移动端地球是装饰,不预留 600px(桌面 600px 不受影响)*/
  .hero-right img { width: 100% !important; max-width: 380px !important; position: static !important; transform: none !important; margin: 0 auto !important; display: block !important; }
  .token-pill { display: none !important; }
  .token-stats { grid-template-columns: 1fr 1fr; }
  .pw-stats-row { grid-template-columns: 1fr; }
  .unlock-inner { flex-direction: column; text-align: center; padding: 24px 20px; gap: 16px; }
  .unlock-btn { width: 100%; }
  .footer-links-grid { gap: 24px; }
}
@media (max-width: 560px) {
  :root { --nav-h: 60px; }
  .sub-form { flex-direction: column; }
  .btn-sub { width: 100%; }
  #token, #products, #tools, #governance, #cta-band, #subscribe { padding: 64px 0; }
  .btn-hero-primary, .btn-hero-ghost { width: 100%; text-align: center; }
  .hero-cta { flex-direction: column; }
}

/* ════════════════════════════════════════════════════════════════════
   移动端汉堡导航 + 左滑抽屉(全站统一 · 共用件 js/nav-mobile.js 注入)
   桌面零改动:新件默认 display:none,仅 ≤960 显示
   ════════════════════════════════════════════════════════════════════ */
/* 注入的 ☰(nav 首位 = 最左)与移动专用暗亮 toggle —— 桌面隐藏 */
.nav-ham-m { display: none; margin-right: 4px; }
.nav-theme-m { display: none; }

/* 面板本体:从顶栏下沿往下拉开的全宽下拉(贴 --nav-h,顶栏始终露出) */
.drawer {
  position: fixed; top: var(--nav-h); left: 0; right: 0;
  height: calc(100dvh - var(--nav-h));
  background: var(--bg2); border-bottom: 1px solid var(--border);
  display: flex; flex-direction: column;
  transform: translateY(-100%); transition: transform 0.28s cubic-bezier(0.4,0,0.2,1);
  visibility: hidden; z-index: 190; /* < nav(200):顶栏那条始终盖在面板之上 */
  overflow-y: auto; -webkit-overflow-scrolling: touch;
}
.drawer.open { transform: translateY(0); visibility: visible; }
.drawer-overlay {
  position: fixed; top: var(--nav-h); left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.5);
  opacity: 0; visibility: hidden; transition: opacity 0.28s ease, visibility 0.28s ease;
  z-index: 185; /* 只盖顶栏以下,不盖顶栏 */
}
.drawer-overlay.open { opacity: 1; visibility: visible; }
body.drawer-open { overflow: hidden; }

.drawer-body { padding: 8px 0 16px; flex: 1 1 auto; }
.drawer-group { padding: 12px 22px 4px; }
.drawer-group + .drawer-group { border-top: 1px solid var(--border); }
.drawer-group-t {
  font-family: var(--font-m, 'Space Mono', monospace);
  font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--text3); padding: 4px 0 8px;
}
.drawer-link {
  display: flex; align-items: center; gap: 8px;
  padding: 11px 0; color: var(--text); text-decoration: none;
  font-size: 15px; font-weight: 600; transition: color 0.2s;
}
.drawer-link:hover { color: var(--text2); }
.drawer-link.soon { opacity: 0.7; }

.drawer-foot {
  padding: 16px 20px calc(16px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid var(--border); flex-shrink: 0;
}
.drawer-lang {
  width: 100%; padding: 12px; cursor: pointer;
  background: var(--bg3); border: 1px solid var(--border2); border-radius: 8px;
  color: var(--text); font-family: var(--font-m, 'Space Mono', monospace);
  font-size: 14px; font-weight: 700; letter-spacing: 0.04em; transition: all 0.2s;
}
.drawer-lang:hover { border-color: var(--text); }

/* 移动断点:显示新件 + 瘦身顶栏(修溢出)+ 隐藏旧/冗余件 */
@media (max-width: 1080px) {
  .nav-ham-m { display: flex; }              /* ☰ 最左 */
  .nav-theme-m { display: flex; }            /* 补齐的暗亮 toggle */
  #hamburger { display: none !important; }   /* index 旧 nav-right 内汉堡(改用最左 ☰) */
  #langToggle { display: none !important; }  /* 中/EN 移入面板底部 */
  .nav-right a[data-i18n="Home"] { display: none; } /* ←Home 冗余(logo 已回首页),腾右侧空间 */

  /* 顶栏瘦身:弹性边距、任意屏宽不溢出、整体居中 —— 顺序 ☰ · logo · 暗亮 · Connect */
  #mainNav { padding: 0 14px; }
  #mainNav .nav-logo { font-size: 0; gap: 0; }                 /* 只留图标,隐 "Nadrix" 文字 */
  #mainNav .nav-logo img { width: 30px !important; height: 30px !important; } /* 与暗亮 toggle 视觉对齐 */
  #mainNav .nav-right { gap: 8px; min-width: 0; }
  #mainNav .btn-primary { padding: 7px 12px; font-size: 13px; }
}
/* 最窄屏兜底(~360):再缩 Connect 与边距,连上地址完整不溢出 */
@media (max-width: 380px) {
  #mainNav { padding: 0 10px; }
  #mainNav .nav-right { gap: 6px; }
  #mainNav .btn-primary { padding: 6px 9px; font-size: 12px; }
}
