@import "tailwindcss";

/* Custom Animations */
@keyframes blob {
  0% {
    transform: translate(0px, 0px) scale(1);
  }
  33% {
    transform: translate(30px, -50px) scale(1.1);
  }
  66% {
    transform: translate(-20px, 20px) scale(0.9);
  }
  100% {
    transform: translate(0px, 0px) scale(1);
  }
}

@keyframes float {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-20px);
  }
}

@keyframes fade-in {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes pulse-slow {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.8;
  }
}

/* Animation Utility Classes */
.animate-blob {
  animation: blob 7s infinite;
}

.animate-float {
  animation: float 3s ease-in-out infinite;
}

.animate-fade-in {
  animation: fade-in 0.5s ease-out;
}

.animate-pulse-slow {
  animation: pulse-slow 3s ease-in-out infinite;
}

/* Animation Delays */
.animation-delay-2000 {
  animation-delay: 2s;
}

.animation-delay-4000 {
  animation-delay: 4s;
}

/* Custom Gradients */
.bg-gradient-spiritual {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.bg-gradient-peaceful {
  background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
}

/* Glassmorphism Effects */
.glass-effect {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.glass-effect-dark {
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Custom Form Styles */
.form-input {
  @apply w-full px-4 py-3 border-2 border-gray-200 rounded-xl focus:ring-4 focus:ring-purple-500/20 focus:border-purple-500 transition-all duration-200 bg-gray-50/50;
}

.form-label {
  @apply block text-sm font-medium text-gray-700 mb-2;
}

/* Custom Button Styles */
.btn-primary {
  @apply w-full py-4 px-6 bg-gradient-to-r from-purple-600 to-indigo-600 text-white font-semibold rounded-xl hover:from-purple-700 hover:to-indigo-700 transform hover:scale-[1.02] transition-all duration-200 shadow-lg hover:shadow-xl;
}

.btn-secondary {
  @apply w-full py-4 px-6 bg-gray-100 text-gray-700 font-semibold rounded-xl hover:bg-gray-200 transform hover:scale-[1.02] transition-all duration-200 text-center block;
}

.btn-ghost {
  @apply bg-white/10 backdrop-blur-md border border-white/20 text-white px-6 py-2 rounded-full hover:bg-white/20 transition-all duration-200;
}

/* Card Styles */
.card-spiritual {
  @apply bg-white rounded-2xl shadow-xl overflow-hidden hover:shadow-2xl transition-all duration-300 hover:-translate-y-2;
}

.card-glass {
  @apply bg-white/95 backdrop-blur-md rounded-2xl shadow-2xl;
}

/* Background Blobs */
.blob-container {
  @apply absolute inset-0 overflow-hidden pointer-events-none;
}

.blob {
  @apply absolute rounded-full mix-blend-multiply filter blur-3xl opacity-20 pointer-events-none;
}

.blob-purple {
  @apply bg-purple-700 w-72 h-72 md:w-96 md:h-96;
}

.blob-indigo {
  @apply bg-indigo-700 w-72 h-72 md:w-96 md:h-96;
}

.blob-blue {
  @apply bg-blue-700 w-72 h-72 md:w-96 md:h-96;
}

/* Onboarding Specific Styles */
.onboarding-step {
  @apply bg-white rounded-lg shadow-md p-6 border-2 border-gray-200 hover:border-indigo-300 transition-all duration-200;
}

.onboarding-step-selected {
  @apply border-indigo-600 ring-2 ring-indigo-200;
}

/* Chat Interface Styles */
.chat-bubble-user {
  @apply bg-gray-100 rounded-lg p-4 max-w-3xl;
}

.chat-bubble-ai {
  @apply bg-indigo-50 rounded-lg p-4 max-w-3xl;
}

/* Chat Sidebar Active State */
.chat-active {
  @apply bg-indigo-50 border-l-4 border-indigo-600;
}

.chat-active svg {
  @apply text-indigo-600;
}

.chat-active p.text-sm {
  @apply text-gray-900 font-semibold;
}

/* Dashboard Card Styles */
.dashboard-card {
  @apply bg-white overflow-hidden shadow rounded-lg hover:shadow-lg transition-shadow duration-200;
}

/* Navigation Styles */
.nav-link {
  @apply text-gray-700 hover:text-indigo-600 px-3 py-2 rounded-md text-sm font-medium transition-colors duration-200;
}

.nav-link-white {
  @apply text-white/80 hover:text-white transition-colors duration-200;
}

/* Hero Section Styles */
.hero-gradient {
  @apply bg-gradient-to-br from-purple-900 via-indigo-900 to-blue-900;
}

.hero-overlay {
  @apply absolute inset-0 bg-black/20 pointer-events-none;
}

/* Section Styles */
.section-padding {
  @apply py-24 px-4 sm:px-6 lg:px-8;
}

.section-header {
  @apply text-4xl md:text-5xl font-bold text-gray-900 mb-4;
}

.section-description {
  @apply text-xl text-gray-600 max-w-3xl mx-auto;
}

/* Feature Card Styles */
.feature-icon {
  @apply w-12 h-12 bg-gradient-to-br from-purple-500 to-indigo-600 rounded-lg flex items-center justify-center text-white text-2xl mb-4;
}

.feature-title {
  @apply text-xl font-bold text-gray-900 mb-2;
}

.feature-description {
  @apply text-gray-600;
}

/* Goal Highlight Animation */
@keyframes highlight {
  0% {
    background-color: rgba(199, 210, 254, 0.3);
  }
  100% {
    background-color: transparent;
  }
}

.animate-highlight {
  animation: highlight 3s ease-out;
  transition: all 0.3s ease;
}

/* Goal item hover effects */
.goal-item:hover .delete-btn {
  opacity: 1;
}

/* Memory notification animation */
@keyframes fade-out {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-10px);
  }
}

.animate-fade-out {
  animation: fade-out 0.3s ease-out forwards;
}

/* Goals Panel Animation */
@keyframes slide-in-right {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}

@keyframes slide-out-right {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(100%);
  }
}

