/* 排盘页面局部变量覆盖（不污染全局 :root） */
body.paipan-page {
  --theme-color: var(--cinnabar);
  --max-page-width: 100%;
  --html-bg-color: var(--bg);
  --app-body-bg-color: transparent;
  --app-tab-bg-color: transparent;
}

#record-entry-group {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

body.paipan-page {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  min-height: 100vh;
  background:
    linear-gradient(135deg, rgba(30, 111, 92, 0.11), transparent 36%),
    linear-gradient(315deg, rgba(var(--accent-rgb), 0.09), transparent 34%),
    var(--bg);
  color: var(--ink);
  font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", Arial, sans-serif;
}

.paipan-main {
  padding-bottom: 56px;
}

.paipan-workspace {
  width: min(100%, 1120px);
  margin: 0 auto;
}

.paipan-tool-frame {
  width: 100%;
  min-height: calc(100vh - 168px);
  overflow: visible;
  border: 1px solid rgba(32, 35, 33, 0.1);
  border-radius: var(--radius);
  background: var(--surface) !important;
  box-shadow: 0 10px 30px rgba(33, 36, 31, 0.07);
}

/* Hide app-header on home view (no back button needed, topbar already shows title) */
body.lh-hide-app-header .paipan-tool-frame .app-header {
  display: none !important;
}

.paipan-tool-frame .app-header {
  position: sticky;
  top: 0;
  width: 100% !important;
  height: 56px;
  display: grid !important;
  grid-template-columns: 46px 46px minmax(0, 1fr) 46px 46px;
  align-items: center;
  padding: 0 10px;
  border-bottom: 0;
  background: rgba(255, 253, 247, 0.94) !important;
  border-radius: var(--radius) var(--radius) 0 0;
  backdrop-filter: none;
  box-sizing: border-box !important;
  z-index: 90;
}

.paipan-tool-frame .app-title {
  display: none;
}

.paipan-tool-frame .app-header-button {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  line-height: 1;
  transition: background 0.2s, border-color 0.2s;
}

.paipan-tool-frame .app-header-button:hover {
  background: rgba(var(--accent-rgb), 0.06);
  border-color: var(--cinnabar);
  color: var(--cinnabar);
}

.paipan-tool-frame .app-header-button-back {
  background-image: none !important;
  filter: none !important;
}

.paipan-tool-frame .app-header-button-back::before {
  content: '';
  display: block;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%231c1c1e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 18px;
}

.paipan-tool-frame .app-header-button-back:hover::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23b94132' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E");
}

.paipan-tool-frame .app-header-button:active {
  background: rgba(var(--accent-rgb), 0.12);
}

.paipan-tool-frame .app-body {
  width: 100% !important;
  padding: 0;
  background: transparent !important;
  box-sizing: border-box !important;
}

.paipan-tool-frame .app-view {
  background: transparent !important;
}

/* 结果页（非首页）：app-view 不再单独成卡，融入 paipan-tool-frame 大卡片 */
body.lh-hide-site-bottom-nav .paipan-tool-frame .app-view {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible;
  padding-bottom: 0;
}

.paipan-tool-frame .paipan-nav {
  display: inline-flex;
  width: auto;
  max-width: calc(100% - 40px);
  min-width: 0;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  white-space: nowrap;
  gap: 6px;
  padding: 6px;
  margin: 0 20px 14px;
  border: 0;
  border-radius: 10px;
  background: rgba(32, 35, 33, 0.06);
  touch-action: pan-x;
  user-select: none;
  -webkit-user-select: none;
  scrollbar-width: none;
  scroll-behavior: smooth;
  box-sizing: border-box;
}

.paipan-tool-frame .paipan-nav::-webkit-scrollbar {
  display: none;
}

