/* 星忆伴 · 全站响应式（Web / Pad / 手机） */

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  overflow-x: hidden;
}

img,
video {
  max-width: 100%;
  height: auto;
}

/* —— 流体标题 —— */
.text-headline-lg,
.font-headline-lg.text-headline-lg,
h1.text-headline-lg,
h1.font-headline-lg {
  font-size: clamp(1.75rem, 4vw + 0.4rem, 3rem) !important;
  line-height: 1.15 !important;
}

.text-headline-md,
.font-headline-md.text-headline-md,
h2.text-headline-md,
h2.font-headline-md {
  font-size: clamp(1.25rem, 2.2vw + 0.5rem, 2rem) !important;
  line-height: 1.25 !important;
}

.text-body-lg {
  font-size: clamp(1rem, 1.2vw + 0.75rem, 1.25rem) !important;
}

/* —— 间距：手机 / 平板 / 桌面 —— */
@media (max-width: 639px) {
  .px-container-padding {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .p-container-padding {
    padding: 1rem !important;
  }

  .md\:p-\[40px\] {
    padding: 1rem !important;
  }

  .py-section-margin {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }

  .mb-section-margin {
    margin-bottom: 2rem !important;
  }

  .gap-container-padding {
    gap: 1rem !important;
  }

  .gap-section-margin {
    gap: 1.5rem !important;
  }
}

@media (min-width: 640px) and (max-width: 1023px) {
  .px-container-padding {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }

  .p-container-padding {
    padding: 1.5rem !important;
  }

  .py-section-margin {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }
}

/* —— 页面 Hero —— */
.page-hero {
  padding-top: 5.5rem !important;
}

@media (min-width: 768px) {
  .page-hero {
    padding-top: 7.5rem !important;
  }
}

.page-hero__inner {
  padding-left: 0;
}

@media (min-width: 768px) {
  .page-hero__inner {
    padding-left: 3em;
  }
}

/* 兼容旧类名 */
.pt-\[120px\] {
  padding-top: 5.5rem !important;
}

@media (min-width: 768px) {
  .pt-\[120px\] {
    padding-top: 7.5rem !important;
  }
}

.pl-\[3em\] {
  padding-left: 0 !important;
}

@media (min-width: 768px) {
  .pl-\[3em\] {
    padding-left: 3em !important;
  }
}

/* —— 移动端导航抽屉 —— */
.site-nav__drawer {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  top: 64px;
  max-height: calc(100dvh - 64px);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  z-index: 10020;
  border-top: 1px solid rgba(133, 116, 99, 0.2);
  background: rgba(255, 248, 244, 0.98);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  padding: 0.75rem 1rem 1rem;
  box-shadow: 0 12px 28px rgba(55, 47, 39, 0.08);
}

.site-nav__drawer.is-open {
  display: block;
}

.site-nav__drawer-links {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.site-nav__drawer-links a {
  display: block;
  padding: 0.75rem 0.5rem;
  border-radius: 0.5rem;
  color: #524435;
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}

.site-nav__drawer-links a:hover,
.site-nav__drawer-links a:focus-visible {
  background: rgba(244, 162, 54, 0.15);
  color: #875200;
  outline: none;
}

.site-nav__drawer-links a.is-active {
  color: #875200;
  background: rgba(244, 162, 54, 0.12);
}

.site-nav__drawer-extra {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(133, 116, 99, 0.15);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.site-nav__drawer-extra a,
.site-nav__drawer-extra .site-nav__cta {
  display: block;
  text-align: center;
  padding: 0.65rem 1rem;
  border-radius: 9999px;
  font-weight: 600;
  font-size: 0.95rem;
  text-decoration: none;
}

.site-nav__drawer-extra .site-nav__cta {
  background: #f4a236;
  color: #653c00;
}

.site-nav__toggle[aria-expanded="true"] .site-nav__toggle-icon--menu {
  display: none;
}

.site-nav__toggle[aria-expanded="true"] .site-nav__toggle-icon--close {
  display: inline-block;
}

.site-nav__toggle-icon--close {
  display: none;
}

body.site-nav-open {
  overflow-y: auto;
}

/* 保障移动端菜单层级高于视频等合成层 */
[data-site-nav] {
  z-index: 10010 !important;
}

@media (min-width: 768px) {
  .site-nav__drawer {
    display: none !important;
  }
}

/* —— 首页 Tab 按钮 —— */
.epoch-tab-list {
  gap: 0.5rem;
}

@media (max-width: 639px) {
  .epoch-tab-btn {
    font-size: 0.8125rem !important;
    padding: 0.5rem 0.75rem !important;
  }
}

/* —— 悬停卡片：平板单列 —— */
@media (max-width: 1023px) {
  .epoch-hover-card,
  .parent-hover-card {
    height: auto;
    min-height: 220px;
  }
}

/* —— 文章缩进 —— */
@media (max-width: 767px) {
  .md\:pl-\[72px\],
  .md\:pl-\[104px\],
  .md\:ml-\[104px\] {
    padding-left: 0 !important;
    margin-left: 0 !important;
  }
}

/* —— 展开提示（点击/移入展开）· 缩小 2 号 —— */
.expand-hint,
.epoch-hover-card__hint,
.parent-hover-card__hint {
  font-size: 10px !important;
  line-height: 1.25;
  letter-spacing: 0.04em;
  font-weight: 600;
}

.expand-hint .material-symbols-outlined,
.epoch-hover-card__hint .material-symbols-outlined,
.parent-hover-card__hint .material-symbols-outlined {
  font-size: 12px !important;
  width: 12px;
  height: 12px;
  line-height: 1;
}

/* —— 星忆装备折叠面板 —— */
@media (max-width: 767px) {
  .gear-lamp-trigger {
    grid-template-columns: 1fr !important;
  }

  .gear-lamp-trigger .gear-lamp-chevron {
    display: none;
  }
}

/* —— 星忆盟友页布局 —— */
.swarm-layout-outer {
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 640px) {
  .swarm-layout-outer {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media (min-width: 768px) {
  .swarm-layout-outer {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

@media (min-width: 1024px) {
  .swarm-layout-outer {
    padding-left: 6rem;
    padding-right: 6rem;
  }
}

@media (min-width: 1280px) {
  .swarm-layout-outer {
    padding-left: 10rem;
    padding-right: 10rem;
  }
}

.swarm-layout-header {
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 640px) {
  .swarm-layout-header {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media (min-width: 768px) {
  .swarm-layout-header {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

@media (max-width: 767px) {
  .swarm-layout-header {
    flex-direction: column;
    align-items: stretch;
    border-radius: 1rem;
    white-space: normal;
  }

  .swarm-layout-header .swarm-header-actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .swarm-layout-header .swarm-header-nav {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }

  .swarm-layout-header .swarm-header-btns {
    flex-direction: column;
    width: 100%;
  }

  .swarm-layout-header .swarm-header-btns button {
    width: 100%;
    min-width: 0 !important;
  }

  .swarm-radar-col {
    min-width: 0 !important;
    width: 100%;
  }
}

/* —— 页脚 —— */
@media (max-width: 639px) {
  footer .flex.flex-wrap.gap-element-gap {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}

/* —— 装饰性大背景圆（避免撑出横向滚动） —— */
@media (max-width: 767px) {
  .hero-bg-blob {
    transform: scale(0.55);
  }
}

/* —— 核心舱室 —— */
@media (max-width: 767px) {
  main.pt-\[88px\].md\:pt-\[132px\] {
    padding-top: 4.5rem !important;
  }
}

/* —— 表单 / 按钮 —— */
@media (max-width: 639px) {
  .btn-3d.font-headline-md {
    font-size: 1rem !important;
    padding: 0.875rem 1.5rem !important;
  }
}

/* —— 表格与长文本 —— */
.break-anywhere {
  overflow-wrap: anywhere;
  word-break: break-word;
}
