[hidden] { display: none !important; }

.lnm-page { overflow: hidden; }
.lnm-header { padding-bottom: 14px; }
.lnm-setup { padding-top: 18px; }
.lnm-time-fields { margin-top: 8px; }
.lnm-time-row { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 15px; margin-bottom: 4px; }
.lnm-time-fields .time-select-row { display: flex; align-items: center; gap: 5px; }
.lnm-time-fields .time-select-row .sys-select { width: auto; flex: 1; min-width: 0; }
.lnm-time-fields .time-separator { line-height: 36px; }
.lnm-mode-field { margin-top: 18px; }
.lnm-setup-actions { margin-top: 24px; }
.lnm-message {
  min-height: 22px;
  margin-top: 10px;
  color: var(--cinnabar);
  font-size: 13px;
  line-height: 1.7;
  text-align: center;
}
.lnm-draw { padding: 0 20px 28px; }
.lnm-draw-summary {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 0 14px;
  border-bottom: 1px solid var(--line-faint);
}
.lnm-summary-value { margin-top: 2px; color: var(--ink-main); font-size: 14px; line-height: 1.7; }
.lnm-text-button {
  flex: none;
  padding: 4px 0;
  border: 0;
  background: transparent;
  color: var(--ink-light);
  font-family: inherit;
  font-size: 13px;
  letter-spacing: 1px;
  cursor: pointer;
}
.lnm-text-button:hover:not(:disabled) { color: var(--cinnabar); }
.lnm-text-button:disabled { opacity: .45; cursor: default; }
.lnm-text-button:focus-visible { outline: 2px solid var(--cinnabar); outline-offset: 3px; }
.lnm-spread-wrap { padding-top: 6px; }
.lnm-subhead-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.lnm-subhead-row h2 { margin: 0; font-family: var(--font-display); font-size: 17px; letter-spacing: 2px; }
.lnm-status { color: var(--ink-light); font-size: 12px; letter-spacing: 1px; }
.lnm-spread-board {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  width: min(100%, 480px);
  margin: 6px auto 0;
  align-items: start;
}
.lnm-spread-board.is-double { grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(100%, 320px); }
.lnm-spread-board.is-three-base { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; width: min(100%, 420px); }
.lnm-spread-board.is-three { grid-template-columns: repeat(4, minmax(0, 1fr)); width: min(100%, 520px); }
.lnm-spread-board.is-cross {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-template-rows: repeat(5, auto);
  gap: 7px;
  width: min(100%, 560px);
}
.lnm-spread-board.is-nine { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lnm-spread-board.is-nine .lnm-slot-card { width: min(100%, 94px); }
.lnm-spread-board.is-twelve {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: repeat(4, auto);
  gap: 8px;
  width: min(100%, 520px);
}
.lnm-spread-board.is-twelve [data-slot-index="0"] { grid-column: 1; grid-row: 4; }
.lnm-spread-board.is-twelve [data-slot-index="1"] { grid-column: 2; grid-row: 4; }
.lnm-spread-board.is-twelve [data-slot-index="2"] { grid-column: 3; grid-row: 4; }
.lnm-spread-board.is-twelve [data-slot-index="3"] { grid-column: 4; grid-row: 4; }
.lnm-spread-board.is-twelve [data-slot-index="4"] { grid-column: 4; grid-row: 3; }
.lnm-spread-board.is-twelve [data-slot-index="5"] { grid-column: 4; grid-row: 2; }
.lnm-spread-board.is-twelve [data-slot-index="6"] { grid-column: 4; grid-row: 1; }
.lnm-spread-board.is-twelve [data-slot-index="7"] { grid-column: 3; grid-row: 1; }
.lnm-spread-board.is-twelve [data-slot-index="8"] { grid-column: 1; grid-row: 1; }
.lnm-spread-board.is-twelve [data-slot-index="9"] { grid-column: 1; grid-row: 2; }
.lnm-spread-board.is-twelve [data-slot-index="10"] { grid-column: 2; grid-row: 1; }
.lnm-spread-board.is-twelve [data-slot-index="11"] { grid-column: 1; grid-row: 3; }
.lnm-slot { min-width: 0; text-align: center; }
.lnm-slot.is-empty { opacity: 1; }
.lnm-slot-label {
  min-height: 16px;
  margin-bottom: 1px;
  color: var(--ink-main);
  font-size: 11px;
  letter-spacing: 1px;
  line-height: 1.5;
}
.lnm-slot-label { display: none; }
.lnm-slot-card {
  position: relative;
  display: block;
  width: min(100%, 132px);
  margin-inline: auto;
  aspect-ratio: 1200 / 1700;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
  cursor: zoom-in;
}
.lnm-slot-card img { display: block; width: 100%; height: 100%; object-fit: cover; box-shadow: 0 3px 8px rgba(42, 31, 20, .12); }
.lnm-slot-card.is-back img { filter: saturate(.84); }
.lnm-slot-card.is-revealed { animation: lnm-reveal .55s ease both; }
.lnm-slot-card.is-pending { cursor: default; }
.lnm-slot-card.is-pending::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(207, 56, 56, .58); }
.lnm-slot-facts {
  min-height: 26px;
  padding-top: 5px;
  color: var(--ink-main);
  line-height: 1.45;
}
.lnm-slot-facts span {
  display: block;
  color: var(--ink-main);
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  white-space: nowrap;
}
.lnm-deck-panel { position: relative; margin-top: 14px; padding-bottom: 4px; }
.lnm-deck-actions { display: flex; justify-content: center; gap: 12px; margin-top: 8px; }
.lnm-deck-action { flex: 0 0 min(156px, 44%); }
.lnm-deck-actions.is-dual .lnm-deck-action { flex: 1 1 0; max-width: 172px; }
#spreadBoard .lnm-slot-card.is-arriving { opacity: 0; }
.lnm-flying-card {
  position: fixed;
  z-index: 50;
  pointer-events: none;
  transform-origin: center;
  transition: transform .62s cubic-bezier(.22,.72,.28,1), opacity .62s ease;
  box-shadow: 0 18px 28px rgba(42, 31, 20, .24);
}
.lnm-flying-card img { display: block; width: 100%; height: 100%; object-fit: cover; border: 1px solid rgba(74, 58, 38, .35); }
.lnm-draw-actions { margin-top: 24px; }
.lnm-result { padding-top: 0; }
.lnm-result #fourPillars { margin-top: 26px; }
.lnm-result #resultBoard { margin-top: 26px; }
.lnm-result-supplement { display: flex; justify-content: center; margin-top: 20px; }
.lnm-result .lnm-spread-board { margin-top: 10px; }
.lnm-result-board.is-twelve { gap: 5px; }
.lnm-result-board.is-twelve .lnm-slot-card { width: min(100%, 85px); }
.lnm-result-board.is-twelve .lnm-slot-label { min-height: 14px; font-size: 10px; line-height: 1.35; }
.lnm-result-board.is-twelve .lnm-slot-facts { min-height: 22px; padding-top: 3px; }
.lnm-result-board.is-twelve .lnm-slot-facts span { font-size: 9px; }
.lnm-result .lnm-deck-panel { display: none; }