.slide-in-right {
  animation: slide-in-right 0.3s ease-out;
}

.slide-out-right {
  animation: slide-out-right 0.3s ease-in;
}

/* Toast Notification Animations */
@keyframes toast-in {
  from {
    opacity: 0;
    transform: translateX(100%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes toast-out {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 0;
    transform: translateX(100%);
  }
}

.animate-toast-in {
  animation: toast-in 0.3s ease-out;
}

.animate-toast-out {
  animation: toast-out 0.3s ease-in;
}

/* Flash Toast Styles */
.flash-toast {
  @apply transition-all duration-300;
}

/* Parsley Validation Styles */
.parsley-errors-list {
  @apply list-none p-0 m-0 mt-1;
}

.parsley-errors-list li {
  @apply text-red-600 text-sm;
}

input.parsley-error,
textarea.parsley-error,
select.parsley-error {
  @apply border-red-500;
}

input.parsley-success,
textarea.parsley-success,
select.parsley-success {
  @apply border-green-500;
}

/* TomSelect - Email Select Component (Custom Styles - No Default CSS) */
.email-select-input {
  width: 100%;
}

.email-select-wrapper {
  width: 100%;
  position: relative;
}

.email-select-wrapper .ts-wrapper {
  width: 100%;
  position: relative;
}

.email-select-wrapper .ts-control {
  width: 100%;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid #d1d5db;
  border-radius: 0.5rem;
  background-color: #fff;
  font-size: 0.875rem;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  cursor: text;
  transition: all 0.2s;
  box-sizing: border-box;
  overflow: hidden;
}

.email-select-wrapper .ts-control:hover {
  border-color: #9ca3af;
}

.email-select-wrapper.focus .ts-control,
.email-select-wrapper .ts-wrapper.focus .ts-control {
  border-color: #6366f1;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
  outline: none;
}

.email-select-wrapper .ts-control > input {
  flex: 1 1 auto;
  min-width: 60px;
  width: 100% !important;
  font-size: 0.875rem;
  color: #111827;
  background: transparent;
  border: none !important;
  outline: none !important;
  padding: 4px 0 !important;
  margin: 0;
  box-shadow: none !important;
}

/* Hide input when an item is selected (single select mode) */
.email-select-wrapper .ts-control.has-items > input {
  width: 0 !important;
  min-width: 0 !important;
  flex: 0 0 0 !important;
  padding: 0 !important;
  opacity: 0;
}

.email-select-wrapper .ts-control > input::placeholder {
  color: #9ca3af;
}

/* Selected item tag/chip style */
.email-select-wrapper .ts-control > .item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px 4px 12px;
  background-color: #e0e7ff;
  color: #4338ca;
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: 9999px;
  line-height: 1.4;
  max-width: calc(100% - 10px);
}

.email-select-wrapper .ts-control > .item .remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  min-width: 18px;
  margin-left: 4px;
  color: #6366f1;
  cursor: pointer;
  border-radius: 50%;
  transition: all 0.15s;
  font-size: 16px;
  line-height: 1;
  flex-shrink: 0;
}

