@tailwind base;
@tailwind components;
@tailwind utilities;

@font-face {
  font-family: "Satoshis";
  font-style: normal;
  font-weight: 400;
  src:
    local(""),
    url("/fonts/Satoshi Symbol.ttf") format("truetype");
}

@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 400;
  src:
    local(""),
    url("/fonts/Lato-Regular.ttf") format("truetype");
}

@font-face {
  font-family: "Lato";
  font-style: bold;
  font-weight: 600;
  src:
    local(""),
    url("/fonts/Lato-Bold.ttf") format("truetype");
}

@font-face {
  font-family: "Lato";
  font-style: italic;
  font-weight: 400;
  src:
    local(""),
    url("/fonts/Italic.ttf") format("truetype");
}

:root {
  font-family: Lato;
  --base-100: oklch(var(--b1));
  --base-200: oklch(var(--b2));
  --base-300: oklch(var(--b3));
  --base-content: oklch(var(--bc));
  --primary: oklch(var(--p));
  --primary-content: oklch(var(--pc));
  --secondary: oklch(var(--s));
  --secondary-content: oklch(var(--sc));
}

.bg-alt,
.bg-alt .bg-alt .bg-alt,
.hover\:bg-alt:hover,
.bg-alt .bg-alt .hover\:bg-alt:hover,
.bg-alt .bg-alt.hover\:bg-alt:hover {
  @apply bg-base-100 text-base-content transition-colors;
}

.bg-alt .bg-alt,
.bg-alt .bg-alt .bg-alt .bg-alt,
.bg-alt .hover\:bg-alt:hover,
.bg-alt .bg-alt .bg-alt .hover\:bg-alt:hover,
.bg-alt.hover\:bg-alt:hover,
.bg-alt .bg-alt .bg-alt.hover\:bg-alt:hover {
  @apply bg-base-300 text-base-content transition-colors;
}

.card2 {
  @apply rounded-box p-6 text-base-content;
}

.card2.card2-sm {
  @apply p-4 text-base-content;
}

.column {
  @apply flex flex-col;
}

.center {
  @apply flex items-center justify-center;
}

.row-2 {
  @apply flex items-center gap-2;
}

.row-3 {
  @apply flex items-center gap-3;
}

.row-4 {
  @apply flex items-center gap-4;
}

.col-2 {
  @apply flex flex-col gap-2;
}

.col-3 {
  @apply flex flex-col gap-3;
}

.col-4 {
  @apply flex flex-col gap-4;
}

.col-8 {
  @apply flex flex-col gap-8;
}

.badge {
  @apply justify-start overflow-hidden text-ellipsis whitespace-nowrap;
}

.ellipsize {
  @apply overflow-hidden text-ellipsis;
}

[data-tip]::before {
  @apply ellipsize;
}

@media (max-width: 639px) {
  [data-tip]::before {
    display: none;
  }
}

.content-padding-x {
  @apply px-4 sm:px-8 md:px-12;
}

.content-padding-t {
  @apply pt-4 sm:pt-8 md:pt-12;
}

.content-padding-b {
  @apply pb-4 sm:pb-8 md:pb-12;
}

.content-padding-y {
  @apply content-padding-t content-padding-b;
}

.content-sizing {
  @apply m-auto w-full max-w-3xl;
}

.content {
  @apply content-sizing content-padding-x content-padding-y;
}

.heading {
  @apply text-center text-2xl;
}

.subheading {
  @apply text-center text-xl;
}

.superheading {
  @apply text-center text-4xl;
}

.link {
  @apply cursor-pointer text-primary underline;
}

.input input::placeholder {
  opacity: 0.5;
}

.shadow-top-xl {
  @apply shadow-[0_20px_25px_-5px_rgb(0,0,0,0.1)_0_8px_10px_-6px_rgb(0,0,0,0.1)];
}

/* tiptap */

.input-editor,
.chat-editor,
.note-editor {
  @apply -m-1 min-h-12 p-1;
}

.tiptap[contenteditable="true"] {
  @apply max-h-[350px] overflow-y-auto p-2 px-4;
}

.chat-editor .tiptap[contenteditable="true"] {
  @apply rounded-box bg-base-300;
}

.input-editor .tiptap[contenteditable="true"] {
  @apply input input-bordered h-auto p-[.65rem];
}

.note-editor .tiptap[contenteditable="true"] {
  @apply input input-bordered h-auto min-h-32 rounded-box p-[.65rem] pb-6;
}

.tiptap pre code {
  @apply link-content block w-full;
}

.tiptap p code {
  @apply link-content;
}

.link-content,
.tiptap [tag] {
  @apply max-w-full overflow-hidden text-ellipsis whitespace-nowrap rounded bg-neutral px-1 text-neutral-content no-underline;
}

.link-content.link-content-selected {
  @apply bg-primary text-primary-content;
}

.tiptap p.is-editor-empty:first-child::before {
  content: attr(data-placeholder);
  float: left;
  height: 0;
  pointer-events: none;
  opacity: 50%;
}

/* date input */

.date-time-field {
  @apply input input-bordered rounded px-0;
}
.date-time-field input {
  @apply !h-full !w-full !border-none !bg-inherit !text-inherit;
}

/* emoji picker */

emoji-picker {
  --background: var(--base-100);
  --border-color: var(--base-100);
  --border-radius: var(--rounded-box);
  --button-active-background: var(--base-content);
  --button-hover-background: var(--base-content);
  --indicator-color: var(--base-content);
  --input-border-color: var(--base-100);
  --input-font-color: var(--base-content);
  --outline-color: var(--base-100);
}

/* tiptap */

.tiptap {
  --tiptap-object-bg: var(--base-100);
  --tiptap-object-fg: var(--base-content);
  --tiptap-active-bg: var(--primary);
  --tiptap-active-fg: var(--primary-content);
}

.tiptap-suggestions {
  --tiptap-object-bg: var(--base-100);
  --tiptap-object-fg: var(--base-content);
  --tiptap-active-bg: var(--base-300);
  --tiptap-active-fg: var(--base-content);
}
