/* ============================================================
   VapeAurora · Components
   每一处改动都对应线上实测到的问题（见 README 对照表）
   ============================================================ */

/* ============================================================
   1. 公告条 —— 原来两条堆叠占 96px，压缩为单行 40px
   ============================================================ */
.aur-announce {
  position: relative; z-index: 60;
  background: var(--aur-bg-elev);
  border-bottom: 1px solid var(--aur-line);
  overflow: hidden;
}
.aur-announce__track {
  display: flex; align-items: center; justify-content: center;
  gap: var(--aur-s7);
  height: 40px;
  font-size: var(--aur-f-xs);
  color: var(--aur-text-2);
  white-space: nowrap;
}
.aur-announce__item {
  display: inline-flex; align-items: center; gap: 7px;
  letter-spacing: .01em;
}
.aur-announce__item svg { width: 14px; height: 14px; color: var(--aur-accent); flex: none; }
.aur-announce__item strong { color: var(--aur-text); font-weight: 650; }
@media (max-width: 1080px) { .aur-announce__item:nth-child(n+4) { display: none; } }
@media (max-width: 760px)  { .aur-announce__item:nth-child(n+3) { display: none; } }
@media (max-width: 480px)  { .aur-announce__item:nth-child(n+2) { display: none; } }

/* ============================================================
   2. 头部 —— 原来三层堆叠（公告×2 + 导航 + 副标题条）
      现合并为：公告条 + 吸顶导航
   ============================================================ */
.aur-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(8, 9, 12, .72);
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid var(--aur-line);
  transition: background var(--aur-dur-base) var(--aur-ease-out),
              border-color var(--aur-dur-base) var(--aur-ease-out);
}
.aur-header__inner {
  display: flex; align-items: center; gap: var(--aur-s6);
  height: 64px;
}

/* Logo：极光描边字标，不用图片 */
.aur-logo {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--aur-font); font-weight: 700;
  font-size: 1.0625rem; letter-spacing: -.025em;
  flex: none; min-height: 44px;   /* Logo 也是点击目标 */
}
.aur-logo__mark {
  width: 26px; height: 26px; border-radius: 8px;
  background: var(--aur-spectrum);
  position: relative; flex: none;
  box-shadow: 0 4px 14px rgba(79, 216, 196, .28);
}
.aur-logo__mark::after {
  content: ""; position: absolute; inset: 6px;
  border-radius: 3px;
  background: var(--aur-bg);
}
.aur-logo__text b { font-weight: 700; }
.aur-logo__text span { color: var(--aur-text-3); font-weight: 500; }

.aur-nav { display: flex; align-items: center; gap: 2px; margin-left: var(--aur-s4); }
.aur-nav__link {
  position: relative;
  padding: 8px 14px;
  font-size: var(--aur-f-sm); font-weight: 550;
  color: var(--aur-text-2);
  border-radius: var(--aur-r-sm);
  transition: color var(--aur-dur-fast) var(--aur-ease-out),
              background var(--aur-dur-fast) var(--aur-ease-out);
}
.aur-nav__link:hover { color: var(--aur-text); background: var(--aur-surface); }
.aur-nav__link[aria-current="page"] { color: var(--aur-text); }
/* 下划线由中心擦除展开，而非直接显示 */
.aur-nav__link::after {
  content: ""; position: absolute;
  left: 14px; right: 14px; bottom: 2px; height: 1.5px;
  background: var(--aur-accent);
  transform: scaleX(0); transform-origin: center;
  transition: transform var(--aur-dur-base) var(--aur-ease-out);
}
.aur-nav__link:hover::after,
.aur-nav__link[aria-current="page"]::after { transform: scaleX(1); }

.aur-header__actions {
  display: flex; align-items: center; gap: var(--aur-s2);
  margin-left: auto;
}