.paipan-tool-frame .paipan-nav-item {
  flex: 0 0 auto;
  min-height: 40px;
  padding: 0 16px;
  margin: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  transition: color 0.18s ease, background 0.18s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

.paipan-tool-frame .paipan-nav-item:hover {
  color: var(--cinnabar);
  background: transparent;
}

.paipan-tool-frame .paipan-nav-item-selected {
  background: var(--cinnabar);
  color: #fffdf7;
  font-weight: 700;
  border: 0;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(var(--accent-rgb), 0.24);
  margin: 0;
}

.paipan-tool-frame .paipan-forms-container {
  width: calc(100% - 40px) !important;
  max-width: none !important;
  margin: 0 20px 18px !important;
  padding: 22px 12px 26px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* 结果视图显示时：隐藏 forms container（避免白色嵌套面板） */
body.lh-hide-site-bottom-nav .paipan-tool-frame .paipan-forms-container {
  display: none !important;
}

.paipan-tool-frame .paipan-form-pane {
  padding: 0 !important;
  text-align: left !important;
}

.paipan-tool-frame .paipan-form-pane > div,
.paipan-tool-frame #component_basic_data {
  width: 100% !important;
}

.paipan-tool-frame .app-form,
.paipan-tool-frame .paipan-form-pane [class*="popup-"][class*="-content"],
.paipan-tool-frame .paipan-form-pane [class*="popup-"][class*="-box"] {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: transparent !important;
}

.paipan-tool-frame .app-form {
  padding: 0 !important;
}

.paipan-tool-frame .app-form-row {
  border-bottom-color: var(--line) !important;
  padding: 18px 8px !important;
  min-height: 60px !important;
  width: 100% !important;
  max-width: none !important;
}

.paipan-tool-frame .app-form-label {
  flex: 0 0 100px !important;
  font-size: 15px !important;
}

.paipan-tool-frame .app-form-input,
.paipan-tool-frame .app-form-display-text {
  font-size: 15px !important;
  padding: 0 16px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: none !important;
  width: auto !important;
  text-align: left !important;
}

.paipan-tool-frame .app-form-capsule {
  padding: 7px 22px !important;
}

.paipan-tool-frame .app-form-label,
.paipan-tool-frame .app-form-realsun-inline-label,
.paipan-tool-frame .app-form-save-label,
.paipan-tool-frame .city-picker-title,
.paipan-tool-frame .headercell,
.paipan-tool-frame .xShishen,
.paipan-tool-frame .xxShishen {
  color: var(--ink);
}

.paipan-tool-frame .app-form-input,
.paipan-tool-frame .app-form-display-text,
.paipan-tool-frame .paipan-form-pane .layui-input,
.paipan-tool-frame .paipan-form-pane input[type="text"],
.paipan-tool-frame .paipan-form-pane select,
.paipan-tool-frame .hehun-picker-input {
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  background: #fffefb !important;
  color: var(--ink) !important;
}

/* 取消 .app-form-display-text 内 select 的内框，使其完全融入外框 */
.paipan-tool-frame .app-form-display-text select,
.paipan-tool-frame .app-form-display-text select.popup-meihua-inputctl {
  border: 0 !important;
  border-width: 0 !important;
  border-style: none !important;
  border-color: transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  height: 100% !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
}
.paipan-tool-frame .app-form-display-text select::-ms-expand {
  display: none !important;
}

.paipan-tool-frame .app-form-capsule-group {
  background: var(--surface-strong);
  border-radius: 999px;
}

.paipan-tool-frame .app-form-capsule {
  color: var(--muted);
}

.paipan-tool-frame .app-form-capsule-active,
.paipan-tool-frame .app-form-capsule-hehun,
.paipan-tool-frame .app-form-toggle.on,
.paipan-tool-frame .paipan-form-pane .paipan-radio-group input[type="radio"]:checked + label,
.paipan-tool-frame .paipan-form-pane .paipan-checkbox-group input[type="checkbox"]:checked + label {
  background: var(--cinnabar) !important;
  border-color: var(--cinnabar) !important;
  color: #fffdf7 !important;
}

.paipan-tool-frame .app-paipan-button,
.paipan-tool-frame .paipan-form-pane .paipan-submit-btn,
.paipan-tool-frame .paipan-form-pane .app-paipan-button {
  display: block;
  width: min(100%, 420px);
  height: 44px;
  margin: 18px auto 0;
  padding: 0;
  border: none;
  border-radius: var(--radius);
  background: linear-gradient(160deg, var(--accent-light, #c95c4c), var(--cinnabar));
  box-shadow: 0 12px 26px rgba(var(--accent-rgb), 0.2);
  color: #fffdf7;
  font-size: 15px;
  font-weight: 900;
  line-height: 44px;
  cursor: pointer;
  box-sizing: border-box;
}

/* 结果页：所有卡片融合为一个整体（去边框/背景/阴影） */
.paipan-tool-frame .app-view .layui-card,
.paipan-tool-frame .app-view .layui-card-body,
.paipan-tool-frame .app-view .layui-card-header {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ink);
}

/* 紫微斗数命盘容器需要保留背景色和 overflow:hidden（go.js 画布需要） */
[data-view="view_ziwei"] > .layui-card:first-of-type {
  overflow: hidden;
  border-radius: 0 !important;
}
[data-view="view_ziwei"] > .layui-card:first-of-type > .layui-card-body {
  padding: 0 !important;
}
[data-view="view_ziwei"] > .layui-card:first-of-type .zw-pan-container {
  background: #fffdf7 !important;
}

/* 去掉 layui 默认 card-header 的渐变/彩色顶部条 */
.paipan-tool-frame .app-view .layui-card-header {
  background: transparent !important;
  border-bottom: 0 !important;
  border-top: 0 !important;
  padding: 0 !important;
}
.paipan-tool-frame .app-view .layui-card-header::before,
.paipan-tool-frame .app-view .layui-card-header::after {
  display: none !important;
  content: none !important;
}

/* 合婚结果面板：防止内容溢出 */
.paipan-tool-frame .app-view #hehun_result_panel {
  overflow: hidden;
  width: 100%;
  box-sizing: border-box;
}
.paipan-tool-frame .app-view #hehun_result_panel > * {
  max-width: 100%;
  box-sizing: border-box;
}

.paipan-tool-frame .app-view .layui-card-body {
  padding: 16px;
}

/* 紫微斗数命盘 card-body 不需要 padding */
[data-view="view_ziwei"] > .layui-card:first-of-type > .layui-card-body {
  padding: 0 !important;
}

/* 同一卡片内相邻 card-body 之间加分隔线 */
.paipan-tool-frame .app-view .layui-card > .layui-card-body + .layui-card-body {
  border-top: 1px solid var(--line);
}

/* 相邻两个独立卡片之间：后一个卡片首个 card-body 加上分隔线 */
.paipan-tool-frame .app-view .layui-card + .layui-card > .layui-card-body:first-child {
  border-top: 1px solid var(--line);
}

/* 结果页内表格去掉白色背景，融入大卡片 */
.paipan-tool-frame .app-view .layui-table,
.paipan-tool-frame .app-view .layui-table td,
.paipan-tool-frame .app-view .layui-table th,
.paipan-tool-frame .app-view .layui-table tr[style*="background-color"],
.paipan-tool-frame .app-view .layui-table thead tr[style*="background-color"] {
  background: transparent !important;
}

