/* HoonTH — Custom Styles */
@import url('https://fonts.googleapis.com/css2?family=Sarabun:wght@300;400;500;600;700&display=swap');

:root {
  --color-up: #10b981;
  --color-down: #ef4444;
  --color-neutral: #6b7280;
}

body { font-family: 'Sarabun', sans-serif; }

/* Nav Buttons */
.nav-btn {
  color: #9ca3af;
}
.nav-btn:hover {
  color: #e5e7eb;
  background-color: #1f2937;
}
.nav-btn.active {
  color: #34d399;
  background-color: #064e3b22;
}

/* Price Colors */
.text-up   { color: var(--color-up); }
.text-down { color: var(--color-down); }
.text-neutral { color: var(--color-neutral); }

.bg-up   { background-color: #05422433; }
.bg-down { background-color: #4f111133; }

/* Table rows */
#portfolio-table-body tr {
  border-bottom: 1px solid #1f2937;
  transition: background-color 0.15s;
}
#portfolio-table-body tr:hover {
  background-color: #111827;
}
#portfolio-table-body tr:last-child {
  border-bottom: none;
}

/* Flash animation for price change */
@keyframes flash-up {
  0%   { background-color: #05422455; }
  100% { background-color: transparent; }
}
@keyframes flash-down {
  0%   { background-color: #4f111155; }
  100% { background-color: transparent; }
}
.flash-up   { animation: flash-up   0.8s ease-out; }
.flash-down { animation: flash-down 0.8s ease-out; }

/* Chart period buttons */
.chart-period-btn {
  background: #1f2937;
  color: #9ca3af;
  transition: all 0.15s;
}
.chart-period-btn:hover { background: #374151; color: #e5e7eb; }
.chart-period-btn.active { background: #065f46; color: #34d399; }

/* Line clamp utilities */
.line-clamp-1 {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* News cards */
.news-card {
  background: #111827;
  border: 1px solid #1f2937;
  border-radius: 0.75rem;
  padding: 1.25rem;
  transition: all 0.2s ease-in-out;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.news-card:hover {
  border-color: #059669;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -4px rgba(0, 0, 0, 0.5);
  transform: translateY(-2px);
}

/* AI stock cards */
.ai-stock-card {
  background: #111827;
  border: 1px solid #1f2937;
  border-radius: 0.75rem;
  padding: 1rem;
  transition: all 0.2s;
}
.ai-stock-card:hover {
  border-color: #7c3aed;
  transform: translateY(-1px);
}

/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #111827; }
::-webkit-scrollbar-thumb { background: #374151; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #4b5563; }

/* Spinner */
.animate-spin { display: inline-block; animation: spin 1s linear infinite; }
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* Toast */
#toast.show {
  transform: translateY(0);
  opacity: 1;
}
