/* ASCII Header */
.ascii-header {
  color: var(--accent-purple);
  font-size: 0.8rem;
  margin-bottom: var(--space-md);
  border: 1px solid var(--accent-blue);
  padding: var(--space-sm);
  line-height: 1.2;
  white-space: pre-wrap;
  word-wrap: break-word;
  position: relative;
  overflow: hidden;
}

/* ASCII Header with scroll effect */
.ascii-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(176, 160, 234, 0.1), transparent);
  animation: slide 10s linear infinite;
  pointer-events: none;
}

@keyframes slide {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

/* Terminal Boot Sequence */
.terminal-boot {
  margin: var(--space-md) 0;
  padding: var(--space-sm);
  border: 1px solid var(--accent-blue);
  background: var(--bg-secondary);
  border-radius: 4px;
}

.terminal-boot p {
  margin: var(--space-xs) 0;
  opacity: 0;
  animation: fadeIn 0.5s forwards;
}

@keyframes fadeIn {
  to { opacity: 1; }
}

.terminal-boot .progress {
  color: var(--accent-purple);
}

/* Navigation */
.terminal-nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  margin: var(--space-md) 0;
  padding-bottom: var(--space-sm);
  border-bottom: 1px solid var(--accent-blue);
}

.terminal-nav a {

  color: var(--accent-purple);

  text-decoration: none;

  transition: all 0.3s ease;

  font-size: 1rem;

  position: relative;

}



.terminal-nav a:hover {

  color: var(--highlight);

  text-shadow: 0 0 10px rgba(176, 160, 234, 0.7);

}



.terminal-nav a::after {

  content: "";

  position: absolute;

  bottom: -2px;

  left: 0;

  width: 0;

  height: 1px;

  background: var(--accent-purple);

  transition: width 0.3s ease;

}



.terminal-nav a:hover::after {

  width: 100%;

}



/* Feed Items */

.feed-item {

  border: 1px solid var(--accent-blue);

  padding: var(--space-sm);

  margin-bottom: var(--space-sm);

  transition: all 0.3s ease;

  background: var(--bg-secondary);

  position: relative;

  overflow: hidden;

  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);

}



.feed-item::before {

  content: "";

  position: absolute;

  top: 0;

  left: -100%;

  width: 100%;

  height: 100%;

  background: linear-gradient(90deg, transparent, rgba(176, 160, 234, 0.1), transparent);

  transition: left 0.5s;

}



.feed-item:hover::before {

  left: 100%;

}



.feed-item:hover {

  border-color: var(--accent-purple);

  transform: translateY(-3px);

  box-shadow: 0 4px 15px rgba(176, 160, 234, 0.3);

}



.feed-meta {

  font-size: 0.85rem;

  color: var(--text-muted);

  margin-bottom: var(--space-xs);

  display: flex;

  gap: var(--space-sm);

  flex-wrap: wrap;

}



.feed-title {

  color: var(--accent-purple);

  margin: var(--space-xs) 0;

  font-size: 1.1rem;

  position: relative;

  padding-left: 1rem;

}



.feed-title::before {

  content: "■ ";

  position: absolute;

  left: 0;

  color: var(--highlight);

}



.feed-content {

  margin: var(--space-xs) 0;

  line-height: 1.4;

}



.feed-link {

  color: var(--accent-purple);

  text-decoration: none;

  font-size: 0.9rem;

  display: inline-block;

  margin-top: var(--space-xs);

  transition: color 0.3s ease;

}



.feed-link:hover {

  color: var(--highlight);

  text-decoration: underline;

}



/* Feed item summary for homepage */

.feed-summary {

  color: var(--text-primary);

  font-style: italic;

  margin: var(--space-xs) 0;

  line-height: 1.5;

}



/* Article Template Styles */

.article-container {

  max-width: var(--max-width);

  margin: 0 auto;

  padding: var(--space-md);

}



.article-header {

  margin-bottom: var(--space-md);

  padding-bottom: var(--space-sm);

  border-bottom: 1px solid var(--accent-blue);

}



.article-title {

  color: var(--accent-purple);

  margin: 0 0 var(--space-sm) 0;

  font-size: 1.8rem;

}



.article-meta {

  color: var(--text-muted);

  font-size: 0.9rem;

  margin-bottom: var(--space-sm);

}



.article-analysis {

  background: var(--bg-secondary);

  border-left: 3px solid var(--highlight);

  padding: var(--space-sm);

  margin: var(--space-sm) 0 var(--space-md) 0;

  border-radius: 0 4px 4px 0;

  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);

}