/* 统一所有排盘工具背景色为米白色（去掉白色背景） */
/* 排除紫微斗数命盘容器（go.js 画布需要保留背景色） */
.paipan-tool-frame .app-view [style*="background-color: #fff"]:not(.zw-pan-container):not(canvas):not([class*="zw-"]),
.paipan-tool-frame .app-view [style*="background-color:#fff"]:not(.zw-pan-container):not(canvas):not([class*="zw-"]),
.paipan-tool-frame .app-view [style*="background-color: #ffffff"]:not(.zw-pan-container):not(canvas):not([class*="zw-"]),
.paipan-tool-frame .app-view [style*="background-color:#ffffff"]:not(.zw-pan-container):not(canvas):not([class*="zw-"]),
.paipan-tool-frame .app-view [style*="background: #fff"]:not(.zw-pan-container):not(canvas):not([class*="zw-"]),
.paipan-tool-frame .app-view [style*="background:#fff"]:not(.zw-pan-container):not(canvas):not([class*="zw-"]),
.paipan-tool-frame .app-view [style*="background: #ffffff"]:not(.zw-pan-container):not(canvas):not([class*="zw-"]),
.paipan-tool-frame .app-view [style*="background:#ffffff"]:not(.zw-pan-container):not(canvas):not([class*="zw-"]) {
  background: transparent !important;
}

/* 覆盖 paipan.css 中的白色背景 */
.paipan-tool-frame .app-body,
.paipan-tool-frame .app-view,
.paipan-tool-frame .layui-card,
.paipan-tool-frame .layui-card-body,
.paipan-tool-frame .layui-card-header,
.paipan-tool-frame .layui-table,
.paipan-tool-frame .paipangrid,
.paipan-tool-frame .dayun-grid,
.paipan-tool-frame .liunian-grid,
.paipan-tool-frame .liunian2-grid,
.paipan-tool-frame .liuyue-grid,
.paipan-tool-frame .liuri-grid,
.paipan-tool-frame .qimen-9gong-grid-cell,
.paipan-tool-frame .qimendunjia-9gong-grid-cell,
.paipan-tool-frame .feixing-9gong-grid-cell,
.paipan-tool-frame .da6ren-9gong-grid-cell,
.paipan-tool-frame .app-day-info,
.paipan-tool-frame .app-button-item,
.paipan-tool-frame .app-form,
.paipan-tool-frame .app-form-row {
  background: transparent !important;
}

.paipan-tool-frame .layui-table,
.paipan-tool-frame .paipangrid,
.paipan-tool-frame .dayun-grid,
.paipan-tool-frame .liunian-grid,
.paipan-tool-frame .liunian2-grid,
.paipan-tool-frame .liuyue-grid,
.paipan-tool-frame .liuri-grid {
  color: var(--ink);
}

.paipan-tool-frame .app-view .layui-table,
.paipan-tool-frame .app-view .layui-table td,
.paipan-tool-frame .app-view .layui-table th,
.paipan-tool-frame .app-view .paipangrid {
  border-color: var(--line) !important;
  background: transparent !important;
}

.paipan-tool-frame ul#paipantabbar {
  position: relative !important;
  top: auto !important;
  display: flex !important;
  align-items: center;
  gap: 6px;
  width: calc(100% - 40px) !important;
  max-width: calc(100% - 40px) !important;
  margin: 0 20px 14px !important;
  padding: 6px 42px 6px 6px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: rgba(32, 35, 33, 0.06) !important;
  z-index: auto !important;
  box-sizing: border-box;
  overflow: visible;
}

.paipan-tool-frame ul#paipantabbar > li:not(.app-params-ctrl) {
  flex: 1 1 0 !important;
  width: 0 !important;
  min-width: 0 !important;
  min-height: 40px;
  padding: 0 8px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: var(--muted) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  display: flex !important;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-sizing: border-box;
  transition: color 0.18s ease, background 0.18s ease;
}

.paipan-tool-frame ul#paipantabbar > li.layui-this:not(.app-params-ctrl) {
  color: #fffdf7 !important;
  background: var(--cinnabar) !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 8px rgba(var(--accent-rgb), 0.24);
}

.paipan-tool-frame #baziParamsCtrl {
  position: absolute !important;
  right: 6px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  cursor: pointer;
  z-index: 3;
}

.paipan-tool-frame #baziParamsCtrl.is-open {
  background: rgba(var(--accent-rgb), 0.12) !important;
}

.paipan-tool-frame .bazi-params-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: min(220px, calc(100vw - 48px));
  padding: 10px;
  border: 1px solid rgba(var(--accent-rgb), 0.16);
  border-radius: 16px;
  background: rgba(255, 253, 247, 0.98);
  box-shadow: 0 16px 34px rgba(33, 36, 31, 0.12);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.paipan-tool-frame .bazi-params-menu.is-hidden {
  display: none;
}

.paipan-tool-frame .bazi-params-item {
  display: flex;
  width: 100%;
  min-height: 38px;
  align-items: center;
  padding: 0 12px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--ink);
  font-size: 14px;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}

.paipan-tool-frame .bazi-params-item:hover {
  background: rgba(var(--accent-rgb), 0.08);
  color: var(--cinnabar);
}

.paipan-tool-frame .bazi-params-divider {
  height: 1px;
  margin: 8px 2px;
  background: rgba(32, 35, 33, 0.08);
}

.paipan-tool-frame .bazi-params-group-title {
  padding: 2px 12px 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.paipan-tool-frame .layui-tab-content > .layui-tab-item:last-child {
  padding-bottom: 8px;
}

.paipan-tool-frame .layui-tab-content > .layui-tab-item:last-child > .layui-table {
  margin-top: 0 !important;
  border-radius: 14px !important;
  overflow: hidden;
}

.paipan-tool-frame ul#paipantabbar > li.layui-this::after {
  display: none !important;
}