/* 抽牌预览独立紧凑，结果牌阵维持正常尺寸。 */
#spreadBoard .lnm-spread-board { margin-top: 0; }
#spreadBoard .lnm-spread-board.is-three-base { gap: 8px; width: min(100%, 276px); }
#spreadBoard .lnm-slot-label { min-height: 16px; margin-bottom: 1px; }
#spreadBoard .lnm-slot-card { width: min(100%, 84px); }
#spreadBoard .lnm-spread-board.is-double .lnm-slot-card { width: min(100%, 92px); }
#spreadBoard .lnm-slot-facts { min-height: 0; padding-top: 0; }

/* 十字牌阵：纵向第一盘、横向第二盘，共用人宫。 */
.lnm-spread-board.is-cross .lnm-slot--cross-tian1 { grid-column: 3; grid-row: 1; }
.lnm-spread-board.is-cross .lnm-slot--cross-ren { grid-column: 3; grid-row: 3; }
.lnm-spread-board.is-cross .lnm-slot--cross-di1 { grid-column: 3; grid-row: 5; }
.lnm-spread-board.is-cross .lnm-slot--cross-tian2 { grid-column: 1; grid-row: 3; }
.lnm-spread-board.is-cross .lnm-slot--cross-di2 { grid-column: 5; grid-row: 3; }
.lnm-spread-board.is-cross .lnm-slot--cross-supp1 { grid-column: 3; grid-row: 4; }
.lnm-spread-board.is-cross .lnm-slot--cross-supp2 { grid-column: 4; grid-row: 3; }
.lnm-spread-board.is-cross { row-gap: 2px; }
.lnm-spread-board.is-cross .lnm-slot-label { min-height: 16px; margin-bottom: 1px; line-height: 1.4; }
.lnm-spread-board.is-cross .lnm-slot-facts { min-height: 20px; padding-top: 2px; }