.email-select-wrapper .ts-control > .item .remove:hover {
  background-color: #c7d2fe;
  color: #4338ca;
}

/* Dropdown styles */
.email-select-wrapper .ts-dropdown {
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  margin-top: 4px;
  background-color: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  z-index: 1000;
  box-sizing: border-box;
}

.email-select-wrapper .ts-dropdown-content {
  padding: 4px 0;
  max-height: 200px;
  overflow-y: auto;
}

.email-select-wrapper .ts-dropdown .option,
.email-select-wrapper .ts-dropdown .option-item {
  padding: 10px 14px;
  font-size: 0.875rem;
  color: #374151;
  cursor: pointer;
  transition: background-color 0.15s;
}

.email-select-wrapper .ts-dropdown .option:hover,
.email-select-wrapper .ts-dropdown .option.active {
  background-color: #eef2ff;
  color: #4338ca;
}

.email-select-wrapper .ts-dropdown .create,
.email-select-wrapper .ts-dropdown .create-item {
  padding: 10px 14px;
  font-size: 0.875rem;
  cursor: pointer;
  border-top: 1px solid #f3f4f6;
  background-color: #f9fafb;
  color: #374151;
}

.email-select-wrapper .ts-dropdown .create:hover,
.email-select-wrapper .ts-dropdown .option.create:hover {
  background-color: #eef2ff;
}

.email-select-wrapper .ts-dropdown .create-label {
  color: #6366f1;
}

.email-select-wrapper .ts-dropdown .create-email {
  font-weight: 500;
  color: #111827;
}

.email-select-wrapper .ts-dropdown .no-results {
  padding: 10px 14px;
  font-size: 0.875rem;
  color: #6b7280;
  font-style: italic;
}

/* Hide the original input when TomSelect initializes */
.email-select-wrapper input.tomselected,
.ts-wrapper input.tomselected,
input.tomselected {
  display: none !important;
}

/* Hide original input inside ts-wrapper (TomSelect creates its own) */
.ts-wrapper > input[data-email-select-target="input"] {
  display: none !important;
}

/* Trix Editor Styles */
trix-editor {
  border: none;
  min-height: 150px;
  padding: 0.75rem;
}

trix-editor:focus {
  outline: none;
}

trix-toolbar {
  background-color: #f9fafb;
  border-bottom: 1px solid #e5e7eb;
  padding: 0.5rem;
}

trix-toolbar .trix-button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

trix-toolbar .trix-button-group {
  display: flex;
  margin-right: 0.75rem;
}

trix-toolbar .trix-button-group:last-child {
  margin-right: 0;
}

trix-toolbar .trix-button {
  position: relative;
  width: 2rem;
  height: 2rem;
  padding: 0;
  margin: 0;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  background: transparent;
  color: #6b7280;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

trix-toolbar .trix-button:hover {
  background-color: #e5e7eb;
  color: #374151;
}

trix-toolbar .trix-button.trix-active {
  background-color: #dbeafe;
  color: #2563eb;
  border-color: #93c5fd;
}

trix-toolbar .trix-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Trix button icons using SVG backgrounds */
trix-toolbar .trix-button--icon {
  font-size: 0;
  text-indent: -9999px;
}

trix-toolbar .trix-button--icon::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1rem;
  height: 1rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  content: "";
  opacity: 0.7;
}