.paipan-tool-frame .layui-tab-content {
  padding: 0;
}

.paipan-tool-frame .city-picker-skin,
.paipan-tool-frame .layui-layer {
  border-radius: var(--radius);
}

.paipan-tool-frame .city-picker-confirm,
.paipan-tool-frame .city-picker-cancel,
.paipan-tool-frame .app-nowtime,
.paipan-tool-frame .app-bazi-ctl-btn {
  color: var(--cinnabar);
}

.paipan-tool-frame .layui-layer-btn .layui-layer-btn0 {
  background: var(--cinnabar);
}

.paipan-tool-frame .zw-pan-container,
.paipan-tool-frame [id$="paipan"] {
  max-width: 100%;
  overflow-x: auto;
}

.paipan-tool-frame .qimen-9gong-grid,
.paipan-tool-frame .qimendunjia-9gong-grid,
.paipan-tool-frame .da6ren-9gong-grid,
.paipan-tool-frame .feixing-9gong-grid,
.paipan-tool-frame .zw-grid {
  min-width: 0;
}

body.lh-hide-site-bottom-nav .bottom-nav {
  display: none;
}

@media (max-width: 760px) {
  .paipan-main {
    padding: 18px 14px 92px;
  }

  .paipan-workspace {
    width: 100%;
  }

  .paipan-tool-frame {
    min-height: calc(100vh - 110px);
    border: 0;
    border-radius: 18px;
    background: transparent;
    box-shadow: none;
  }

  .paipan-tool-frame .app-header {
    top: 0;
    border: 0;
    border-radius: 18px 18px 0 0;
  }

  .paipan-tool-frame .app-body {
    padding: 14px 0 88px;
  }

  .paipan-tool-frame .paipan-nav {
    gap: 8px;
    padding: 2px 6px 6px;
    margin: 0 16px 14px;
    max-width: calc(100% - 32px);
    scroll-snap-type: x proximity;
  }

  .paipan-tool-frame .paipan-nav-item {
    flex: 0 0 calc((100% - 24px) / 4);
    min-width: calc((100% - 24px) / 4);
    padding: 0 8px;
    font-size: 13px;
    scroll-snap-align: start;
  }

  .paipan-tool-frame .app-form,
  .paipan-tool-frame .paipan-form-pane [class*="popup-"][class*="-content"],
  .paipan-tool-frame .paipan-form-pane [class*="popup-"][class*="-box"] {
    max-width: none;
  }

  .paipan-tool-frame .paipan-forms-container {
    padding: 12px 16px 16px !important;
  }

  .paipan-tool-frame .app-form-row {
    align-items: stretch !important;
    gap: 12px !important;
    padding: 14px 4px !important;
    width: 100% !important;
    max-width: none !important;
  }

  .paipan-tool-frame .app-form-row-capsules {
    align-items: center !important;
  }

  .paipan-tool-frame .app-form-label {
    flex-basis: 80px !important;
    font-size: 15px !important;
  }

  .paipan-tool-frame .app-form-input,
  .paipan-tool-frame .app-form-display-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
    text-align: left !important;
  }

  .paipan-tool-frame .app-form-capsule {
    padding: 6px 16px !important;
  }

  .paipan-tool-frame .layui-card-body {
    padding: 12px;
  }

  .paipan-tool-frame ul#paipantabbar {
    top: auto !important;
    margin: 0 16px 14px !important;
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
  }

  .paipan-tool-frame .bazi-params-menu {
    width: min(210px, calc(100vw - 40px));
    right: -2px;
    border-radius: 14px;
  }

  body.lh-hide-site-bottom-nav .paipan-tool-frame .app-view {
    margin: 0 14px 18px !important;
  }
}

@media (max-width: 430px) {
  .paipan-tool-frame .app-header {
    grid-template-columns: 40px 40px minmax(0, 1fr) 40px 40px;
    padding: 0 6px;
  }

  .paipan-tool-frame .app-title {
    font-size: 18px;
  }

  .paipan-tool-frame .app-form {
    padding: 2px 10px;
  }

  .paipan-tool-frame .app-form-label {
    flex: 0 0 70px;
    font-size: 14px;
  }

  .paipan-tool-frame .app-form-row-capsules {
    flex-wrap: wrap;
  }

  .paipan-tool-frame .app-form-date-type-group {
    margin-left: 0;
  }
}

/* Result pages: make all nested backgrounds transparent so content blends into the outer paipan-tool-frame card. */
.paipan-tool-frame .app-view .layui-bg-gray,
.paipan-tool-frame .app-view .layui-table[lay-even] tbody tr:nth-child(even),
.paipan-tool-frame .app-view .layui-table-click,
.paipan-tool-frame .app-view .layui-table-hover,
.paipan-tool-frame .app-view .layui-table tbody tr[style*="background-color: #f8f8f8"],
.paipan-tool-frame .app-view .layui-table tbody tr[style*="background-color:#f8f8f8"],
.paipan-tool-frame .app-view .layui-card-header[style*="background-color:#fafafa"],
.paipan-tool-frame .app-view .layui-card-header[style*="background-color: #fafafa"] {
  background: transparent !important;
  background-color: transparent !important;
}

