@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap'); :root { /* Colors */ --bg-primary: #0D0E12; --bg-secondary: #12141A; --bg-tertiary: #1A1C23; --fill-primary: #242731; --fill-secondary: #343845; --text-primary: #F0F2F5; --text-secondary: #A8B0BD; --text-muted: #5F6572; --text-disabled: #4A4E59; --accent-primary: #4A55FF; --accent-secondary: #8C54FF; --accent-tertiary: #C247FF; --danger: #FF4D4D; --warning: #FFD166; --success: #06D6A0; --info: #00A2FF; /* Fonts */ --font-sans: 'Inter', sans-serif; --font-mono: 'JetBrains Mono', monospace; /* Spacing */ --space-xs: 0.25rem; --space-sm: 0.5rem; --space-md: 1rem; --space-lg: 1.5rem; --space-xl: 2.5rem; /* Border Radius */ --radius-sm: 4px; --radius-md: 8px; --radius-lg: 16px; /* Box Shadow */ --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05); --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1); --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1); --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05); } /* --- BASE STYLES --- */ body, .gradio-container { background-color: var(--bg-primary) !important; color: var(--text-primary) !important; font-family: var(--font-sans) !important; } /* --- TYPOGRAPHY --- */ .prose h1, .prose h2, .prose h3, h1, h2, h3, h4, h5, h6 { color: var(--text-primary) !important; font-weight: 600; } .mono, pre, code { font-family: var(--font-mono) !important; color: var(--text-secondary); } /* --- CONTAINERS & CARDS --- */ .block, .panel, .trading-card { background-color: var(--bg-secondary) !important; border: 1px solid var(--fill-primary) !important; border-radius: var(--radius-lg) !important; box-shadow: var(--shadow-md) !important; padding: var(--space-lg); transition: all 0.2s ease-in-out; } .block:hover, .panel:hover, .trading-card:hover { border-color: var(--fill-secondary); box-shadow: var(--shadow-lg); } .card-header { display: flex; justify-content: space-between; align-items: center; padding-bottom: var(--space-md); margin-bottom: var(--space-md); border-bottom: 1px solid var(--fill-primary); } .card-title { font-size: 0.9rem; font-weight: 500; color: var(--text-secondary); } /* --- FORMS & INPUTS --- */ input, textarea, select { background-color: var(--bg-tertiary) !important; border: 1px solid var(--fill-primary) !important; color: var(--text-primary) !important; border-radius: var(--radius-md) !important; padding: 0.75rem 1rem; font-family: var(--font-mono); } input:focus, textarea:focus, select:focus { border-color: var(--accent-primary) !important; box-shadow: 0 0 0 3px rgba(74, 85, 255, 0.25) !important; } span.svelte-1gfkn6j { /* Input labels */ color: var(--text-secondary) !important; font-weight: 500; } /* --- BUTTONS --- */ button.primary-btn, button.tool-btn { background: linear-gradient(95deg, var(--accent-primary), var(--accent-secondary)) !important; border: none !important; color: white !important; font-weight: 600; border-radius: var(--radius-md) !important; padding: 0.75rem 1.5rem !important; box-shadow: 0 4px 10px rgba(74, 85, 255, 0.2); transition: all 0.2s ease; } button.primary-btn:hover, button.tool-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 15px rgba(74, 85, 255, 0.3); } button.secondary-btn { background-color: var(--fill-primary) !important; border: 1px solid var(--fill-secondary) !important; color: var(--text-primary) !important; border-radius: var(--radius-md) !important; padding: 0.5rem 1rem !important; } button.secondary-btn:hover { background-color: var(--fill-secondary) !important; } /* --- TABLES --- */ .data-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; } .data-table th, .data-table td { padding: var(--space-md) var(--space-sm); text-align: left; border-bottom: 1px solid var(--fill-primary); } .data-table th { font-size: 0.8rem; color: var(--text-muted); font-weight: 500; text-transform: uppercase; } .data-table td { font-family: var(--font-mono); } .val-pos { color: var(--success); } .val-neg { color: var(--danger); } .val-neutral { color: var--text-secondary; } /* --- TOOLBOX --- */ .tool-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--space-md); } .tool-card { background-color: var(--bg-secondary); border: 1px solid var(--fill-primary); border-radius: var(--radius-lg); padding: var(--space-lg); cursor: pointer; transition: all 0.2s ease-in-out; display: flex; flex-direction: column; gap: var(--space-sm); } .tool-card:hover { transform: translateY(-4px); border-color: var(--accent-primary); box-shadow: 0 8px 25px -5px rgba(74, 85, 255, 0.15); } .tool-title { font-size: 1.1rem; font-weight: 600; color: var(--text-primary); } .tool-desc { font-size: 0.9rem; color: var(--text-secondary); flex-grow: 1; } .tool-tags { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-top: auto; } .tool-tag { font-family: var(--font-mono); font-size: 0.75rem; color: var(--accent-secondary); background-color: rgba(140, 84, 255, 0.1); padding: var(--space-xs) var(--space-sm); border-radius: var(--radius-sm); } /* Hide original accordion style */ .tool-category, .tool-item { display: none; } footer { display: none !important; } /* Modal Inputs */ .modal-input { margin-bottom: var(--space-sm) !important; } .modal-input textarea, .modal-input input { background-color: rgba(0, 0, 0, 0.2) !important; border: 1px solid var(--fill-secondary) !important; } .modal-input textarea:focus, .modal-input input:focus { border-color: var(--accent-primary) !important; background-color: rgba(0, 0, 0, 0.4) !important; }