.harmony-profile-entry {
  margin: 14px 0 18px;
  padding: 9px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  border: 1px solid rgba(120, 92, 114, .12);
  border-radius: 24px;
  background:
    radial-gradient(circle at 92% 10%, rgba(175, 221, 205, .28), transparent 32%),
    linear-gradient(135deg, #fff9f7, #f7f3f8);
  box-shadow: 0 12px 30px rgba(74, 51, 62, .07);
}

.harmony-profile-entry button {
  border: 0;
  font: inherit;
}

.harmony-profile-main {
  min-width: 0;
  padding: 9px 10px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  text-align: left;
  color: #3f3036;
  background: transparent;
}

.harmony-entry-mark,
.harmony-home-symbol {
  display: grid;
  place-items: center;
  color: #fff;
  font-family: serif;
  font-weight: 700;
  background: linear-gradient(145deg, #947083, #4f6f6c);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .32);
}

.harmony-entry-mark {
  width: 48px;
  height: 48px;
  border-radius: 17px;
  font-size: 21px;
}

.harmony-profile-main span:nth-child(2) {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.harmony-profile-main small,
.harmony-head small,
.harmony-start-card small,
.harmony-agreement-saved > small,
.harmony-home-card small {
  color: #9d7183;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
}

.harmony-profile-main strong {
  font-size: 18px;
}

.harmony-profile-main em,
.harmony-home-card em {
  overflow: hidden;
  color: #846f78;
  font-size: 12px;
  font-style: normal;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.harmony-profile-main b {
  color: #9d8a92;
  font-size: 26px;
  font-weight: 400;
}

.harmony-quick-pause {
  align-self: stretch;
  padding: 0 13px;
  border-radius: 16px;
  color: #6a5961;
  background: rgba(255, 255, 255, .8);
  box-shadow: inset 0 0 0 1px rgba(118, 94, 105, .12);
  font-size: 12px;
  font-weight: 700;
}

.harmony-home-status {
  margin-top: 16px;
}

.harmony-home-card {
  width: 100%;
  padding: 16px;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 12px;
  position: relative;
  border: 1px solid rgba(124, 90, 106, .14);
  border-radius: 22px;
  text-align: left;
  color: #44333a;
  background:
    radial-gradient(circle at 95% 5%, rgba(191, 224, 211, .45), transparent 37%),
    linear-gradient(135deg, #fff8f5, #f5f1f6);
  box-shadow: 0 12px 26px rgba(77, 50, 63, .07);
}

.harmony-home-symbol {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  font-size: 19px;
}

.harmony-home-card > span:nth-child(2) {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.harmony-home-card strong {
  padding-right: 82px;
  font-size: 15px;
  line-height: 1.4;
}

.harmony-home-card b {
  position: absolute;
  right: 15px;
  top: 18px;
  color: #8c6677;
  font-size: 11px;
}

.harmony-sheet {
  width: min(620px, calc(100vw - 16px));
  max-height: min(92dvh, 900px);
  padding: 0;
  border: 0;
  border-radius: 28px 28px 18px 18px;
  color: #3f3137;
  background: #fbf8f7;
}

.harmony-sheet::backdrop {
  background: rgba(39, 27, 33, .48);
  backdrop-filter: blur(4px);
}

.harmony-shell {
  max-height: min(92dvh, 900px);
  padding: 10px 16px 26px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.harmony-head {
  padding: 6px 2px 12px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.harmony-head h2 {
  margin: 3px 0 1px;
  font-family: serif;
  font-size: 29px;
  letter-spacing: .08em;
}

.harmony-head p {
  margin: 0;
  color: #8b747e;
  font-size: 12px;
}

.harmony-head > button {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border: 0;
  border-radius: 14px;
  color: #6f5963;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(99, 77, 87, .1);
  font-size: 23px;
}

.harmony-principle {
  padding: 13px 14px;
  display: flex;
  gap: 11px;
  border: 1px solid rgba(109, 139, 129, .15);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(229, 241, 235, .76), rgba(252, 249, 247, .86));
}

.harmony-principle > span {
  width: 31px;
  height: 31px;
  display: grid;
  flex: 0 0 31px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #63847d;
  font-size: 18px;
}

.harmony-principle p {
  margin: 0;
  color: #665b5f;
  font-size: 12px;
  line-height: 1.65;
}

.harmony-principle strong {
  color: #3f3a3b;
}

.harmony-top-actions {
  margin: 12px 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.harmony-top-actions button {
  min-width: 0;
  padding: 12px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 0 8px;
  border: 0;
  border-radius: 17px;
  text-align: left;
  color: #493b41;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(97, 73, 83, .1);
}

.harmony-top-actions span {
  grid-row: 1 / 3;
  align-self: center;
  font-size: 21px;
}

.harmony-top-actions strong {
  font-size: 13px;
}

.harmony-top-actions small {
  overflow: hidden;
  color: #9b8790;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.harmony-start-card,
.harmony-waiting,
.harmony-entry-form,
.harmony-reveal,
.harmony-summary,
.harmony-agreement,
.harmony-agreement-saved,
.harmony-pause-composer,
.harmony-active-pause,
.harmony-needs-space {
  margin-top: 12px;
  padding: 16px;
  border: 1px solid rgba(105, 78, 91, .1);
  border-radius: 21px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 8px 22px rgba(72, 51, 61, .045);
}

.harmony-start-card {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 15px;
}

.harmony-start-card > div {
  min-width: 0;
}

.harmony-start-card strong {
  margin: 4px 0;
  display: block;
  font-size: 16px;
}

.harmony-start-card p {
  margin: 0;
  color: #87747c;
  font-size: 12px;
  line-height: 1.55;
}

.harmony-start-card > button {
  flex: 0 0 auto;
  padding: 11px 13px;
  border: 0;
  border-radius: 14px;
  font-size: 12px;
}

.harmony-step-label {
  margin-bottom: 13px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.harmony-step-label > span {
  width: 34px;
  height: 34px;
  display: grid;
  flex: 0 0 34px;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(145deg, #8f697a, #637f79);
  font-size: 11px;
  font-weight: 800;
}

.harmony-step-label > div {
  display: grid;
  gap: 2px;
}

.harmony-step-label strong {
  font-size: 15px;
}

.harmony-step-label small {
  color: #8b7b82;
  font-size: 11px;
  line-height: 1.4;
}

.harmony-entry-form label,
.harmony-pause-composer label {
  margin-top: 10px;
  display: grid;
  gap: 6px;
  color: #6e5962;
  font-size: 12px;
  font-weight: 700;
}

.harmony-entry-form textarea,
.harmony-pause-composer textarea,
.harmony-agreement textarea,
.harmony-custom-time input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(93, 73, 82, .13);
  border-radius: 15px;
  outline: 0;
  color: #40343a;
  background: #faf8f8;
  font: inherit;
}

.harmony-entry-form textarea {
  min-height: 82px;
  padding: 11px 12px;
  resize: vertical;
}

.harmony-entry-form textarea:focus,
.harmony-pause-composer textarea:focus,
.harmony-agreement textarea:focus,
.harmony-custom-time input:focus {
  border-color: rgba(111, 128, 121, .55);
  box-shadow: 0 0 0 3px rgba(130, 163, 151, .1);
}

.harmony-entry-form > button {
  margin-top: 13px;
  border: 0;
  border-radius: 15px;
}

.harmony-private-note {
  margin: 9px 0 0;
  color: #9a8990;
  text-align: center;
  font-size: 10px;
}

.harmony-waiting {
  padding: 28px 20px;
  text-align: center;
}

.harmony-waiting-rings {
  width: 58px;
  height: 38px;
  margin: 0 auto 13px;
  display: block;
  position: relative;
}

.harmony-waiting-rings i {
  width: 35px;
  height: 35px;
  position: absolute;
  border: 2px solid #9b7a89;
  border-radius: 50%;
}

.harmony-waiting-rings i:first-child { left: 0; }
.harmony-waiting-rings i:last-child { right: 0; border-color: #6e8c84; }

.harmony-waiting small {
  display: block;
  color: #9b7787;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
}

.harmony-waiting strong {
  margin: 5px 0;
  display: block;
  font-size: 17px;
}

.harmony-waiting p {
  max-width: 400px;
  margin: 0 auto 12px;
  color: #87757d;
  font-size: 12px;
  line-height: 1.65;
}

.harmony-waiting button,
.harmony-history-load,
.harmony-archive {
  border: 0;
  color: #7a5f6c;
  background: transparent;
  font-size: 11px;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.harmony-entry-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.harmony-entry-card {
  overflow: hidden;
  border: 1px solid rgba(102, 77, 89, .1);
  border-radius: 18px;
  background: #faf7f8;
}

.harmony-entry-card.partner {
  background: #f5f9f7;
}

.harmony-entry-card header {
  padding: 11px 12px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  background: rgba(145, 101, 121, .07);
}

.harmony-entry-card.partner header {
  background: rgba(101, 137, 126, .08);
}

.harmony-entry-card header small {
  color: #9a7f8b;
  font-size: 9px;
}

.harmony-entry-card header strong {
  font-size: 13px;
}

.harmony-entry-card dl {
  margin: 0;
  padding: 4px 12px 10px;
}

.harmony-entry-card dl > div {
  padding: 9px 0;
  border-bottom: 1px dashed rgba(99, 77, 86, .1);
}

.harmony-entry-card dl > div:last-child {
  border-bottom: 0;
}

.harmony-entry-card dt {
  margin-bottom: 4px;
  color: #9d7889;
  font-size: 9px;
  font-weight: 800;
}

.harmony-entry-card dd {
  margin: 0;
  color: #55474d;
  font-size: 12px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.harmony-ai-organize {
  width: 100%;
  padding: 13px;
  border: 0;
  border-radius: 15px;
  color: #fff;
  background: linear-gradient(135deg, #706de2, #8b518e);
  box-shadow: 0 9px 18px rgba(105, 76, 140, .18);
  font-weight: 800;
}

.harmony-ai-progress,
.harmony-summary-result {
  padding: 13px;
  border-radius: 15px;
  color: #5d4f55;
  background: linear-gradient(145deg, #f6f0f7, #f1f6f3);
  font-size: 12px;
  line-height: 1.7;
  white-space: pre-wrap;
}

.harmony-ai-progress:not([hidden]) {
  margin-top: 10px;
  display: block;
}

.harmony-summary.compact {
  padding: 13px 16px;
}

.harmony-summary.compact small {
  display: block;
  margin-bottom: 7px;
  color: #9a7787;
  font-weight: 800;
}

.harmony-summary.compact div {
  color: #76666d;
  font-size: 11px;
  line-height: 1.6;
}

.harmony-agreement textarea {
  min-height: 95px;
  padding: 12px;
  resize: vertical;
}

.harmony-agreement > button {
  margin-top: 10px;
  border: 0;
  border-radius: 15px;
}

.harmony-agreement-saved {
  text-align: center;
  background:
    radial-gradient(circle at 50% 0, rgba(177, 217, 202, .3), transparent 45%),
    #fff;
}

.harmony-agreement-saved blockquote {
  margin: 8px 0 11px;
  padding: 17px;
  border: 0;
  border-radius: 17px;
  color: #40363a;
  background: rgba(248, 244, 245, .86);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}

.harmony-agreement-saved p {
  color: #806f76;
  font-size: 12px;
}

.harmony-followup-actions {
  display: grid;
  gap: 8px;
}

.harmony-followup-actions button {
  padding: 12px;
  border: 1px solid rgba(103, 77, 89, .1);
  border-radius: 14px;
  color: #594950;
  background: #fff;
  font-weight: 700;
}

.harmony-active-pause {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 11px;
  background:
    radial-gradient(circle at 100% 0, rgba(242, 206, 179, .25), transparent 42%),
    #fff;
}

.harmony-pause-clock {
  width: 42px;
  height: 42px;
  display: grid;
  grid-row: 1 / 3;
  place-items: center;
  border-radius: 15px;
  background: #fff3e9;
  font-size: 20px;
}

.harmony-active-pause small {
  color: #a77a66;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
}

.harmony-active-pause strong {
  display: block;
  font-size: 15px;
}

.harmony-active-pause p {
  margin: 4px 0 0;
  color: #806e75;
  font-size: 12px;
  line-height: 1.55;
}

.harmony-active-pause > button {
  grid-column: 2;
  justify-self: start;
  padding: 7px 11px;
  border: 0;
  border-radius: 11px;
  color: #725849;
  background: #fff2e7;
  font-size: 11px;
  font-weight: 700;
}

.harmony-pause-options {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}

.harmony-pause-options button {
  padding: 10px 4px;
  border: 1px solid rgba(109, 78, 92, .1);
  border-radius: 13px;
  color: #604d56;
  background: #faf7f8;
  font-size: 11px;
  font-weight: 700;
}

.harmony-pause-composer textarea {
  min-height: 68px;
  padding: 10px;
}

.harmony-custom-time input {
  height: 44px;
  padding: 0 10px;
}

.harmony-inline-actions {
  margin-top: 12px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.harmony-inline-actions button {
  padding: 10px 12px;
  border: 0;
  border-radius: 13px;
  color: #6e5a63;
  background: #f3eef0;
  font-size: 11px;
  font-weight: 700;
}

.harmony-inline-actions .primary {
  color: #fff;
  background: linear-gradient(135deg, #8d6879, #607f78);
}

.harmony-history-load {
  width: 100%;
  margin-top: 15px;
  padding: 9px;
}

.harmony-history {
  margin-top: 14px;
  border-top: 1px solid rgba(92, 70, 79, .1);
}

.harmony-history summary {
  padding: 14px 2px 10px;
  color: #6c5961;
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
  list-style: none;
}

.harmony-history summary span {
  padding: 2px 7px;
  border-radius: 999px;
  background: #efe8eb;
  font-size: 9px;
}

.harmony-history-list {
  display: grid;
  gap: 8px;
}

.harmony-history-list article {
  padding: 12px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  border-radius: 15px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(93, 72, 81, .08);
}

.harmony-history-list article > div {
  min-width: 0;
}

.harmony-history-list small {
  display: block;
  color: #9f8791;
  font-size: 9px;
}

.harmony-history-list strong {
  display: block;
  overflow: hidden;
  margin-top: 3px;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.harmony-history-list p {
  overflow: hidden;
  margin: 4px 0 0;
  color: #87757d;
  font-size: 10px;
  line-height: 1.5;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.harmony-history-list article > span {
  flex: 0 0 auto;
  padding: 5px 8px;
  border-radius: 999px;
  color: #607a73;
  background: #edf5f1;
  font-size: 9px;
  font-weight: 800;
}

.harmony-empty-history {
  color: #98858d;
  text-align: center;
  font-size: 11px;
}

.harmony-archive {
  width: 100%;
  padding: 12px;
  color: #a08b94;
}

.harmony-needs-space {
  padding: 30px 18px;
  display: grid;
  justify-items: center;
  text-align: center;
}

.harmony-needs-space > span {
  font-size: 29px;
}

.harmony-needs-space strong {
  margin-top: 8px;
}

.harmony-needs-space p {
  max-width: 360px;
  margin: 6px 0 14px;
  color: #88757d;
  font-size: 12px;
  line-height: 1.6;
}

.harmony-needs-space button {
  border: 0;
  border-radius: 14px;
}

.harmony-loading {
  padding: 42px 0;
  display: grid;
  justify-items: center;
  color: #8b767f;
  font-size: 12px;
}

.harmony-loading i {
  width: 28px;
  height: 28px;
  border: 2px solid rgba(107, 85, 94, .16);
  border-top-color: #886777;
  border-radius: 50%;
  animation: harmony-spin .8s linear infinite;
}

.harmony-sheet.is-saving {
  cursor: progress;
}

.harmony-sheet.is-saving button {
  pointer-events: none;
}

.harmony-ai-suggestion {
  margin: 0 14px 10px;
  padding: 10px 11px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  position: relative;
  border: 1px solid rgba(112, 84, 97, .13);
  border-radius: 17px;
  background: linear-gradient(135deg, #fff8f5, #edf5f1);
  box-shadow: 0 8px 18px rgba(67, 47, 56, .09);
}

.harmony-ai-suggestion[hidden] {
  display: none;
}

.harmony-ai-suggestion > span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(145deg, #927082, #5e7b75);
  font-family: serif;
  font-weight: 700;
}

.harmony-ai-suggestion strong {
  display: block;
  font-size: 12px;
}

.harmony-ai-suggestion p {
  margin: 2px 0 0;
  color: #806e76;
  font-size: 10px;
}

.harmony-ai-suggestion > button:last-child {
  padding: 7px 10px;
  border: 0;
  border-radius: 11px;
  color: #fff;
  background: #755b68;
  font-size: 10px;
  font-weight: 800;
}

.harmony-ai-dismiss {
  position: absolute;
  right: 4px;
  top: -8px;
  border: 0;
  color: #937d87;
  background: transparent;
}

@keyframes harmony-spin {
  to { transform: rotate(360deg); }
}

@media (max-width: 520px) {
  .harmony-sheet {
    width: 100vw;
    max-height: 94dvh;
    margin: auto 0 0;
    border-radius: 28px 28px 0 0;
  }

  .harmony-shell {
    max-height: 94dvh;
    padding-inline: 14px;
    padding-bottom: calc(25px + env(safe-area-inset-bottom));
  }

  .harmony-profile-entry {
    grid-template-columns: minmax(0, 1fr) 78px;
  }

  .harmony-entry-grid {
    grid-template-columns: 1fr;
  }

  .harmony-start-card {
    display: grid;
  }

  .harmony-start-card > button {
    width: 100%;
  }

  .harmony-pause-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* 独立页面与回忆页入口 */
.harmony-memory-entry {
  margin: 14px 0 20px;
  padding: 9px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  border: 1px solid rgba(120, 92, 114, .12);
  border-radius: 23px;
  background: radial-gradient(circle at 92% 10%, rgba(175, 221, 205, .3), transparent 34%), linear-gradient(135deg, #fff9f7, #f7f3f8);
  box-shadow: 0 10px 25px rgba(74, 51, 62, .065);
}
.harmony-memory-entry button { border: 0; font: inherit; }
.harmony-memory-entry > button:first-child {
  min-width: 0;
  padding: 8px 9px;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  text-align: left;
  color: #3f3036;
  background: transparent;
}
.harmony-memory-entry > button:first-child > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.harmony-memory-entry small { color: #9d7183; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.harmony-memory-entry strong { font-size: 17px; }
.harmony-memory-entry em { overflow: hidden; color: #846f78; font-size: 11px; font-style: normal; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.harmony-memory-entry b { color: #9d8a92; font-size: 25px; font-weight: 400; }
.harmony-memory-entry > button:last-child {
  align-self: stretch;
  padding: 0 13px;
  border-radius: 15px;
  color: #6a5961;
  background: rgba(255, 255, 255, .82);
  box-shadow: inset 0 0 0 1px rgba(118, 94, 105, .12);
  font-size: 11px;
  font-weight: 700;
}
.harmony-view { padding-bottom: 110px; }
.harmony-view .harmony-shell { max-height: none; padding: 0 0 28px; overflow: visible; }
.harmony-view .harmony-head {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: start;
  justify-content: initial;
  gap: 11px;
  margin-bottom: 12px;
  padding: 0;
}
.harmony-view .harmony-head > button { grid-column: 1; grid-row: 1; }
.harmony-view .harmony-head > div { grid-column: 2; min-width: 0; }
.harmony-view .harmony-head h2 { margin-top: 2px; font-size: 26px; }
.harmony-load-state {
  margin-top: 12px;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid rgba(105, 78, 91, .1);
  border-radius: 19px;
  background: #fff;
}
.harmony-load-state .harmony-loading { padding: 0; display: flex; align-items: center; justify-items: initial; gap: 11px; text-align: left; }
.harmony-load-state .harmony-loading i { flex: 0 0 28px; }
.harmony-load-state .harmony-loading strong { display: block; color: #4f4147; font-size: 13px; }
.harmony-load-state .harmony-loading p { margin: 3px 0 0; color: #907c85; font-size: 10px; }
.harmony-load-state > button { flex: 0 0 auto; padding: 8px 10px; border: 0; border-radius: 12px; color: #6f5662; background: #f4edef; font-size: 10px; font-weight: 800; }
@media (max-width: 520px) {
  .harmony-view .harmony-shell { max-height: none; padding-inline: 0; padding-bottom: calc(28px + env(safe-area-inset-bottom)); }
  .harmony-memory-entry { grid-template-columns: minmax(0, 1fr) 76px; }
}
/* 三句话与以往记录均使用独立窗口，避开主页面的实时刷新区域 */
.harmony-entry-sheet,
.harmony-history-sheet { width: min(560px, calc(100vw - 20px)); max-height: min(88dvh, 760px); margin: auto; padding: 0; border: 0; border-radius: 28px; color: #44363c; background: #fffaf8; box-shadow: 0 28px 80px rgba(49, 34, 41, .28); }
.harmony-entry-dialog-body,
.harmony-history-dialog-body { max-height: min(88dvh, 760px); padding: 22px; overflow: auto; overscroll-behavior: contain; }
.harmony-entry-dialog-head,
.harmony-history-dialog-head { margin-bottom: 16px; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.harmony-entry-dialog-head small,
.harmony-history-dialog-head small { color: #a47084; font-size: 9px; font-weight: 900; letter-spacing: .14em; }
.harmony-entry-dialog-head h2,
.harmony-history-dialog-head h2 { margin: 3px 0 4px; font-family: serif; font-size: 25px; }
.harmony-entry-dialog-head p,
.harmony-history-dialog-head p { margin: 0; color: #8c7780; font-size: 11px; line-height: 1.55; }
.harmony-entry-dialog-head > button,
.harmony-history-dialog-head > button { flex: 0 0 36px; width: 36px; height: 36px; border: 0; border-radius: 50%; color: #806a74; background: #f5ecef; font-size: 20px; }
.harmony-entry-sheet .harmony-entry-form { margin: 0; padding: 15px; border: 1px solid rgba(119, 89, 103, .1); border-radius: 20px; background: #fff; box-shadow: none; }
.harmony-response-needed { padding: 17px; display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 12px; border: 1px solid rgba(141, 101, 119, .13); border-radius: 22px; background: linear-gradient(135deg, #fff, #faf3f5); }
.harmony-response-needed > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 14px; color: #fff; background: linear-gradient(145deg, #a7798e, #6b5360); font-size: 21px; }
.harmony-response-needed small,
.harmony-response-needed strong { display: block; }
.harmony-response-needed small { color: #a47789; font-size: 9px; font-weight: 800; }
.harmony-response-needed strong { margin-top: 3px; font-size: 14px; }
.harmony-response-needed p { margin: 4px 0 0; color: #8b777f; font-size: 10px; line-height: 1.5; }
.harmony-response-needed > button { padding: 10px 12px; border: 0; border-radius: 13px; white-space: nowrap; }
.harmony-history-launch { width: 100%; margin-top: 12px; padding: 14px; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 11px; border: 1px solid rgba(108, 84, 95, .1); border-radius: 19px; color: #493b41; text-align: left; background: linear-gradient(135deg, #fff, #f8f3f5); }
.harmony-history-launch > span:first-child { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 13px; color: #6a7c76; background: #eaf3ef; font-size: 20px; }
.harmony-history-launch > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.harmony-history-launch small { color: #a27789; font-size: 8px; font-weight: 900; letter-spacing: .12em; }
.harmony-history-launch strong { font-size: 13px; }
.harmony-history-launch em { color: #927e87; font-size: 9px; font-style: normal; }
.harmony-history-launch b { color: #a18d95; font-size: 22px; font-weight: 400; }
.harmony-history-dialog-list { max-height: calc(88dvh - 125px); padding: 2px; overflow: auto; }
.harmony-history-dialog-state { min-height: 180px; display: grid; place-items: center; align-content: center; gap: 10px; color: #806d76; text-align: center; }
.harmony-history-dialog-state i { width: 28px; height: 28px; border: 2px solid rgba(107, 85, 94, .16); border-top-color: #886777; border-radius: 50%; animation: harmony-spin .8s linear infinite; }
.harmony-history-dialog-state p { margin: 0; color: #9a858e; font-size: 11px; }
.harmony-history-dialog-state button { padding: 9px 13px; border: 0; border-radius: 12px; color: #fff; background: #765b68; }
@media (max-width: 520px) {
  .harmony-entry-sheet,
  .harmony-history-sheet { width: 100vw; max-height: 92dvh; margin: auto 0 0; border-radius: 28px 28px 0 0; }
  .harmony-entry-dialog-body,
  .harmony-history-dialog-body { max-height: 92dvh; padding: 18px 14px calc(20px + env(safe-area-inset-bottom)); }
  .harmony-response-needed { grid-template-columns: 36px minmax(0, 1fr); }
  .harmony-response-needed > button { grid-column: 1 / -1; width: 100%; }
}

/* 手机端和鸣表单与历史使用全宽底部弹窗，高度随内容变化 */
@media (max-width: 699px) {
  .harmony-entry-sheet,
  .harmony-history-sheet {
    box-sizing: border-box;
    width: 100vw;
    max-width: none;
    height: auto;
    max-height: 92dvh;
    margin: auto 0 0;
    border-radius: 28px 28px 0 0;
  }
  .harmony-entry-dialog-body,
  .harmony-history-dialog-body {
    box-sizing: border-box;
    width: 100%;
    height: auto;
    max-height: 92dvh;
    padding: 18px 16px max(20px, env(safe-area-inset-bottom));
    display: block;
    overflow: auto;
  }
  .harmony-history-dialog-list {
    max-height: calc(92dvh - 135px);
    overflow: auto;
  }
  .harmony-history-dialog-state { min-height: min(240px, 46dvh); }
}
/* 和鸣独立暂停窗口 */
.harmony-pause-sheet {
  width: min(560px, calc(100vw - 20px));
  max-height: min(90dvh, 780px);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 28px;
  color: #44363c;
  background: #fffaf8;
  box-shadow: 0 28px 80px rgba(49, 34, 41, .28);
}
.harmony-pause-dialog-body {
  max-height: min(90dvh, 780px);
  padding: 22px;
  overflow: auto;
  overscroll-behavior: contain;
}
.harmony-pause-dialog-head { margin-bottom: 13px; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.harmony-pause-dialog-head small { color: #7f9189; font-size: 9px; font-weight: 900; letter-spacing: .14em; }
.harmony-pause-dialog-head h2 { margin: 3px 0 4px; font-family: serif; font-size: 25px; }
.harmony-pause-dialog-head p { max-width: 400px; margin: 0; color: #8c7780; font-size: 11px; line-height: 1.55; }
.harmony-pause-dialog-head > button { flex: 0 0 36px; width: 36px; height: 36px; border: 0; border-radius: 50%; color: #806a74; background: #f5ecef; font-size: 20px; }
.harmony-pause-guide { margin-bottom: 13px; padding: 11px 12px; display: flex; align-items: center; gap: 10px; border: 1px solid rgba(94, 128, 115, .12); border-radius: 16px; background: linear-gradient(135deg, #f3faf7, #fff); }
.harmony-pause-guide > span { flex: 0 0 32px; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 11px; background: #e2f2eb; }
.harmony-pause-guide p { margin: 0; color: #728078; font-size: 10px; line-height: 1.5; }
.harmony-pause-guide strong { color: #53645d; }
.harmony-pause-dialog-section { margin-top: 11px; padding: 13px; border: 1px solid rgba(112, 85, 98, .09); border-radius: 18px; background: #fff; }
.harmony-pause-section-title { margin-bottom: 10px; display: flex; align-items: center; gap: 9px; }
.harmony-pause-section-title > span { flex: 0 0 25px; width: 25px; height: 25px; display: grid; place-items: center; border-radius: 9px; color: #fff; background: linear-gradient(145deg, #829c91, #647d72); font-size: 10px; font-weight: 900; }
.harmony-pause-section-title strong,
.harmony-pause-section-title small { display: block; }
.harmony-pause-section-title strong { font-size: 12px; }
.harmony-pause-section-title small { margin-top: 2px; color: #9b8990; font-size: 8px; }
.harmony-pause-need-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.harmony-pause-need-grid button { min-width: 0; padding: 9px 10px; display: grid; grid-template-columns: 27px minmax(0, 1fr); column-gap: 7px; align-items: center; border: 1px solid #eee3e6; border-radius: 13px; color: #5f5056; text-align: left; background: #fcf9fa; }
.harmony-pause-need-grid button > span { grid-row: 1 / 3; font-size: 18px; }
.harmony-pause-need-grid button strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.harmony-pause-need-grid button small { overflow: hidden; color: #9a8990; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.harmony-pause-need-grid button.selected { border-color: #8aa99c; background: #edf7f2; box-shadow: 0 0 0 2px rgba(115, 157, 139, .09); }
.harmony-pause-time-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.harmony-pause-time-grid button { min-width: 0; padding: 9px 5px; border: 1px solid #eee2e5; border-radius: 11px; color: #76636b; background: #fbf7f8; font-size: 9px; font-weight: 800; }
.harmony-pause-time-grid button.selected { border-color: #8ba99d; color: #4e6e61; background: #eaf5f0; }
.harmony-pause-custom-time { margin: 9px 0 0 !important; color: #7b6971 !important; font-size: 9px !important; }
.harmony-pause-custom-time input { margin-top: 5px !important; padding: 10px 11px !important; }
.harmony-pause-message-templates { margin-bottom: 8px; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.harmony-pause-message-templates::-webkit-scrollbar { display: none; }
.harmony-pause-message-templates button { flex: 0 0 auto; padding: 7px 9px; border: 0; border-radius: 999px; color: #7b5f6c; background: #f7ecef; font-size: 8px; font-weight: 800; }
.harmony-pause-dialog-section > textarea { box-sizing: border-box; width: 100%; min-height: 72px; margin: 0; padding: 11px 12px; border: 1px solid #eadde1; border-radius: 13px; color: #514147; background: #fffaf9; font-size: 10px; line-height: 1.55; resize: vertical; outline: none; }
.harmony-pause-dialog-section > textarea:focus { border-color: #91aa9f; box-shadow: 0 0 0 3px rgba(123, 158, 143, .1); }
.harmony-pause-dialog-actions { margin-top: 13px; display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 8px; }
.harmony-pause-dialog-actions button { min-height: 43px; border: 0; border-radius: 14px; color: #7f6b73; background: #f1eaec; font-size: 10px; font-weight: 900; }
.harmony-pause-dialog-actions button.primary { color: #fff; background: linear-gradient(135deg, #759487, #5d796d); }
@media (max-width: 699px) {
  .harmony-pause-sheet { box-sizing: border-box; width: 100vw; max-width: none; height: auto; max-height: 92dvh; margin: auto 0 0; border-radius: 28px 28px 0 0; }
  .harmony-pause-dialog-body { box-sizing: border-box; width: 100%; height: auto; max-height: 92dvh; padding: 18px 16px max(20px, env(safe-area-inset-bottom)); }
}
@media (max-width: 390px) {
  .harmony-pause-time-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* 和鸣轻量修复工具 */
.harmony-toolbox { margin: 12px 0; padding: 15px; border: 1px solid rgba(101, 80, 90, .1); border-radius: 21px; background: linear-gradient(145deg, #fff, #f7faf8); }
.harmony-toolbox header small { color: #789187; font-size: 8px; font-weight: 900; letter-spacing: .13em; }
.harmony-toolbox header strong { display: block; margin-top: 3px; font-size: 13px; }
.harmony-toolbox header p { margin: 4px 0 11px; color: #917f87; font-size: 9px; line-height: 1.5; }
.harmony-toolbox > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.harmony-toolbox > div > button { min-width: 0; padding: 12px; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; grid-template-rows: auto auto; align-items: center; column-gap: 9px; border: 1px solid #ece3e6; border-radius: 15px; color: #4d4045; text-align: left; background: #fff; }
.harmony-toolbox > div > button > span { grid-row: 1 / 3; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; background: #f4edef; font-size: 17px; }
.harmony-toolbox > div > button:nth-child(2) > span { background: #eaf4ef; }
.harmony-toolbox > div > button strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.harmony-toolbox > div > button small { overflow: hidden; color: #98868d; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.harmony-toolbox > div > button b { grid-column: 3; grid-row: 1 / 3; color: #b29fa7; font-size: 19px; font-weight: 400; }
.harmony-signal-card { margin: 12px 0; padding: 14px; display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 11px; border: 1px solid rgba(171, 105, 135, .16); border-radius: 20px; background: linear-gradient(135deg, #fff5f8, #fff); box-shadow: 0 8px 20px rgba(97, 67, 80, .06); }
.harmony-signal-card.received { border-color: rgba(99, 147, 128, .18); background: linear-gradient(135deg, #f0faf5, #fff); }
.harmony-signal-card > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px; background: rgba(255, 255, 255, .9); font-size: 21px; }
.harmony-signal-card small,
.harmony-signal-card strong { display: block; }
.harmony-signal-card small { color: #a7798c; font-size: 8px; font-weight: 800; }
.harmony-signal-card strong { margin-top: 3px; font-size: 13px; }
.harmony-signal-card p { margin: 4px 0 0; color: #88747d; font-size: 9px; line-height: 1.5; }
.harmony-signal-card-actions { display: grid; gap: 5px; }
.harmony-signal-card-actions button { padding: 7px 9px; border: 0; border-radius: 10px; color: #7c6971; background: #f1eaec; font-size: 8px; font-weight: 900; }
.harmony-signal-card-actions button.primary { color: #fff; background: #6d8d80; }
.harmony-signal-sheet,
.harmony-listen-sheet { width: min(560px, calc(100vw - 20px)); max-height: min(90dvh, 760px); margin: auto; padding: 0; border: 0; border-radius: 28px; color: #44363c; background: #fffaf8; box-shadow: 0 28px 80px rgba(49, 34, 41, .28); }
.harmony-signal-dialog-body,
.harmony-listen-dialog-body { max-height: min(90dvh, 760px); padding: 22px; overflow: auto; overscroll-behavior: contain; }
.harmony-tool-dialog-head { margin-bottom: 14px; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.harmony-tool-dialog-head small { color: #8a7880; font-size: 9px; font-weight: 900; letter-spacing: .14em; }
.harmony-tool-dialog-head h2 { margin: 3px 0 4px; font-family: serif; font-size: 25px; }
.harmony-tool-dialog-head p { margin: 0; color: #8c7780; font-size: 11px; line-height: 1.55; }
.harmony-tool-dialog-head > button { flex: 0 0 36px; width: 36px; height: 36px; border: 0; border-radius: 50%; color: #806a74; background: #f5ecef; font-size: 20px; }
.harmony-signal-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.harmony-signal-options button { min-width: 0; padding: 12px; display: grid; grid-template-columns: 33px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 9px; align-items: center; border: 1px solid #ebdfe3; border-radius: 15px; color: #534349; text-align: left; background: #fff; }
.harmony-signal-options button > span { grid-row: 1 / 3; font-size: 21px; }
.harmony-signal-options strong { font-size: 10px; }
.harmony-signal-options small { overflow: hidden; color: #99868e; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.harmony-signal-options button.selected { border-color: #d58aa4; background: #fff1f5; box-shadow: 0 0 0 2px rgba(213, 138, 164, .08); }
.harmony-signal-preview { margin: 9px 2px 12px; color: #937f87; font-size: 9px; text-align: center; }
.harmony-signal-note { display: block; color: #746068; font-size: 9px; font-weight: 800; }
.harmony-signal-note textarea { box-sizing: border-box; width: 100%; min-height: 78px; margin-top: 6px; padding: 11px 12px; border: 1px solid #e8dce0; border-radius: 13px; color: #514147; background: #fff; font-size: 10px; line-height: 1.55; outline: none; resize: vertical; }
.harmony-signal-note textarea:focus { border-color: #d48ba3; box-shadow: 0 0 0 3px rgba(212, 139, 163, .1); }
.harmony-tool-dialog-actions { margin-top: 13px; display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 8px; }
.harmony-tool-dialog-actions button { min-height: 43px; border: 0; border-radius: 14px; color: #7f6b73; background: #f1eaec; font-size: 10px; font-weight: 900; }
.harmony-tool-dialog-actions button.primary { color: #fff; background: linear-gradient(135deg, #d27495, #a35876); }
.harmony-listen-rules { padding: 12px; display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: center; gap: 7px 9px; border: 1px solid #e3eee9; border-radius: 16px; background: #f4faf7; }
.harmony-listen-rules span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 8px; color: #fff; background: #759487; font-size: 9px; font-weight: 900; }
.harmony-listen-rules p { margin: 0; color: #68776f; font-size: 9px; }
.harmony-listen-duration { margin: 11px 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.harmony-listen-duration button { padding: 10px; border: 1px solid #e9dfe3; border-radius: 12px; color: #76636b; background: #fff; font-size: 9px; font-weight: 900; }
.harmony-listen-duration button.selected { border-color: #83a094; color: #526f63; background: #ebf5f1; }
.harmony-listen-stage { padding: 19px 14px; border-radius: 20px; color: #fff; text-align: center; background: radial-gradient(circle at 80% 10%, rgba(255,255,255,.14), transparent 34%), linear-gradient(145deg, #6f8e81, #445c53); }
.harmony-listen-stage small,
.harmony-listen-stage strong { display: block; }
.harmony-listen-stage small { font-size: 8px; font-weight: 900; letter-spacing: .12em; opacity: .7; }
.harmony-listen-stage strong { margin-top: 7px; font-size: 17px; }
.harmony-listen-stage p { margin: 5px 0 9px; font-size: 9px; opacity: .78; }
.harmony-listen-stage > div { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 43px; font-weight: 800; letter-spacing: .05em; }
.harmony-listen-actions { margin-top: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.harmony-listen-actions button { min-height: 43px; border: 0; border-radius: 14px; color: #fff; background: #668579; font-size: 10px; font-weight: 900; }
.harmony-listen-actions button:last-child { color: #705e66; background: #eee7e9; }
@media (max-width: 699px) {
  .harmony-signal-sheet,
  .harmony-listen-sheet { box-sizing: border-box; width: 100vw; max-width: none; height: auto; max-height: 92dvh; margin: auto 0 0; border-radius: 28px 28px 0 0; }
  .harmony-signal-dialog-body,
  .harmony-listen-dialog-body { box-sizing: border-box; width: 100%; height: auto; max-height: 92dvh; padding: 18px 16px max(20px, env(safe-area-inset-bottom)); }
}
@media (max-width: 390px) {
  .harmony-toolbox > div { grid-template-columns: 1fr; }
  .harmony-signal-card { grid-template-columns: 38px minmax(0, 1fr); }
  .harmony-signal-card-actions { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
}
/* AI 和鸣助手 */
.harmony-ai-launch { width: 100%; margin: 12px 0; padding: 15px; display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 12px; border: 1px solid rgba(105, 87, 178, .18); border-radius: 21px; color: #40374f; text-align: left; background: radial-gradient(circle at 88% 12%, rgba(133, 111, 213, .18), transparent 32%), linear-gradient(135deg, #fbf9ff, #f2f7f5); box-shadow: 0 10px 25px rgba(82, 66, 120, .08); }
.harmony-ai-launch > span:first-child { width: 48px; height: 48px; display: grid; place-items: center; position: relative; border-radius: 16px; color: #fff; background: linear-gradient(145deg, #8170d5, #5f4eb5); font-size: 20px; box-shadow: 0 8px 18px rgba(95, 78, 181, .22); }
.harmony-ai-launch > span:first-child b { position: absolute; right: -4px; bottom: -4px; padding: 2px 5px; border: 2px solid #fbf9ff; border-radius: 999px; color: #fff; background: #493d86; font-size: 7px; }
.harmony-ai-launch > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.harmony-ai-launch small { color: #7867c4; font-size: 8px; font-weight: 900; letter-spacing: .12em; }
.harmony-ai-launch strong { font-size: 14px; }
.harmony-ai-launch em { overflow: hidden; color: #867d91; font-size: 8px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.harmony-ai-launch > b { padding: 8px 9px; border-radius: 11px; color: #fff; background: #6b5bc0; font-size: 8px; white-space: nowrap; }
.harmony-ai-sheet { width: min(620px, calc(100vw - 20px)); height: min(88dvh, 780px); max-height: min(88dvh, 780px); margin: auto; padding: 0; border: 0; border-radius: 28px; color: #443b49; background: #faf8fc; box-shadow: 0 28px 80px rgba(43, 34, 61, .3); }
.harmony-ai-dialog-body { box-sizing: border-box; width: 100%; height: 100%; padding: 20px; display: flex; flex-direction: column; overflow: hidden; }
.harmony-ai-dialog-head { flex: 0 0 auto; margin-bottom: 10px; display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.harmony-ai-dialog-head small { color: #7663c2; font-size: 8px; font-weight: 900; letter-spacing: .13em; }
.harmony-ai-dialog-head h2 { margin: 3px 0 3px; font-family: serif; font-size: 24px; }
.harmony-ai-dialog-head p { margin: 0; color: #8a7e90; font-size: 9px; line-height: 1.5; }
.harmony-ai-dialog-head > div:last-child { display: flex; gap: 6px; }
.harmony-ai-dialog-head button { flex: 0 0 34px; width: 34px; height: 34px; border: 0; border-radius: 50%; color: #71657a; background: #efebf2; font-size: 18px; }
.harmony-ai-boundary { flex: 0 0 auto; padding: 9px 11px; display: flex; align-items: center; gap: 9px; border: 1px solid rgba(112, 92, 190, .11); border-radius: 14px; background: linear-gradient(135deg, #f2efff, #fff); }
.harmony-ai-boundary > span { flex: 0 0 29px; width: 29px; height: 29px; display: grid; place-items: center; border-radius: 10px; color: #fff; background: #7766c6; }
.harmony-ai-boundary p { margin: 0; color: #756d7a; font-size: 8px; line-height: 1.45; }
.harmony-ai-boundary strong { color: #574d62; }
.harmony-ai-source-summary { flex: 0 0 auto; margin: 8px 0; display: flex; align-items: center; gap: 5px; overflow-x: auto; scrollbar-width: none; }
.harmony-ai-source-summary::-webkit-scrollbar { display: none; }
.harmony-ai-source-summary span,
.harmony-ai-source-summary em { flex: 0 0 auto; padding: 5px 7px; border-radius: 999px; color: #665a6d; background: #eee9f1; font-size: 7px; font-style: normal; font-weight: 800; }
.harmony-ai-source-summary span:first-child { color: #73566a; background: #f7e9ef; }
.harmony-ai-source-summary span:nth-child(2) { color: #4e7467; background: #e8f4ef; }
.harmony-ai-source-summary span:nth-child(3) { color: #856a35; background: #faf0d8; }
.harmony-ai-quick-prompts { flex: 0 0 auto; margin-bottom: 8px; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.harmony-ai-quick-prompts::-webkit-scrollbar { display: none; }
.harmony-ai-quick-prompts button { flex: 0 0 auto; padding: 7px 9px; border: 1px solid #e3ddec; border-radius: 999px; color: #67588a; background: #fff; font-size: 8px; font-weight: 900; }
.harmony-ai-messages { flex: 1 1 auto; min-height: 150px; padding: 9px; display: flex; flex-direction: column; gap: 9px; overflow: auto; overscroll-behavior: contain; border: 1px solid #e8e2eb; border-radius: 18px; background: linear-gradient(180deg, #fff, #fbf9fc); }
.harmony-ai-message { max-width: 88%; align-self: flex-start; }
.harmony-ai-message.user { align-self: flex-end; }
.harmony-ai-message small { display: block; margin: 0 4px 4px; color: #9a8f9f; font-size: 7px; }
.harmony-ai-message.user small { text-align: right; }
.harmony-ai-message > div { padding: 10px 11px; border-radius: 15px 15px 15px 5px; color: #554a59; background: #f0edf3; font-size: 9px; line-height: 1.75; word-break: break-word; }
.harmony-ai-message.user > div { border-radius: 15px 15px 5px 15px; color: #fff; background: linear-gradient(145deg, #7867c6, #6554b5); }
.harmony-ai-message.pending > div { opacity: .78; }
.harmony-ai-source-tag { display: inline-flex; align-items: center; margin: 2px 3px 2px 0; padding: 2px 6px; border-radius: 999px; font-size: 7px; font-weight: 900; line-height: 1.4; }
.harmony-ai-source-tag.real-mine { color: #85576d; background: #f7e5ed; }
.harmony-ai-source-tag.real-partner { color: #477769; background: #e2f2ec; }
.harmony-ai-source-tag.inference { color: #6656a5; background: #ebe7fa; }
.harmony-ai-source-tag.suggestion { color: #8b6332; background: #f9edd5; }
.harmony-ai-source-tag.agreement { color: #4b627d; background: #e6edf5; }
.harmony-ai-empty { margin: auto; padding: 24px 16px; text-align: center; }
.harmony-ai-empty span { display: block; color: #7463c0; font-size: 25px; }
.harmony-ai-empty strong { display: block; margin-top: 7px; font-size: 11px; }
.harmony-ai-empty p { margin: 5px auto 0; max-width: 300px; color: #968a9b; font-size: 8px; line-height: 1.55; }
.harmony-ai-loading { margin: auto; color: #8c8092; font-size: 9px; }
.harmony-ai-chat-form { flex: 0 0 auto; margin-top: 8px; padding: 0 !important; display: grid; grid-template-columns: minmax(0, 1fr) 58px; gap: 7px; overflow: visible !important; }
.harmony-ai-chat-form textarea { box-sizing: border-box; width: 100%; height: 52px; min-height: 52px; margin: 0 !important; padding: 10px 11px !important; border: 1px solid #dfd7e5 !important; border-radius: 14px !important; color: #4f4553; background: #fff !important; font-size: 9px; line-height: 1.45; resize: none; }
.harmony-ai-chat-form button { border: 0; border-radius: 14px; color: #fff; background: linear-gradient(145deg, #7867c6, #5c4aa9); font-size: 9px; font-weight: 900; }
.harmony-ai-sheet.is-sending .harmony-ai-chat-form button { opacity: .5; pointer-events: none; }
@media (max-width: 699px) {
  .harmony-ai-sheet { box-sizing: border-box; width: 100vw; max-width: none; height: 88dvh; max-height: 88dvh; margin: auto 0 0; border-radius: 28px 28px 0 0; }
  .harmony-ai-dialog-body { padding: 16px 14px max(14px, env(safe-area-inset-bottom)); }
}
@media (max-width: 390px) {
  .harmony-ai-launch { grid-template-columns: 44px minmax(0, 1fr); }
  .harmony-ai-launch > b { grid-column: 1 / -1; text-align: center; }
}
/* 和鸣顶部单按钮占满整行 */
.harmony-top-actions.single { grid-template-columns: minmax(0, 1fr); }
.harmony-top-actions.single > button { width: 100%; min-height: 62px; padding: 14px 15px; }
.harmony-top-actions.single > button span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 12px; background: #f3ecef; }
.harmony-top-actions.single > button strong { font-size: 14px; }
/* AI 和鸣助手：多会话历史 */
.harmony-ai-dialog-head p strong { color: #6554ad; font-weight: 900; }
.harmony-ai-history-sheet { box-sizing: border-box; width: min(540px, calc(100vw - 24px)); max-height: min(78dvh, 680px); margin: auto; padding: 0; border: 0; border-radius: 28px; color: #443b49; background: #faf8fc; box-shadow: 0 28px 80px rgba(43, 34, 61, .34); }
.harmony-ai-history-dialog-body { box-sizing: border-box; width: 100%; max-height: min(78dvh, 680px); padding: 20px; display: flex; flex-direction: column; overflow: hidden; }
.harmony-ai-history-head { flex: 0 0 auto; display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.harmony-ai-history-head small { color: #7663c2; font-size: 8px; font-weight: 900; letter-spacing: .13em; }
.harmony-ai-history-head h2 { margin: 3px 0; font-family: serif; font-size: 23px; }
.harmony-ai-history-head p { margin: 0; color: #8a7e90; font-size: 8px; line-height: 1.5; }
.harmony-ai-history-head > button { flex: 0 0 34px; width: 34px; height: 34px; border: 0; border-radius: 50%; color: #71657a; background: #efebf2; font-size: 18px; }
.harmony-ai-history-new { flex: 0 0 auto; width: 100%; margin: 14px 0 10px; padding: 11px 12px; display: grid; grid-template-columns: 36px minmax(0, 1fr); align-items: center; gap: 1px 10px; border: 1px solid rgba(111, 92, 190, .17); border-radius: 16px; color: #564a68; text-align: left; background: linear-gradient(135deg, #f0edff, #fff); }
.harmony-ai-history-new > span { grid-row: 1 / 3; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 12px; color: #fff; background: linear-gradient(145deg, #7b69ca, #5e4dac); font-size: 20px; }
.harmony-ai-history-new strong { font-size: 10px; }
.harmony-ai-history-new small { color: #91869a; font-size: 7px; }
.harmony-ai-history-list { min-height: 120px; display: flex; flex-direction: column; gap: 8px; overflow: auto; overscroll-behavior: contain; }
.harmony-ai-history-item { flex: 0 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; border: 1px solid #e8e2eb; border-radius: 16px; background: #fff; overflow: hidden; }
.harmony-ai-history-item.active { border-color: rgba(112, 92, 190, .42); background: linear-gradient(135deg, #f6f3ff, #fff); box-shadow: 0 7px 18px rgba(88, 69, 148, .08); }
.harmony-ai-history-main { min-width: 0; padding: 11px 12px; border: 0; color: #514653; text-align: left; background: transparent; }
.harmony-ai-history-main > span { display: flex; align-items: center; gap: 7px; }
.harmony-ai-history-main strong { min-width: 0; overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.harmony-ai-history-main em { flex: 0 0 auto; padding: 3px 6px; border-radius: 999px; color: #6757ad; background: #eae5fb; font-size: 6px; font-style: normal; font-weight: 900; }
.harmony-ai-history-main p { margin: 5px 0 4px; overflow: hidden; color: #8c8190; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.harmony-ai-history-main small { color: #aaa0ad; font-size: 7px; }
.harmony-ai-history-actions { width: 39px; padding: 8px 7px 8px 0; display: grid; align-content: center; gap: 5px; }
.harmony-ai-history-actions button { width: 30px; height: 30px; border: 0; border-radius: 10px; color: #71657a; background: #f2eef4; font-size: 14px; }
.harmony-ai-history-actions button:last-child { color: #b56879; background: #fbeff2; }
.harmony-ai-history-empty { margin: auto; padding: 28px 18px; text-align: center; }
.harmony-ai-history-empty span { display: block; color: #7463c0; font-size: 25px; }
.harmony-ai-history-empty strong { display: block; margin-top: 6px; font-size: 11px; }
.harmony-ai-history-empty p { margin: 5px 0 0; color: #968a9b; font-size: 8px; line-height: 1.55; }
@media (max-width: 699px) {
  .harmony-ai-history-sheet { width: 100vw; max-width: none; max-height: 82dvh; margin: auto 0 0; border-radius: 28px 28px 0 0; }
  .harmony-ai-history-dialog-body { max-height: 82dvh; padding: 18px 14px max(18px, env(safe-area-inset-bottom)); }
}