/* Round all result modules so result pages no longer show hard corners. */
.paipan-tool-frame .app-view .layui-table,
.paipan-tool-frame .paipangrid,
.paipan-tool-frame .dayun-grid,
.paipan-tool-frame .liunian-grid,
.paipan-tool-frame .liunian2-grid,
.paipan-tool-frame .liuyue-grid,
.paipan-tool-frame .liuri-grid,
.paipan-tool-frame .qimen-9gong-grid,
.paipan-tool-frame .qimendunjia-9gong-grid,
.paipan-tool-frame .da6ren-9gong-grid,
.paipan-tool-frame .feixing-9gong-grid,
.paipan-tool-frame .zw-grid,
.paipan-tool-frame .yizhangjing-card {
  border-radius: var(--radius) !important;
  overflow: hidden;
}

.paipan-tool-frame .app-view .layui-table td:first-child,
.paipan-tool-frame .app-view .layui-table th:first-child {
  border-left: 0 !important;
}

/* Result modules: transparent background so content sits directly on the outer paipan-tool-frame card (no nested white panel). */
.paipan-tool-frame .app-view .layui-card-body,
.paipan-tool-frame .app-view .paipangrid,
.paipan-tool-frame .app-view .dayun-grid,
.paipan-tool-frame .app-view .liunian-grid,
.paipan-tool-frame .app-view .liunian2-grid,
.paipan-tool-frame .app-view .liuyue-grid,
.paipan-tool-frame .app-view .liuri-grid,
.paipan-tool-frame .app-view .qimen-bottom-bar,
.paipan-tool-frame .app-view .qimen-gap,
.paipan-tool-frame .app-view .app-wuxingwangshuai,
.paipan-tool-frame .app-view .app-day-info,
.paipan-tool-frame .app-view .app-button-item {
  background: transparent !important;
  background-color: transparent !important;
}

/* Mingli Qimen summary labels should use the same dark text as the rest of the result page. */
.paipan-tool-frame .app-view .qimen-table-header,
.paipan-tool-frame .app-view #mingliqiman_date,
.paipan-tool-frame .app-view #mingliqiman_jieqi,
.paipan-tool-frame .app-view #mingliqiman_jushu,
.paipan-tool-frame .app-view #mingliqiman_zhifu,
.paipan-tool-frame .app-view #mingliqiman_zhishi,
.paipan-tool-frame .app-view #mingliqiman_xunshou,
.paipan-tool-frame .app-view #mingliqiman_maxing,
.paipan-tool-frame .app-view #mingliqiman_kongwang,
.paipan-tool-frame .app-view #mingliqimen_name,
.paipan-tool-frame .app-view #mingliqimen_sex,
.paipan-tool-frame .app-view #mingliqimen_sex2,
.paipan-tool-frame .app-view #mingliqimen_shengxiao {
  color: var(--ink) !important;
}

/* Hehun popup/result use the same warm panel surface. */
.paipan-tool-frame .popup-hehun-content,
.paipan-tool-frame .app-view #hehun_result_panel,
.paipan-tool-frame .app-view #hehun_result_panel > .layui-card-body {
  background: #fffefb !important;
  background-color: #fffefb !important;
}

#hehun-picker-modal,
#hehun-picker-modal .hehun-picker-content,
body .layui-layer.city-picker-skin,
body .layui-layer.city-picker-skin .layui-layer-content,
body .layui-layer.city-picker-skin .city-picker-header,
body .layui-layer.city-picker-skin .hehun-picker-content {
  background: #fffefb !important;
  background-color: #fffefb !important;
}

body .layui-layer.city-picker-skin {
  border-radius: 16px 16px 0 0 !important;
  overflow: hidden;
}

/* Preserve Wuxing colors for the male/female Four Pillars in Hehun results. */
.paipan-tool-frame .app-view #hehun_result_panel .wxjin {
  color: var(--jin) !important;
}

.paipan-tool-frame .app-view #hehun_result_panel .wxshui {
  color: var(--shui) !important;
}

.paipan-tool-frame .app-view #hehun_result_panel .wxmu {
  color: var(--mu) !important;
}

.paipan-tool-frame .app-view #hehun_result_panel .wxhuo {
  color: var(--huo) !important;
}

.paipan-tool-frame .app-view #hehun_result_panel .wxtu {
  color: var(--tu) !important;
}

/* Hehun pillars: shrink text and lock layout so year/month/day/hour all stay visible. */
.paipan-tool-frame .app-view #hehun_result_panel table {
  table-layout: fixed;
}

.paipan-tool-frame .app-view #hehun_result_panel td {
  padding: 3px 0 !important;
  font-size: 12px !important;
}

.paipan-tool-frame .app-view #hh_m_yGan,
.paipan-tool-frame .app-view #hh_m_mGan,
.paipan-tool-frame .app-view #hh_m_dGan,
.paipan-tool-frame .app-view #hh_m_hGan,
.paipan-tool-frame .app-view #hh_w_yGan,
.paipan-tool-frame .app-view #hh_w_mGan,
.paipan-tool-frame .app-view #hh_w_dGan,
.paipan-tool-frame .app-view #hh_w_hGan,
.paipan-tool-frame .app-view #hh_m_yZhi,
.paipan-tool-frame .app-view #hh_m_mZhi,
.paipan-tool-frame .app-view #hh_m_dZhi,
.paipan-tool-frame .app-view #hh_m_hZhi,
.paipan-tool-frame .app-view #hh_w_yZhi,
.paipan-tool-frame .app-view #hh_w_mZhi,
.paipan-tool-frame .app-view #hh_w_dZhi,
.paipan-tool-frame .app-view #hh_w_hZhi {
  font-size: 15px !important;
  line-height: 1.15 !important;
}

