*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg-primary: hsl(220, 20%, 10%);--color-bg-secondary: hsl(220, 18%, 14%);--color-bg-tertiary: hsl(220, 16%, 18%);--color-surface: hsla(220, 18%, 20%, .6);--color-surface-hover: hsla(220, 18%, 25%, .8);--color-accent-primary: hsl(280, 85%, 60%);--color-accent-secondary: hsl(200, 90%, 55%);--color-accent-success: hsl(140, 70%, 50%);--color-accent-warning: hsl(45, 95%, 60%);--color-accent-danger: hsl(0, 85%, 60%);--color-text-primary: hsl(0, 0%, 95%);--color-text-secondary: hsl(0, 0%, 70%);--color-text-tertiary: hsl(0, 0%, 50%);--color-border: hsla(220, 18%, 30%, .5);--color-border-hover: hsla(220, 18%, 40%, .7);--gradient-primary: linear-gradient(135deg, var(--color-accent-primary), var(--color-accent-secondary));--gradient-surface: linear-gradient(135deg, hsla(220, 18%, 20%, .4), hsla(220, 18%, 25%, .6));--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--radius-sm: .5rem;--radius-md: 1rem;--radius-lg: 1.5rem;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .4s ease-in-out}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-surface);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-surface-hover)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.fade-in{animation:fadeIn var(--transition-normal)}.slide-up{animation:slideUp var(--transition-normal)}.slide-down{animation:slideDown var(--transition-normal)}
