/* GTA6 Terminal only. These classes do not change existing pages or site chrome. */
.gta-mini {
  display: grid;
  grid-template-columns: 0.8fr 1.4fr;
  gap: 40px;
  position: relative;
  margin-top: 32px;
  padding: 34px;
  border: 1px solid #ff429f58;
  border-radius: 12px;
  background: linear-gradient(125deg, #28122e, #19111f 58%);
}
.gta-mini::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 34px;
  width: 75px;
  height: 3px;
  background: var(--pink);
}
.gta-kicker {
  font:
    11px/1.5 ui-monospace,
    monospace;
  letter-spacing: 1.5px;
  color: var(--mint);
}
.gta-mini h2 {
  font: 56px/0.98 var(--display);
  letter-spacing: 0.8px;
  margin: 14px 0 18px;
}
.gta-mini h2 span,
.gta-hero h1 span {
  color: var(--pink);
}
.gta-mini-copy > p {
  font-size: 14px;
  color: #c7b8cc;
  margin: 0 0 24px;
}
.gta-mini .gta-status {
  display: block;
  font-size: 11px;
  line-height: 1.7;
  color: var(--muted);
  margin-top: 17px;
}
.gta-mini-list {
  align-self: center;
  min-width: 0;
}
.gta-mini-story {
  display: block;
  position: relative;
  padding: 17px 30px 17px 0;
  border-bottom: 1px solid var(--line);
}
.gta-mini-story:first-child {
  padding-top: 0;
}
.gta-mini-story:last-child {
  border: 0;
  padding-bottom: 0;
}
.gta-mini-story h3 {
  font:
    600 16px/1.45 -apple-system,
    BlinkMacSystemFont,
    'Segoe UI',
    sans-serif;
  margin: 8px 0 0;
  overflow-wrap: anywhere;
}
.gta-mini-story > .gta-arrow {
  position: absolute;
  right: 0;
  top: 38%;
}
.gta-arrow {
  color: var(--pink);
  font-size: 22px;
  line-height: 1;
}
.gta-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  font:
    11px/1.5 ui-monospace,
    monospace;
  color: var(--muted);
}
.gta-source-name {
  color: var(--mint);
}
.gta-read-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #b9aabf;
}
.gta-read-status::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--mint);
}
.is-read .gta-read-status::before {
  background: #84768d;
}
.gta-mini-story.is-read h3,
.gta-story.is-read h3 {
  color: #b9aabf;
}
.gta-mini-story:hover h3,
.gta-story:hover h3,
.gta-spotlight:hover h3 {
  color: var(--pink);
}
.gta-terminal {
  padding-top: 35px;
  overflow: clip;
}
.gta-hero {
  position: relative;
  isolation: isolate;
  padding: 26px 0 40px;
}
.gta-hero::before {
  content: '';
  position: absolute;
  z-index: -2;
  inset: -35px -32px 0 40%;
  background: url('/assets/roadmap.webp') center 38% / cover;
  opacity: 0.32;
}
.gta-hero::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: -35px -32px 0 25%;
  background:
    linear-gradient(90deg, var(--bg), transparent 75%),
    linear-gradient(0deg, var(--bg), transparent 60%);
}
.gta-hero h1 {
  font: clamp(54px, 7.7vw, 96px)/1 var(--display);
  letter-spacing: 1.3px;
  margin: 12px 0 20px;
}
.gta-hero p {
  color: #d4c4d4;
  font-size: 15px;
  max-width: 560px;
  line-height: 1.8;
  margin: 0;
}
.gta-statusbar {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 14px 0;
  border-block: 1px solid var(--line);
  font:
    11px/1.65 ui-monospace,
    monospace;
  color: var(--muted);
}
.gta-statusbar .gta-status::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 8px;
  border-radius: 50%;
  background: var(--mint);
}
.gta-statusbar .gta-status[data-stale='true']::before {
  background: #ffc46b;
}
.gta-terminal-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 250px;
  gap: 40px;
  padding: 32px 0 48px;
}
.gta-feed {
  min-width: 0;
}
.gta-filters {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.gta-search {
  flex: 1;
  min-width: 170px;
  position: relative;
}
.gta-search input,
.gta-publisher select {
  font: inherit;
  font-size: 14px;
  color: var(--cream);
  background: #1b1323;
  border: 1px solid #ffffff28;
  border-radius: 6px;
  padding: 12px;
  min-height: 46px;
}
.gta-search input {
  width: 100%;
  padding-left: 36px;
}
.gta-search > span[aria-hidden] {
  position: absolute;
  left: 12px;
  top: 8px;
  color: var(--muted);
  font-size: 21px;
}
.gta-publisher select {
  width: 185px;
}
.gta-filters input:focus-visible,
.gta-filters select:focus-visible,
.gta-unread input:focus-visible {
  outline: 2px solid var(--mint);
  outline-offset: 3px;
}
.gta-list-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding: 8px 0 18px;
  color: var(--muted);
  font:
    11px/1.5 ui-monospace,
    monospace;
}
.gta-unread {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  font:
    12px/1.5 -apple-system,
    BlinkMacSystemFont,
    'Segoe UI',
    sans-serif;
  cursor: pointer;
}
.gta-unread input {
  accent-color: var(--pink);
  width: 16px;
  height: 16px;
}
.gta-story {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) 22px;
  gap: 18px;
  padding: 27px 0;
  border-top: 1px solid var(--line);
}
.gta-story-date {
  font:
    11px/1.8 ui-monospace,
    monospace;
  color: var(--muted);
  text-transform: uppercase;
}
.gta-story-date strong {
  display: block;
  font: 28px/1.15 var(--display);
  color: #d7c8df;
}
.gta-story h3 {
  font:
    600 19px/1.5 -apple-system,
    BlinkMacSystemFont,
    'Segoe UI',
    sans-serif;
  margin: 8px 0 0;
  overflow-wrap: anywhere;
}
.gta-story > .gta-arrow {
  align-self: center;
}
.gta-empty {
  padding: 30px 0;
  color: var(--muted);
  font-size: 14px;
  margin: 0;
}
.gta-empty a {
  text-decoration: underline;
}
.gta-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  border-top: 1px solid var(--line);
  padding-top: 24px;
  font:
    11px/1.6 ui-monospace,
    monospace;
  color: var(--muted);
}
.gta-storage-note {
  color: var(--muted);
  font-size: 12px;
  margin: 20px 0 0;
}
.gta-side-heading {
  font:
    12px/1.5 ui-monospace,
    monospace;
  letter-spacing: 1px;
  margin: 0 0 18px;
}
.gta-spotlight-section {
  margin-bottom: 30px;
}
.gta-spotlight {
  display: block;
  border: 1px solid #ffffff30;
  border-radius: 9px;
  overflow: hidden;
  background: #211329;
}
.gta-spotlight-art {
  height: 165px;
  background:
    linear-gradient(0deg, #211329, transparent),
    url('/assets/miami.webp') center 39% / cover;
  display: grid;
  place-items: center;
}
.gta-spotlight-art span {
  font: 86px/1 var(--display);
  color: #ffbadb;
  text-shadow: 3px 4px 0 #25122d;
  transform: rotate(-4deg);
}
.gta-spotlight-copy {
  padding: 0 20px 24px;
}
.gta-spotlight h3 {
  font: 29px/1.15 var(--display);
  margin: 10px 0 18px;
  letter-spacing: 0.5px;
  overflow-wrap: anywhere;
}
.gta-read-link {
  font-size: 12px;
  color: var(--pink);
}
.gta-sources {
  border-top: 1px solid var(--line);
  padding-top: 22px;
}
.gta-source {
  display: block;
  padding: 11px 0;
  border-bottom: 1px solid #ffffff0c;
  font-size: 13px;
}
.gta-source > span {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.gta-source small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  margin-top: 4px;
}
.gta-sources p {
  font-size: 12px;
  line-height: 1.8;
  color: var(--muted);
  margin: 18px 0 0;
}
@media (max-width: 900px) {
  .gta-mini {
    gap: 28px;
    padding: 28px;
  }
  .gta-mini h2 {
    font-size: 46px;
  }
  .gta-terminal-grid {
    grid-template-columns: minmax(0, 1fr) 210px;
    gap: 28px;
  }
  .gta-publisher select {
    width: 155px;
    font-size: 13px;
  }
}
@media (max-width: 640px) {
  .gta-mini {
    grid-template-columns: 1fr;
    padding: 24px;
    gap: 28px;
  }
  .gta-mini h2 {
    font-size: 43px;
  }
  .gta-mini h2 br {
    display: none;
  }
  .gta-mini-story h3 {
    font-size: 16px;
  }
  .gta-terminal {
    padding-top: 22px;
    overflow: hidden;
  }
  .gta-hero {
    padding: 20px 0 30px;
  }
  .gta-hero h1 {
    font-size: clamp(43px, 10vw, 62px);
  }
  .gta-hero .gta-kicker {
    font-size: 10px;
  }
  .gta-terminal-grid {
    grid-template-columns: 1fr;
  }
  .gta-story {
    grid-template-columns: 38px minmax(0, 1fr) 18px;
    gap: 12px;
    padding: 24px 0;
  }
  .gta-story h3 {
    font-size: 17px;
  }
  .gta-story-date strong {
    font-size: 25px;
  }
  .gta-sidebar {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
  }
  .gta-sources {
    border-top: 0;
    padding-top: 0;
  }
  .gta-search input {
    font-size: 16px;
  }
  .gta-unread {
    min-height: 44px;
  }
  .gta-spotlight h3 {
    font-size: 25px;
  }
}
@media (max-width: 400px) {
  .gta-sidebar {
    grid-template-columns: 1fr;
  }
  .gta-search,
  .gta-publisher,
  .gta-publisher select {
    width: 100%;
  }
  .gta-mini {
    padding: 22px;
  }
}
