/* ==========================================================================
   澄清南北 · 入口体验层（ENTRY_EXPERIENCE_R1）
   覆盖三个公开入口页：登录（index.html）/ 领袖一览（leaders.html）/ 公开规则（rules.html）。
   职责：统一入口视觉语言（纸墨、靛青、朱色、题签、碑刻标题），提供共享 masthead 与入口导航。
   原则：立序不换皮——复用 tokens.css 的 --cqnb-*，本层只声明入口页真正共用的组件。
   加载顺序：必须在 platform.css / rules.css 之后。
   ========================================================================== */

/* ---- 共享：入口导航（首页 / 领袖 / 规则） ---- */
.entry-nav {
  display: flex; align-items: center; gap: var(--cqnb-space-2);
  flex-wrap: wrap;
}
.entry-nav a {
  display: inline-flex; align-items: center; min-height: 32px;
  padding: 3px 12px;
  border: 1px solid var(--cqnb-line-strong); border-radius: var(--cqnb-radius-pill);
  background: var(--cqnb-panel); color: var(--cqnb-ink-soft);
  font-size: var(--cqnb-text-sm); font-weight: 600; text-decoration: none;
  transition: background var(--cqnb-motion-fast), color var(--cqnb-motion-fast), border-color var(--cqnb-motion-fast);
}
.entry-nav a:hover { background: var(--cqnb-accent-faint); color: var(--cqnb-accent-strong); }
.entry-nav a[aria-current="page"] {
  background: var(--cqnb-accent); border-color: var(--cqnb-accent); color: var(--cqnb-on-accent);
}

/* ---- 共享：入口 masthead（领袖 / 规则） ---- */
.entry-masthead {
  border-bottom: 1px solid var(--cqnb-line-strong);
  background:
    radial-gradient(circle at 88% 12%, var(--cqnb-map-tint-warm) 0 8%, transparent 9%),
    linear-gradient(var(--cqnb-panel), var(--cqnb-bg-soft));
}
.entry-masthead__inner {
  max-width: var(--cqnb-content-narrow); margin: 0 auto;
  padding: var(--cqnb-space-6) var(--cqnb-space-5) var(--cqnb-space-5);
}
.entry-masthead__bar {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--cqnb-space-3); flex-wrap: wrap;
  margin-bottom: var(--cqnb-space-4);
}
.entry-kicker {
  margin: 0; color: var(--cqnb-accent);
  font-size: var(--cqnb-text-xs); font-weight: 700; letter-spacing: .22em;
}
.entry-masthead h1 {
  margin: 0 0 var(--cqnb-space-2);
  font-family: var(--cqnb-font-title);
  font-size: clamp(var(--cqnb-text-2xl), 4vw, 34px); letter-spacing: .08em;
}
.entry-intro { margin: 0; color: var(--cqnb-muted); line-height: 1.7; max-width: 60em; }

/* ==========================================================================
   登录页：门面 + 入场
   ========================================================================== */
body[data-platform-page="login"] {
  background: var(--cqnb-bg);
}
/* 山河底纹：复用正式舆图纸本（单张 252K webp），极低不透明度 + 渐隐遮罩，不挤压表单 */
body[data-platform-page="login"]::before {
  content: ''; position: fixed; inset: 0; z-index: -1;
  background: url('/assets/map/art-base.webp') center / cover no-repeat;
  opacity: .13;
  -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,.9), rgba(0,0,0,.35) 55%, rgba(0,0,0,.15));
  mask-image: linear-gradient(180deg, rgba(0,0,0,.9), rgba(0,0,0,.35) 55%, rgba(0,0,0,.15));
  pointer-events: none;
}
body[data-platform-page="login"] .auth-layout {
  max-width: 1160px; margin: 0 auto;
  display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  grid-template-areas: 'hero side' 'foot foot';
  align-items: center; justify-items: stretch;
  column-gap: clamp(32px, 6vw, 88px); row-gap: var(--cqnb-space-6);
  min-height: 100vh; min-height: 100dvh;
  padding: 40px var(--cqnb-space-5);
}
body[data-platform-page="login"] .auth-hero { grid-area: hero; text-align: left; max-width: none; }
body[data-platform-page="login"] .auth-side { grid-area: side; display: flex; flex-direction: column; gap: var(--cqnb-space-4); min-width: 0; }
body[data-platform-page="login"] .auth-foot { grid-area: foot; text-align: left; }

body[data-platform-page="login"] .auth-hero__title {
  font-size: clamp(44px, 5.4vw, 68px); letter-spacing: .14em;
}
body[data-platform-page="login"] .auth-hero__online {
  display: block; margin-top: 2px;
  font-size: .32em; letter-spacing: .42em; color: var(--cqnb-muted); font-weight: 600;
}
body[data-platform-page="login"] .auth-hero__rule { margin: var(--cqnb-space-3) 0 var(--cqnb-space-4); max-width: 260px; }
body[data-platform-page="login"] .auth-hero__motto {
  margin: 0 0 var(--cqnb-space-2);
  font-family: var(--cqnb-font-title);
  font-size: clamp(19px, 2vw, 24px); letter-spacing: .1em; line-height: 1.6;
  color: var(--cqnb-ink);
}
body[data-platform-page="login"] .auth-hero__desc { max-width: 34em; line-height: 1.8; }