/* High-count draw previews remain visible beneath the single-row card rail. */
#spreadBoard .lnm-spread-board.is-cross { width: min(100%, 292px); column-gap: 4px; row-gap: 1px; }
#spreadBoard .lnm-spread-board.is-cross .lnm-slot-card { width: min(100%, 42px); }
#spreadBoard .lnm-spread-board.is-cross .lnm-slot-label { min-height: 14px; font-size: 9px; line-height: 1.35; }
#spreadBoard .lnm-spread-board.is-nine { width: min(100%, 300px); gap: 4px; }
#spreadBoard .lnm-spread-board.is-nine .lnm-slot-card { width: min(100%, 48px); }
#spreadBoard .lnm-spread-board.is-nine .lnm-slot-label { min-height: 14px; font-size: 9px; line-height: 1.35; }
#spreadBoard .lnm-spread-board.is-twelve { width: min(100%, 322px); gap: 2px; }
#spreadBoard .lnm-spread-board.is-twelve .lnm-slot-card { width: min(100%, 32px); }
#spreadBoard .lnm-spread-board.is-twelve .lnm-slot-label { min-height: 14px; font-size: 9px; line-height: 1.35; }
.lnm-dialog-card-image { width: min(100%, 360px); margin: 0 auto; display: block; }
.lnm-dialog-card-meta { margin-top: 10px; color: var(--ink-main); font-family: var(--font-display); font-size: 14px; font-weight: 700; letter-spacing: 0; line-height: 1.5; text-align: center; white-space: nowrap; }
.lnm-dialog-card-text { margin-top: 14px; color: var(--ink-main); font-size: 14px; line-height: 1.75; text-align: left; white-space: normal; }
.lnm-combinations { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line-faint); }
.lnm-combinations h2 { margin: 0 0 12px; font-family: var(--font-display); font-size: 18px; letter-spacing: 2px; }
.lnm-combination { display: grid; grid-template-columns: minmax(100px, auto) 1fr; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line-faint); font-size: 14px; line-height: 1.6; }
.lnm-combination strong { color: var(--cinnabar); font-weight: 700; }
.lnm-spread-board.is-grand { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 10px 8px; width: min(100%, 960px); }
.lnm-spread-board.is-grand .lnm-slot-card { width: min(100%, 108px); }
.lnm-spread-board.is-grand [data-slot-index="32"] { grid-column: 3; }
.lnm-spread-board.is-grand [data-slot-index="33"] { grid-column: 4; }
.lnm-spread-board.is-grand [data-slot-index="34"] { grid-column: 5; }
.lnm-spread-board.is-grand [data-slot-index="35"] { grid-column: 6; }

@keyframes lnm-reveal { 0% { transform: rotateY(90deg); opacity: .15; } 100% { transform: rotateY(0); opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .lnm-flying-card { transition: none; }
  .lnm-slot-card.is-revealed { animation: none; }
}
@media (max-width: 640px) {
  .lnm-draw { padding-left: 14px; padding-right: 14px; }
  .lnm-draw-summary { padding-top: 12px; }
  .lnm-spread-board { gap: 8px; }
  .lnm-spread-board.is-three { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
  .lnm-spread-board.is-cross { column-gap: 4px; row-gap: 2px; }
  .lnm-spread-board.is-grand { column-gap: 4px; row-gap: 6px; width: 100%; }
  .lnm-spread-board.is-grand .lnm-slot-card { width: min(100%, 54px); }
  .lnm-slot-label { font-size: 10px; letter-spacing: 0; }
  .lnm-slot-facts { min-height: 24px; }
  .lnm-slot-facts span { font-size: 13px; }
  .lnm-spread-board.is-three .lnm-slot-facts span { font-size: 10px; }
  .lnm-spread-board.is-cross .lnm-slot-facts span { font-size: 9px; }
  .lnm-result-board.is-cross { column-gap: 7px; }
  .lnm-result-board.is-cross .lnm-slot-card { width: min(106%, 98px); }
  .lnm-result-board.is-cross .lnm-slot-label { font-size: 11px; }
  .lnm-result-board.is-cross .lnm-slot-facts span { font-size: 8.5px; }
  .lnm-spread-board.is-nine .lnm-slot-facts span { font-size: 11px; }
  .lnm-spread-board.is-twelve .lnm-slot-facts span { font-size: 10px; }
  .lnm-result { padding-left: 14px; padding-right: 14px; }
}
