.ziwei-layer-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 10px 0;
}

.ziwei-layer-toolbar button {
  min-width: 58px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--muted);
  padding: 7px 10px;
  font-size: 10px;
}

.ziwei-layer-toolbar button[aria-pressed="true"] {
  border-color: #b79255;
  background: #f6eddd;
  color: #745523;
}

.ziwei-grid-scroll {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-color: #b9c5bf #edf0ec;
}

.ziwei-palace {
  cursor: pointer;
  transition: border-color .16s, box-shadow .16s, background .16s;
}

.ziwei-palace:hover,
.ziwei-palace:focus-visible {
  border-color: #6d9a87;
  outline: 0;
}

.ziwei-palace.is-related {
  border-color: #c99b55;
  background: #fffaf0;
}

.ziwei-palace.is-active {
  border-color: #b34f40;
  background: #fff5f1;
  box-shadow: inset 0 0 0 2px #b34f40;
}

.ziwei-dynamic-stars,
.ziwei-detail-flow {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px dashed #ded9ce;
}

.ziwei-flow-star {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  min-width: 0;
  padding: 2px 4px;
  background: #eef2ef;
  color: #42524e;
  font-size: 9px;
  line-height: 1.35;
}

.ziwei-flow-star em {
  display: inline-grid;
  place-items: center;
  min-width: 14px;
  height: 14px;
  font-style: normal;
  font-size: 8px;
  background: #5f756e;
  color: #fff;
}