/* 图标按钮：44px 触摸目标 */
.aur-iconbtn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px;
  background: transparent; border: 0;
  border-radius: var(--aur-r-sm);
  color: var(--aur-text-2); cursor: pointer;
  transition: color var(--aur-dur-fast) var(--aur-ease-out),
              background var(--aur-dur-fast) var(--aur-ease-out);
}
.aur-iconbtn:hover { color: var(--aur-text); background: var(--aur-surface); }
.aur-iconbtn svg { width: 19px; height: 19px; }

/* 主 CTA：全站唯一实心强调按钮 */
.aur-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; padding: 0 22px;
  border: 0; border-radius: var(--aur-r-pill);
  font-family: var(--aur-font); font-size: var(--aur-f-sm); font-weight: 600;
  letter-spacing: -.01em;
  cursor: pointer; white-space: nowrap;
  transition: transform var(--aur-dur-fast) var(--aur-ease-out),
              box-shadow var(--aur-dur-base) var(--aur-ease-out),
              background var(--aur-dur-fast) var(--aur-ease-out);
}
.aur-btn--primary {
  background: var(--aur-accent); color: #04120F;
  box-shadow: 0 4px 16px rgba(79, 216, 196, .22);
}
.aur-btn--primary:hover {
  background: #62E4D2;
  transform: translateY(-1px);
  box-shadow: 0 8px 26px rgba(79, 216, 196, .32);
}
.aur-btn--primary:active { transform: translateY(0); }
.aur-btn--ghost {
  background: transparent; color: var(--aur-text);
  box-shadow: inset 0 0 0 1px var(--aur-line-strong);
}
.aur-btn--ghost:hover { background: var(--aur-surface); box-shadow: inset 0 0 0 1px var(--aur-accent-line); }
.aur-btn svg { width: 16px; height: 16px; }

/* 短标签仅在窄屏出现，桌面隐藏 */
.aur-btn__short { display: none; }

@media (max-width: 900px) {
  .aur-nav { display: none; }
  .aur-header__inner { height: 56px; }
}
/* 移动端：抽屉承担导航，头部只留品牌 + 单一主 CTA + 菜单键。
   线上 375px 下横向溢出 568px，主因是两个并排按钮 + Logo 文字不压缩。 */