.article-analysis h3 {

  color: var(--highlight);

  margin-top: 0;

  margin-bottom: var(--space-xs);

}



.article-content {

  line-height: 1.6;

}



/* Social comments boxes */

.comments-section {

  margin: var(--space-md) 0;

  border: 1px solid var(--accent-blue);

  border-radius: 4px;

  padding: var(--space-sm);

  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);

}



.comments-header {

  color: var(--highlight);

  font-weight: bold;

  margin-bottom: var(--space-xs);

  display: flex;

  align-items: center;

  border-bottom: 1px solid var(--border);

  padding-bottom: var(--space-xs);

}



.reddits-comments {

  border: 1px solid var(--accent-orange);

}



.github-comments {

  border: 1px solid var(--accent-purple);

}



.comment-preview {

  margin: var(--space-xs) 0;

  padding: var(--space-xs);

  background: var(--bg-secondary);

  border-left: 1px solid var(--border);

  border-radius: 4px;

}



.comment-author {

  color: var(--accent-purple);

}



.comment-score {

  color: var(--text-muted);

  font-size: 0.85rem;

}



/* Article Template Styles */

.article-container {

  max-width: var(--max-width);

  margin: 0 auto;

  padding: var(--space-md);

}



.article-header {

  margin-bottom: var(--space-md);

  padding-bottom: var(--space-sm);

  border-bottom: 1px solid var(--border);

}



.article-title {

  color: var(--accent-purple);

  margin: 0 0 var(--space-sm) 0;

  font-size: 1.8rem;

}



.article-meta {

  color: var(--text-muted);

  font-size: 0.9rem;

  margin-bottom: var(--space-sm);

}



.article-analysis {

  background: var(--bg-secondary);

  border-left: 3px solid var(--highlight);

  padding: var(--space-sm);

  margin: var(--space-sm) 0 var(--space-md) 0;

  border-radius: 0 4px 4px 0;

}



.article-analysis h3 {

  color: var(--highlight);

  margin-top: 0;

  margin-bottom: var(--space-xs);

}



.article-content {

  line-height: 1.6;

}



/* Modern header animation */

.modern-header {

  position: relative;

  padding: var(--space-md) 0;

  text-align: center;

  margin-bottom: var(--space-lg);

}



.modern-header::before {

  content: "";

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 1px;

  background: linear-gradient(90deg, transparent, var(--accent-purple), transparent);

}



.modern-header::after {

  content: "";

  position: absolute;

  bottom: 0;

  left: 0;

  width: 100%;

  height: 1px;

  background: linear-gradient(90deg, transparent, var(--accent-purple), transparent);

}



.scroll-marquee {

  overflow: hidden;

  white-space: nowrap;

  margin: var(--space-sm) 0;

  position: relative;

}



.scroll-marquee-content {

  display: inline-block;

  animation: scroll 20s linear infinite;

  padding: var(--space-xs) 0;

  color: var(--accent-purple);

  text-shadow: 0 0 10px rgba(176, 160, 234, 0.5);

  font-size: 1.2rem;

  letter-spacing: 2px;

}



@keyframes scroll {

  0% { transform: translateX(100%); }

  100% { transform: translateX(-100%); }

}



/* Responsive design */

@media (max-width: 768px) {

  body {

    padding: var(--space-sm);

  }



  .terminal-nav {

    flex-direction: column;

  }



  .terminal-nav a {

    display: block;

  }



  .feed-item {

    padding: var(--space-xs);

  }



  .article-title {

    font-size: 1.4rem;

  }

}

/* iPad-specific optimizations */
/* iPad standard (10.2-inch, 1024x768 portrait, 1366x1024 landscape) */
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  body {
    padding: var(--space-md);
    font-size: 1.1rem;
  }

  .ascii-header {
    font-size: 0.9rem;
  }

  .feed-item {
    padding: var(--space-md);
  }

  .terminal-nav {
    flex-wrap: wrap;
    justify-content: center;
  }

  .terminal-nav a {
    padding: var(--space-xs) var(--space-sm);
    white-space: nowrap;
  }

  .article-container {
    padding: var(--space-lg);
  }

  .article-title {
    font-size: 2rem;
  }

  .scroll-marquee-content {
    font-size: 1.3rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  body {
    padding: var(--space-lg);
    font-size: 1.2rem;
  }

  .ascii-header {
    font-size: 1rem;
  }

  .feed-item {
    padding: var(--space-md);
  }

  .terminal-nav {
    justify-content: center;
  }

  .article-container {
    padding: var(--space-lg);
  }

  .article-title {
    font-size: 2.2rem;
  }

  .scroll-marquee-content {
    font-size: 1.4rem;
  }
}

