/* landing.css — 大厅首页三大板块样式 */

#landing {
  position: fixed; inset: 0; z-index: 80;
  background: var(--bg);
  display: flex;
  overflow-y: auto;
}
/* 遮挡审计 P1-2：margin:auto 安全居中——内容高于视口时自动退化为起点对齐，
 * 标题不再被 flex 居中裁出视口且滚不回来 */
#landing { align-items: flex-start; justify-content: flex-start; }
#landing-petals { z-index: 0; }
#landing-card { position: relative; z-index: 1; margin: auto; }
#landing-card .tagline {
  font-size: 13px; color: var(--gold); opacity: .85; letter-spacing: 3px;
  margin-top: -14px; margin-bottom: 24px;
}
#landing-card {
  max-width: 820px; width: 94%; padding: 40px 36px;
  text-align: center;
}
#landing-card h1 {
  font-size: 32px; font-weight: 800; letter-spacing: 2px;
  background: linear-gradient(135deg, #ff9ec7, #a88fd8, #5fa8e8);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 4px;
}
#landing-card .sub { font-size: 14px; color: var(--muted); margin-bottom: 28px; }

.mode-cards {
  display: flex; gap: 20px; justify-content: center; margin: 32px 0 24px;
  flex-wrap: wrap;
}
.mode-card {
  position: relative;
  flex: 1; min-width: 200px; max-width: 240px; padding: 28px 18px 20px;
  background: var(--panel); border: 2px solid var(--line); border-radius: 16px;
  cursor: pointer; transition: transform .18s, border-color .18s, box-shadow .18s;
  text-align: center;
}
.mode-card:hover:not(.disabled) {
  transform: translateY(-4px);
  border-color: var(--gold);
  box-shadow: 0 8px 32px rgba(255,158,199,.18);
}
.mode-card.disabled { opacity: .55; cursor: not-allowed; }
.mode-card.disabled:hover { border-color: var(--line); transform: none; }
.mode-card.disabled::after {
  content: "敬请期待"; position: absolute; top: 10px; right: -26px;
  transform: rotate(45deg); font-size: 11px; padding: 2px 28px;
  background: rgba(255,158,199,.18); color: var(--gold); letter-spacing: 2px;
  pointer-events: none;
}

/* —— 首页部员横带：立绘参与叙事 —— */
#landing-chars {
  display: flex; justify-content: safe center; align-items: flex-end;
  gap: 6px; margin-top: 30px;
  overflow-x: auto;           /* 遮挡审计 P2-5：窄屏立绘行超宽时横滑，不再裁切 */
  scrollbar-width: thin;
}
.lchar { flex: none; }
.lchar { text-align: center; transition: transform .18s; }
.lchar:hover { transform: translateY(-4px); }
.lchar img {
  height: 118px; width: auto; display: block; margin: 0 auto 4px;
  filter: drop-shadow(0 6px 14px rgba(255,158,199,.12));
}

.mc-icon { font-size: 42px; margin-bottom: 10px; }
.mc-title { font-size: 20px; font-weight: 800; color: var(--text); margin-bottom: 6px; }
.mc-desc { font-size: 12px; color: var(--muted); line-height: 1.7; margin-bottom: 12px; }
.mc-tags { display: flex; gap: 5px; justify-content: center; flex-wrap: wrap; }
.mc-tags span {
  font-size: 10px; padding: 2px 8px; border-radius: 999px;
  background: rgba(255,255,255,.06); color: var(--muted);
}
.mc-tags span.recommended {
  background: rgba(255,158,199,.18); color: var(--gold); font-weight: bold;
}
.mc-tags span.soon {
  background: rgba(255,255,255,.04); color: var(--muted); font-style: italic;
}

.landing-foot { margin-top: 24px; }

@media (max-width: 860px) {
  #landing-card { padding: 24px 16px; }
  .mode-cards { flex-direction: column; align-items: center; }
  .mode-card { max-width: 320px; width: 100%; }
}