@media (max-width: 640px) {
  .aur-header__actions .aur-btn--ghost { display: none; }
  .aur-header__actions { gap: 0; flex: none; }
  .aur-header__actions .aur-btn--primary { padding: 0 14px; font-size: var(--aur-f-xs); }
  /* 长文案在窄屏必然撑破容器：改为短标签 + 隐藏箭头 */
  .aur-header__actions .aur-btn--primary .aur-btn__long { display: none; }
  .aur-header__actions .aur-btn--primary .aur-btn__short { display: inline; }
  .aur-header__actions .aur-btn--primary svg { display: none; }
  .aur-logo { font-size: 1rem; }
  .aur-logo__mark { width: 24px; height: 24px; border-radius: 7px; }
  .aur-logo__mark::after { inset: 5px; }
  /* 头部容器允许收缩，按钮不被挤压变形 */
  .aur-header__inner { gap: var(--aur-s3); }
  /* Hero 按钮在窄屏改为纵向铺满，避免溢出 */
  .aur-hero__cta { flex-direction: column; align-items: stretch; }
  .aur-hero__cta .aur-btn { width: 100%; }
  /* 卡片网格改为单列，避免 164px 窄卡 */
  .aur-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   3. Hero —— 非对称构图：文案偏左，商品图右侧出血
      原来 5 个 chip 全部同权，改为 1 主 2 次
   ============================================================ */
.aur-hero { position: relative; padding: var(--aur-s9) 0 var(--aur-s9); }
.aur-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: var(--aur-s8);
  align-items: center;
}
.aur-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 14px 6px 10px;
  border-radius: var(--aur-r-pill);
  background: var(--aur-accent-soft);
  box-shadow: inset 0 0 0 1px var(--aur-accent-line);
  font-size: var(--aur-f-micro); font-weight: 650;
  letter-spacing: var(--aur-tr-caps); text-transform: uppercase;
  color: var(--aur-accent);
}
.aur-hero__eyebrow .dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--aur-accent);
  box-shadow: 0 0 0 3px rgba(79, 216, 196, .20);
}
.aur-hero__title {
  margin-top: var(--aur-s5);
  font-size: var(--aur-f-display);
  line-height: var(--aur-lh-display);
  letter-spacing: var(--aur-tr-display);
  font-weight: 600;
}
/* 极光只作用于这一处文字，形成品牌记忆点 */
.aur-hero__title em {
  font-style: normal;
  background: var(--aur-spectrum);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.aur-hero__lede {
  margin-top: var(--aur-s5);
  max-width: 52ch;               /* 正文行长 45–75 字符 */
  font-size: 1.0625rem;
  color: var(--aur-text-2);
  line-height: 1.62;
}
.aur-hero__cta { display: flex; flex-wrap: wrap; gap: var(--aur-s3); margin-top: var(--aur-s7); }

.aur-hero__proof {
  display: flex; flex-wrap: wrap; gap: var(--aur-s5);
  margin-top: var(--aur-s8);
  padding-top: var(--aur-s5);
  border-top: 1px solid var(--aur-line);
}
.aur-hero__proof div { display: flex; flex-direction: column; gap: 2px; }
.aur-hero__proof dt {
  font-family: var(--aur-font); font-size: 1.375rem; font-weight: 650;
  letter-spacing: -.03em; color: var(--aur-text);
  font-variant-numeric: tabular-nums;
}
.aur-hero__proof dd {
  margin: 0; font-size: var(--aur-f-xs); color: var(--aur-text-3);
  letter-spacing: .01em;
}

/* Hero 视觉：产品图 + 极光辉光 */
.aur-hero__visual { position: relative; }
.aur-hero__glow {
  position: absolute; inset: 8% 2%;
  background: radial-gradient(50% 50% at 50% 45%,
      rgba(79, 216, 196, .30), transparent 66%);
  filter: blur(40px);
  z-index: 0;
}
.aur-hero__shot {
  position: relative; z-index: 1;
  aspect-ratio: 1 / 1;
  display: grid; place-items: center;
}
.aur-hero__shot img {
  width: 100%; height: 100%;
  object-fit: contain;
  animation: aurFloat 7s ease-in-out infinite;
}
@keyframes aurFloat {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50%      { transform: translateY(-14px) rotate(-1.2deg); }
}
@media (prefers-reduced-motion: reduce) {
  .aur-hero__shot img { animation: none; }
}

@media (max-width: 980px) {
  .aur-hero { padding: var(--aur-s8) 0; }
  .aur-hero__grid { grid-template-columns: 1fr; gap: var(--aur-s7); }
  .aur-hero__visual { order: -1; max-width: 380px; margin-inline: auto; }
  .aur-hero__cta { margin-top: var(--aur-s6); }
}

/* ============================================================
   4. 分区标题
   ============================================================ */
.aur-section { padding: var(--aur-s9) 0; }
.aur-section--tight { padding: var(--aur-s8) 0; }
.aur-section__head {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: var(--aur-s5); flex-wrap: wrap;
  margin-bottom: var(--aur-s7);
}
.aur-section__kicker {
  font-size: var(--aur-f-micro); font-weight: 650;
  letter-spacing: var(--aur-tr-caps); text-transform: uppercase;
  color: var(--aur-accent);
}
.aur-section__title {
  margin-top: var(--aur-s3);
  font-size: var(--aur-f-h2);
  letter-spacing: -.028em;
}
.aur-section__sub {
  margin-top: var(--aur-s3);
  max-width: 60ch; font-size: var(--aur-f-sm);
  color: var(--aur-text-2);
}
.aur-section__link {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: var(--aur-f-sm); font-weight: 600;
  color: var(--aur-accent);
  padding: 8px 0;
  transition: gap var(--aur-dur-fast) var(--aur-ease-out);
}
.aur-section__link:hover { gap: 10px; }
.aur-section__link svg { width: 15px; height: 15px; }

/* ============================================================
   5. 筛选条 —— 原来 15 个等权 pill 换行成两排噪声
      现为单行横向滚动 + 仅 1 个实心选中态
   ============================================================ */
.aur-filters {
  display: flex; align-items: center; gap: var(--aur-s2);
  margin-bottom: var(--aur-s6);
  padding-bottom: var(--aur-s4);
  border-bottom: 1px solid var(--aur-line);
  overflow-x: auto; overflow-y: hidden;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.aur-filters::-webkit-scrollbar { display: none; }
.aur-chip {
  flex: none;
  display: inline-flex; align-items: center; gap: 6px;
  /* 44px 最小触摸目标（原 36px 不达标） */
  min-height: 44px; padding: 0 16px;
  border: 0; border-radius: var(--aur-r-pill);
  background: var(--aur-surface);
  box-shadow: inset 0 0 0 1px var(--aur-line);
  color: var(--aur-text-2);
  font-size: var(--aur-f-xs); font-weight: 550;
  white-space: nowrap; cursor: pointer;
  transition: color var(--aur-dur-fast) var(--aur-ease-out),
              background var(--aur-dur-fast) var(--aur-ease-out),
              box-shadow var(--aur-dur-fast) var(--aur-ease-out);
}
.aur-chip:hover { color: var(--aur-text); background: var(--aur-surface-hover); }
.aur-chip[aria-pressed="true"], .aur-chip.is-active {
  background: var(--aur-accent); color: #04120F;
  box-shadow: none; font-weight: 650;
}
.aur-chip__count {
  font-family: var(--aur-font-mono); font-size: .6875rem;
  opacity: .6; font-variant-numeric: tabular-nums;
}

/* ============================================================
   6. 产品网格 —— 核心修复
      线上实测：1440px 下 7 列、卡片仅 180px、图片 154px，
      标题被压成 2 行且 chip 换行拥挤。
      现改为 auto-fill 最小 300px，桌面 4 列，卡片获得呼吸空间。
   ============================================================ */
.aur-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: var(--aur-s5);
}
@media (max-width: 640px) {
  .aur-grid { grid-template-columns: 1fr; gap: var(--aur-s3); }
}

.aur-card {
  position: relative;
  display: flex; flex-direction: column;
  background: var(--aur-surface);
  border: 1px solid var(--aur-line);
  border-radius: var(--aur-r-lg);
  overflow: hidden;
  transition: transform var(--aur-dur-base) var(--aur-ease-out),
              border-color var(--aur-dur-base) var(--aur-ease-out),
              box-shadow var(--aur-dur-base) var(--aur-ease-out);
}
.aur-card:hover {
  transform: translateY(-4px);
  border-color: var(--aur-accent-line);
  box-shadow: var(--aur-sh-2);
}
.aur-card:focus-within {
  border-color: var(--aur-accent);
  box-shadow: var(--aur-sh-glow);
}

/* 图片框：统一 1:1。
   线上实测 128 张里有 5 张是竖构图（645×1000 等），
   用 contain 会出现「贴边/留白」不一致，因此对竖图额外加内缩。 */
.aur-card__media {
  position: relative;
  aspect-ratio: 1 / 1;
  display: grid; place-items: center;
  padding: var(--aur-s5);
  background:
    radial-gradient(70% 70% at 50% 40%, rgba(255, 255, 255, .045), transparent 70%),
    var(--aur-bg-elev);
  border-bottom: 1px solid var(--aur-line);
  overflow: hidden;
}
.aur-card__media img {
  width: 100%; height: 100%;
  object-fit: contain;
  transition: transform var(--aur-dur-slow) var(--aur-ease-out);
}
.aur-card:hover .aur-card__media img { transform: scale(1.045); }

/* 竖构图图片：缩到 78% 并让白底不贴边，避免与方图视觉重量不一致 */
.aur-card__media[data-orient="portrait"] img {
  width: 78%; height: 78%;
}

/* 图片加载骨架 */
.aur-card__media.is-loading::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(100deg,
      transparent 20%, rgba(245, 247, 250, .05) 50%, transparent 80%);
  background-size: 220% 100%;
  animation: aurShimmer 1.5s linear infinite;
}
@keyframes aurShimmer { to { background-position: -120% 0; } }
@media (prefers-reduced-motion: reduce) {
  .aur-card__media.is-loading::after { animation: none; }
}

