/* ANCHOR: css_variables */
/* REUSABLE LOGIC: Universal design system with CSS custom properties */
/* SCALED FOR: Dynamic theming, consistent design tokens */

:root {
  /* ANCHOR: color_system */
  --color-primary: #101828;
  --color-secondary: #475467;
  --color-accent: #3B82F6;
  --color-accent-hover: #2563EB;
  --color-success: #10B981;
  --color-warning: #F59E0B;
  --color-error: #EF4444;
  
  /* UPDATED COMMENTS: Text colors for professional typography */
  --color-text-primary: #101828;
  --color-text-secondary: #475467;
  --color-text-light: #FFFFFF;
  --color-text-dark: #0E1621;
  --color-text-muted: rgba(255, 255, 255, 0.7);
  --color-text-muted-dark: rgba(14, 22, 33, 0.4);
  
  --color-bg-primary: #FFFFFF;
  --color-bg-secondary: #F9FAFB;
  --color-bg-tertiary: #F3F4F6;
  --color-bg-light: #FFFFFF;
  --color-bg-dark: #101010;
  /* UPDATED COMMENTS: Mobile edge fade color keeps fixed viewport gradients aligned with the current dark workspace background */
  --color-mobile-edge-fade-rgb: 16, 16, 16;
  
  /* UPDATED COMMENTS: UI element colors */
  --color-border: rgba(14, 22, 33, 0.2);
  --color-overlay: rgba(0, 0, 0, 0.2);
  --color-button-bg: rgba(0, 0, 0, 0.5);
  
  /* ANCHOR: widget_colors */
  --color-widget-clock: #1F2937;
  --color-widget-sticker: linear-gradient(135deg, #DCD078 0%, #FEF08A 100%);
  --color-widget-folder: #E5E7EB;
  --color-widget-cat: #4A5568;
  
  /* ANCHOR: shadow_system */
  /* REUSED: Universal shadow tokens for all interactive elements */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07), 0 2px 4px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1), 0 4px 6px rgba(0, 0, 0, 0.05);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.1), 0 10px 10px rgba(0, 0, 0, 0.04);
  
  /* ANCHOR: widget_shadows */
  /* UPDATED COMMENTS: Professional multi-layer shadow system for widgets - enhanced hover effects */
  --widget-shadow-default: 0px 32px 13px rgba(0, 0, 0, 0.01), 0px 18px 11px rgba(0, 0, 0, 0.05), 0px 8px 8px rgba(0, 0, 0, 0.09), 0px 2px 4px rgba(0, 0, 0, 0.1);
  --widget-shadow-small: 0px 16px 6px rgba(0, 0, 0, 0.01), 0px 9px 5px rgba(0, 0, 0, 0.05), 0px 4px 4px rgba(0, 0, 0, 0.09), 0px 1px 2px rgba(0, 0, 0, 0.1);
  --widget-shadow-hovered: 0px 40px 16px rgba(0, 0, 0, 0.02), 0px 22px 14px rgba(0, 0, 0, 0.08), 0px 10px 10px rgba(0, 0, 0, 0.12), 0px 3px 6px rgba(0, 0, 0, 0.15);
  --widget-shadow-pressed: 0px 16px 6px rgba(0, 0, 0, 0.02), 0px 9px 5px rgba(0, 0, 0, 0.08), 0px 4px 4px rgba(0, 0, 0, 0.12), 0px 1px 2px rgba(0, 0, 0, 0.15);
  --widget-shadow-dragging: 0px 50px 20px rgba(0, 0, 0, 0.03), 0px 28px 18px rgba(0, 0, 0, 0.10), 0px 12px 12px rgba(0, 0, 0, 0.15), 0px 4px 8px rgba(0, 0, 0, 0.20);
  
  /* ANCHOR: typography */
  /* UPDATED COMMENTS: SF Pro Display font family with system fallbacks */
  --font-family-primary: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-family: 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-family-mono: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace;
  
  --font-size-xs: 0.75rem;    /* 12px */
  --font-size-sm: 0.875rem;   /* 14px */
  --font-size-base: 1rem;     /* 16px */
  --font-size-lg: 1.125rem;   /* 18px */
  --font-size-xl: 1.25rem;    /* 20px */
  --font-size-2xl: 1.5rem;    /* 24px */
  --font-size-3xl: 1.875rem;  /* 30px */
  
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  
  --line-height-tight: 1.2;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;
  
  /* ANCHOR: letter_spacing */
  /* UPDATED COMMENTS: Unified letter-spacing standards for consistent typography */
  /* REUSED: Universal letter-spacing tokens for all text elements */
  --letter-spacing-tight: -0.02em;   /* -2% for headings - tighter, more compact */
  --letter-spacing-normal: 0.03em;   /* 3% for body text - better readability */
  --letter-spacing-small: 0.02em;    /* 2% for small text (14px and below) */
  
  /* ANCHOR: spacing */
  --space-1: 0.25rem;   /* 4px */
  --space-2: 0.5rem;    /* 8px */
  --space-3: 0.75rem;   /* 12px */
  --space-4: 1rem;      /* 16px */
  --space-5: 1.25rem;   /* 20px */
  --space-6: 1.5rem;    /* 24px */
  --space-8: 2rem;      /* 32px */
  --space-10: 2.5rem;   /* 40px */
  --space-12: 3rem;     /* 48px */
  
  /* UPDATED COMMENTS: Spacing aliases for modal/page systems */
  --spacing-xs: 6px;
  --spacing-sm: 8px;
  --spacing-md: 12px;
  --spacing-lg: 16px;
  --spacing-xl: 24px;
  
  /* ANCHOR: transitions */
  /* REUSED: Universal animation timing for consistent UX */
  --transition-fast: 0.4s ease;
  --transition-normal: 0.6s ease-out;
  --transition-slow: 1s ease-out 0.6s;
  --transition-bounce: 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  
  /* ANCHOR: border_radius */
  /* UPDATED COMMENTS: Border radius tokens for consistent rounded corners */
  --radius-sm: 12px;
  --radius-md: 14px;
  --radius-lg: 16px;
  --radius-full: 999px;
  
  /* ANCHOR: button_dimensions */
  /* UPDATED COMMENTS: Button sizing for floating action buttons */
  --button-size: 72px;
  --button-icon-size: 40px;
  --button-icon-size-mobile: 22px;
  
  /* ANCHOR: z_index */
  /* UPDATED COMMENTS: Z-index layering system with proper modal hierarchy */
  /* CRITICAL: Toast must be above everything including transition overlay */
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
  --z-popover: 1060;
  --z-tooltip: 1070;
  --z-fullscreen-modal: 9998;
  --z-page: 9999;
  --z-navigation: 100000;
  --z-contact-input: 100000;
  --z-page-overlay: 100001;
  --z-regular-modal: 100001;
  --z-toast: 100002;
  
  /* ANCHOR: breakpoints */
  --breakpoint-sm: 640px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;
  --breakpoint-2xl: 1536px;
  
  /* ANCHOR: widget_positioning */
  /* UPDATED COMMENTS: Widget positioning offsets for viewport placement */
  /* SCALED FOR: Consistent widget layout across all screen sizes */
  --widget-offset-sticker-top: -1%;
  --widget-offset-sticker-left: -3%;
  --widget-offset-projects-folder-top: 8%;
  --widget-offset-projects-folder-left: 26%;
  --widget-offset-fun-folder-right: 21%;
  --widget-offset-fun-folder-bottom: 19%;
  --widget-offset-resume-top: 50%;
  --widget-offset-resume-left: 22%;
  --widget-offset-clock-top: -2%;
  --widget-offset-clock-right: 10%;
  --widget-offset-telegram-top: 20%;
  --widget-offset-telegram-right: 13%;
  --widget-offset-cat-sticker-right: 10%;
  --widget-offset-cat-sticker-bottom: 18%;
  
  /* ANCHOR: drag_boundaries */
  /* UPDATED COMMENTS: Drag & drop boundary configuration */
  /* REUSED: Universal boundary offset for all draggable widgets */
  --drag-boundary-offset: -60px;
  
  /* ANCHOR: widget_dimensions */
  /* UPDATED COMMENTS: Minimum widget dimensions for consistent sizing */
  --widget-min-width: 200px;
  --widget-min-height: 100px;
  
  /* ANCHOR: button_backgrounds */
  /* REUSABLE LOGIC: Universal button background styles */
  /* SCALED FOR: Consistent frosted glass effect across all buttons */
  --button-bg-dark: rgba(0, 0, 0, 0.5);
  --button-bg-light: rgba(255, 255, 255, 0.3);
  --button-blur: blur(2px);
}

/* ANCHOR: dark_theme */
/* UPDATED COMMENTS: Dark theme support with CSS custom properties */
@media (prefers-color-scheme: dark) {
  :root {
    --color-primary: #F9FAFB;
    --color-secondary: #D1D5DB;
    --color-bg-primary: #111827;
    --color-bg-secondary: #1F2937;
    --color-bg-tertiary: #374151;
  }
}
