/* BASE STYLES - Variables, Reset, Typography */

:root {
    /* Colors */
    --bg-primary: #0a0a0a;
    --bg-secondary: #141414;
    --bg-tertiary: #1a1a1a;
    --bg-hover: #1f1f1f;
    
    --border-primary: #262626;
    --border-secondary: #333333;
    --border-active: #404040;
    
    --text-primary: #e8e8e8;
    --text-secondary: #a8a8a8;
    --text-tertiary: #707070;
    --text-dim: #505050;
    
    --accent-blue: #4a9eff;
    --accent-green: #00ff88;
    --accent-red: #ff4466;
    --accent-yellow: #ffbb33;
    --accent-cyan: #00ddff;
    
    /* Sentiment Colors */
    --bull-primary: #00ff88;
    --bull-secondary: #00cc6a;
    --bear-primary: #ff4466;
    --bear-secondary: #cc3652;
    --neutral-primary: #888888;
    
    /* Spacing */
    --space-xs: 4px;
    --space-sm: 8px;
    --space-md: 12px;
    --space-lg: 16px;
    --space-xl: 24px;
    --space-2xl: 32px;
    
    /* Typography */
    --font-mono: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', 'Consolas', monospace;
    --font-size-xs: 9px;
    --font-size-sm: 10px;
    --font-size-base: 12px;
    --font-size-md: 13px;
    --font-size-lg: 14px;
    --font-size-xl: 16px;
    
    /* Transitions */
    --transition-fast: 0.12s ease;
    --transition-base: 0.2s ease;
    --transition-slow: 0.3s ease;
}

/* Reset */
*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 16px;
}

body {
    font-family: var(--font-mono);
    font-size: var(--font-size-base);
    line-height: 1.5;
    color: var(--text-primary);
    background: var(--bg-primary);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    line-height: 1.2;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    font-family: inherit;
    cursor: pointer;
}

/* Scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--bg-secondary);
}

::-webkit-scrollbar-thumb {
    background: var(--border-active);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--text-dim);
}

/* Selection */
::selection {
    background: var(--accent-blue);
    color: var(--bg-primary);
}

/* Focus */
*:focus-visible {
    outline: 1px solid var(--accent-blue);
    outline-offset: 2px;
}