/* oddsq-r70: resilient rails and bounded market-control refinement. */
:root {
  --r70-source-size: 51px;
  --r70-control-edge: rgba(255, 255, 255, 0.18);
  --r70-control-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.15),
    inset 0 -1px 0 rgba(0, 0, 0, 0.4),
    0 1px 0 rgba(0, 0, 0, 0.52),
    0 4px 8px rgba(0, 0, 0, 0.24);
  --r70-market-card: rgba(24, 29, 32, 0.98);
  --r70-market-line: rgba(255, 255, 255, 0.135);
}

/* Transform owns both loops. Native scrolling and legacy keyframes stay off. */
.certain-panel .intel-list,
.asset-panel .asset-body {
  overflow: hidden !important;
  overscroll-behavior: none !important;
  scrollbar-width: none !important;
}

.certain-panel .intel-list::-webkit-scrollbar,
.asset-panel .asset-body::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.certain-panel .intel-scroll-track,
.asset-panel .asset-rows.is-scrolling {
  animation: none !important;
  transform: none !important;
  will-change: auto !important;
}

.certain-panel .intel-scroll-track.is-looping,
.asset-panel .asset-rows.is-scrolling.is-looping {
  animation: none !important;
  transform: translate3d(0, calc(0px - var(--loop-offset, 0px)), 0) !important;
  will-change: transform !important;
}

/* Larger venue controls remain contained within the metrics row. */
.market-card .card-metrics {
  min-width: 0;
  min-height: 54px;
}

.market-card .card-metrics .card-source-button {
  width: var(--r70-source-size) !important;
  height: var(--r70-source-size) !important;
  flex: 0 0 var(--r70-source-size) !important;
  margin-right: 0 !important;
  margin-left: auto !important;
  border: 1px solid var(--r70-control-edge) !important;
  border-radius: 14px !important;
  box-shadow: var(--r70-control-shadow) !important;
  transform: none !important;
}

.market-card .card-source-button.source-polymarket {
  background: linear-gradient(155deg, #1769be 0%, #104b8b 60%, #0c3562 100%) !important;
}

.market-card .card-source-button.source-kalshi {
  background: linear-gradient(155deg, #18b589 0%, #0a7a5d 60%, #07543f 100%) !important;
}

.market-card .card-source-button img,
.lead-action .lead-poly img {
  width: 30px !important;
  height: 30px !important;
  object-fit: contain;
}

.market-card .card-source-button.source-kalshi .source-kalshi-wordmark,
.lead-action.source-kalshi .source-kalshi-wordmark {
  width: 31px !important;
  height: auto !important;
  max-height: 13px;
}

.market-card .card-source-button::after,
.lead-action::after,
.view-all::after {
  display: none !important;
  content: none !important;
}

.lead-action i,
#marketWindows .column-foot > span {
  display: none !important;
}

.lead-action {
  grid-template-columns: 44px minmax(0, 1fr) !important;
  min-width: 206px;
  min-height: 58px;
  padding: 7px 12px !important;
  border: 1px solid var(--r70-control-edge) !important;
  border-radius: 15px !important;
  box-shadow: var(--r70-control-shadow) !important;
}

.lead-action.source-polymarket {
  background: linear-gradient(155deg, #1b65b6 0%, #124a86 62%, #0d345f 100%) !important;
}

.lead-action.source-kalshi {
  background: linear-gradient(155deg, #15a77f 0%, #0a7359 62%, #074f3d 100%) !important;
}

.lead-action .lead-poly {
  width: 43px !important;
  height: 43px !important;
  border-radius: 12px !important;
}

.lead-action b {
  font-size: 14px !important;
  font-weight: 850 !important;
  letter-spacing: -0.02em !important;
}

.lead-action small {
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  letter-spacing: -0.01em !important;
}

.view-all,
.primary-window-grid .view-all,
.continuation-stream .continuation-window-head .view-all {
  min-height: 40px !important;
  padding: 0 17px !important;
  border: 1px solid var(--r70-control-edge) !important;
  border-radius: 13px !important;
  background: linear-gradient(180deg, #293033 0%, #191e20 100%) !important;
  font-size: 12px !important;
  font-weight: 780 !important;
  box-shadow: var(--r70-control-shadow) !important;
}

@media (hover: hover) and (pointer: fine) {
  .market-card .card-source-button:not(.is-unavailable):hover,
  .lead-action:not(.is-unavailable):hover,
  .view-all:hover {
    transform: translateY(-1px) !important;
  }
}

.market-card .card-source-button:not(.is-unavailable):active,
.lead-action:not(.is-unavailable):active,
.view-all:active {
  transform: translateY(1px) !important;
}

/* Homepage and full-window cards share one slightly lighter data surface. */
#marketWindows .market-card,
.view-all-page .window-market-grid .market-card {
  border-color: var(--r70-market-line) !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.012) 54%, transparent 76%),
    var(--r70-market-card) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.032), 0 7px 18px rgba(0, 0, 0, 0.15) !important;
}

#marketWindows .primary-window-grid,
#marketWindows .continuation-stream .window-continuation {
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.145) !important;
}

/* Sparse grid/data texture stays behind content and never changes geometry. */
#marketWindows::before,
.view-all-page .window-market-grid::before {
  background-image:
    linear-gradient(rgba(178, 255, 89, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(178, 255, 89, 0.03) 1px, transparent 1px),
    radial-gradient(rgba(241, 201, 40, 0.12) 0.55px, transparent 0.7px) !important;
  background-position: center top !important;
  background-size: 32px 32px, 32px 32px, 11px 11px !important;
  opacity: 0.2 !important;
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 9%, #000 94%, transparent);
  mask-image: linear-gradient(to bottom, transparent, #000 9%, #000 94%, transparent);
}

body.api-page {
  background-image:
    linear-gradient(rgba(178, 255, 89, 0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(178, 255, 89, 0.018) 1px, transparent 1px),
    radial-gradient(rgba(241, 201, 40, 0.028) 0.55px, transparent 0.7px) !important;
  background-position: center top !important;
  background-size: 36px 36px, 36px 36px, 13px 13px !important;
  background-attachment: fixed;
}

@media (max-width: 780px) {
  .lead-action {
    min-width: 0;
  }

  .market-card .card-metrics {
    gap: 7px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .market-card .card-source-button,
  .lead-action,
  .view-all {
    transition: none !important;
    transform: none !important;
  }
}
