/**
 * LIMAFY MADE BY CHELO LIMA
 * Official Material Design 3 (Material You) Design Tokens
 * Seed Color: #69ce31 (Vibrant Lime) - Dark Mode First
 */

:root {
  /* ==========================================================================
     M3 COLOR SYSTEM (Dark Mode - Seed: #69ce31)
     ========================================================================== */
  --md-sys-color-seed: #69ce31;

  /* Primary Tonal Palette */
  --md-sys-color-primary: #86dc52;
  --md-sys-color-on-primary: #0f3900;
  --md-sys-color-primary-container: #215405;
  --md-sys-color-on-primary-container: #a3f971;

  /* Secondary Tonal Palette */
  --md-sys-color-secondary: #becaa2;
  --md-sys-color-on-secondary: #293417;
  --md-sys-color-secondary-container: #3f4a2b;
  --md-sys-color-on-secondary-container: #dae6bd;

  /* Tertiary Tonal Palette (Cyan / Mint accent) */
  --md-sys-color-tertiary: #70d6d3;
  --md-sys-color-on-tertiary: #003736;
  --md-sys-color-tertiary-container: #004f4e;
  --md-sys-color-on-tertiary-container: #8cf2ee;

  /* Error Tonal Palette */
  --md-sys-color-error: #ffb4ab;
  --md-sys-color-on-error: #690005;
  --md-sys-color-error-container: #93000a;
  --md-sys-color-on-error-container: #ffdad6;

  /* Surface & Background (Tonal Elevation - Deep Dark AMOLED/Dark) */
  --md-sys-color-surface: #11140e;
  --md-sys-color-surface-dim: #11140e;
  --md-sys-color-surface-bright: #373a33;
  --md-sys-color-surface-container-lowest: #0c0f0a;
  --md-sys-color-surface-container-low: #191d16;
  --md-sys-color-surface-container: #1d211a;
  --md-sys-color-surface-container-high: #282b24;
  --md-sys-color-surface-container-highest: #32362e;
  --md-sys-color-surface-tint: #86dc52;
  --md-sys-color-surface-variant: #43483e;

  /* Typography / Text & Outlines */
  --md-sys-color-on-surface: #e1e4d9;
  --md-sys-color-on-surface-variant: #c3c8bb;
  --md-sys-color-outline: #8d9386;
  --md-sys-color-outline-variant: #43483e;
  --md-sys-color-inverse-surface: #e1e4d9;
  --md-sys-color-inverse-on-surface: #2e312a;
  --md-sys-color-inverse-primary: #2d6b0a;

  /* State Layers */
  --md-sys-state-hover-opacity: 0.08;
  --md-sys-state-focus-opacity: 0.12;
  --md-sys-state-pressed-opacity: 0.12;
  --md-sys-state-dragged-opacity: 0.16;

  /* ==========================================================================
     M3 SHAPES SCALE
     ========================================================================== */
  --md-sys-shape-corner-none: 0px;
  --md-sys-shape-corner-extra-small: 4px;
  --md-sys-shape-corner-small: 8px;
  --md-sys-shape-corner-medium: 12px;
  --md-sys-shape-corner-large: 16px;
  --md-sys-shape-corner-extra-large: 28px;
  --md-sys-shape-corner-full: 9999px;

  /* ==========================================================================
     M3 MOTION SYSTEM (Google Pixel / Material You)
     ========================================================================== */
  --md-sys-motion-easing-emphasized: cubic-bezier(0.2, 0.0, 0, 1.0);
  --md-sys-motion-easing-emphasized-accelerate: cubic-bezier(0.3, 0.0, 0.8, 0.15);
  --md-sys-motion-easing-emphasized-decelerate: cubic-bezier(0.05, 0.7, 0.1, 1.0);
  --md-sys-motion-easing-standard: cubic-bezier(0.2, 0.0, 0, 1.0);
  --md-sys-motion-easing-standard-accelerate: cubic-bezier(0.3, 0.0, 1, 1);
  --md-sys-motion-easing-standard-decelerate: cubic-bezier(0, 0, 0, 1);

  --md-sys-motion-duration-short1: 50ms;
  --md-sys-motion-duration-short2: 100ms;
  --md-sys-motion-duration-short3: 150ms;
  --md-sys-motion-duration-short4: 200ms;
  --md-sys-motion-duration-medium1: 250ms;
  --md-sys-motion-duration-medium2: 300ms;
  --md-sys-motion-duration-medium3: 350ms;
  --md-sys-motion-duration-medium4: 400ms;
  --md-sys-motion-duration-long1: 450ms;
  --md-sys-motion-duration-long2: 500ms;
  --md-sys-motion-duration-long3: 550ms;
  --md-sys-motion-duration-long4: 600ms;

  /* Typography */
  --md-sys-font-brand: 'Google Sans', 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  --md-sys-font-plain: system-ui, -apple-system, Roboto, sans-serif;
}

/* Base resets & typography */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: var(--md-sys-font-brand);
  background-color: var(--md-sys-color-surface);
  color: var(--md-sys-color-on-surface);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Material Symbols Rounded standard styling */
.material-symbols-rounded {
  font-family: 'Material Symbols Rounded', sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  vertical-align: middle;
  transition: font-variation-settings var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);
}

.material-symbols-rounded.filled {
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* Common M3 Interactive Ripple State Layer */
.m3-ripple-target {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  user-select: none;
  transition: background-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),
              transform var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard);
}

.m3-ripple-target::after {
  content: '';
  position: absolute;
  inset: 0;
  background-color: currentColor;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);
  border-radius: inherit;
}

.m3-ripple-target:hover::after {
  opacity: var(--md-sys-state-hover-opacity);
}

.m3-ripple-target:active::after {
  opacity: var(--md-sys-state-pressed-opacity);
}

/* Ripple wave element created via JS */
.m3-ripple-wave {
  position: absolute;
  border-radius: 50%;
  background-color: var(--md-sys-color-primary);
  opacity: 0.25;
  transform: scale(0);
  animation: m3-ripple-anim 450ms var(--md-sys-motion-easing-standard) forwards;
  pointer-events: none;
}

@keyframes m3-ripple-anim {
  to {
    transform: scale(3.5);
    opacity: 0;
  }
}