.ziwei-flow-decadal { background: #f5ead8; color: #745523; }
.ziwei-flow-decadal em { background: #a57531; }
.ziwei-flow-yearly { background: #e8f2ed; color: #275f4f; }
.ziwei-flow-yearly em { background: #397c68; }
.ziwei-flow-monthly { background: #edf0f7; color: #40577e; }
.ziwei-flow-monthly em { background: #5c76a1; }
.ziwei-flow-daily { background: #f8e9e5; color: #85483d; }
.ziwei-flow-daily em { background: #b45b4b; }
.ziwei-flow-hourly { background: #ece9f3; color: #5d4e77; }
.ziwei-flow-hourly em { background: #796790; }
.ziwei-flow-star[hidden],
.ziwei-palace-detail[hidden] { display: none; }

.ziwei-palace-details { margin-top: 10px; }

.ziwei-palace-detail {
  border-left: 3px solid var(--jade);
  background: #f3f6f3;
  padding: 13px 15px;
}

.ziwei-palace-detail > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.ziwei-palace-detail > header span { font-size: 9px; color: var(--gold); }
.ziwei-palace-detail h4 { margin: 3px 0 0; font: 600 17px var(--serif); }
.ziwei-palace-detail > header em {
  font-style: normal;
  font-size: 9px;
  color: #8a5f25;
  background: #f4e4ca;
  padding: 3px 5px;
}

.ziwei-palace-detail dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 18px;
  margin: 12px 0 0;
}

.ziwei-palace-detail dl div { min-width: 0; }
.ziwei-palace-detail dt { font-size: 9px; color: var(--muted); margin-bottom: 3px; }
.ziwei-palace-detail dd {
  margin: 0;
  font-size: 11px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.ziwei-transform-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.ziwei-transform-grid > div { min-width: 0; }
.ziwei-reading-text .reading-risk-copy { color: #c62828 !important; font-weight: 600; }
.ziwei-reading-section .generated-disclosure,
.ziwei-recommendation-disclaimer { color: #c62828 !important; font-weight: 600; }
.ziwei-reading-section .generated-disclosure b { color: #c62828 !important; }
.ziwei-transform-grid h5 {
  margin: 4px 0 7px;
  font: 600 13px var(--serif);
  color: var(--jade-dark);
}

@media (max-width: 700px) {
  .ziwei-layer-toolbar {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    position: sticky;
    top: -20px;
    z-index: 2;
    background: var(--card);
    padding: 8px 0;
  }

  .ziwei-layer-toolbar button { min-width: 0; padding: 7px 3px; }
  .ziwei-grid { min-width: 720px; grid-template-rows: repeat(4, minmax(128px, auto)); }
  .ziwei-palace { padding: 8px; }
  .ziwei-palace header strong { font-size: 12px; }
  .ziwei-palace header span,
  .ziwei-star { font-size: 10px; }
  .ziwei-palace footer,
  .ziwei-flow-star { font-size: 9px; }
  .ziwei-center b { font-size: 18px; }
  .ziwei-center span { font-size: 10px; }
  .ziwei-palace-detail dl,
  .ziwei-transform-grid { grid-template-columns: 1fr; }
  .ziwei-reading-text { font-size: 15px; line-height: 1.85; }
  .ziwei-reading-text .reading-lead { font-size: 15px; }
}
/* 紫微独立工作台布局修正 */
*{box-sizing:border-box}
html,body{margin:0;min-width:0}
.zw-shell{width:min(1280px,100%);padding:22px clamp(14px,3vw,36px) 48px}
.zw-grid{grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:22px}
.zw-panel,.zw-form,.zw-field,.zw-row{min-width:0}
.zw-field input,.zw-field select,.zw-submit{width:100%;max-width:100%;min-width:0}
.zw-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.zw-row>*{min-width:0}
.zw-region{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border:0;padding:0;margin:0}.zw-region legend{grid-column:1/-1;font-weight:600;padding:0;margin-bottom:2px}.zw-region label{display:grid;gap:5px;font-size:13px}.zw-region select{width:100%;min-width:0;padding:10px 6px;border:1px solid #d8d0c2;border-radius:9px;background:#fff;font:inherit}.zw-region small{grid-column:1/-1}
.zw-time-select{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.zw-time-select select{width:100%;padding:11px;border:1px solid #d8d0c2;border-radius:9px;background:#fff;font:inherit}.zw-time-select span{font-weight:700;color:#756b5f}
.zw-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.zw-summary div,.zw-palaces article{padding:14px;border:1px solid #e8e0d4;border-radius:10px;background:#faf8f3}.zw-summary b{display:block;color:#756b5f;font-size:13px}.zw-summary strong{display:block;margin-top:5px}.zw-palaces{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.zw-palaces p{margin:8px 0}.zw-palaces small{color:#756b5f}@media(max-width:700px){.zw-palaces{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.zw-grid{grid-template-columns:1fr}.zw-shell{padding:14px 12px 32px}}

/* 与八字工作台一致：先展示每章首段，详细依据按需展开。 */
.ziwei-reading-text .reading-fold{margin:14px 0;border:1px solid #dfe6d7;border-radius:10px;background:#f8faf5}
.ziwei-reading-text .reading-fold summary{cursor:pointer;list-style:none;padding:10px 13px;color:var(--jade);font-size:11px}
.ziwei-reading-text .reading-fold summary::-webkit-details-marker{display:none}
.ziwei-reading-text .reading-fold summary::after{content:'＋';float:right}
.ziwei-reading-text .reading-fold[open] summary::after{content:'−'}
.ziwei-reading-text .reading-fold>*:not(summary){margin-left:13px;margin-right:13px}
.ziwei-reading-text .reading-fold[open]{padding-bottom:8px}
.ziwei-ai-choice .ai-request-footer{display:flex;justify-content:space-between;align-items:center;gap:26px;border-top:1px solid var(--line);padding-top:18px;margin-top:16px}
.ziwei-ai-choice .ai-request-footer>div{min-width:0;max-width:780px}
.ziwei-ai-choice .ai-request-footer>.btn{flex-shrink:0;min-width:210px;margin-top:0}
.ziwei-ai-choice .ai-meta{margin:0;color:var(--muted);font-size:11px;line-height:1.6}
.ziwei-ai-choice .reading-progress{margin:5px 0 0;font-size:11px;line-height:1.6}
@media(max-width:700px){.ziwei-ai-choice .ai-request-footer{align-items:stretch;flex-direction:column;gap:15px}.ziwei-ai-choice .ai-request-footer>.btn{width:100%;min-height:48px}}
