html { scroll-behavior: smooth; }
[hidden] { display: none !important; }
body {
  font-family: "Vazirmatn", Tahoma, sans-serif;
  background-color: #fffaf4;
  background-image:
    radial-gradient(ellipse 75% 52% at 69% 3%, rgba(255, 255, 255, .72), transparent 72%),
    radial-gradient(ellipse 62% 24% at 51% 84%, rgba(159, 89, 15, .035), transparent 78%),
    radial-gradient(ellipse 70% 34% at 42% 72%, rgba(255, 255, 255, .38), transparent 75%),
    radial-gradient(ellipse 55% 45% at 86% 77%, rgba(255, 191, 66, .10), transparent 76%),
    linear-gradient(100deg, #fffdfa 0%, #fff8ef 37%, #fff2e2 68%, #ffe9cf 100%);
}

header { background: rgba(255, 253, 249, .82) !important; border-color: rgba(196, 135, 62, .09) !important; }
#profile-form, #trip-form { background: rgba(255, 255, 255, .9) !important; border-color: rgba(196, 135, 62, .1) !important; box-shadow: 0 18px 55px rgba(131, 75, 16, .04); }
#chat-form { background: linear-gradient(to top, rgba(255, 249, 241, .97), rgba(255, 249, 241, .86) 72%, rgba(255, 249, 241, 0)) !important; }
#chat-form > div { display: flex; flex-direction: column; align-items: center; }
#chat-form > div > div {
  width: 100%;
  transition: width 180ms ease, border-color 180ms ease;
}
#chat-form > div > div:focus-within { width: min(130%, calc(100vw - 2rem)); }
#message-input { transition: min-height 180ms ease; }
#message-input:focus { min-height: 57px; }
.hotel-track { scrollbar-width: none; }
.hotel-track::-webkit-scrollbar { display: none; }
#messages { scrollbar-width: thin; scrollbar-color: #cbd5e1 transparent; }
.ai-content > * + * { margin-top: .75rem; }
.ai-content ul, .ai-content ol { padding-right: 1.4rem; }
.ai-content ul { list-style: disc; }
.ai-content ol { list-style: decimal; }
.ai-content li + li { margin-top: .25rem; }
.ai-content strong { font-weight: 700; }
.ai-content h3, .ai-content h4, .ai-content h5 { font-weight: 700; }
.ai-content a { color: #c2410c; text-decoration: underline; text-underline-offset: 3px; }
.ai-content code { direction: ltr; unicode-bidi: isolate; border-radius: .35rem; background: #f1f5f9; padding: .1rem .3rem; font-size: .9em; }
.ai-content pre { overflow-x: auto; direction: ltr; text-align: left; border-radius: .75rem; background: #f1f5f9; padding: .75rem; line-height: 1.6; }
.ai-content pre code { padding: 0; background: transparent; }
.message-enter { animation: message-enter 220ms ease-out both; }
.typing-dot { animation: typing 1.2s ease-in-out infinite; }
.typing-dot:nth-child(2) { animation-delay: 150ms; }
.typing-dot:nth-child(3) { animation-delay: 300ms; }
@keyframes message-enter {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes typing {
  0%, 60%, 100% { opacity: .35; transform: translateY(0); }
  30% { opacity: 1; transform: translateY(-4px); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .message-enter, .typing-dot { animation: none; }
  #chat-form > div > div { transition: none; }
  #message-input { transition: none; }
  .hotel-track { scroll-behavior: auto; }
  .hotel-card { transition: none; }
}
