:root {
  --bull: #26a69a;
  --bear: #ef5350;
  --neutral: #78909c;
  --bg: #121212;
  --card: #1e1e1e;
  --text: #e0e0e0;
  --accent: #ffd700;
  --refresh: #4caf50;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Segoe UI', sans-serif; background: var(--bg); color: var(--text); padding: 20px; }
.container { max-width: 1000px; margin: auto; }

header {
  text-align: center; margin-bottom: 20px; padding: 15px;
  background: var(--card); border-radius: 12px; position: relative;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}
h1 { color: var(--accent); font-size: 2rem; }
.meta { font-size: 0.9rem; color: #aaa; margin-top: 5px; }

.refresh-status {
  position: absolute; top: 10px; right: 15px; font-size: 0.8rem; color: var(--refresh);
  display: flex; align-items: center; gap: 5px;
}
.spinner {
  width: 12px; height: 12px; border: 2px solid #333; border-top: 2px solid var(--refresh);
  border-radius: 50%; animation: spin 1s linear infinite; display: none;
}
@keyframes spin { to { transform: rotate(360deg); } }

.dashboard { display: grid; gap: 20px; }
.card { background: var(--card); padding: 20px; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.3); }

table { width: 100%; border-collapse: collapse; margin-top: 10px; font-size: 0.95rem; }
th, td { padding: 12px; text-align: center; border-bottom: 1px solid #333; }
th { background: #252525; color: #fff; font-weight: 600; }
.up { color: var(--bull); font-weight: bold; }
.down { color: var(--bear); font-weight: bold; }

.trend-bars { display: flex; justify-content: space-around; margin: 15px 0; }
.bar { width: 45%; height: 20px; border-radius: 10px; position: relative; overflow: hidden; background: #333; }
.fill { height: 100%; transition: width 0.6s ease; }
.bull-fill { background: var(--bull); }
.bear-fill { background: var(--bear); }
.label { position: absolute; width: 100%; text-align: center; font-size: 0.8rem; font-weight: bold; color: white; line-height: 20px; }

.strength { text-align: center; font-size: 1.1rem; margin: 15px 0; font-weight: bold; }
.chart-container { position: relative; height: 200px; margin-top: 20px; }

.error { color: #ff6b6b; text-align: center; margin: 10px 0; padding: 10px; background: #330000; border-radius: 8px; }

footer { text-align: center; margin-top: 30px; color: #666; font-size: 0.8rem; }

@media (max-width: 600px) {
  table, th, td { font-size: 0.85rem; padding: 8px; }
  h1 { font-size: 1.5rem; }
}