/* 角标：全场只保留 1 个（原线上同屏出现 5 个 chip） */
.aur-card__flag {
  position: absolute; top: var(--aur-s3); left: var(--aur-s3);
  display: inline-flex; align-items: center; gap: 5px;
  min-height: 24px; padding: 0 9px;
  border-radius: var(--aur-r-sm);
  background: rgba(8, 9, 12, .78);
  backdrop-filter: blur(8px);
  box-shadow: inset 0 0 0 1px var(--aur-line-strong);
  font-family: var(--aur-font-mono);
  font-size: var(--aur-f-micro); font-weight: 600;
  letter-spacing: .02em;
  color: var(--aur-text-2);
}
.aur-card__flag--hot {
  background: var(--aur-accent); color: #04120F;
  box-shadow: 0 4px 14px rgba(79, 216, 196, .26);
  font-family: var(--aur-font);
}
.aur-card__flag--razz {
  background: linear-gradient(120deg, #FF8A5B, #A98BF0);
  color: #150A20;
  box-shadow: none;
  font-family: var(--aur-font);
}

.aur-card__body {
  display: flex; flex-direction: column;
  gap: var(--aur-s2);
  padding: var(--aur-s4) var(--aur-s5) var(--aur-s5);
  flex: 1;
}
.aur-card__brand {
  font-size: var(--aur-f-micro); font-weight: 650;
  letter-spacing: var(--aur-tr-caps); text-transform: uppercase;
  color: var(--aur-text-3);
}
.aur-card__title {
  font-family: var(--aur-font-body);
  font-size: var(--aur-f-sm); font-weight: 550; line-height: 1.42;
  color: var(--aur-text);
  /* 统一两行截断，替代线上省略号位置飘移 */
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(1.42em * 2);
}

/* 价格区：突出成交价，等宽数字对齐 */
.aur-card__price { display: flex; align-items: baseline; gap: 8px; margin-top: auto; padding-top: var(--aur-s3); }
.aur-card__amount {
  font-family: var(--aur-font); font-size: 1.5rem; font-weight: 650;
  letter-spacing: -.03em; color: var(--aur-text);
  font-variant-numeric: tabular-nums;
}
.aur-card__unit { font-size: var(--aur-f-xs); color: var(--aur-text-3); }
.aur-card__was {
  font-size: var(--aur-f-xs); color: var(--aur-text-3);
  text-decoration: line-through; font-variant-numeric: tabular-nums;
}

/* 阶梯价：3 档可视化，明确量变关系 */
.aur-card__tiers {
  display: flex; align-items: center; gap: 3px;
  margin-top: var(--aur-s2);
}
.aur-card__tier {
  flex: 1; height: 3px; border-radius: 2px;
  background: var(--aur-surface-2);
}
.aur-card__tier:nth-child(1) { background: var(--aur-accent-deep); }
.aur-card__tier:nth-child(2) { background: var(--aur-accent); }
.aur-card__tier:nth-child(3) { background: var(--aur-accent); opacity: .55; }
.aur-card__tiernote {
  margin-top: 5px;
  font-size: var(--aur-f-micro); color: var(--aur-text-3);
  letter-spacing: .01em;
}
.aur-card__tiernote b { color: var(--aur-accent); font-weight: 600; }

.aur-card__foot {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--aur-s3);
  margin-top: var(--aur-s4);
  padding-top: var(--aur-s4);
  border-top: 1px solid var(--aur-line);
}
.aur-card__moq {
  font-family: var(--aur-font-mono);
  font-size: var(--aur-f-micro); color: var(--aur-text-3);
  font-variant-numeric: tabular-nums;
}
.aur-card__moq b { color: var(--aur-text-2); font-weight: 600; }
.aur-card__go {
  display: inline-flex; align-items: center; gap: 5px;
  /* 44px 触摸目标 */
  min-height: 44px; padding: 0 16px;
  border-radius: var(--aur-r-pill);
  background: var(--aur-surface-2);
  font-size: var(--aur-f-xs); font-weight: 600; color: var(--aur-text);
  transition: background var(--aur-dur-fast) var(--aur-ease-out),
              color var(--aur-dur-fast) var(--aur-ease-out);
}
.aur-card__go svg { width: 13px; height: 13px; transition: transform var(--aur-dur-fast) var(--aur-ease-out); }
.aur-card:hover .aur-card__go { background: var(--aur-accent); color: #04120F; }
.aur-card:hover .aur-card__go svg { transform: translateX(3px); }
/* 整卡可点，同时保留键盘可达的独立链接 */
.aur-card__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.aur-card__foot, .aur-card__link { position: relative; z-index: 2; }

/* 空态 */
.aur-empty {
  grid-column: 1 / -1;
  padding: var(--aur-s9) var(--aur-s5);
  text-align: center;
  border: 1px dashed var(--aur-line-strong);
  border-radius: var(--aur-r-lg);
}
.aur-empty h3 { font-size: var(--aur-f-h3); }
.aur-empty p { margin-top: var(--aur-s2); color: var(--aur-text-2); font-size: var(--aur-f-sm); }

/* ============================================================
   7. 品牌带 —— 原来挤在筛选行里，现独立成 marquee
   ============================================================ */
.aur-marquee {
  position: relative;
  padding: var(--aur-s6) 0;
  border-block: 1px solid var(--aur-line);
  /* 关键：contain 阻止 track 的超宽内容撑破文档宽度
     （QA 实测 375px 下 scrollWidth 568px 的溢出源之一） */
  overflow: hidden;
  contain: paint;
  max-width: 100vw;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}
.aur-marquee__track {
  display: flex; align-items: center; gap: var(--aur-s8);
  width: max-content;
  animation: aurSlide 38s linear infinite;
}
.aur-marquee:hover .aur-marquee__track { animation-play-state: paused; }
@keyframes aurSlide { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .aur-marquee__track { animation: none; flex-wrap: wrap; justify-content: center; width: 100%; }
}
.aur-marquee__item {
  display: inline-flex; align-items: baseline; gap: 8px;
  font-family: var(--aur-font); font-size: 1.0625rem; font-weight: 600;
  letter-spacing: -.02em; color: var(--aur-text-2);
  white-space: nowrap;
}
.aur-marquee__item span {
  font-family: var(--aur-font-mono); font-size: var(--aur-f-micro);
  color: var(--aur-accent); font-variant-numeric: tabular-nums;
}
.aur-marquee__item:hover { color: var(--aur-text); }

/* ============================================================
   8. 能力/信任区 —— 原来 3 张同款卡片，现不对称分栏 + 数据
   ============================================================ */
.aur-featuregrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1px;
  background: var(--aur-line);
  border: 1px solid var(--aur-line);
  border-radius: var(--aur-r-lg);
  overflow: hidden;
}
.aur-feature {
  padding: var(--aur-s6) var(--aur-s5);
  background: var(--aur-bg);
  transition: background var(--aur-dur-base) var(--aur-ease-out);
}
.aur-feature:hover { background: var(--aur-bg-elev); }
.aur-feature__icon {
  width: 40px; height: 40px; border-radius: var(--aur-r-md);
  display: grid; place-items: center;
  background: var(--aur-accent-soft);
  box-shadow: inset 0 0 0 1px var(--aur-accent-line);
  color: var(--aur-accent);
  margin-bottom: var(--aur-s4);
}
.aur-feature__icon svg { width: 19px; height: 19px; }
.aur-feature h3 { font-size: var(--aur-f-h3); }
.aur-feature p { margin-top: var(--aur-s2); font-size: var(--aur-f-sm); color: var(--aur-text-2); }
.aur-feature__meta {
  margin-top: var(--aur-s4); padding-top: var(--aur-s3);
  border-top: 1px solid var(--aur-line);
  font-family: var(--aur-font-mono); font-size: var(--aur-f-micro);
  color: var(--aur-text-3);
}

