/* Voice capture: Incised Rule trigger + one Notification Center review surface. */
.home-speak {
  position: fixed;
  z-index: 21;
  left: 50%;
  bottom: max(58px, calc(env(safe-area-inset-bottom) + 44px));
  display: grid;
  width: 132px;
  height: 58px;
  place-content: center;
  gap: 7px;
  padding: 0 16px;
  border: 0;
  background: transparent;
  color: #f4ecdf;
  cursor: pointer;
  touch-action: manipulation;
  transform: translateX(-50%);
  transition: color .16s ease, opacity .16s ease;
}

.home-speak-label {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.04rem;
  line-height: 1;
  letter-spacing: .025em;
}

.home-speak-rule {
  display: block;
  width: 100px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #c8824f 18%, #dc9a62 50%, #c8824f 82%, transparent);
  box-shadow: 0 1px 0 rgba(40, 20, 8, .45);
  transform-origin: center;
  transition: transform .16s ease, opacity .16s ease;
}

.home-speak:active .home-speak-rule { transform: scaleX(.88); }
.home-speak:focus-visible { outline: 2px solid #f4ecdf; outline-offset: 0; border-radius: 3px; }
.home-speak[aria-expanded="true"] .home-speak-rule { opacity: .72; transform: scaleX(.72); }

.voice-task-overlay {
  position: fixed;
  z-index: 145;
  inset: 0;
  display: grid;
  align-items: end;
  padding: 20px 16px max(20px, env(safe-area-inset-bottom));
  background: linear-gradient(to bottom, rgba(5, 8, 10, .08) 12%, rgba(5, 8, 10, .62));
}

.voice-task-overlay[hidden] { display: none; }

.voice-task-dialog {
  width: min(100%, 430px);
  margin: 0 auto;
  border: 1px solid rgba(222, 167, 112, .24);
  border-radius: 18px 18px 10px 10px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .035), transparent 34%),
    #12110f;
  color: #f4ecdf;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .46);
  overflow: hidden;
}

.voice-task-dialog-inner { padding: 24px 22px 18px; }
.voice-task-kicker {
  margin: 0 0 8px;
  color: #ce8755;
  font: 600 .68rem/1.2 -apple-system, BlinkMacSystemFont, "SF Pro Text", sans-serif;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.voice-task-dialog h2 {
  margin: 0;
  font: 400 1.55rem/1.12 Georgia, "Times New Roman", serif;
}
.voice-task-status { min-height: 2.6em; margin: 11px 0 0; color: #cfc4b3; font-size: .9rem; line-height: 1.45; }
.voice-task-transcript {
  width: 100%;
  min-height: 88px;
  margin-top: 17px;
  padding: 13px 14px;
  resize: vertical;
  border: 1px solid rgba(244, 236, 223, .14);
  border-radius: 9px;
  background: rgba(255, 255, 255, .035);
  color: #f4ecdf;
  font: 400 1rem/1.42 Georgia, "Times New Roman", serif;
}
.voice-task-transcript:focus { outline: 2px solid rgba(220, 154, 98, .7); outline-offset: 1px; }
.voice-task-dialog-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 18px; }
.voice-task-dialog button {
  min-height: 44px;
  padding: 0 15px;
  border: 1px solid rgba(244, 236, 223, .16);
  border-radius: 8px;
  background: transparent;
  color: #f4ecdf;
  font: 600 .82rem/1 -apple-system, BlinkMacSystemFont, "SF Pro Text", sans-serif;
}
.voice-task-dialog button[data-voice-primary] { border-color: #c8824f; background: #c8824f; color: #16100c; }
.voice-task-dialog button:focus-visible { outline: 2px solid #f4ecdf; outline-offset: 2px; }
.voice-task-dialog button:disabled { opacity: .45; }
.voice-task-choice { width: 100%; justify-content: flex-start; text-align: left; }
.voice-task-proposal {
  display: grid;
  gap: 6px;
  margin-top: 17px;
  padding: 15px 16px;
  border-top: 1px solid rgba(220, 154, 98, .62);
  border-bottom: 1px solid rgba(244, 236, 223, .12);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .035) 12%, rgba(255, 255, 255, .035) 88%, transparent);
}
.voice-task-proposal strong { font: 400 1.08rem/1.3 Georgia, "Times New Roman", serif; }
.voice-task-proposal span { color: #d99a67; font-size: .82rem; }
.voice-task-proposal small { color: #aaa095; font-size: .72rem; line-height: 1.4; }
.voice-task-model-note { margin: 15px 0 0; color: #8f877c; font-size: .72rem; line-height: 1.4; }

/* Luna review rows borrow Notification Center's flat Event Watch grammar. */
.attention-row--voice { display: grid; grid-template-columns: minmax(0, 1fr); gap: 13px; padding-block: 17px; }
.attention-row--voice > * { grid-column: 1; min-width: 0; }
.attention-row--voice > .attention-row-copy { padding-inline: 0; }
.voice-notification-transcript {
  margin: 0;
  padding: 10px 12px;
  border-block: 1px solid rgba(244, 236, 223, .08);
  color: #aaa095;
  font: 400 .78rem/1.45 -apple-system, BlinkMacSystemFont, "SF Pro Text", sans-serif;
}
.voice-notification-proposal { display: grid; gap: 5px; padding: 13px 0 2px; border-top: 1px solid rgba(220, 154, 98, .3); }
.voice-notification-destination { margin: 0; color: #d99a67; font: 600 .68rem/1.25 -apple-system, BlinkMacSystemFont, "SF Pro Text", sans-serif; letter-spacing: .07em; text-transform: uppercase; }
.voice-notification-title { margin: 0; color: #f4ecdf; font: 400 1.02rem/1.32 Georgia, "Times New Roman", serif; }
.voice-notification-rationale, .voice-notification-proof { margin: 3px 0 0; color: #b8aea0; font-size: .76rem; line-height: 1.45; }
.voice-notification-actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 9px; margin-top: 9px; }
.voice-notification-actions button {
  min-height: 44px;
  border: 1px solid rgba(244, 236, 223, .16);
  border-radius: 8px;
  background: transparent;
  color: #f4ecdf;
  font: 600 .76rem/1.2 -apple-system, BlinkMacSystemFont, "SF Pro Text", sans-serif;
  touch-action: manipulation;
}
.voice-notification-actions .voice-notification-primary { border-color: #c8824f; background: #c8824f; color: #16100c; }
.voice-notification-actions button:disabled { cursor: progress; opacity: .62; }
.voice-notification-actions .voice-notification-proof { grid-column: 1 / -1; }
.voice-notification-actions button:only-of-type { grid-column: 1 / -1; }
.voice-notification-actions button:focus-visible { outline: 2px solid #f4ecdf; outline-offset: 2px; }

@media (max-width: 350px) {
  .voice-notification-actions { grid-template-columns: 1fr; }
  .voice-notification-actions .voice-notification-proof { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .home-speak, .home-speak-rule { transition: none; }
}
