@import "@buzzwaretech/tailwind-config/index.css";
@import "@buzzwaretech/editor/styles.css";
@import "@buzzwaretech/propel/styles/react-day-picker.css";
@import "./power-k.css";
@import "./emoji.css";
@plugin "@tailwindcss/typography";

/* stickies and editor colors */
:root {
  /* text colors */
  --editor-colors-gray-text: #5c5e63;
  --editor-colors-peach-text: #ff5b59;
  --editor-colors-pink-text: #f65385;
  --editor-colors-orange-text: #fd9038;
  --editor-colors-green-text: #0fc27b;
  --editor-colors-light-blue-text: #17bee9;
  --editor-colors-dark-blue-text: #266df0;
  --editor-colors-purple-text: #9162f9;
  /* end text colors */

  /* background colors */
  --editor-colors-gray-background: #d6d6d8;
  --editor-colors-peach-background: #ffd5d7;
  --editor-colors-pink-background: #fdd4e3;
  --editor-colors-orange-background: #ffe3cd;
  --editor-colors-green-background: #c3f0de;
  --editor-colors-light-blue-background: #c5eff9;
  --editor-colors-dark-blue-background: #c9dafb;
  --editor-colors-purple-background: #e3d8fd;
  /* end background colors */
}
/* background colors */
[data-theme*="light"] {
  --editor-colors-gray-background: #d6d6d8;
  --editor-colors-peach-background: #ffd5d7;
  --editor-colors-pink-background: #fdd4e3;
  --editor-colors-orange-background: #ffe3cd;
  --editor-colors-green-background: #c3f0de;
  --editor-colors-light-blue-background: #c5eff9;
  --editor-colors-dark-blue-background: #c9dafb;
  --editor-colors-purple-background: #e3d8fd;
}
[data-theme*="dark"] {
  --editor-colors-gray-background: #404144;
  --editor-colors-peach-background: #593032;
  --editor-colors-pink-background: #562e3d;
  --editor-colors-orange-background: #583e2a;
  --editor-colors-green-background: #1d4a3b;
  --editor-colors-light-blue-background: #1f495c;
  --editor-colors-dark-blue-background: #223558;
  --editor-colors-purple-background: #3d325a;
}
/* end background colors */

.shadow-custom {
  box-shadow: 2px 2px 8px 2px rgba(234, 231, 250, 0.3); /* Convert #EAE7FA4D to rgba */
}
/* backdrop filter */
.backdrop-blur-custom {
  @apply backdrop-filter blur-[9px];
}

.epr-search-container > input {
  @apply bg-surface-2! text-primary!;
  border: none !important;
}

.epr-search-container > input::placeholder {
  @apply text-placeholder!;
}

.epr-search-container > .epr-icn-search {
  @apply text-placeholder!;
}

/* Lock icon animations */
@keyframes textSlideIn {
  0% {
    opacity: 0;
    transform: translateX(-8px);
    max-width: 0px;
  }
  40% {
    opacity: 0.7;
    max-width: 60px;
  }
  100% {
    opacity: 1;
    transform: translateX(0);
    max-width: 60px;
  }
}

@keyframes textFadeOut {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(8px);
  }
}

@keyframes lockIconAnimation {
  0% {
    transform: rotate(-5deg) scale(1);
  }
  25% {
    transform: rotate(0deg) scale(1.15);
  }
  50% {
    transform: rotate(5deg) scale(1.08);
  }
  100% {
    transform: rotate(0deg) scale(1);
  }
}

@keyframes unlockIconAnimation {
  0% {
    transform: rotate(0deg) scale(1);
  }
  40% {
    transform: rotate(-8deg) scale(1.15);
  }
  80% {
    transform: rotate(3deg) scale(1.05);
  }
  100% {
    transform: rotate(0deg) scale(1);
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

.animate-text-slide-in {
  animation: textSlideIn 400ms ease-out forwards;
}

.animate-text-fade-out {
  animation: textFadeOut 600ms ease-in 300ms forwards;
}

.animate-lock-icon {
  animation: lockIconAnimation 600ms ease-out forwards;
}

.animate-unlock-icon {
  animation: unlockIconAnimation 600ms ease-out forwards;
}

.animate-fade-out {
  animation: fadeOut 500ms ease-in 100ms forwards;
}

@keyframes highlight {
  0% {
    background-color: var(--background-color-layer-2);
    border-radius: 4px;
  }
  100% {
    background-color: transparent;
    border-radius: 4px;
  }
}

/* Progress Bar Styles */
:root {
  --bprogress-color: var(--background-color-accent-primary);
  --bprogress-height: 2.5px !important;
}

.bprogress {
  pointer-events: none;
}

.bprogress .bar {
  background: linear-gradient(
    90deg,
    --alpha(var(--background-color-accent-primary) / 80%) 0%,
    --alpha(var(--background-color-accent-primary) / 100%) 100%
  ) !important;
  will-change: width, opacity;
}

.bprogress .peg {
  display: block;
  box-shadow:
    0 0 8px --alpha(var(--background-color-accent-primary) / 60%),
    0 0 4px --alpha(var(--background-color-accent-primary) / 40%) !important;
  will-change: transform, opacity;
}

/* ============================================================
   BuzzwareTech Theme: Linear + Jira + Asana global polish
   ============================================================ */

/* Brand-tinted text selection — feels Jira/Linear premium */
::selection {
  background-color: var(--background-color-accent-subtle);
  color: var(--text-color-accent-primary);
}

/* Smooth micro-transitions on all interactive elements */
button,
[role="button"],
input,
select,
textarea,
a {
  transition-property: background-color, border-color, color, box-shadow, opacity;
  transition-duration: 120ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

/* Polished focus ring — Linear-style thin precise ring, not browser default */
:focus-visible {
  outline: 2px solid var(--border-color-accent-strong);
  outline-offset: 2px;
  border-radius: 4px;
}

/* Remove default ugly focus ring; rely on :focus-visible above */
:focus:not(:focus-visible) {
  outline: none;
}

/* Smooth font feature settings for Inter Variable — Linear crispness */
body,
input,
textarea,
select,
button {
  font-feature-settings: "cv02", "cv03", "cv04", "cv11";
  font-variant-numeric: tabular-nums;
}

/* Make inputs feel Linear-crisp: no OS default border treatment */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="number"],
textarea {
  -webkit-appearance: none;
  appearance: none;
}

/* Smooth page-level transitions (for route changes) */
html {
  scroll-behavior: smooth;
}