/* ============================================================
   9. 页脚
   ============================================================ */
.aur-footer {
  margin-top: var(--aur-s9);
  border-top: 1px solid var(--aur-line);
  background: var(--aur-bg-elev);
}
.aur-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr repeat(3, 1fr);
  gap: var(--aur-s7);
  padding: var(--aur-s8) 0 var(--aur-s6);
}
@media (max-width: 900px) { .aur-footer__grid { grid-template-columns: 1fr 1fr; gap: var(--aur-s6); } }
@media (max-width: 520px) { .aur-footer__grid { grid-template-columns: 1fr; } }
.aur-footer h4 {
  font-size: var(--aur-f-micro); font-weight: 650;
  letter-spacing: var(--aur-tr-caps); text-transform: uppercase;
  color: var(--aur-text-3); margin-bottom: var(--aur-s4);
}
.aur-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.aur-footer a { font-size: var(--aur-f-sm); color: var(--aur-text-2); transition: color var(--aur-dur-fast) var(--aur-ease-out); }
.aur-footer a:hover { color: var(--aur-accent); }
.aur-footer__about { font-size: var(--aur-f-sm); color: var(--aur-text-2); max-width: 34ch; margin-top: var(--aur-s4); }
.aur-footer__bottom {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: var(--aur-s3);
  padding: var(--aur-s5) 0;
  border-top: 1px solid var(--aur-line);
  font-size: var(--aur-f-xs); color: var(--aur-text-3);
}
/* 18+ 合规声明：全站可见，不可隐藏 */
.aur-agebadge {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 46px; height: 26px; padding: 0 10px;
  border-radius: var(--aur-r-sm);
  box-shadow: inset 0 0 0 1px var(--aur-line-strong);
  font-family: var(--aur-font-mono); font-size: var(--aur-f-micro); font-weight: 700;
  color: var(--aur-text-2);
}

