/* GP Baike Global Portfolio Encyclopedia - Premium Financial Wiki Theme */
/* Style: Charcoal Gray + Champagne Gold Professional Finance */

/* Smooth transitions for interactive elements only */
a, button, .group img { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); }
a, button { transition-duration: 150ms; }
.group img { transition-duration: 500ms; }

/* Line clamp utilities */
.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;
}

/* Custom scrollbar - Charcoal + Gold theme */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #1a1e23; }
::-webkit-scrollbar-thumb { background: linear-gradient(180deg, #D4AF37 0%, #B8941F 100%); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, #E6C252 0%, #D4AF37 100%); }

/* Pagination styling - Premium finance style */
.pagination { display: flex; gap: 0.375rem; justify-content: center; align-items: center; flex-wrap: wrap; }
.pagination a, .pagination span {
  min-width: 2.25rem;
  height: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.625rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  background: transparent;
  color: #9caab8;
  text-decoration: none;
  border: 1px solid #363f48;
}
.pagination a:hover { background: #272d33; color: #D4AF37; border-color: #D4AF37; }
.pagination .active { background: linear-gradient(135deg, #D4AF37 0%, #B8941F 100%); color: #0a0a0a; border-color: transparent; }
.pagination .disabled { opacity: 0.4; pointer-events: none; }

/* Focus styles for accessibility - Champagne Gold accent */
a:focus-visible, button:focus-visible, input:focus-visible {
  outline: 2px solid #D4AF37;
  outline-offset: 2px;
}

/* Selection color - Gold theme */
::selection {
  background: #D4AF37;
  color: #0a0a0a;
}

/* Print styles */
@media print {
  header, footer, aside, #mobile-menu, #back-to-top { display: none !important; }
  main { padding: 0 !important; }
  .article-content { max-width: 100% !important; }
  body { background: white !important; color: black !important; }
}

/* Article content - Premium Encyclopedia Style */
.article-content { font-family: 'Noto Serif SC', Georgia, serif; }
.article-content h2 { font-size: 1.5rem; font-weight: 700; margin-top: 2.5rem; margin-bottom: 1rem; color: #e8ecef; letter-spacing: -0.025em; border-bottom: 2px solid #D4AF37; padding-bottom: 0.5rem; }
.article-content h3 { font-size: 1.25rem; font-weight: 600; margin-top: 2rem; margin-bottom: 0.75rem; color: #f5c982; }
.article-content p { margin-bottom: 1.25rem; line-height: 1.8; color: #b8c3cd; font-size: 1.05rem; }
.article-content ul, .article-content ol { margin-bottom: 1.25rem; padding-left: 1.5rem; }
.article-content li { margin-bottom: 0.5rem; color: #b8c3cd; line-height: 1.7; }
.article-content a { color: #D4AF37; text-decoration: none; border-bottom: 1px solid transparent; transition: all 0.2s ease; }
.article-content a:hover { color: #E6C252; border-bottom-color: #E6C252; }
.article-content img { max-width: 100%; border-radius: 0.5rem; margin: 1.5rem 0; border: 1px solid #363f48; }
.article-content blockquote { border-left: 3px solid #D4AF37; padding: 1rem 1.5rem; background: linear-gradient(135deg, #1a1e23 0%, #272d33 100%); border-radius: 0 0.5rem 0.5rem 0; margin: 1.5rem 0; font-style: italic; color: #f5c982; }
.article-content table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: 0.95rem; }
.article-content th, .article-content td { border: 1px solid #363f48; padding: 0.75rem 1rem; text-align: left; }
.article-content th { background: linear-gradient(135deg, #272d33 0%, #1a1e23 100%); font-weight: 600; color: #D4AF37; }
.article-content td { background: #1a1e23; color: #b8c3cd; }
.article-content code { background: #272d33; padding: 0.15rem 0.4rem; border-radius: 0.25rem; font-family: 'JetBrains Mono', monospace; font-size: 0.9em; color: #f5c982; border: 1px solid #363f48; }
.article-content pre { background: #0a0a0a; color: #e8ecef; padding: 1.25rem; border-radius: 0.5rem; overflow-x: auto; margin: 1.5rem 0; border: 1px solid #363f48; }
.article-content pre code { background: none; padding: 0; color: inherit; border: none; }

/* Category tag badge - Premium Gold style */
.category-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  background: linear-gradient(135deg, #1a1e23 0%, #272d33 100%);
  color: #D4AF37;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 9999px;
  border: 1px solid #D4AF37;
  transition: all 0.2s ease;
}
.category-badge:hover {
  background: linear-gradient(135deg, #D4AF37 0%, #B8941F 100%);
  color: #0a0a0a;
  border-color: #D4AF37;
}

/* Navigation link active state - Premium theme */
.nav-link.active {
  color: #D4AF37;
  background: linear-gradient(135deg, #1a1e23 0%, #272d33 100%);
  border-bottom: 2px solid #D4AF37;
}

/* Button primary - Champagne Gold gradient */
.btn-primary {
  background: linear-gradient(135deg, #D4AF37 0%, #B8941F 100%);
  color: #0a0a0a;
  padding: 0.625rem 1.25rem;
  border-radius: 0.5rem;
  font-weight: 600;
  transition: all 0.2s ease;
  border: none;
}
.btn-primary:hover {
  background: linear-gradient(135deg, #E6C252 0%, #D4AF37 100%);
  box-shadow: 0 4px 15px rgba(212, 175, 55, 0.4);
}

/* Button secondary - Dark with Gold border */
.btn-secondary {
  background: transparent;
  color: #D4AF37;
  padding: 0.625rem 1.25rem;
  border-radius: 0.5rem;
  font-weight: 600;
  transition: all 0.2s ease;
  border: 1px solid #D4AF37;
}
.btn-secondary:hover {
  background: linear-gradient(135deg, #D4AF37 0%, #B8941F 100%);
  color: #0a0a0a;
}

/* Card hover effect - Gold glow */
.card-hover:hover {
  border-color: #D4AF37;
  box-shadow: 0 4px 20px rgba(212, 175, 55, 0.2);
}

/* Gradient text - Champagne Gold */
.gradient-text {
  background: linear-gradient(135deg, #D4AF37 0%, #E6C252 50%, #B8941F 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Stock trend line animation - Logo style */
.trend-line {
  stroke: #D4AF37;
  stroke-width: 2;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.trend-line-up {
  stroke: #D4AF37;
}

.trend-line-down {
  stroke: #62717f;
}

/* Data highlight - Financial data style */
.data-positive { color: #D4AF37; }
.data-negative { color: #62717f; }
.data-neutral { color: #9caab8; }

/* Chart grid lines - Subtle gray */
.chart-grid {
  stroke: #363f48;
  stroke-width: 1;
  stroke-dasharray: 2, 2;
}

/* Premium tag - Gold accent */
.premium-tag {
  background: linear-gradient(135deg, #D4AF37 0%, #B8941F 100%);
  color: #0a0a0a;
  font-size: 0.625rem;
  font-weight: 700;
  padding: 0.125rem 0.5rem;
  border-radius: 0.25rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Encyclopedia entry style */
.encyclopedia-entry {
  background: linear-gradient(135deg, #1a1e23 0%, #272d33 100%);
  border: 1px solid #363f48;
  border-radius: 0.75rem;
  padding: 1.5rem;
  transition: all 0.3s ease;
}
.encyclopedia-entry:hover {
  border-color: #D4AF37;
  box-shadow: 0 8px 30px rgba(212, 175, 55, 0.15);
}

/* Section divider - Gold accent line */
.section-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #D4AF37 50%, transparent 100%);
  margin: 2rem 0;
}

/* Quote mark - Gold style */
.quote-mark {
  color: #D4AF37;
  font-size: 3rem;
  line-height: 1;
  opacity: 0.5;
}

/* Timeline - Financial history style */
.timeline-item {
  border-left: 2px solid #363f48;
  padding-left: 1.5rem;
  position: relative;
}
.timeline-item::before {
  content: '';
  position: absolute;
  left: -5px;
  top: 0.5rem;
  width: 8px;
  height: 8px;
  background: #D4AF37;
  border-radius: 50%;
}
.timeline-item:hover::before {
  box-shadow: 0 0 10px rgba(212, 175, 55, 0.6);
}

/* Portfolio allocation chart style */
.allocation-segment {
  transition: all 0.3s ease;
}
.allocation-segment:hover {
  filter: brightness(1.2);
}

/* Market indicator - Up/Down arrows */
.market-up::before {
  content: '▲';
  color: #D4AF37;
  margin-right: 0.25rem;
}
.market-down::before {
  content: '▼';
  color: #62717f;
  margin-right: 0.25rem;
}

/* Reading progress bar - Gold */
.reading-progress {
  height: 3px;
  background: linear-gradient(90deg, #D4AF37 0%, #E6C252 100%);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}

/* Tooltip - Dark with gold border */
.tooltip {
  background: #1a1e23;
  color: #e8ecef;
  border: 1px solid #D4AF37;
  border-radius: 0.5rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

/* Definition term - Encyclopedia style */
dt {
  color: #D4AF37;
  font-weight: 600;
  margin-top: 1rem;
}
dd {
  color: #b8c3cd;
  margin-left: 0;
  margin-bottom: 0.75rem;
}

/* Citation - Academic style */
cite {
  color: #9caab8;
  font-style: italic;
  border-left: 2px solid #D4AF37;
  padding-left: 0.75rem;
  display: block;
  margin: 1rem 0;
}
