/* --- Riparian Stream Core Layout & Typography --- */
:root {
  --bg-color: #fcfaf2;     /* Warm goldilocks paper canvas */
  --text-color: #2e2d29;   /* High-readability charcoal body text */
  --muted-text: #b5b2a9;   /* Muted gray for inactive elements and arrows */
  --brass-gold: #c29b38;   /* Interactive accent color */
}

/* Base Viewport Reset */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  background-color: var(--bg-color);
  color: var(--text-color);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Georgia, Serif;
  line-height: 1.6;
  text-align: left;
  
  /* Mobile Fluid Container */
  width: 100%;
  max-width: 68ch; 
  margin: 0 auto;
  padding: 2rem 1.2rem;
}

/* --- Navigation Row Target System --- */
.garden-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 0;
  user-select: none;
}

.arrow-target {
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--muted-text);
  text-decoration: none;
  display: inline-block;
  padding: 0.8rem 1.5rem; 
  min-width: 48px;
  min-height: 48px;
  text-align: center;
  transition: color 0.2s ease;
}

.arrow-target:hover,
.arrow-target:active {
  color: var(--brass-gold);
}

.arrow-target.disabled {
  opacity: 0.2;
  cursor: not-allowed;
  pointer-events: none;
}

/* --- Clean Text Links & Interactive Underlines --- */
.content-prose p {
  margin-bottom: 1.5rem;
  font-size: 1.1rem;
}

/* Target both single article links and index list journal links */
.content-prose a,
.journal-index a,
.stream-container a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid var(--muted-text);
  transition: color 0.2s ease, border-bottom-color 0.2s ease;
}

.content-prose a:hover,
.content-prose a:active,
.journal-index a:hover,
.stream-container a:hover {
  color: var(--brass-gold);
  border-bottom-color: var(--brass-gold);
}

/* --- Harvard Law Review Index Structure --- */
.journal-index {
  margin-top: 2rem;
}

.stream-container {
  display: flex;
  flex-direction: column;
  list-style: none;
}

.stream-container.sort-desc {
  flex-direction: column;         /* Newest posts first */
}

.stream-container.sort-asc {
  flex-direction: column-reverse; /* Oldest posts first */
}

.stream-item {
  margin-bottom: 1.8rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.item-meta {
  font-size: 0.85rem;
  color: var(--muted-text);
  margin-bottom: 0.2rem;
  user-select: none;
}

.tag-label {
  font-style: italic;
}

/* Mobile Responsive Adjustments */
@media (max-width: 480px) {
  body {
    padding: 1rem 0.8rem;
  }
}