/* 玩法特性：三行朱批短句，不是图标卡片 */
.auth-traits {
  margin: var(--cqnb-space-4) 0 0; padding: 0; list-style: none;
  display: flex; flex-direction: column; gap: 6px;
}
.auth-traits li {
  position: relative; padding-left: 18px;
  color: var(--cqnb-ink-soft); font-size: var(--cqnb-text-sm); line-height: 1.6;
}
.auth-traits li::before {
  content: ''; position: absolute; left: 0; top: .52em;
  width: 7px; height: 7px; transform: rotate(45deg);
  background: var(--cqnb-danger);
}
.auth-traits li b { color: var(--cqnb-ink); font-weight: 700; }

/* 公开入口：文书题签式（替代 emoji 卡片）。DOM 钩子 .auth-public-nav / .auth-public-card 保持。 */
body[data-platform-page="login"] .auth-public-nav {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--cqnb-space-3); justify-content: stretch; margin-top: var(--cqnb-space-5);
  max-width: 460px;
}
body[data-platform-page="login"] .auth-public-card {
  display: flex; align-items: center; gap: var(--cqnb-space-3);
  padding: 14px 16px; text-align: left;
  border: 1px solid var(--cqnb-line-strong); border-radius: var(--cqnb-radius);
  background: var(--cqnb-panel);
  box-shadow: var(--cqnb-shadow-sm);
  transition: border-color var(--cqnb-motion-fast), box-shadow var(--cqnb-motion-fast), transform var(--cqnb-motion-fast);
}
body[data-platform-page="login"] .auth-public-card:hover {
  border-color: var(--cqnb-accent); box-shadow: var(--cqnb-shadow); transform: translateY(-1px);
}
/* 印章字标：取代 emoji 图标 */
body[data-platform-page="login"] .auth-public-card__icon {
  flex: none; width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  border: 1.5px solid var(--cqnb-danger); border-radius: 6px;
  color: var(--cqnb-danger); background: var(--cqnb-danger-soft);
  font-family: var(--cqnb-font-title); font-size: 19px; font-weight: 700; font-style: normal;
  letter-spacing: 0;
}
body[data-platform-page="login"] .auth-public-card__title { display: block; font-size: var(--cqnb-text-md); }
body[data-platform-page="login"] .auth-public-card__desc { display: block; margin-top: 1px; }

/* 右侧栏：表单卡为主，三步指引降为紧凑注脚 */
body[data-platform-page="login"] .auth-card { width: 100%; }
body[data-platform-page="login"] .auth-points {
  grid-template-columns: 1fr; gap: 0; max-width: none;
  border-top: 1px solid var(--cqnb-line);
}
body[data-platform-page="login"] .auth-points li {
  padding: 8px 2px; border: 0; border-radius: 0; background: none;
  border-bottom: 1px dashed var(--cqnb-line-faint);
  font-size: var(--cqnb-text-sm);
}
body[data-platform-page="login"] .auth-points li:last-child { border-bottom: 0; }
body[data-platform-page="login"] .auth-points b {
  display: inline; margin: 0 6px 0 0; font-size: var(--cqnb-text-sm);
}
body[data-platform-page="login"] .auth-points b::after { content: '—'; margin-left: 6px; color: var(--cqnb-faint); font-weight: 400; }

/* 登录页响应式：1024 收敛列距，390 单列且表单先于指引 */
@media (max-width: 1024px) {
  body[data-platform-page="login"] .auth-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: var(--cqnb-space-6);
    padding: var(--cqnb-space-6) var(--cqnb-space-4);
  }
}
@media (max-width: 860px) {
  body[data-platform-page="login"] .auth-layout {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: 'hero' 'side' 'foot';
    align-items: start; justify-items: stretch;
    row-gap: var(--cqnb-space-5);
    padding: var(--cqnb-space-5) var(--cqnb-space-4) var(--cqnb-space-6);
  }
  body[data-platform-page="login"]::before { opacity: .1; }
  body[data-platform-page="login"] .auth-hero { text-align: left; }
  body[data-platform-page="login"] .auth-hero__title { font-size: clamp(38px, 11vw, 48px); }
  body[data-platform-page="login"] .auth-hero__motto { font-size: 18px; }
  body[data-platform-page="login"] .auth-hero__desc { display: none; } /* 移动端门面收束：定位句已足够 */
  body[data-platform-page="login"] .auth-traits { display: none; }
  body[data-platform-page="login"] .auth-public-nav { max-width: none; }
}

/* ==========================================================================
   领袖一览：将相谱（人物志，不是数据库列表）
   ========================================================================== */
