@import "tailwindcss";

/* DaisyUI theme configuration */
@theme {
  --color-base-100: oklch(98% 0.02 240);
  --color-base-200: oklch(95% 0.03 240);
  --color-base-300: oklch(92% 0.04 240);
  --color-base-content: oklch(20% 0.05 240);

  --color-primary: oklch(55% 0.3 240);
  --color-primary-content: oklch(98% 0.01 240);

  --color-secondary: oklch(70% 0.25 200);
  --color-secondary-content: oklch(98% 0.01 200);

  --color-accent: oklch(65% 0.25 160);
  --color-accent-content: oklch(98% 0.01 160);

  --color-neutral: oklch(50% 0.05 240);
  --color-neutral-content: oklch(98% 0.01 240);

  --color-info: oklch(70% 0.2 220);
  --color-info-content: oklch(98% 0.01 220);

  --color-success: oklch(65% 0.25 140);
  --color-success-content: oklch(98% 0.01 140);

  --color-warning: oklch(80% 0.25 80);
  --color-warning-content: oklch(20% 0.05 80);

  --color-error: oklch(65% 0.3 30);
  --color-error-content: oklch(98% 0.01 30);

  --radius-selector: 1rem;
  --radius-field: 0.5rem;
  --radius-box: 2rem;

  --size-selector: 0.25rem;
  --size-field: 0.25rem;

  --border: 1px;
  
  --depth: 0;
  --noise: 0;
}

/* Base styles */
@layer base {
  html {
    font-family: system-ui, sans-serif;
  }
  
  body {
    margin: 0;
    padding: 0;
  }
}

/* DaisyUI component styles */
@layer components {
  .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-field);
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.25rem;
    padding: 0.5rem 1rem;
    border: 1px solid transparent;
    cursor: pointer;
    transition: all 0.2s;
    background-color: var(--color-primary);
    color: var(--color-primary-content);
  }
  
  .btn:hover {
    opacity: 0.8;
  }
  
  .btn-square {
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
  }
  
  .input {
    border-radius: var(--radius-field);
    border: 1px solid var(--color-base-300);
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    background-color: var(--color-base-100);
    color: var(--color-base-content);
  }
  
  .input:focus {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
  }
  
  .input-bordered {
    border-color: var(--color-base-300);
  }
  
  .chat {
    display: flex;
    margin-bottom: 1rem;
  }
  
  .chat-start {
    justify-content: flex-start;
  }
  
  .chat-end {
    justify-content: flex-end;
  }
  
  .chat-image {
    margin-right: 0.5rem;
  }
  
  .chat-end .chat-image {
    margin-right: 0;
    margin-left: 0.5rem;
    order: 2;
  }
  
  .avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  
  .chat-bubble {
    background-color: var(--color-base-200);
    color: var(--color-base-content);
    padding: 0.75rem 1rem;
    border-radius: 1rem;
    max-width: 80%;
    word-wrap: break-word;
  }
  
  .chat-start .chat-bubble {
    background-color: var(--color-primary);
    color: var(--color-primary-content);
  }
  
  .form-control {
    display: flex;
    flex-direction: column;
  }
  
  .input-group {
    display: flex;
    align-items: center;
  }
  
  .flex-grow {
    flex: 1 1 0%;
  }
  
  .mr-2\.5 {
    margin-right: 0.625rem;
  }
  
  .max-w-full {
    max-width: 100%;
  }
  
  .w-\[800px\] {
    width: 800px;
  }
  
  .relative {
    position: relative;
  }
  
  .absolute {
    position: absolute;
  }
  
  .-top-5 {
    top: -1.25rem;
  }
  
  .left-0\.5 {
    left: 0.125rem;
  }
  
  .animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  }
  
  @keyframes pulse {
    0%, 100% {
      opacity: 1;
    }
    50% {
      opacity: .5;
    }
  }
}

/* Utility classes */
@layer utilities {
  .container {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  
  .mx-auto {
    margin-left: auto;
    margin-right: auto;
  }
  
  .p-5 {
    padding: 1.25rem;
  }
  
  .fixed {
    position: fixed;
  }
  
  .inset-0 {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  
  .w-full {
    width: 100%;
  }
  
  .h-full {
    height: 100%;
  }
  
  .flex {
    display: flex;
  }
  
  .flex-col {
    flex-direction: column;
  }
  
  .flex-grow {
    flex-grow: 1;
  }
  
  .overflow-auto {
    overflow: auto;
  }
  
  .items-center {
    align-items: center;
  }
  
  .justify-center {
    justify-content: center;
  }
  
  .w-10 {
    width: 2.5rem;
  }
  
  .rounded-full {
    border-radius: 9999px;
  }
  
  .mb-4 {
    margin-bottom: 1rem;
  }
  
  .text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  
  .text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
  }
  
  .font-normal {
    font-weight: 400;
  }
  
  .leading-snug {
    line-height: 1.375;
  }
  
  .text-muted-foreground {
    color: var(--color-base-content);
    opacity: 0.7;
  }
}

#root {
  width: 375px;
  height: 600px;
}
