*,
*::before,
*::after {
  box-sizing: border-box;
}

:root {
  /* primary */
  --color-primary-500: #8859F9;
  --color-primary-alpha-10: rgba(136, 89, 249, 0.10);

  /* neutral */
  --color-neutral-50: #FAFAFA;
  --color-neutral-200: #DCDCDC;
  --color-neutral-600: #656565;
  --color-neutral-900: #0D0D0D;

  /* white alpha */
  --color-white-alpha-60: rgba(255, 255, 255, 0.60);

  /* black alpha */
  --color-black-alpha-5: rgba(0, 0, 0, 0.05);
  --color-black-alpha-10: rgba(0, 0, 0, 0.10);
  --color-black-alpha-20: rgba(0, 0, 0, 0.20);
  --color-black-alpha-30: rgba(0, 0, 0, 0.30);

  /* text */
  --text-primary: rgba(0, 0, 0, 0.90);
  --text-secondary: rgba(0, 0, 0, 0.55);
  --text-placeholder: rgba(0, 0, 0, 0.35);
  --text-on-dark: #fff;
  --text-on-dark-secondary: rgba(255, 255, 255, 0.55);
  --dot-on-dark: rgba(255, 255, 255, 0.30);

  /* layout */
  --layout-max-width: 1280px;
  --layout-padding-x: 16px;
  --hero-width: 1420px;
  --hero-active-width: 1280px;
  --hero-active-height: 350px;
  --hero-side-width: 1050px;
  --hero-side-height: 288px;

  /* surface */
  --surface-input: #fff;
  --surface-foreground: #fff;

  /* font */
  --font-rank-badge: 'Swis721 Blk BT', sans-serif;
}

@font-face {
  font-family: 'Swis721 Blk BT';
  src: url('/font/Swis721-Blk-BT-Black-2.ttf') format('truetype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

body {
  margin: 0;
}
a {
  text-decoration: none;
}

.page-main {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
  padding: 30px 0;
}

.layout-section {
  width: 100%;
  max-width: var(--layout-max-width);
  margin: 0 auto;
}

@media (max-width: 1280px) {
  .page-main {
    gap: 48px;
    padding: 24px 0;
  }
}

@media (max-width: 768px) {
  .layout-section {
    padding-left: var(--layout-padding-x);
    padding-right: var(--layout-padding-x);
    box-sizing: border-box;
  }

  .page-main {
    gap: 18px;
    padding: 12px 0 32px;
  }
}

.swis721 {
  font-family: 'Swis721 Blk BT';
}

/* 语义化板块/卡片标题（#16 H-03/H-04）：沿用原 class 样式，仅消除 h2/h3 默认边距 */
h2.section-title--sm,
h3.media-card__title,
h3.gossip-feature__title {
  margin: 0;
}

/* 视觉隐藏但可被爬虫/读屏读取（首页 SEO H1，#5 H-01） */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