/* 人物卡：史册条目——姓名碑刻题字、局内纪年题签、技能签 */
.leader-card__identity { min-width: 0; }
.leader-card__era {
  display: inline-block; margin: 4px 0 0;
  padding: 1px 8px;
  border: 1px solid var(--cqnb-gold); border-radius: 3px;
  color: var(--cqnb-gold); background: var(--cqnb-gold-soft);
  font-size: var(--cqnb-text-xs); font-weight: 700; letter-spacing: .1em;
}
.leader-card__kinds {
  margin: 0; padding: 0 22px 10px;
  color: var(--cqnb-muted); font-size: var(--cqnb-text-xs); letter-spacing: .04em;
}
/* 名册导读行 */
.leaders-guide {
  margin: 0 0 var(--cqnb-space-4);
  color: var(--cqnb-muted); font-size: var(--cqnb-text-sm); line-height: 1.8;
  max-width: 62em;
}
.leaders-guide b { color: var(--cqnb-ink-soft); }

/* ==========================================================================
   公开规则：入门导览 + 规则全典
   ========================================================================== */
.rules-onboarding {
  margin-bottom: var(--cqnb-space-5);
  padding: var(--cqnb-space-5);
  background: var(--cqnb-panel); border: 1px solid var(--cqnb-line);
  border-left: 4px solid var(--cqnb-danger);
  border-radius: var(--cqnb-radius-lg); box-shadow: var(--cqnb-shadow-sm);
}
.rules-onboarding h2 {
  margin: 0 0 var(--cqnb-space-2);
  font-family: var(--cqnb-font-title); font-size: var(--cqnb-text-xl); letter-spacing: .08em;
}
.rules-onboarding__lede { margin: 0 0 var(--cqnb-space-4); color: var(--cqnb-muted); line-height: 1.8; }
/* 一个回合：流程行 */
.rules-round-flow {
  margin: 0 0 var(--cqnb-space-4); padding: var(--cqnb-space-3) var(--cqnb-space-4);
  list-style: none; counter-reset: round-step;
  display: flex; flex-wrap: wrap; gap: 6px 0;
  border: 1px solid var(--cqnb-line); border-radius: var(--cqnb-radius);
  background: var(--cqnb-bg-soft);
}
.rules-round-flow li {
  counter-increment: round-step;
  display: flex; align-items: center;
  font-size: var(--cqnb-text-sm); font-weight: 600; color: var(--cqnb-ink-soft);
  white-space: nowrap;
}
.rules-round-flow li::before {
  content: counter(round-step);
  display: inline-flex; align-items: center; justify-content: center;
  width: 20px; height: 20px; margin-right: 6px;
  border-radius: 50%; border: 1px solid var(--cqnb-accent);
  color: var(--cqnb-accent-strong); font-size: 11px; font-weight: 700;
}
.rules-round-flow li:not(:last-child)::after {
  content: '→'; margin: 0 10px; color: var(--cqnb-faint); font-weight: 400;
}
/* 六问六答：原生 details，键盘可操作 */
.rules-faq { display: grid; gap: 0; border-top: 1px solid var(--cqnb-line); }
.rules-faq details { border-bottom: 1px solid var(--cqnb-line); }
.rules-faq summary {
  cursor: pointer; list-style: none;
  padding: 10px 4px;
  font-weight: 700; color: var(--cqnb-ink); font-size: var(--cqnb-text-md);
  display: flex; align-items: baseline; gap: 8px;
}
.rules-faq summary::before { content: '问'; flex: none; font-size: var(--cqnb-text-xs); color: var(--cqnb-danger); border: 1px solid var(--cqnb-danger); border-radius: 3px; padding: 0 5px; font-weight: 700; }
.rules-faq summary::-webkit-details-marker { display: none; }
.rules-faq details p { margin: 0; padding: 0 4px 12px 40px; color: var(--cqnb-ink-soft); line-height: 1.8; font-size: var(--cqnb-text-sm); }
.rules-faq details a { color: var(--cqnb-accent-strong); }

/* 法典区标题节奏 */
.rules-codex-heading {
  display: flex; align-items: baseline; gap: var(--cqnb-space-3); flex-wrap: wrap;
  margin: var(--cqnb-space-6) 0 var(--cqnb-space-3);
  padding-top: var(--cqnb-space-5); border-top: 2px solid var(--cqnb-line-strong);
}
.rules-codex-heading h2 { margin: 0; font-family: var(--cqnb-font-title); letter-spacing: .08em; }
.rules-codex-heading p { margin: 0; color: var(--cqnb-muted); font-size: var(--cqnb-text-sm); }

/* 侧栏速达：入门 / 全典 */
.rules-quicklinks { display: flex; flex-direction: column; gap: 4px; }
.rules-quicklinks a {
  display: block; padding: 6px 10px;
  border-left: 3px solid var(--cqnb-danger); border-radius: 0 var(--cqnb-radius-sm) var(--cqnb-radius-sm) 0;
  background: var(--cqnb-bg-soft);
  color: var(--cqnb-ink); font-size: var(--cqnb-text-sm); font-weight: 700; text-decoration: none;
}
.rules-quicklinks a:hover { color: var(--cqnb-accent-strong); background: var(--cqnb-accent-faint); }

/* 动效降级：入口层新增过渡一并收敛 */
@media (prefers-reduced-motion: reduce) {
  .entry-nav a,
  body[data-platform-page="login"] .auth-public-card { transition: none; }
}
