/* p05 每日塔罗 · 页面级补充样式（通用样式在 zc-core.css；主题 sand）
 * 仪式感：洗牌扇形动画 / 大牌翻牌入场 / 牌阵逐张浮现；均尊重 prefers-reduced-motion
 */

/* 产品固定尾句（合规句，非壳层页脚） */
.p05-oath {
  margin: 18px 4px 6px; padding: 10px 14px; border-radius: 12px;
  text-align: center; font-size: 12.5px; color: var(--zc-ink2);
  background: rgba(217, 142, 74, .08);
  background: color-mix(in srgb, var(--zc-primary) 8%, transparent);
}

/* 牌背（首页视觉） */
.p05-cardback {
  width: 148px; height: 230px; margin: 20px auto 14px; border-radius: 14px;
  border: 6px solid #fff; box-shadow: var(--zc-shadow), inset 0 0 0 2px var(--zc-primary);
  background: linear-gradient(135deg, var(--zc-primary), var(--zc-primary2));
  position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  font-size: 34px; color: rgba(255, 255, 255, .92);
}
.p05-cardback::after {
  content: ''; position: absolute; inset: 8px; border-radius: 9px;
  border: 1.5px dashed rgba(255, 255, 255, .65);
}

/* 洗牌扇（S1，2s 仪式） */
.p05-fan { position: relative; width: 220px; height: 244px; margin: 10px auto 6px; }
.p05-fanCard {
  position: absolute; left: 50%; top: 14px; width: 128px; height: 200px; margin-left: -64px;
  border-radius: 12px; border: 5px solid #fff;
  background: linear-gradient(135deg, var(--zc-primary), var(--zc-primary2));
  box-shadow: 0 10px 24px rgba(120, 80, 20, .22);
  transform-origin: 50% 130%;
  animation: p05Shuffle 1.15s ease-in-out infinite;
}
.p05-fanCard:nth-child(1) { animation-duration: 1.05s; }
.p05-fanCard:nth-child(2) { animation-duration: 1.25s; animation-delay: .1s; }
.p05-fanCard:nth-child(3) { animation-duration: 1.15s; animation-delay: .2s; }
@keyframes p05Shuffle {
  0%, 100% { transform: rotate(-16deg); }
  50% { transform: rotate(16deg); }
}

/* 大牌与翻牌入场；逆位 emoji 旋转 180° */
.p05-bigcard {
  width: 168px; height: 260px; margin: 16px auto 14px; border-radius: 16px;
  background: linear-gradient(160deg, #fffdf8, #f6e9d2);
  border: 3px solid var(--zc-primary); box-shadow: var(--zc-shadow);
  display: flex; align-items: center; justify-content: center;
  animation: p05Flip .7s ease-out;
}
.p05-big-emoji { font-size: 84px; line-height: 1; display: inline-block; transition: transform .4s ease; }
.p05-is-rev { transform: rotate(180deg); }
@keyframes p05Flip {
  from { transform: rotateY(90deg) scale(.92); opacity: 0; }
  to { transform: rotateY(0) scale(1); opacity: 1; }
}

/* 今日小行动 */
.p05-action {
  margin-top: 12px; padding: 10px 14px; border-radius: 12px;
  border: 1.5px dashed var(--zc-primary); font-size: 14px; color: var(--zc-ink);
}

/* 三牌阵：三张小卡 + 逐行解读 */
.p05-spreadRow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 14px 0; }
.p05-mini {
  background: var(--zc-card); border: 1.5px solid var(--zc-line); border-radius: 14px;
  padding: 12px 6px 14px; text-align: center; box-shadow: var(--zc-shadow);
  animation: p05Rise .5s ease-out backwards;
}
.p05-mini:nth-child(2) { animation-delay: .15s; }
.p05-mini:nth-child(3) { animation-delay: .3s; }
@keyframes p05Rise { from { transform: translateY(14px); opacity: 0; } to { transform: none; opacity: 1; } }
.p05-mini-pos { font-size: 11px; color: var(--zc-ink2); letter-spacing: 2px; }
.p05-mini-emoji { font-size: 34px; display: block; margin: 6px 0 4px; }
.p05-mini-name { display: block; font-size: 14px; }
.p05-mini-orient {
  display: inline-block; margin-top: 6px; padding: 1px 8px; border-radius: 999px;
  font-size: 11px; background: rgba(217, 142, 74, .14);
  background: color-mix(in srgb, var(--zc-primary) 14%, transparent);
  color: var(--zc-primary);
}

.p05-line { font-size: 14.5px; margin: 10px 0; color: var(--zc-ink); }
.p05-line .p05-line-pos { font-weight: 700; color: var(--zc-primary); margin-right: 6px; }
.p05-line .p05-kw { display: block; font-size: 12px; color: var(--zc-ink2); margin: 2px 0; }

/* 动效降级 */
@media (prefers-reduced-motion: reduce) {
  .p05-fanCard, .p05-bigcard, .p05-mini { animation: none; }
  .p05-big-emoji { transition: none; }
}