trix-toolbar .trix-button--icon:hover::before {
  opacity: 1;
}

/* Trix button icons */
trix-toolbar .trix-button--icon-bold::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 4h8a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 12h9a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z'/%3E%3C/svg%3E");
}

trix-toolbar .trix-button--icon-italic::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cline x1='19' y1='4' x2='10' y2='4' stroke-width='2' stroke-linecap='round'/%3E%3Cline x1='14' y1='20' x2='5' y2='20' stroke-width='2' stroke-linecap='round'/%3E%3Cline x1='15' y1='4' x2='9' y2='20' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

trix-toolbar .trix-button--icon-strike::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 12h14'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M16 6H8c-1.1 0-2 .9-2 2s.9 2 2 2h8'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 18h8c1.1 0 2-.9 2-2s-.9-2-2-2H8'/%3E%3C/svg%3E");
}

trix-toolbar .trix-button--icon-link::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1'/%3E%3C/svg%3E");
}

trix-toolbar .trix-button--icon-heading-1::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%236b7280' viewBox='0 0 24 24'%3E%3Ctext x='4' y='18' font-size='14' font-weight='bold' font-family='system-ui'%3EH%3C/text%3E%3C/svg%3E");
}

trix-toolbar .trix-button--icon-quote::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%236b7280' viewBox='0 0 24 24'%3E%3Cpath d='M4 12.5c0-2.5 1.5-4.5 4-5l.5 1c-1.5.5-2.5 1.5-2.5 3 0 .3 0 .5.1.7.3-.2.6-.2 1-.2 1.4 0 2.4 1 2.4 2.3 0 1.4-1.1 2.5-2.5 2.5C5 16.8 4 15 4 12.5zm9 0c0-2.5 1.5-4.5 4-5l.5 1c-1.5.5-2.5 1.5-2.5 3 0 .3 0 .5.1.7.3-.2.6-.2 1-.2 1.4 0 2.4 1 2.4 2.3 0 1.4-1.1 2.5-2.5 2.5-2 0-3-1.8-3-4.3z'/%3E%3C/svg%3E");
}

trix-toolbar .trix-button--icon-code::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4'/%3E%3C/svg%3E");
}

trix-toolbar .trix-button--icon-bullet-list::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 6h16M4 12h16M4 18h16'/%3E%3Ccircle cx='2' cy='6' r='1' fill='%236b7280'/%3E%3Ccircle cx='2' cy='12' r='1' fill='%236b7280'/%3E%3Ccircle cx='2' cy='18' r='1' fill='%236b7280'/%3E%3C/svg%3E");
}

trix-toolbar .trix-button--icon-number-list::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%236b7280' viewBox='0 0 24 24'%3E%3Cpath d='M8 6h13v2H8zm0 5h13v2H8zm0 5h13v2H8zM3 5v3h1V4H3zm.5 6c.3 0 .5.2.5.5s-.2.5-.5.5-.5-.2-.5-.5.2-.5.5-.5m0-1c-.8 0-1.5.7-1.5 1.5v.1L3 13h2v-1H3.5l.5-.5c.3-.3.5-.7.5-1 0-.8-.7-1.5-1.5-1.5zm0 6.5c.3 0 .5.2.5.5s-.2.5-.5.5-.5-.2-.5-.5.2-.5.5-.5m0-1c-.8 0-1.5.7-1.5 1.5 0 .4.2.8.5 1-.3.3-.5.6-.5 1 0 .8.7 1.5 1.5 1.5s1.5-.7 1.5-1.5c0-.4-.2-.7-.5-1 .3-.3.5-.6.5-1 0-.8-.7-1.5-1.5-1.5z'/%3E%3C/svg%3E");
}

trix-toolbar .trix-button--icon-decrease-nesting-level::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M11 19l-7-7 7-7m8 14V5'/%3E%3C/svg%3E");
}

