/* ─── InstaChef design system ─────────────────────────────────────────────── */

/* Brand + shared tokens (theme-independent) */
:root {
  --grad-1: #833AB4;
  --grad-2: #C13584;
  --grad-3: #E1306C;
  --grad-4: #FD7E14;
  --grad-5: #FCAF45;
  --brand-gradient: linear-gradient(135deg, var(--grad-1) 0%, var(--grad-3) 45%, var(--grad-4) 75%, var(--grad-5) 100%);
  --brand-gradient-soft: linear-gradient(135deg, #FCE9F3 0%, #FFEAD8 100%);

  --purple: #833AB4;
  --pink: #E1306C;
  --orange: #FD7E14;
  --yellow: #FCAF45;
  --berry: #C13584;

  --status-pending: #FCAF45;
  --status-success: #2EA56A;
  --status-error: #E64B4B;

  --font-display: "Lilita One", "Caprasimo", system-ui, sans-serif;
  --font-body: "DM Sans", -apple-system, system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;
}

/* Light theme */
.ic-root[data-theme="light"] {
  --bg: #FFF8F5;
  --bg-tint: #FFEFE4;
  --surface: #FFFFFF;
  --surface-2: #FDF1EC;
  --surface-3: #F7E5DC;
  --ink: #1A0B1F;
  --ink-2: #3A2A40;
  --muted: #7A6B7D;
  --muted-2: #A8989C;
  --border: rgba(26, 11, 31, 0.08);
  --border-strong: rgba(26, 11, 31, 0.14);
  --shadow-sm: 0 1px 2px rgba(26, 11, 31, 0.04), 0 2px 8px rgba(26, 11, 31, 0.04);
  --shadow-md: 0 4px 12px rgba(26, 11, 31, 0.06), 0 12px 32px rgba(26, 11, 31, 0.05);
  --shadow-lg: 0 12px 28px rgba(193, 53, 132, 0.18), 0 24px 60px rgba(131, 58, 180, 0.15);
}

/* Dark theme */
.ic-root[data-theme="dark"] {
  --bg: #110510;
  --bg-tint: #1A0A1F;
  --surface: #1F0F24;
  --surface-2: #2A1730;
  --surface-3: #371E3E;
  --ink: #FCEFE5;
  --ink-2: #E0D2DA;
  --muted: #A38FA8;
  --muted-2: #6E5A73;
  --border: rgba(255, 235, 245, 0.08);
  --border-strong: rgba(255, 235, 245, 0.16);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4), 0 2px 8px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.4), 0 12px 32px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 12px 28px rgba(225, 48, 108, 0.35), 0 24px 60px rgba(131, 58, 180, 0.3);
}

/* ─── Base reset ──────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
}

.ic-root {
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  min-height: 100dvh;
}

/* ─── Utility classes ─────────────────────────────────────────────────────── */
.ic-display {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: -0.005em;
  line-height: 1;
}

.ic-grad-text {
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.ic-scroll {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.ic-scroll::-webkit-scrollbar { display: none; }

button.ic-btn,
button.ic-btn-reset {
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  font: inherit;
  color: inherit;
  -webkit-tap-highlight-color: transparent;
}

/* ─── Animations ──────────────────────────────────────────────────────────── */
@keyframes ic-steam {
  0%   { transform: translateY(0) translateX(0) scale(0.6); opacity: 0; }
  25%  { opacity: 0.85; }
  100% { transform: translateY(-44px) translateX(var(--drift, 4px)) scale(1.4); opacity: 0; }
}
.ic-steam {
  animation: ic-steam 2.4s ease-out infinite;
  animation-delay: var(--delay, 0s);
}

@keyframes ic-bubble {
  0%, 100% { transform: translateY(0) scale(1); }
  50%       { transform: translateY(-2px) scale(1.05); }
}
.ic-bubble { animation: ic-bubble 1.6s ease-in-out infinite; }

@keyframes ic-chop {
  0%, 100% { transform: rotate(-30deg) translateY(0); }
  50%       { transform: rotate(-8deg) translateY(-2px); }
}
.ic-chop { animation: ic-chop 0.9s cubic-bezier(.7,0,.3,1) infinite; transform-origin: bottom right; }

@keyframes ic-shimmer {
  0%   { transform: translateX(-100%); }
  100% { transform: translateX(200%); }
}
.ic-shimmer { animation: ic-shimmer 2s ease-in-out infinite; }

@keyframes ic-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.55; transform: scale(0.95); }
}
.ic-pulse { animation: ic-pulse 1.4s ease-in-out infinite; }

@keyframes ic-slide-up {
  from { transform: translateY(100%); }
  to   { transform: translateY(0); }
}
.ic-slide-up { animation: ic-slide-up 0.32s cubic-bezier(.2,.7,.2,1); }

@keyframes ic-fade {
  from { opacity: 0; }
  to   { opacity: 1; }
}
.ic-fade { animation: ic-fade 0.24s ease-out; }

@keyframes ic-pop {
  0%   { transform: scale(0.6); opacity: 0; }
  60%  { transform: scale(1.08); opacity: 1; }
  100% { transform: scale(1); }
}
.ic-pop { animation: ic-pop 0.4s cubic-bezier(.2,1.4,.4,1); }

@keyframes ic-live {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.3; }
}
.ic-live { animation: ic-live 1.4s ease-in-out infinite; }