.paipan-tool-frame .app-view #hehun_result_panel .subtitle {
  font-size: 10px !important;
}

@media (max-width: 760px) {
  .paipan-tool-frame .app-view #hehun_result_panel > .layui-card-body > div[style*="grid-template-columns: 50% 50%"] {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px;
  }
  .paipan-tool-frame .app-view #hehun_result_panel td {
    font-size: 11px !important;
  }
  .paipan-tool-frame .app-view #hh_m_yGan,
  .paipan-tool-frame .app-view #hh_m_mGan,
.paipan-tool-frame .app-view #hh_m_dGan,
  .paipan-tool-frame .app-view #hh_m_hGan,
  .paipan-tool-frame .app-view #hh_w_yGan,
  .paipan-tool-frame .app-view #hh_w_mGan,
  .paipan-tool-frame .app-view #hh_w_dGan,
  .paipan-tool-frame .app-view #hh_w_hGan,
  .paipan-tool-frame .app-view #hh_m_yZhi,
  .paipan-tool-frame .app-view #hh_m_mZhi,
  .paipan-tool-frame .app-view #hh_m_dZhi,
  .paipan-tool-frame .app-view #hh_m_hZhi,
  .paipan-tool-frame .app-view #hh_w_yZhi,
  .paipan-tool-frame .app-view #hh_w_mZhi,
  .paipan-tool-frame .app-view #hh_w_dZhi,
  .paipan-tool-frame .app-view #hh_w_hZhi {
    font-size: 13px !important;
  }
}

@media (max-width: 760px) {
  .paipan-tool-frame .app-view .layui-table,
  .paipan-tool-frame .paipangrid,
  .paipan-tool-frame .dayun-grid,
  .paipan-tool-frame .liunian-grid,
  .paipan-tool-frame .liunian2-grid,
  .paipan-tool-frame .liuyue-grid,
  .paipan-tool-frame .liuri-grid,
  .paipan-tool-frame .qimen-9gong-grid,
  .paipan-tool-frame .qimendunjia-9gong-grid,
  .paipan-tool-frame .da6ren-9gong-grid,
  .paipan-tool-frame .feixing-9gong-grid,
  .paipan-tool-frame .zw-grid,
  .paipan-tool-frame .yizhangjing-card {
    border-radius: 12px !important;
  }
}

/* ===== 鲁班尺工具 ===== */
.paipan-tool-frame .app-form-inline-unit {
  flex-shrink: 0;
  margin-left: 8px;
  font-size: 14px;
  font-weight: 700;
  color: var(--muted);
}

/* 结果页通用卡片和标签（排盘页面未加载 profile-pages.css，此处自给自足） */
.paipan-tool-frame .luban-result-container .profile-card {
  background: rgba(255, 253, 247, 0.96);
  border-radius: 14px;
  padding: 20px;
  margin-bottom: 16px;
  border: 0.5px solid var(--line, #ddd6c7);
  box-shadow: 0 1px 3px rgba(33, 36, 31, 0.04);
}

.paipan-tool-frame .luban-result-container .section-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--muted);
  margin: 20px 0 10px;
  padding-left: 4px;
}

.paipan-tool-frame .luban-result-container .section-label:first-child {
  margin-top: 0;
}

/* 结果页容器 */
.paipan-tool-frame .luban-result-container {
  padding: 16px;
}

/* 实测长度卡片 */
.paipan-tool-frame .luban-length-card {
  text-align: center;
  padding: 22px 20px;
  margin-bottom: 16px;
}

.paipan-tool-frame .luban-length-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--muted);
  margin-bottom: 12px;
}

.paipan-tool-frame .luban-length-values {
  display: flex;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
}

.paipan-tool-frame .luban-length-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.paipan-tool-frame .luban-length-value {
  font-size: 22px;
  font-weight: 900;
  color: var(--cinnabar);
  letter-spacing: 0.02em;
  line-height: 1.2;
}

.paipan-tool-frame .luban-length-unit-label {
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
}

/* 尺结果卡片 */
.paipan-tool-frame .luban-ruler-card {
  padding: 20px;
  margin-bottom: 16px;
  transition: box-shadow 0.2s ease;
}

.paipan-tool-frame .luban-ruler-card.ruler-card-active {
  box-shadow: 0 10px 24px rgba(var(--accent-rgb), 0.16);
}

.paipan-tool-frame .luban-ruler-char-row {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 14px;
}

.paipan-tool-frame .luban-ruler-char {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  font-size: 32px;
  font-weight: 900;
  color: #fffdf7;
  background: var(--muted);
}