trix-toolbar .trix-button--icon-increase-nesting-level::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13 5l7 7-7 7M4 5v14'/%3E%3C/svg%3E");
}

trix-toolbar .trix-button--icon-attach::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13'/%3E%3C/svg%3E");
}

/* Hide file attachment button in Trix */
trix-toolbar .trix-button--icon-attach {
  display: none;
}

trix-toolbar .trix-button--icon-undo::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 10h10a8 8 0 018 8v2M3 10l6 6m-6-6l6-6'/%3E%3C/svg%3E");
}

trix-toolbar .trix-button--icon-redo::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 10h-10a8 8 0 00-8 8v2M21 10l-6 6m6-6l-6-6'/%3E%3C/svg%3E");
}

/* Trix link dialog */
trix-toolbar .trix-dialog {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 0.5rem;
  padding: 1rem;
  background-color: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  z-index: 10;
}

trix-toolbar .trix-dialog__link-fields {
  display: flex;
  gap: 0.5rem;
}

trix-toolbar .trix-dialog input[type="url"],
trix-toolbar .trix-dialog input[type="text"] {
  flex: 1;
  padding: 0.5rem 0.75rem;
  border: 1px solid #d1d5db;
  border-radius: 0.375rem;
  font-size: 0.875rem;
}

trix-toolbar .trix-dialog input:focus {
  outline: none;
  border-color: #6366f1;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
}

trix-toolbar .trix-dialog .trix-button-group {
  margin-top: 0.5rem;
}

trix-toolbar .trix-dialog .trix-button-group .trix-button {
  width: auto;
  height: auto;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  background-color: #6366f1;
  color: #fff;
  border-radius: 0.375rem;
}

trix-toolbar .trix-dialog .trix-button-group .trix-button:hover {
  background-color: #4f46e5;
}

/* Trix content styles */
.trix-content {
  color: #374151;
  font-size: 0.875rem;
  line-height: 1.625;
}

.trix-content h1 {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.trix-content blockquote {
  border-left: 3px solid #d1d5db;
  padding-left: 1rem;
  margin-left: 0;
  color: #6b7280;
  font-style: italic;
}

.trix-content pre {
  background-color: #f3f4f6;
  padding: 0.75rem;
  border-radius: 0.375rem;
  overflow-x: auto;
  font-family: monospace;
  font-size: 0.875rem;
}

.trix-content ul,
.trix-content ol {
  padding-left: 1.5rem;
  margin: 0.5rem 0;
}

.trix-content a {
  color: #6366f1;
  text-decoration: underline;
}

.trix-content a:hover {
  color: #4f46e5;
}

/* Trix image constraints */
.trix-content img,
.trix-content .attachment--preview img,
.trix-content figure img {
  max-width: 100%;
  height: auto;
  max-height: 300px;
  object-fit: contain;
  border-radius: 0.375rem;
}

.trix-content .attachment {
  max-width: 100%;
}

.trix-content .attachment--preview {
  max-width: 100%;
  text-align: center;
}

.trix-content figure {
  max-width: 100%;
  margin: 0.5rem 0;
}

.trix-content .attachment__caption {
  font-size: 0.75rem;
  color: #6b7280;
  text-align: center;
  margin-top: 0.25rem;
}

/* Date Input Styles */
input[type="date"] {
  position: relative;
  background: white;
}

input[type="date"]::-webkit-calendar-picker-indicator {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z'/%3E%3C/svg%3E");
  cursor: pointer;
  padding: 4px;
  opacity: 0.7;
  transition: opacity 0.2s;
}

input[type="date"]::-webkit-calendar-picker-indicator:hover {
  opacity: 1;
}

input[type="date"]:focus::-webkit-calendar-picker-indicator {
  opacity: 1;
}

/* Transcription Status Badge Animation */
@keyframes transcribing-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}

.animate-transcribing {
  animation: transcribing-pulse 1.5s ease-in-out infinite;
}

/* Responsive Utilities */
@media (max-width: 768px) {
  .blob {
    @apply w-48 h-48;
  }

  #flash-container {
    @apply top-4 right-4 left-4;
  }

  .flash-toast {
    @apply min-w-full;
  }
}