/* iPad Pro (11-inch and 12.9-inch) - 1280x800+ */
@media screen and (min-width: 1025px) and (max-width: 1366px) and (orientation: portrait) {
  body {
    padding: var(--space-lg);
    font-size: 1.3rem;
  }

  .ascii-header {
    font-size: 1.1rem;
  }

  .feed-item {
    padding: var(--space-md);
  }

  .terminal-nav {
    justify-content: center;
  }

  .article-container {
    padding: var(--space-lg);
  }

  .article-title {
    font-size: 2.4rem;
  }

  .scroll-marquee-content {
    font-size: 1.5rem;
  }
}

@media screen and (min-width: 1025px) and (max-width: 1366px) and (orientation: landscape) {
  body {
    padding: var(--space-lg);
    font-size: 1.4rem;
  }

  .ascii-header {
    font-size: 1.2rem;
  }

  .feed-item {
    padding: var(--space-lg);
  }

  .terminal-nav {
    justify-content: center;
  }

  .article-container {
    padding: var(--space-lg);
  }

  .article-title {
    font-size: 2.6rem;
  }

  .scroll-marquee-content {
    font-size: 1.6rem;
  }
}

/* iPad Mini (768x1024 portrait, 1024x768 landscape) - Same resolution as standard iPad but optimized for smaller screen */
@media screen and (max-width: 768px) and (orientation: portrait) and (max-height: 1024px) {
  body {
    padding: var(--space-sm);
    font-size: 1rem;
  }

  .ascii-header {
    font-size: 0.8rem;
  }

  .feed-item {
    padding: var(--space-sm);
  }

  .terminal-nav a {
    font-size: 0.9rem;
    padding: var(--space-xs);
  }

  .article-title {
    font-size: 1.6rem;
  }

  .feed-meta {
    font-size: 0.8rem;
  }

  .scroll-marquee-content {
    font-size: 1.1rem;
  }
}

@media screen and (max-width: 1024px) and (orientation: landscape) and (max-height: 768px) {
  body {
    padding: var(--space-md);
    font-size: 1.1rem;
  }

  .ascii-header {
    font-size: 0.9rem;
  }

  .feed-item {
    padding: var(--space-sm);
  }

  .terminal-nav {
    flex-wrap: wrap;
    gap: var(--space-xs);
  }

  .article-title {
    font-size: 1.8rem;
  }

  .scroll-marquee-content {
    font-size: 1.2rem;
  }
}



/* News Portal Layout */

.news-portal-container {

  display: flex;

  flex-direction: column;

  gap: var(--space-md);

}



.featured-content {

  display: grid;

  grid-template-columns: 2fr 1fr; /* Chart takes 2/3, meme takes 1/3 */

  gap: var(--space-md);

  margin-bottom: var(--space-lg);

}



.chart-panel, .meme-panel {

  border: 1px solid var(--accent-blue);

  padding: var(--space-sm);

  background: var(--bg-secondary);

  border-radius: 4px;

  min-width: 300px;

  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);

}



.chart-panel {

  order: 1; /* Chart appears first in layout */

}



.meme-panel {

  order: 2; /* Meme appears second in layout */

}



.news-feed {

  order: 3; /* Feed appears last */

}



@media (max-width: 768px) {

  .featured-content {

    grid-template-columns: 1fr; /* Stack vertically on mobile */

  }

}



.meme-container {

  background: #000;

  padding: var(--space-xs);

  border: 1px solid var(--border);

  min-height: 200px;

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

}



.meme-content {

  flex: 1;

  display: flex;

  align-items: center;

  justify-content: center;

  text-align: center;

  padding: var(--space-xs);

}



.meme-controls {

  display: flex;

  justify-content: center;

  gap: var(--space-sm);

  margin-top: var(--space-xs);

}



.meme-btn {

  background: var(--bg-primary);

  color: var(--text-primary);

  border: 1px solid var(--accent-purple);

  padding: var(--space-xs) var(--space-sm);

  cursor: pointer;

  font-family: var(--font-mono);

  transition: all 0.2s;

}



.meme-btn:hover {

  background: var(--accent-purple);

  color: var(--bg-primary);

}



.chart-container {

  display: flex;

  align-items: center;

  justify-content: center;

  min-height: 300px;

  padding: var(--space-sm);

  position: relative;

}



.chart-container canvas {

  width: 100% !important;

  height: 100% !important;

  max-height: 350px;

}



/* Footer */