.paipan-tool-frame .luban-ruler-char.ruler-ji {
  background: linear-gradient(135deg, #1e6f5c, #2a8a72);
}

.paipan-tool-frame .luban-ruler-char.ruler-xiong {
  background: linear-gradient(135deg, var(--accent-dark, #8b352c), var(--cinnabar));
}

.paipan-tool-frame .luban-ruler-meta {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: 5px;
}

.paipan-tool-frame .luban-ruler-meta-row {
  font-size: 14px;
  color: var(--ink);
  line-height: 1.6;
}

.paipan-tool-frame .luban-ruler-meta-label {
  font-weight: 700;
  color: var(--muted);
}

.paipan-tool-frame .luban-ruler-meta-sep {
  margin: 0 10px;
  color: var(--line, #ddd6c7);
}

.paipan-tool-frame .luban-ruler-length {
  color: var(--cinnabar);
  font-weight: 700;
}

.paipan-tool-frame .luban-ruler-type.ruler-ji {
  color: #1e6f5c;
  font-weight: 800;
}

.paipan-tool-frame .luban-ruler-type.ruler-xiong {
  color: var(--cinnabar);
  font-weight: 800;
}

.paipan-tool-frame .ruler-ji {
  color: #1e6f5c;
  font-weight: 700;
}

.paipan-tool-frame .ruler-xiong {
  color: var(--cinnabar);
  font-weight: 700;
}

.paipan-tool-frame .luban-ruler-desc {
  margin: 10px 0 0;
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.7;
  color: var(--muted);
  background: rgba(236, 232, 220, 0.4);
  border-radius: 10px;
}

/* 可视化刻度条 */
.paipan-tool-frame .luban-ruler-bar-wrap {
  margin: 12px 0 10px;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.paipan-tool-frame .luban-ruler-bar-wrap::-webkit-scrollbar {
  display: none;
}

.paipan-tool-frame .luban-ruler-bar {
  display: flex;
  min-width: max-content;
  border: 1px solid var(--line, #ddd6c7);
  border-radius: 8px;
  overflow: hidden;
}

.paipan-tool-frame .luban-ruler-bar[data-type="mengong"] .ruler-cell {
  flex: 0 0 12.5%;
}

.paipan-tool-frame .luban-ruler-bar[data-type="dinan"] .ruler-cell {
  flex: 0 0 10%;
}

.paipan-tool-frame .ruler-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  border-right: 1px solid rgba(221, 214, 199, 0.5);
  font-size: 16px;
  font-weight: 900;
  color: #fffdf7;
}

.paipan-tool-frame .ruler-cell:last-child {
  border-right: 0;
}

.paipan-tool-frame .ruler-cell-ji {
  background: linear-gradient(180deg, #2a8a72, #1e6f5c);
}

.paipan-tool-frame .ruler-cell-xiong {
  background: linear-gradient(180deg, var(--accent-light, #c95c4c), var(--accent-dark, #8b352c));
}

.paipan-tool-frame .ruler-cell-active {
  box-shadow: inset 0 -4px 0 #ffd54a, 0 0 0 2px #ffd54a;
  position: relative;
  z-index: 1;
}

/* 使用说明卡片 */
.paipan-tool-frame .luban-tip-card {
  padding: 20px;
}

.paipan-tool-frame .luban-tip-section {
  padding: 14px 0;
  border-bottom: 0.5px solid var(--line, #ddd6c7);
}

.paipan-tool-frame .luban-tip-section:last-of-type {
  border-bottom: 0;
}

.paipan-tool-frame .luban-tip-section:first-of-type {
  padding-top: 0;
}

.paipan-tool-frame .luban-tip-title {
  font-size: 15px;
  font-weight: 800;
  color: var(--ink);
  margin-bottom: 10px;
}

.paipan-tool-frame .luban-tip-item {
  padding: 8px 0;
}

.paipan-tool-frame .luban-tip-name {
  font-size: 14px;
  font-weight: 800;
  color: var(--ink);
  margin-bottom: 6px;
}

.paipan-tool-frame .luban-tip-name.tone-cinnabar {
  color: var(--cinnabar);
}

.paipan-tool-frame .luban-tip-name.tone-gold {
  color: var(--gold, #b58a34);
}

.paipan-tool-frame .luban-tip-body p {
  margin: 0 0 4px;
  font-size: 13px;
  line-height: 1.7;
  color: var(--muted);
}

.paipan-tool-frame .luban-tip-body p:last-child {
  margin-bottom: 0;
}

.paipan-tool-frame .luban-tip-body strong {
  color: var(--ink);
  font-weight: 700;
}

/* 参考尺寸表格 */
.paipan-tool-frame .luban-ref-table {
  width: 100%;
  margin-top: 8px;
  border-collapse: collapse;
  font-size: 13px;
}

.paipan-tool-frame .luban-ref-table th,
.paipan-tool-frame .luban-ref-table td {
  padding: 8px 10px;
  text-align: center;
  border: 0.5px solid var(--line, #ddd6c7);
}

.paipan-tool-frame .luban-ref-table th {
  background: rgba(236, 232, 220, 0.6);
  color: var(--ink);
  font-weight: 800;
}

.paipan-tool-frame .luban-ref-table td {
  color: var(--muted);
}

.paipan-tool-frame .luban-ref-table td:last-child {
  color: #1e6f5c;
  font-weight: 700;
}

/* 温馨提示 */
.paipan-tool-frame .luban-tip-warm {
  margin-top: 14px;
  padding: 12px 14px;
  font-size: 13px;
  line-height: 1.7;
  color: var(--ink);
  background: rgba(var(--accent-rgb), 0.06);
  border-radius: 10px;
}

.paipan-tool-frame .luban-tip-warm strong {
  color: var(--cinnabar);
}

/* 手机端：鲁班尺结果页 */
@media (max-width: 760px) {
  .paipan-tool-frame .luban-ruler-char {
    width: 56px;
    height: 56px;
    font-size: 28px;
    border-radius: 12px;
  }

  .paipan-tool-frame .luban-ruler-char-row {
    gap: 14px;
  }

  .paipan-tool-frame .luban-length-value {
    font-size: 18px;
  }

  .paipan-tool-frame .luban-length-values {
    gap: 16px;
  }

  .paipan-tool-frame .ruler-cell {
    height: 40px;
    font-size: 15px;
  }
}

/* ===== 强制清除所有排盘结果区域白色背景（融合进外层 paipan-tool-frame 大卡片） ===== */
/* 覆盖 paipan.css / qimen.css / layui.css 中的白色背景，使用 background-color longhand 确保优先级 */

/* layui-table 及所有子元素：透明背景 */
.paipan-tool-frame .app-view .layui-table,
.paipan-tool-frame .app-view .layui-table thead,
.paipan-tool-frame .app-view .layui-table tbody,
.paipan-tool-frame .app-view .layui-table tr,
.paipan-tool-frame .app-view .layui-table td,
.paipan-tool-frame .app-view .layui-table th,
.paipan-tool-frame .app-view .layui-table[lay-even] tbody tr:nth-child(even),
.paipan-tool-frame .app-view .layui-table[lay-even] tbody tr:nth-child(odd) {
  background-color: transparent !important;
  background: transparent !important;
}

/* paipangrid / 大运流年网格：透明背景（覆盖 paipan.css 的 #fff !important） */
.paipan-tool-frame .app-view .paipangrid,
.paipan-tool-frame .app-view .dayun-grid,
.paipan-tool-frame .app-view .liunian-grid,
.paipan-tool-frame .app-view .liunian2-grid,
.paipan-tool-frame .app-view .liuyue-grid,
.paipan-tool-frame .app-view .liuri-grid {
  background-color: transparent !important;
  background: transparent !important;
}

/* 九宫格容器：透明背景（覆盖 qimen.css 的 #FFFFFF） */
.paipan-tool-frame .app-view .qimen-9gong-grid,
.paipan-tool-frame .app-view .qimendunjia-9gong-grid,
.paipan-tool-frame .app-view .x6ren-6gong-grid,
.paipan-tool-frame .app-view .feixing-9gong-grid,
.paipan-tool-frame .app-view .da6ren-9gong-grid {
  background-color: transparent !important;
  background: transparent !important;
}

/* qimen 相关容器：透明背景 */
.paipan-tool-frame .app-view .qimen-bottom-bar,
.paipan-tool-frame .app-view .qimen-gap,
.paipan-tool-frame .app-view .qimen-curpan,
.paipan-tool-frame .app-view .qimen-nextpan,
.paipan-tool-frame .app-view .qimen-custompan,
.paipan-tool-frame .app-view .app-wuxingwangshuai,
.paipan-tool-frame .app-view .app-day-info,
.paipan-tool-frame .app-view .app-button-item,
.paipan-tool-frame .app-view .yizhangjing-card {
  background-color: transparent !important;
  background: transparent !important;
}

/* layui-card / layui-card-body：透明背景（覆盖 paipan.css 残留） */
.paipan-tool-frame .app-view .layui-card,
.paipan-tool-frame .app-view .layui-card-body,
.paipan-tool-frame .app-view .layui-card-header {
  background-color: transparent !important;
  background: transparent !important;
}

/* 所有内联白色背景：透明 */
.paipan-tool-frame .app-view [style*="background-color: #fff"],
.paipan-tool-frame .app-view [style*="background-color:#fff"],
.paipan-tool-frame .app-view [style*="background-color: #ffffff"],
.paipan-tool-frame .app-view [style*="background-color:#ffffff"],
.paipan-tool-frame .app-view [style*="background: #fff"],
.paipan-tool-frame .app-view [style*="background:#fff"],
.paipan-tool-frame .app-view [style*="background: #ffffff"],
.paipan-tool-frame .app-view [style*="background:#ffffff"],
.paipan-tool-frame .app-view [style*="background-color: #FFFFFF"],
.paipan-tool-frame .app-view [style*="background-color:#FFFFFF"] {
  background-color: transparent !important;
  background: transparent !important;
}

/* 紫微斗数命盘容器保留背景（go.js 画布需要） */
.paipan-tool-frame .app-view .zw-pan-container {
  background: #fffdf7 !important;
  background-color: #fffdf7 !important;
}

/* ===== 结果视图显示时，强制隐藏 forms container ===== */
body.lh-hide-site-bottom-nav .paipan-tool-frame .paipan-forms-container {
  display: none !important;
}

/* ===== 终极方案：移除结果视图内所有白色容器的背景、边框、圆角、阴影 ===== */
/* 让排盘内容直接嵌入 paipan-tool-frame 大卡片，不再有嵌套白色子容器 */
body.lh-hide-site-bottom-nav .paipan-tool-frame .app-view .layui-table,
body.lh-hide-site-bottom-nav .paipan-tool-frame .app-view .paipangrid,
body.lh-hide-site-bottom-nav .paipan-tool-frame .app-view .dayun-grid,
body.lh-hide-site-bottom-nav .paipan-tool-frame .app-view .liunian-grid,
body.lh-hide-site-bottom-nav .paipan-tool-frame .app-view .liunian2-grid,
body.lh-hide-site-bottom-nav .paipan-tool-frame .app-view .liuyue-grid,
body.lh-hide-site-bottom-nav .paipan-tool-frame .app-view .liuri-grid,
body.lh-hide-site-bottom-nav .paipan-tool-frame .app-view .app-day-info,
body.lh-hide-site-bottom-nav .paipan-tool-frame .app-view .app-small-card,
body.lh-hide-site-bottom-nav .paipan-tool-frame .app-view .layui-card,
body.lh-hide-site-bottom-nav .paipan-tool-frame .app-view .layui-card-body,
body.lh-hide-site-bottom-nav .paipan-tool-frame .app-view .qimen-bottom-bar,
body.lh-hide-site-bottom-nav .paipan-tool-frame .app-view .yizhangjing-card {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* 紫微斗数命盘容器保留背景（go.js 画布需要） */
body.lh-hide-site-bottom-nav .paipan-tool-frame .app-view .zw-pan-container {
  background: #fffdf7 !important;
  background-color: #fffdf7 !important;
}