/* ============================================================
   10. 移动端抽屉导航
   ============================================================ */
.aur-drawer {
  position: fixed; inset: 0; z-index: 100;
  visibility: hidden; pointer-events: none;
}
.aur-drawer[aria-hidden="false"] { visibility: visible; pointer-events: auto; }
.aur-drawer__scrim {
  position: absolute; inset: 0;
  background: rgba(4, 5, 7, .68);
  backdrop-filter: blur(6px);
  opacity: 0; transition: opacity var(--aur-dur-base) var(--aur-ease-out);
}
.aur-drawer[aria-hidden="false"] .aur-drawer__scrim { opacity: 1; }
.aur-drawer__panel {
  position: absolute; top: 0; right: 0; bottom: 0;
  width: min(340px, 86vw);
  background: var(--aur-bg-elev);
  border-left: 1px solid var(--aur-line);
  padding: var(--aur-s5);
  display: flex; flex-direction: column; gap: var(--aur-s2);
  transform: translateX(100%);
  transition: transform var(--aur-dur-slow) var(--aur-ease-out);
  overflow-y: auto;
}
.aur-drawer[aria-hidden="false"] .aur-drawer__panel { transform: none; }
.aur-drawer__panel a {
  padding: 13px 12px; border-radius: var(--aur-r-sm);
  font-family: var(--aur-font); font-size: 1.0625rem; font-weight: 550;
  color: var(--aur-text-2);
  transition: background var(--aur-dur-fast) var(--aur-ease-out), color var(--aur-dur-fast) var(--aur-ease-out);
}
.aur-drawer__panel a:hover { background: var(--aur-surface); color: var(--aur-text); }
.aur-drawer__close { margin-left: auto; margin-bottom: var(--aur-s4); }
.aur-burger { display: none; }
@media (max-width: 900px) { .aur-burger { display: inline-flex; } }

body.aur-locked { overflow: hidden; }
