:root {
  --primary: #7C3AED;
  --primary-dark: #5B21B6;
  --primary-light: #A78BFA;
  --secondary: #EC4899;
  --accent: #06B6D4;
}

/* 极简杂志编辑风 — 纯白、黑白、细线、留白 */
* { -webkit-font-smoothing: antialiased; }

body {
  background: #ffffff;
  color: #111111;
}

::selection { background: #111111; color: #ffffff; }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #ffffff; }
::-webkit-scrollbar-thumb { background: #111111; }
::-webkit-scrollbar-thumb:hover { background: #444444; }

/* 杂志编辑式标题 */
.edito-title {
  letter-spacing: -0.04em;
  line-height: 0.95;
}

/* 大号区块编号 */
.edito-num {
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.06em;
}

/* 强调色细节 */
.accent-bar { background: var(--primary); }
.accent-text { color: var(--primary); }

/* 上划下划线动画链接 */
.edito-link {
  position: relative;
}
.edito-link::after {
  content: "";
  position: absolute;
  left: 0; bottom: -2px;
  width: 0; height: 1px;
  background: #111111;
  transition: width .3s ease;
}
.edito-link:hover::after { width: 100%; }

/* 移动端抽屉导航 */
.nav { transition: transform .3s ease; }
@media (max-width: 1023px) {
  .nav {
    position: fixed; top: 0; right: 0; bottom: 0;
    width: 82%; max-width: 340px;
    flex-direction: column;
    align-items: flex-start;
    background: #ffffff;
    padding: 6rem 2rem 2rem;
    transform: translateX(100%);
    z-index: 60; overflow-y: auto;
    border-left: 1px solid #111111;
  }
  .nav.active { transform: translateX(0); }
  .menu-overlay {
    position: fixed; inset: 0;
    background: rgba(17,17,17,.55);
    opacity: 0; visibility: hidden;
    transition: opacity .3s ease;
    z-index: 55;
  }
  .menu-overlay.active { opacity: 1; visibility: visible; }
  body.menu-open { overflow: hidden; }
}

/* FAQ 折叠 */
.faq-answer {
  max-height: 0; overflow: hidden; opacity: 0;
  transition: max-height .35s ease, opacity .35s ease;
}
.faq-icon { transition: transform .25s ease; }

/* 回到顶部 */
.back-to-top {
  opacity: 0; visibility: hidden;
  transition: opacity .3s ease;
}
.back-to-top.visible { opacity: 1; visibility: visible; }

@media print {
  header, footer, nav, .no-print { display: none !important; }
  body { background: #fff; color: #000; }
}