.terminal-footer {

  margin-top: var(--space-lg);

  padding-top: var(--space-sm);

  border-top: 1px solid var(--accent-blue);

  color: var(--text-muted);

  font-size: 0.85rem;

}

/* ===== TRENDING DISCUSSIONS STYLES ===== */

.trending-filters {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin: 2rem 0;
}

.filter-btn {
  padding: 0.5rem 1rem;
  background: var(--bg-secondary);
  border: 1px solid var(--accent-blue);
  color: var(--text-primary);
  font-family: 'Ubuntu Mono', monospace;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.3s ease;
}

.filter-btn:hover {
  background: var(--accent-blue);
  color: var(--bg-primary);
  transform: translateY(-2px);
}

.filter-btn.active {
  background: var(--accent-purple);
  color: var(--bg-primary);
  border-color: var(--accent-purple);
}

.discussion-card {
  margin-bottom: 1.5rem;
  padding: 1.5rem;
  border: 1px solid var(--accent-blue);
  background: var(--bg-secondary);
  transition: all 0.3s ease;
}

.discussion-card:hover {
  border-color: var(--accent-purple);
  transform: translateX(5px);
}

.discussion-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
  font-size: 0.85rem;
  color: var(--text-muted);
  flex-wrap: wrap;
}

.source-icon {
  font-size: 1.2rem;
}

.source-badge {
  padding: 0.25rem 0.5rem;
  background: var(--accent-blue);
  color: var(--bg-primary);
  font-size: 0.75rem;
  font-weight: bold;
  border-radius: 3px;
}

.subreddit {
  color: var(--accent-orange);
  font-weight: bold;
}

.language {
  padding: 0.25rem 0.5rem;
  background: var(--bg-primary);
  border: 1px solid var(--accent-green);
  color: var(--accent-green);
  font-size: 0.75rem;
  border-radius: 3px;
}

.time-ago {
  margin-left: auto;
  font-style: italic;
}

.discussion-title {
  font-size: 1.2rem;
  margin-bottom: 0.75rem;
  line-height: 1.4;
}

.discussion-title a {
  color: var(--accent-purple);
  text-decoration: none;
  transition: color 0.3s ease;
}

.discussion-title a:hover {
  color: var(--accent-blue);
  text-decoration: underline;
}

.discussion-description {
  color: var(--text-muted);
  margin-bottom: 1rem;
  line-height: 1.6;
}

.discussion-meta {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  align-items: center;
  font-size: 0.9rem;
  color: var(--text-muted);
}

.score {
  color: var(--accent-green);
  font-weight: bold;
}

.comments {
  color: var(--accent-blue);
}

.stars {
  color: var(--accent-yellow);
  font-weight: bold;
}

.forks {
  color: var(--accent-purple);
}

.topics {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.topic-tag {
  padding: 0.25rem 0.5rem;
  background: var(--bg-primary);
  border: 1px solid var(--accent-purple);
  color: var(--accent-purple);
  font-size: 0.75rem;
  border-radius: 3px;
}

.hn-link {
  margin-left: auto;
}

/* Source-specific styling */
.discussion-card[data-source="reddit"] {
  border-left: 3px solid #FF4500;
}

.discussion-card[data-source="hackernews"] {
  border-left: 3px solid #FF6600;
}

.discussion-card[data-source="github"] {
  border-left: 3px solid #333;
}

/* ===== STOCK TRACKER STYLES ===== */

.stock-tabs {
  display: flex;
  gap: 1rem;
  margin: 2rem 0;
}

.stock-tab {
  padding: 0.75rem 1.5rem;
  background: var(--bg-secondary);
  border: 1px solid var(--accent-blue);
  color: var(--text-primary);
  font-family: 'Ubuntu Mono', monospace;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
}

.stock-tab:hover {
  background: var(--accent-blue);
  color: var(--bg-primary);
  transform: translateY(-2px);
}

.stock-tab.active {
  background: var(--accent-purple);
  color: var(--bg-primary);
  border-color: var(--accent-purple);
}

.stock-table {
  overflow-x: auto;
}

.stock-table table {
  min-width: 800px;
}

.stock-table th {
  text-transform: uppercase;
  letter-spacing: 1px;
}

.stock-table tr:hover {
  background: var(--bg-primary) !important;
  cursor: pointer;
}



/* Responsive design */

@media (max-width: 768px) {

  body {

    padding: var(--space-sm);

  }

  

  .terminal-nav {

    flex-direction: column;

  }

  

  .terminal-nav a {

    display: block;

  }

  

  .info-panels {

    flex-direction: column;

  }

  

  .meme-panel, .chart-panel {

    min-width: 100%;

  }

}
