:root {
  --vo-ink: #0c2947;
  --vo-ink-2: #244764;
  --vo-muted: #60748a;
  --vo-blue: #166dcf;
  --vo-blue-2: #2c91ec;
  --vo-cyan: #43c8f3;
  --vo-teal: #21b397;
  --vo-violet: #7567e8;
  --vo-danger: #b42318;
  --vo-surface: #fff;
  --vo-surface-soft: #f3f8fc;
  --vo-line: rgba(24, 73, 116, .14);
  --vo-shadow: 0 28px 80px rgba(7, 27, 54, .24);
  --vo-r-shell: 28px;
  --vo-r-card: 18px;
  --vo-r-button: 12px;
}

.sagace-voice-orientation-floating,
.sagace-voice-orientation-modal,
.sagace-voice-orientation-modal * { box-sizing: border-box !important; }

.sagace-voice-orientation-floating {
  position: fixed !important;
  z-index: 2147483200 !important;
  left: calc(18px + env(safe-area-inset-left, 0px)) !important;
  bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 11px !important;
  min-height: 60px !important;
  max-width: calc(100vw - 36px) !important;
  margin: 0 !important;
  padding: 9px 17px 9px 9px !important;
  border: 1px solid rgba(255, 255, 255, .72) !important;
  border-radius: 18px !important;
  appearance: none !important;
  background: linear-gradient(135deg, #0c2f63, #1266f1 70%, #0f7a92) !important;
  color: #fff !important;
  font: 700 13px/1.2 Inter, "Segoe UI", Arial, sans-serif !important;
  text-align: left !important;
  text-decoration: none !important;
  text-transform: none !important;
  text-shadow: none !important;
  cursor: pointer !important;
  box-shadow: 0 24px 52px -24px rgba(7, 27, 58, .86), inset 0 1px 0 rgba(255, 255, 255, .25) !important;
  transition: transform .18s ease, box-shadow .18s ease !important;
}
.sagace-voice-orientation-floating:hover { transform: translateY(-2px) !important; box-shadow: 0 30px 60px -24px rgba(7, 27, 58, .92) !important; }
.sagace-voice-orientation-floating:focus-visible { outline: 3px solid var(--vo-cyan) !important; outline-offset: 3px !important; }
.sagace-voice-orientation-floating.is-hidden-by-inline-trigger { display: none !important; }
.sagace-voice-orientation-floating-icon {
  display: grid !important;
  place-items: center !important;
  width: 42px !important;
  height: 42px !important;
  flex: 0 0 42px !important;
  border: 1px solid rgba(255, 255, 255, .24) !important;
  border-radius: 13px !important;
  background: rgba(255, 255, 255, .14) !important;
}
.sagace-voice-orientation-floating-icon svg,
.sagace-voice-orientation-modal svg { fill: none !important; stroke: currentColor !important; stroke-width: 1.9 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
.sagace-voice-orientation-floating-icon svg { display: block !important; width: 22px !important; height: 22px !important; }
.sagace-voice-orientation-floating strong,
.sagace-voice-orientation-floating small { display: block !important; color: inherit !important; }
.sagace-voice-orientation-floating strong { font-size: 13px !important; font-weight: 800 !important; }
.sagace-voice-orientation-floating small { margin-top: 2px !important; opacity: .9 !important; font-size: 10.5px !important; font-weight: 600 !important; }

.sagace-voice-orientation-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483600 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 16px !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  isolation: isolate !important;
}
html body #sagace-voice-orientation-modal.sagace-voice-orientation-modal {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}
html body #sagace-voice-orientation-modal [id^="sagace-"] {
  position: static !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: none !important;
}
html body #sagace-voice-orientation-modal #sagace-voice-orientation-written-input { width: 100% !important; }
.sagace-voice-orientation-modal.open { display: flex !important; animation: voBackdropIn .18s ease both !important; }
.sagace-voice-orientation-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(7, 24, 45, .58) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}
.sagace-voice-orientation-dialog {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-rows: max-content minmax(0, 1fr) max-content !important;
  width: min(660px, 100%) !important;
  height: min(860px, calc(100vh - 32px)) !important;
  height: min(860px, calc(100dvh - 32px)) !important;
  min-height: 0 !important;
  max-height: calc(100vh - 32px) !important;
  max-height: calc(100dvh - 32px) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  overflow-y: hidden !important;
  overflow: hidden !important;
  overscroll-behavior: contain !important;
  border: 1px solid rgba(255, 255, 255, .8) !important;
  border-radius: var(--vo-r-shell) !important;
  background: radial-gradient(circle at 20% 0, rgba(67, 200, 243, .08), transparent 30%), linear-gradient(180deg, #fff 0%, #f8fbfe 100%) !important;
  color: var(--vo-ink) !important;
  box-shadow: var(--vo-shadow) !important;
  animation: voShellIn .22s cubic-bezier(.2, .8, .2, 1) both !important;
}

.sagace-voice-orientation-modal :is(button, a, input) {
  box-sizing: border-box !important;
  margin: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  text-transform: none !important;
  text-shadow: none !important;
  letter-spacing: normal !important;
}
.sagace-voice-orientation-modal :is(button, a, input):focus-visible { outline: 3px solid var(--vo-blue) !important; outline-offset: 3px !important; }
.sagace-voice-orientation-modal button svg,
.sagace-voice-orientation-modal a svg { width: 18px !important; height: 18px !important; flex: 0 0 18px !important; }

.sagace-voice-orientation-close {
  position: absolute !important;
  z-index: 6 !important;
  top: 16px !important;
  right: 18px !important;
  display: grid !important;
  place-items: center !important;
  width: 46px !important;
  height: 46px !important;
  padding: 0 !important;
  border: 1px solid #d6e3ef !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: var(--vo-ink) !important;
  cursor: pointer !important;
  box-shadow: 0 10px 24px -18px rgba(7, 27, 58, .75) !important;
  transition: background .16s ease, border-color .16s ease, transform .16s ease !important;
}
.sagace-voice-orientation-close::before,
.sagace-voice-orientation-close::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 18px !important;
  height: 2px !important;
  border-radius: 99px !important;
  background: currentColor !important;
}
.sagace-voice-orientation-close::before { transform: translate(-50%, -50%) rotate(45deg) !important; }
.sagace-voice-orientation-close::after { transform: translate(-50%, -50%) rotate(-45deg) !important; }
.sagace-voice-orientation-close:hover { border-color: #b8d0e4 !important; background: #edf6fd !important; transform: translateY(-1px) !important; }

.sagace-voice-orientation-header {
  position: relative !important;
  z-index: 4 !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-width: 0 !important;
  padding: 20px 78px 16px 22px !important;
  border-bottom: 1px solid rgba(24, 73, 116, .09) !important;
  background: rgba(255, 255, 255, .93) !important;
}
.sagace-voice-orientation-agent-photo {
  width: 58px !important;
  height: 58px !important;
  flex: 0 0 58px !important;
  overflow: hidden !important;
  border: 1px solid #d8e4f1 !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #edf3fa, #dcecff) !important;
  box-shadow: 0 12px 28px -22px rgba(13, 57, 97, .9) !important;
}
.sagace-voice-orientation-agent-photo img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center !important; }
.sagace-voice-orientation-header > div:last-child { min-width: 0 !important; }
.sagace-voice-orientation-header small { display: block !important; color: #4b667f !important; font-size: 10.5px !important; font-weight: 800 !important; letter-spacing: .075em !important; text-transform: uppercase !important; }
.sagace-voice-orientation-header h2 { margin: 3px 0 2px !important; color: var(--vo-ink) !important; font-size: 22px !important; line-height: 1.15 !important; font-weight: 800 !important; }
.sagace-voice-orientation-header p { margin: 0 !important; color: var(--vo-muted) !important; font-size: 12.5px !important; line-height: 1.35 !important; overflow-wrap: anywhere !important; }

.sagace-voice-orientation-body {
  min-height: 0 !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 18px 22px 10px !important;
  scroll-padding: 16px !important;
}
.sagace-voice-orientation-body::-webkit-scrollbar,
.sagace-voice-orientation-transcript::-webkit-scrollbar { display: none !important; width: 0 !important; height: 0 !important; }
.sagace-voice-orientation-body.is-pristine { display: grid !important; align-content: center !important; }

.sagace-voice-orientation-stage {
  --vo-state: var(--vo-blue);
  display: grid !important;
  justify-items: center !important;
  min-width: 0 !important;
  padding: 4px 12px 14px !important;
  text-align: center !important;
}
.sagace-voice-orientation-voice-visual { position: relative !important; display: grid !important; place-items: center !important; width: 98px !important; height: 98px !important; margin: 0 auto !important; color: #fff !important; isolation: isolate !important; }
.sagace-voice-orientation-voice-halo,
.sagace-voice-orientation-voice-ring,
.sagace-voice-orientation-voice-core { position: absolute !important; border-radius: 50% !important; }
.sagace-voice-orientation-voice-halo { inset: 0 !important; z-index: 0 !important; background: radial-gradient(circle, rgba(22, 109, 207, .18) 0 48%, transparent 70%) !important; background: radial-gradient(circle, color-mix(in srgb, var(--vo-state) 20%, transparent) 0 48%, transparent 70%) !important; opacity: .9 !important; }
.sagace-voice-orientation-voice-ring { inset: 8px !important; z-index: 1 !important; border: 1px solid #88bde9 !important; border: 1px solid color-mix(in srgb, var(--vo-state) 46%, #fff) !important; background: conic-gradient(from 45deg, transparent 0 13%, #65b9ed 25%, transparent 40% 64%, #9bd5f5 76%, transparent 90%) !important; background: conic-gradient(from 45deg, transparent 0 13%, color-mix(in srgb, var(--vo-state) 75%, #fff) 25%, transparent 40% 64%, color-mix(in srgb, var(--vo-state) 55%, #fff) 76%, transparent 90%) !important; -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 0) !important; mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 0) !important; }
.sagace-voice-orientation-voice-core { inset: 20px !important; z-index: 2 !important; display: grid !important; place-items: center !important; border: 1px solid rgba(255, 255, 255, .5) !important; background: linear-gradient(145deg, #0b315c, #166dcf) !important; background: linear-gradient(145deg, #0b315c, color-mix(in srgb, var(--vo-state) 74%, #0b315c)) !important; box-shadow: 0 17px 34px -20px rgba(22, 109, 207, .8), inset 0 1px 0 rgba(255, 255, 255, .34) !important; box-shadow: 0 17px 34px -20px color-mix(in srgb, var(--vo-state) 72%, #0b315c), inset 0 1px 0 rgba(255, 255, 255, .34) !important; }
.sagace-voice-orientation-voice-core svg { width: 29px !important; height: 29px !important; stroke-width: 1.7 !important; }
.sagace-voice-orientation-wave { position: absolute !important; z-index: 3 !important; left: 50% !important; bottom: 14px !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 2px !important; width: 32px !important; height: 12px !important; padding: 2px 4px !important; border-radius: 99px !important; background: rgba(6, 29, 55, .72) !important; transform: translateX(-50%) !important; opacity: 0 !important; }
.sagace-voice-orientation-wave i { display: block !important; width: 2px !important; height: 4px !important; border-radius: 99px !important; background: #fff !important; transform-origin: center !important; }
.sagace-voice-orientation-state-copy { min-width: 0 !important; }
.sagace-voice-orientation-state-copy > strong { display: block !important; margin-top: 10px !important; color: var(--vo-ink) !important; font-size: 17.5px !important; line-height: 1.25 !important; font-weight: 800 !important; }
.sagace-voice-orientation-state-copy > p { max-width: 460px !important; margin: 5px auto 0 !important; color: var(--vo-muted) !important; font-size: 12.8px !important; line-height: 1.5 !important; overflow-wrap: anywhere !important; }
.sagace-voice-orientation-disclosure { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 7px !important; max-width: 500px !important; margin-top: 12px !important; padding: 8px 12px !important; border: 1px solid rgba(24, 73, 116, .08) !important; border-radius: 13px !important; background: #edf5fc !important; color: #4c667f !important; font-size: 10.5px !important; font-weight: 650 !important; line-height: 1.4 !important; }
.sagace-voice-orientation-disclosure svg { width: 17px !important; height: 17px !important; flex: 0 0 17px !important; color: var(--vo-blue) !important; }

.sagace-voice-orientation-stage[data-state="connecting"] { --vo-state: var(--vo-cyan); }
.sagace-voice-orientation-stage[data-state="listening"], .sagace-voice-orientation-stage[data-state="active"] { --vo-state: var(--vo-teal); }
.sagace-voice-orientation-stage[data-state="thinking"] { --vo-state: var(--vo-violet); }
.sagace-voice-orientation-stage[data-state="speaking"] { --vo-state: var(--vo-cyan); }
.sagace-voice-orientation-stage[data-state="error"], .sagace-voice-orientation-stage[data-state="terminal"] { --vo-state: #df5b58; }
.sagace-voice-orientation-stage[data-state="connecting"] .sagace-voice-orientation-voice-ring,
.sagace-voice-orientation-stage[data-state="thinking"] .sagace-voice-orientation-voice-ring { animation: voRing 1.5s linear infinite !important; }
.sagace-voice-orientation-stage:is([data-state="listening"], [data-state="active"]) .sagace-voice-orientation-voice-halo { animation: voBreathe 1.8s ease-in-out infinite !important; }
.sagace-voice-orientation-stage:is([data-state="listening"], [data-state="active"], [data-state="speaking"]) .sagace-voice-orientation-wave { opacity: 1 !important; }
.sagace-voice-orientation-stage:is([data-state="listening"], [data-state="active"], [data-state="speaking"]) .sagace-voice-orientation-wave i { animation: voWave .88s ease-in-out infinite alternate !important; }
.sagace-voice-orientation-stage[data-state="speaking"] .sagace-voice-orientation-wave i { animation-duration: .58s !important; }
.sagace-voice-orientation-wave i:nth-child(2), .sagace-voice-orientation-wave i:nth-child(4) { animation-delay: .12s !important; }
.sagace-voice-orientation-wave i:nth-child(3) { animation-delay: .24s !important; }

.sagace-voice-orientation-transcript { display: none !important; max-height: 112px !important; overflow-x: hidden !important; overflow-y: auto !important; overflow-wrap: anywhere !important; scrollbar-width: none !important; margin: 0 0 14px !important; padding: 10px !important; border: 1px solid var(--vo-line) !important; border-radius: 16px !important; background: rgba(255, 255, 255, .82) !important; color: var(--vo-ink-2) !important; font-size: 12px !important; line-height: 1.45 !important; }
.sagace-voice-orientation-transcript.visible { display: flex !important; flex-direction: column !important; gap: 7px !important; }
.sagace-voice-orientation-line { width: min(88%, 470px) !important; margin: 0 !important; padding: 8px 10px !important; border-radius: 12px !important; background: #f3f7fb !important; }
.sagace-voice-orientation-line.is-user { align-self: flex-end !important; background: #eaf5ff !important; border-bottom-right-radius: 5px !important; }
.sagace-voice-orientation-line.is-assistant { align-self: flex-start !important; border-bottom-left-radius: 5px !important; }
.sagace-voice-orientation-line strong { color: #165f9d !important; font-size: 11px !important; font-weight: 800 !important; }

.sagace-voice-orientation-results:empty { display: none !important; }
.sagace-voice-orientation-results { min-width: 0 !important; padding-bottom: 4px !important; }
.sagace-voice-orientation-results.is-confirming > :not(.sagace-voice-orientation-confirm) { display: none !important; }
.sagace-voice-orientation-results-head { display: flex !important; align-items: flex-start !important; gap: 11px !important; margin-bottom: 11px !important; padding: 12px 14px !important; border: 1px solid #d5e6f4 !important; border-radius: 15px !important; background: linear-gradient(135deg, #f0f7ff, #f7fbff) !important; }
.sagace-voice-orientation-results-head b { display: grid !important; place-items: center !important; width: 27px !important; height: 27px !important; flex: 0 0 27px !important; border-radius: 9px !important; background: #dceeff !important; color: var(--vo-blue) !important; font-size: 13px !important; }
.sagace-voice-orientation-results-head strong { display: block !important; color: var(--vo-ink) !important; font-size: 13px !important; font-weight: 800 !important; }
.sagace-voice-orientation-results-head small { display: block !important; margin-top: 2px !important; color: var(--vo-muted) !important; font-size: 11.5px !important; line-height: 1.4 !important; }
.sagace-voice-orientation-candidates { display: grid !important; gap: 10px !important; }
.sagace-voice-orientation-card { --agent-color: #2477ed; position: relative !important; display: grid !important; grid-template-columns: 54px minmax(0, 1fr) auto !important; align-items: center !important; gap: 12px !important; min-width: 0 !important; padding: 13px !important; overflow: hidden !important; border: 1px solid var(--vo-line) !important; border-radius: var(--vo-r-card) !important; background: #fff !important; box-shadow: 0 14px 32px -30px rgba(7, 27, 58, .85) !important; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease !important; }
.sagace-voice-orientation-card::before { content: "" !important; position: absolute !important; inset: 0 auto 0 0 !important; width: 3px !important; background: var(--agent-color) !important; opacity: .72 !important; }
.sagace-voice-orientation-card:hover { transform: translateY(-1px) !important; border-color: #bfd7eb !important; box-shadow: 0 18px 38px -30px rgba(7, 27, 58, .75) !important; }
.sagace-voice-orientation-card-photo, .sagace-voice-orientation-confirm-photo { display: grid !important; place-items: center !important; overflow: hidden !important; border: 2px solid #d6e5f1 !important; background: #edf4fb !important; color: var(--agent-color) !important; font-size: 15px !important; font-weight: 800 !important; }
.sagace-voice-orientation-card-photo { width: 54px !important; height: 54px !important; border-radius: 16px !important; }
.sagace-voice-orientation-card-photo img, .sagace-voice-orientation-confirm-photo img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }
.sagace-voice-orientation-card-copy { min-width: 0 !important; }
.sagace-voice-orientation-card-copy small { display: block !important; color: #3f5972 !important; font-size: 10px !important; font-weight: 800 !important; letter-spacing: .045em !important; text-transform: uppercase !important; overflow-wrap: anywhere !important; }
.sagace-voice-orientation-card-copy h3 { margin: 3px 0 !important; color: var(--vo-ink) !important; font-size: 14.5px !important; line-height: 1.25 !important; font-weight: 800 !important; overflow-wrap: anywhere !important; }
.sagace-voice-orientation-card-copy p { display: -webkit-box !important; margin: 0 !important; overflow: hidden !important; color: var(--vo-muted) !important; font-size: 12px !important; line-height: 1.42 !important; -webkit-box-orient: vertical !important; -webkit-line-clamp: 3 !important; }
.sagace-voice-orientation-card > button, .sagace-voice-orientation-results-action, .sagace-voice-orientation-confirm button { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; min-height: 46px !important; padding: 10px 14px !important; border-radius: var(--vo-r-button) !important; color: var(--vo-ink) !important; font: 700 12px/1.2 Inter, "Segoe UI", Arial, sans-serif !important; white-space: normal !important; text-decoration: none !important; cursor: pointer !important; transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease !important; }
.sagace-voice-orientation-card > button { border: 1px solid #b9d3e8 !important; background: #edf6fd !important; color: #164d79 !important; }
.sagace-voice-orientation-card > button svg { width: 16px !important; height: 16px !important; }
.sagace-voice-orientation-card > button:hover { border-color: #8ebce2 !important; background: #e0f0fd !important; transform: translateY(-1px) !important; }
.sagace-voice-orientation-results-footer { display: flex !important; align-items: center !important; margin-top: 13px !important; }
.sagace-voice-orientation-results-action { border: 1px solid #c7dceb !important; background: #fff !important; color: #245474 !important; }
.sagace-voice-orientation-results-action:hover { border-color: #99bddb !important; background: #eef7fd !important; transform: translateY(-1px) !important; }
.sagace-voice-orientation-results-action.primary { border-color: transparent !important; background: linear-gradient(135deg, var(--vo-blue), var(--vo-blue-2)) !important; color: #fff !important; box-shadow: 0 15px 30px -22px rgba(22, 109, 207, .9) !important; }

.sagace-voice-orientation-confirm { display: grid !important; gap: 15px !important; margin: 0 !important; padding: 17px !important; border: 1px solid #c9e0f2 !important; border-radius: var(--vo-r-card) !important; background: radial-gradient(circle at 90% 0, rgba(67, 200, 243, .13), transparent 35%), linear-gradient(145deg, #f0f7ff, #f9fcff) !important; box-shadow: 0 20px 45px -36px rgba(12, 61, 104, .7) !important; }
.sagace-voice-orientation-confirm-summary { display: grid !important; grid-template-columns: 52px minmax(0, 1fr) !important; align-items: center !important; gap: 12px !important; min-width: 0 !important; }
.sagace-voice-orientation-confirm-photo { width: 52px !important; height: 52px !important; border-color: color-mix(in srgb, var(--agent-color) 40%, #d6e5f1) !important; border-radius: 16px !important; }
.sagace-voice-orientation-confirm-copy { min-width: 0 !important; }
.sagace-voice-orientation-confirm-copy small { display: block !important; color: #44647d !important; font-size: 10px !important; font-weight: 800 !important; letter-spacing: .05em !important; text-transform: uppercase !important; }
.sagace-voice-orientation-confirm-copy h3 { margin: 3px 0 4px !important; color: var(--vo-ink) !important; font-size: 15px !important; line-height: 1.25 !important; font-weight: 800 !important; overflow-wrap: anywhere !important; }
.sagace-voice-orientation-confirm-copy p { margin: 0 !important; color: var(--vo-muted) !important; font-size: 12.2px !important; line-height: 1.45 !important; }
.sagace-voice-orientation-confirm-symbol { display: grid !important; place-items: center !important; width: 48px !important; height: 48px !important; border-radius: 15px !important; background: #dfefff !important; color: var(--vo-blue) !important; }
.sagace-voice-orientation-confirm-symbol svg { width: 24px !important; height: 24px !important; }
.sagace-voice-orientation-confirm-actions { display: grid !important; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) auto !important; gap: 9px !important; width: 100% !important; min-width: 0 !important; }
.sagace-voice-orientation-confirm button { width: 100% !important; border: 1px solid transparent !important; }
.sagace-voice-orientation-confirm button.primary, .sagace-voice-orientation-confirm-open { background: linear-gradient(135deg, var(--vo-blue), var(--vo-blue-2)) !important; color: #fff !important; box-shadow: 0 16px 30px -22px rgba(22, 109, 207, .95) !important; }
.sagace-voice-orientation-confirm button.primary:hover, .sagace-voice-orientation-confirm-open:hover { background: linear-gradient(135deg, #0f60bb, #2485dc) !important; transform: translateY(-1px) !important; box-shadow: 0 18px 34px -20px rgba(22, 109, 207, .95) !important; }
.sagace-voice-orientation-confirm button.secondary, .sagace-voice-orientation-confirm-chat { border-color: #b9d6ea !important; background: #eaf5fd !important; color: #174d77 !important; }
.sagace-voice-orientation-confirm button.secondary:hover, .sagace-voice-orientation-confirm-chat:hover { border-color: #8ebde0 !important; background: #dceffc !important; transform: translateY(-1px) !important; }
.sagace-voice-orientation-confirm button.tertiary, .sagace-voice-orientation-confirm-cancel { border-color: transparent !important; background: transparent !important; color: #526c83 !important; }
.sagace-voice-orientation-confirm button.tertiary:hover, .sagace-voice-orientation-confirm-cancel:hover { border-color: #cedde9 !important; background: #fff !important; color: var(--vo-ink) !important; }

.sagace-voice-orientation-safety { padding: 14px !important; border: 1px solid #fecaca !important; border-radius: 16px !important; background: #fff7f7 !important; color: #7f1d1d !important; }
.sagace-voice-orientation-safety h3 { margin: 0 0 5px !important; color: #991b1b !important; font-size: 15px !important; }
.sagace-voice-orientation-safety p { margin: 0 0 10px !important; font-size: 12.5px !important; line-height: 1.5 !important; }
.sagace-voice-orientation-safety a { display: inline-flex !important; align-items: center !important; min-height: 46px !important; margin: 4px 6px 0 0 !important; padding: 10px 14px !important; border-radius: var(--vo-r-button) !important; background: #b91c1c !important; color: #fff !important; font-size: 12px !important; font-weight: 800 !important; text-decoration: none !important; }

.sagace-voice-orientation-footer {
  position: relative !important;
  z-index: 4 !important;
  padding: 11px 22px calc(18px + env(safe-area-inset-bottom, 0px)) !important;
  border-top: 1px solid rgba(24, 73, 116, .1) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, .96), #fff) !important;
  box-shadow: 0 -16px 28px -30px rgba(10, 44, 76, .65) !important;
}
html body #sagace-voice-orientation-modal .sagace-voice-orientation-footer {
  grid-row: 3 / 4 !important;
  align-self: stretch !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  overflow: visible !important;
}
.sagace-voice-orientation-controls { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 8px !important; }
.sagace-voice-orientation-main { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 9px !important; min-height: 48px !important; padding: 11px 19px !important; border: 1px solid rgba(255, 255, 255, .28) !important; border-radius: 14px !important; background: linear-gradient(135deg, #115fac, var(--vo-blue-2)) !important; color: #fff !important; font: 800 13px/1.2 Inter, "Segoe UI", Arial, sans-serif !important; cursor: pointer !important; box-shadow: 0 18px 36px -24px rgba(18, 104, 196, .9), inset 0 1px 0 rgba(255, 255, 255, .2) !important; transition: transform .16s ease, box-shadow .16s ease !important; }
.sagace-voice-orientation-main:hover:not(:disabled) { transform: translateY(-1px) !important; box-shadow: 0 22px 40px -23px rgba(18, 104, 196, .95), inset 0 1px 0 rgba(255, 255, 255, .2) !important; }
.sagace-voice-orientation-main:active:not(:disabled) { transform: scale(.99) !important; }
.sagace-voice-orientation-main:disabled { opacity: .64 !important; cursor: wait !important; }
.sagace-voice-orientation-intro-skip { min-height: 44px !important; padding: 9px 14px !important; border: 1px solid #bad4eb !important; border-radius: var(--vo-r-button) !important; background: #fff !important; color: #17598d !important; font: 700 11.5px/1.2 Inter, "Segoe UI", Arial, sans-serif !important; cursor: pointer !important; }
.sagace-voice-orientation-intro-skip:hover { background: #eef7ff !important; color: #123f68 !important; }
.sagace-voice-orientation-intro-skip[hidden] { display: none !important; }
.sagace-voice-orientation-live-actions { display: flex !important; align-items: center !important; gap: 10px !important; color: var(--vo-muted) !important; font-size: 11px !important; font-weight: 800 !important; }
.sagace-voice-orientation-live-actions[hidden] { display: none !important; }
.sagace-voice-orientation-live-actions button { min-height: 44px !important; padding: 9px 13px !important; border: 1px solid #fecaca !important; border-radius: var(--vo-r-button) !important; background: #fff7f7 !important; color: var(--vo-danger) !important; font: 800 11.5px/1 Inter, "Segoe UI", Arial, sans-serif !important; cursor: pointer !important; }
.sagace-voice-orientation-live-actions button:hover { background: #feecec !important; }

.sagace-voice-orientation-written { display: block !important; margin-top: 11px !important; padding-top: 11px !important; border-top: 1px solid #e1e9f2 !important; }
.sagace-voice-orientation-written label { display: block !important; margin-bottom: 6px !important; color: #4c657d !important; font-size: 10.8px !important; font-weight: 800 !important; }
.sagace-voice-orientation-written > div { display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; gap: 8px !important; }
.sagace-voice-orientation-written input { width: 100% !important; min-width: 0 !important; min-height: 46px !important; padding: 10px 12px !important; border: 1px solid #d2e0ed !important; border-radius: 12px !important; background: #fff !important; color: var(--vo-ink) !important; font: 500 12.5px/1.3 Inter, "Segoe UI", Arial, sans-serif !important; outline: none !important; }
.sagace-voice-orientation-written input:focus { border-color: #70afe5 !important; box-shadow: 0 0 0 3px rgba(18, 104, 196, .1) !important; }
.sagace-voice-orientation-written button { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; min-height: 46px !important; padding: 10px 14px !important; border: 0 !important; border-radius: 12px !important; background: var(--vo-ink) !important; color: #fff !important; font: 800 11.8px/1.2 Inter, "Segoe UI", Arial, sans-serif !important; cursor: pointer !important; transition: background .16s ease, transform .16s ease !important; }
.sagace-voice-orientation-written button:hover { background: #153e63 !important; transform: translateY(-1px) !important; }
.sagace-voice-orientation-guest { margin-top: 11px !important; padding: 12px !important; border: 1px solid #d5e4f2 !important; border-radius: 14px !important; background: #f2f8fd !important; }
.sagace-voice-orientation-guest[hidden] { display: none !important; }
.sagace-voice-orientation-guest p { margin: 0 0 9px !important; color: #4b637d !important; font-size: 11.5px !important; line-height: 1.45 !important; }
.sagace-voice-orientation-guest > div { display: flex !important; gap: 8px !important; flex-wrap: wrap !important; }
.sagace-voice-orientation-guest a { display: inline-flex !important; align-items: center !important; min-height: 44px !important; padding: 9px 13px !important; border: 1px solid #bad4eb !important; border-radius: var(--vo-r-button) !important; background: #fff !important; color: #17598d !important; font-size: 11px !important; font-weight: 800 !important; text-decoration: none !important; }

html.sagace-voice-orientation-modal-open,
html:has(body.sagace-voice-orientation-modal-open),
body.sagace-voice-orientation-modal-open { overflow: hidden !important; overscroll-behavior: none !important; }

@keyframes voBackdropIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes voShellIn { from { opacity: 0; transform: translateY(10px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes voRing { to { transform: rotate(1turn); } }
@keyframes voBreathe { 0%, 100% { opacity: .65; transform: scale(.94); } 50% { opacity: 1; transform: scale(1.08); } }
@keyframes voWave { from { transform: scaleY(.65); } to { transform: scaleY(2.1); } }

@media (max-height: 780px) and (min-width: 681px) {
  .sagace-voice-orientation-header { padding-top: 15px !important; padding-bottom: 13px !important; }
  .sagace-voice-orientation-agent-photo { width: 50px !important; height: 50px !important; flex-basis: 50px !important; border-radius: 15px !important; }
  .sagace-voice-orientation-body { padding-top: 12px !important; }
  .sagace-voice-orientation-stage { grid-template-columns: 76px minmax(0, 1fr) !important; align-items: center !important; justify-items: start !important; gap: 13px !important; padding: 0 8px 12px !important; text-align: left !important; }
  .sagace-voice-orientation-voice-visual { grid-row: 1 / span 2 !important; width: 76px !important; height: 76px !important; }
  .sagace-voice-orientation-voice-core { inset: 16px !important; }
  .sagace-voice-orientation-voice-ring { inset: 6px !important; }
  .sagace-voice-orientation-state-copy > strong { margin-top: 0 !important; }
  .sagace-voice-orientation-state-copy > p { margin-left: 0 !important; }
  .sagace-voice-orientation-disclosure { grid-column: 2 !important; justify-content: flex-start !important; margin-top: 3px !important; text-align: left !important; }
  .sagace-voice-orientation-transcript { max-height: 92px !important; }
}

@media (max-height: 640px) and (min-width: 681px) {
  .sagace-voice-orientation-dialog { height: calc(100vh - 16px) !important; max-height: calc(100vh - 16px) !important; }
  .sagace-voice-orientation-dialog { height: calc(100dvh - 16px) !important; max-height: calc(100dvh - 16px) !important; }
  .sagace-voice-orientation-header { padding-top: 11px !important; padding-bottom: 10px !important; }
  .sagace-voice-orientation-header p { display: none !important; }
  .sagace-voice-orientation-body { padding: 9px 18px 6px !important; }
  .sagace-voice-orientation-footer { padding: 8px 18px 10px !important; }
  .sagace-voice-orientation-disclosure { padding-top: 6px !important; padding-bottom: 6px !important; font-size: 9.7px !important; line-height: 1.3 !important; white-space: normal !important; overflow: visible !important; }
}

@media (max-width: 680px) {
  .sagace-voice-orientation-modal { padding: 0 !important; align-items: stretch !important; }
  .sagace-voice-orientation-dialog { width: 100% !important; height: 100vh !important; height: 100dvh !important; max-height: none !important; border: 0 !important; border-radius: 0 !important; }
  .sagace-voice-orientation-header { padding: calc(15px + env(safe-area-inset-top, 0px)) 72px 13px calc(16px + env(safe-area-inset-left, 0px)) !important; }
  .sagace-voice-orientation-close { top: calc(11px + env(safe-area-inset-top, 0px)) !important; right: calc(12px + env(safe-area-inset-right, 0px)) !important; }
  .sagace-voice-orientation-agent-photo { width: 48px !important; height: 48px !important; flex-basis: 48px !important; border-radius: 14px !important; }
  .sagace-voice-orientation-header h2 { font-size: 19px !important; }
  .sagace-voice-orientation-header p { font-size: 11.5px !important; }
  .sagace-voice-orientation-body { padding: 14px calc(15px + env(safe-area-inset-right, 0px)) 8px calc(15px + env(safe-area-inset-left, 0px)) !important; }
  .sagace-voice-orientation-footer { padding-right: calc(15px + env(safe-area-inset-right, 0px)) !important; padding-left: calc(15px + env(safe-area-inset-left, 0px)) !important; }
  .sagace-voice-orientation-voice-visual { width: 84px !important; height: 84px !important; }
  .sagace-voice-orientation-voice-core { inset: 17px !important; }
  .sagace-voice-orientation-voice-ring { inset: 7px !important; }
  .sagace-voice-orientation-card { grid-template-columns: 48px minmax(0, 1fr) !important; }
  .sagace-voice-orientation-card-photo { width: 48px !important; height: 48px !important; }
  .sagace-voice-orientation-card > button { grid-column: 1 / -1 !important; width: 100% !important; }
  .sagace-voice-orientation-confirm-actions { grid-template-columns: 1fr 1fr !important; }
  .sagace-voice-orientation-confirm-cancel { grid-column: 1 / -1 !important; width: auto !important; justify-self: center !important; }
  .sagace-voice-orientation-written > div { grid-template-columns: 1fr !important; }
  .sagace-voice-orientation-written button { width: 100% !important; }
}

@media (max-width: 680px) and (max-height: 640px) {
  .sagace-voice-orientation-header { padding-top: calc(9px + env(safe-area-inset-top, 0px)) !important; padding-bottom: 9px !important; }
  .sagace-voice-orientation-header p { display: none !important; }
  .sagace-voice-orientation-body { padding-top: 8px !important; padding-bottom: 5px !important; }
  .sagace-voice-orientation-stage { grid-template-columns: 64px minmax(0, 1fr) !important; align-items: center !important; justify-items: start !important; gap: 9px !important; padding-bottom: 8px !important; text-align: left !important; }
  .sagace-voice-orientation-voice-visual { width: 64px !important; height: 64px !important; margin: 0 !important; }
  .sagace-voice-orientation-voice-core { inset: 13px !important; }
  .sagace-voice-orientation-voice-ring { inset: 5px !important; }
  .sagace-voice-orientation-state-copy > strong { margin-top: 0 !important; font-size: 15px !important; }
  .sagace-voice-orientation-state-copy > p { margin-left: 0 !important; font-size: 11.5px !important; }
  .sagace-voice-orientation-disclosure { grid-column: 1 / -1 !important; width: 100% !important; margin-top: 0 !important; text-align: left !important; }
  .sagace-voice-orientation-footer { padding-top: 7px !important; padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px)) !important; }
  .sagace-voice-orientation-written { margin-top: 7px !important; padding-top: 7px !important; }
  .sagace-voice-orientation-written > div { grid-template-columns: minmax(0, 1fr) auto !important; }
  .sagace-voice-orientation-written button { width: auto !important; }
  .sagace-voice-orientation-guest { max-height: 76px !important; overflow-y: auto !important; scrollbar-width: none !important; }
  .sagace-voice-orientation-guest::-webkit-scrollbar { display: none !important; }
}

@media (max-width: 520px) {
  .sagace-voice-orientation-confirm-actions { grid-template-columns: 1fr !important; }
  .sagace-voice-orientation-confirm-cancel { grid-column: auto !important; width: 100% !important; justify-self: stretch !important; }
}

@media (max-width: 420px) {
  .sagace-voice-orientation-floating small { display: none !important; }
  .sagace-voice-orientation-header { gap: 10px !important; }
  .sagace-voice-orientation-header small { font-size: 9.5px !important; }
  .sagace-voice-orientation-header h2 { font-size: 18px !important; }
  .sagace-voice-orientation-header p { display: none !important; }
  .sagace-voice-orientation-stage { padding-right: 0 !important; padding-left: 0 !important; }
  .sagace-voice-orientation-disclosure { align-items: flex-start !important; text-align: left !important; }
  .sagace-voice-orientation-confirm { padding: 14px !important; }
  .sagace-voice-orientation-confirm-summary { grid-template-columns: 46px minmax(0, 1fr) !important; }
  .sagace-voice-orientation-confirm-photo { width: 46px !important; height: 46px !important; }
  .sagace-voice-orientation-confirm-actions { grid-template-columns: 1fr !important; }
  .sagace-voice-orientation-confirm-cancel { grid-column: auto !important; width: 100% !important; justify-self: stretch !important; }
  .sagace-voice-orientation-main { width: 100% !important; }
}

@media (prefers-reduced-motion: reduce) {
  .sagace-voice-orientation-modal *, .sagace-voice-orientation-floating { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

@media (forced-colors: active) {
  .sagace-voice-orientation-dialog, .sagace-voice-orientation-card, .sagace-voice-orientation-confirm, .sagace-voice-orientation-footer { border: 1px solid CanvasText !important; background: Canvas !important; color: CanvasText !important; }
  .sagace-voice-orientation-voice-core, .sagace-voice-orientation-main, .sagace-voice-orientation-confirm button.primary { border: 2px solid ButtonText !important; background: ButtonFace !important; color: ButtonText !important; }
  .sagace-voice-orientation-voice-ring { border: 2px solid Highlight !important; background: none !important; -webkit-mask: none !important; mask: none !important; }
}
