page / static /css /style.css
mobenta's picture
Upload folder using huggingface_hub
7285374 verified
:root {
--primary: #2c3e50;
--secondary: #3498db;
--accent: #e74c3c;
--light: #ecf0f1;
--dark: #2c3e50;
--success: #2ecc71;
--warning: #f39c12;
}
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background-color: #f5f7fa;
color: #333;
overflow-x: hidden;
}
.navbar {
background-color: var(--primary);
color: white;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
position: sticky;
top: 0;
z-index: 100;
}
.ticker-container {
background-color: #1d2630;
color: white;
overflow: hidden;
white-space: nowrap;
padding: 8px 0;
position: relative;
}
.ticker-content {
display: inline-block;
animation: ticker 30s linear infinite;
}
@keyframes ticker {
0% { transform: translateX(100%); }
100% { transform: translateX(-100%); }
}
.ticker-item {
display: inline-block;
padding: 0 20px;
}
.ticker-item.up {
color: #2ecc71;
}
.ticker-item.down {
color: #e74c3c;
}
.section {
background: white;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
margin-bottom: 20px;
padding: 20px;
}
.section-title {
color: var(--primary);
border-bottom: 2px solid var(--secondary);
padding-bottom: 8px;
margin-bottom: 16px;
font-weight: 600;
}
.btn-primary {
background-color: var(--secondary);
color: white;
border: none;
padding: 8px 16px;
border-radius: 4px;
cursor: pointer;
transition: all 0.3s;
}
.btn-primary:hover {
background-color: #2980b9;
transform: translateY(-2px);
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.btn-danger {
background-color: var(--accent);
color: white;
}
.btn-danger:hover {
background-color: #c0392b;
}
.card {
background: white;
border-radius: 8px;
box-shadow: 0 2px 5px rgba(0,0,0,0.05);
margin-bottom: 16px;
transition: all 0.3s;
}
.card:hover {
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
.tab-container {
display: flex;
border-bottom: 1px solid #ddd;
margin-bottom: 16px;
}
.tab {
padding: 10px 16px;
cursor: pointer;
border-bottom: 3px solid transparent;
transition: all 0.3s;
}
.tab.active {
border-bottom: 3px solid var(--secondary);
color: var(--secondary);
font-weight: bold;
}
.tab-content {
display: none;
}
.tab-content.active {
display: block;
}
.badge {
padding: 4px 8px;
border-radius: 4px;
font-size: 12px;
font-weight: 600;
}
.badge-success {
background-color: var(--success);
color: white;
}
.badge-warning {
background-color: var(--warning);
color: white;
}
.badge-danger {
background-color: var(--accent);
color: white;
}
.form-group {
margin-bottom: 16px;
}
.form-control {
width: 100%;
padding: 8px 12px;
border: 1px solid #ddd;
border-radius: 4px;
transition: border 0.3s;
}
.form-control:focus {
border-color: var(--secondary);
outline: none;
box-shadow: 0 0 0 2px rgba(52, 152, 219, 0.2);
}
.select-control {
width: 100%;
padding: 8px 12px;
border: 1px solid #ddd;
border-radius: 4px;
background-color: white;
}
.session-card {
background: linear-gradient(145deg, #2c3e50, #34495e);
color: white;
border-radius: 8px;
padding: 16px;
margin-bottom: 16px;
}
.session-title {
font-size: 18px;
font-weight: 600;
margin-bottom: 8px;
}
.session-time {
font-size: 14px;
opacity: 0.8;
}
.session-status {
display: inline-block;
padding: 4px 8px;
border-radius: 4px;
font-size: 12px;
font-weight: 600;
margin-top: 8px;
}
.widget {
background: white;
border-radius: 8px;
box-shadow: 0 2px 5px rgba(0,0,0,0.05);
margin-bottom: 16px;
padding: 16px;
}
.widget-title {
font-size: 16px;
font-weight: 600;
margin-bottom: 12px;
color: var(--primary);
}
.event-item {
padding: 8px 0;
border-bottom: 1px solid #eee;
}
.event-time {
font-size: 12px;
color: #777;
}
.event-name {
font-weight: 500;
}
.event-impact {
width: 10px;
height: 10px;
border-radius: 50%;
display: inline-block;
margin-right: 4px;
}
.event-impact.high {
background-color: var(--accent);
}
.event-impact.medium {
background-color: var(--warning);
}
.event-impact.low {
background-color: var(--success);
}
.market-item {
display: flex;
justify-content: space-between;
padding: 8px 0;
border-bottom: 1px solid #eee;
}
.market-name {
font-weight: 500;
}
.market-value.up {
color: var(--success);
}
.market-value.down {
color: var(--accent);
}
.intermarket-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 16px;
}
.correlation-matrix {
background: white;
border-radius: 8px;
padding: 16px;
box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}
.matrix-title {
font-size: 16px;
font-weight: 600;
margin-bottom: 12px;
color: var(--primary);
}
.matrix-table {
width: 100%;
border-collapse: collapse;
}
.matrix-table th, .matrix-table td {
padding: 8px;
text-align: center;
border: 1px solid #eee;
}
.matrix-table th {
background-color: #f5f7fa;
font-weight: 600;
}
.correlation-positive {
background-color: rgba(46, 204, 113, 0.2);
}
.correlation-negative {
background-color: rgba(231, 76, 60, 0.2);
}
.correlation-neutral {
background-color: rgba(241, 196, 15, 0.1);
}
.affirmation-card {
background: linear-gradient(145deg, #3498db, #2980b9);
color: white;
border-radius: 8px;
padding: 20px;
margin-bottom: 16px;
}
.affirmation-text {
font-size: 18px;
line-height: 1.6;
font-style: italic;
margin-bottom: 16px;
}
.affirmation-category {
font-size: 14px;
opacity: 0.8;
text-align: right;
}
.trade-item {
background: white;
border-radius: 8px;
padding: 16px;
margin-bottom: 16px;
box-shadow: 0 2px 5px rgba(0,0,0,0.05);
position: relative;
}
.trade-symbol {
font-size: 18px;
font-weight: 600;
margin-bottom: 4px;
}
.trade-details {
margin-bottom: 8px;
font-size: 14px;
color: #666;
}
.trade-pnl {
position: absolute;
top: 16px;
right: 16px;
font-weight: 600;
}
.trade-pnl.profit {
color: var(--success);
}
.trade-pnl.loss {
color: var(--accent);
}
.trade-actions {
display: flex;
justify-content: flex-end;
gap: 8px;
margin-top: 8px;
}
.chat-popup {
position: fixed;
bottom: 20px;
right: 20px;
width: 350px;
background: white;
border-radius: 8px 8px 0 0;
box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
z-index: 1000;
transition: all 0.3s;
}
.chat-header {
background: var(--primary);
color: white;
padding: 10px 16px;
border-radius: 8px 8px 0 0;
display: flex;
justify-content: space-between;
align-items: center;
cursor: pointer;
}
.chat-body {
padding: 16px;
max-height: 300px;
overflow-y: auto;
}
.chat-message {
margin-bottom: 16px;
}
.chat-message.user {
text-align: right;
}
.chat-message.user .message-content {
background-color: var(--secondary);
color: white;
border-radius: 18px 18px 0 18px;
padding: 8px 16px;
display: inline-block;
max-width: 80%;
}
.chat-message.ai .message-content {
background-color: #f1f1f1;
color: #333;
border-radius: 18px 18px 18px 0;
padding: 8px 16px;
display: inline-block;
max-width: 80%;
}
.chat-footer {
padding: 10px 16px;
border-top: 1px solid #eee;
display: flex;
gap: 8px;
}
.chat-input {
flex: 1;
padding: 8px 12px;
border: 1px solid #ddd;
border-radius: 20px;
outline: none;
}
.minimized {
height: 46px;
overflow: hidden;
}
.gemini-badge {
background: linear-gradient(135deg, #1a73e8, #8e24aa);
color: white;
padding: 4px 10px;
border-radius: 12px;
font-size: 12px;
margin-left: 8px;
}
.api-key-container {
display: flex;
align-items: center;
gap: 8px;
}
.api-key-input {
background-color: rgba(255, 255, 255, 0.1);
border: 1px solid rgba(255, 255, 255, 0.2);
color: white;
padding: 4px 8px;
border-radius: 4px;
font-size: 14px;
width: 160px;
}
.api-key-input::placeholder {
color: rgba(255, 255, 255, 0.6);
}
.api-status {
width: 8px;
height: 8px;
border-radius: 50%;
background-color: #e74c3c;
margin-right: 4px;
}
.api-status.connected {
background-color: #2ecc71;
}
.loading-spinner {
border: 3px solid rgba(255, 255, 255, 0.3);
border-top: 3px solid #ffffff;
border-radius: 50%;
width: 16px;
height: 16px;
animation: spin 1s linear infinite;
margin-left: 5px;
display: none;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
/* Responsive adjustments */
@media (max-width: 768px) {
.intermarket-grid {
grid-template-columns: 1fr;
}
.chat-popup {
width: 100%;
left: 0;
right: 0;
bottom: 0;
border-radius: 0;
}
.chat-header {
border-radius: 0;
}
}