/* Discover (/new-games), 2026-10-27 redesign. Shell tokens only, so the light
   theme and later token changes apply without edits here. Radii: cards 16,
   controls 10, pills 999. Weights 500-600. Tabular numbers everywhere. */

.dc-page {
  max-width: 1160px;
  margin: 0 auto;
  color: var(--ccu-ink);
  font-family: var(--ccu-font, -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif);
  font-variant-numeric: tabular-nums;
  animation: fade-in 0.2s ease-out;
}

/* Header */
.dc-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px 32px;
  margin: 4px 0 28px;
}
.dc-head-copy { min-width: 0; }
.dc-title {
  margin: 0;
  font-size: var(--ccu-fs-name, 1.75rem);
  line-height: 1.15;
  font-weight: 600;
  letter-spacing: -0.02em;
}
.dc-lead {
  margin: 6px 0 0;
  font-size: var(--ccu-fs-body, 0.9375rem);
  line-height: 1.45;
  color: var(--ccu-muted);
}
.dc-counts {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 20px;
  margin: 0;
}
.dc-counts > div { display: flex; align-items: baseline; gap: 6px; }
.dc-counts dd {
  order: -1;
  margin: 0;
  font-size: var(--ccu-fs-item, 1.0625rem);
  font-weight: 600;
  letter-spacing: -0.01em;
}
.dc-counts dt { font-size: var(--ccu-fs-meta, 0.8125rem); color: var(--ccu-muted); text-transform: lowercase; }

/* Sections */
.dc-section { margin: 0 0 44px; }
.dc-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px 24px;
  margin: 0 0 14px;
}
.dc-section-copy { min-width: 0; max-width: 640px; }
.dc-section-head-inline { flex-wrap: nowrap; }
.dc-section-head-inline .dc-section-copy { flex: 1; }
.dc-h2 {
  margin: 0;
  font-size: var(--ccu-fs-title, 1.25rem);
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: -0.01em;
}
.dc-h3 { margin: 0; font-size: var(--ccu-fs-body, 0.9375rem); font-weight: 600; color: var(--ccu-ink); }
.dc-sub {
  margin: 4px 0 0;
  font-size: var(--ccu-fs-meta, 0.8125rem);
  line-height: 1.5;
  color: var(--ccu-muted);
}
.dc-strong { color: var(--ccu-ink); font-weight: 600; }
.dc-note { margin: 10px 2px 0; font-size: 12px; color: var(--ccu-muted-faint); }
.dc-empty { margin: 0; padding: 28px; border-radius: 16px; background: var(--ccu-surface); color: var(--ccu-muted); font-size: 14px; }

.dc-link {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  font-size: 14px;
  font-weight: 500;
  color: var(--ccu-accent);
  text-decoration: none;
  transition: color var(--ccu-motion-fast, 160ms) var(--ccu-ease-standard, ease);
}
.dc-link::after { content: "\2192"; margin-left: 6px; }
.dc-link:hover { color: var(--ccu-accent-hover, var(--ccu-accent)); }

.dc-btn {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 18px;
  border: 0;
  border-radius: 999px;
  background: var(--ccu-btn-secondary-bg, var(--ccu-fill-strong));
  color: var(--ccu-btn-secondary-ink, var(--ccu-ink));
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color var(--ccu-motion-fast, 160ms) var(--ccu-ease-standard, ease);
}
.dc-btn:hover { background: var(--ccu-btn-secondary-hover, var(--ccu-fill-strong)); }
.dc-btn:disabled { opacity: 0.5; cursor: default; }
.dc-btn-small { min-height: 36px; padding: 0 14px; }
.dc-text-btn {
  appearance: none;
  border: 0;
  background: none;
  min-height: 36px;
  padding: 0 6px;
  color: var(--ccu-muted);
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}
.dc-text-btn:hover { color: var(--ccu-ink); }
.dc-text-btn:disabled { opacity: 0.5; }
.dc-btn:focus-visible, .dc-text-btn:focus-visible, .dc-link:focus-visible, .dc-find:focus-visible, .dc-row-link:focus-visible, .dc-control:focus-visible {
  outline: 2px solid var(--ccu-focus);
  outline-offset: 2px;
}

/* Recent finds: the /track-record card language */
.dc-finds {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.dc-find-item { min-width: 0; }
.dc-find {
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: 100%;
  padding: 16px 16px 14px;
  border-radius: 16px;
  background: var(--ccu-surface);
  box-shadow: var(--ccu-shadow-card, none);
  color: inherit;
  text-decoration: none;
  transition: background-color var(--ccu-motion-fast, 160ms) var(--ccu-ease-standard, ease), transform var(--ccu-motion-fast, 160ms) var(--ccu-ease-standard, ease);
}
.dc-find:hover { background: var(--ccu-panel); transform: translateY(-1px); }
.dc-find-head { display: flex; align-items: center; gap: 12px; min-width: 0; }
.dc-find-icon {
  width: 44px;
  height: 44px;
  flex: none;
  border-radius: 12px;
  background: var(--ccu-fill);
  object-fit: cover;
}
.dc-find-title { min-width: 0; flex: 1; }
.dc-find-name {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: var(--ccu-fs-item, 1.0625rem);
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: -0.01em;
}
.dc-find-meta { margin: 2px 0 0; font-size: var(--ccu-fs-meta, 0.8125rem); color: var(--ccu-muted-faint); }
.dc-find-x {
  flex: none;
  padding: 3px 9px;
  border-radius: 999px;
  background: var(--ccu-up-soft);
  color: var(--ccu-up);
  font-size: 13px;
  font-weight: 600;
}
.dc-spark {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 320 / 88;
  color: var(--ccu-data, var(--ccu-up));
  overflow: visible;
}
.dc-spark-empty { border-radius: 10px; background: var(--ccu-fill); }
.dc-spark-ring { fill: var(--ccu-surface); stroke: currentColor; stroke-width: 2; }
.dc-find:hover .dc-spark-ring { fill: var(--ccu-panel); }
.dc-spark-label { fill: currentColor; font-size: 11px; font-weight: 600; font-family: inherit; }
.dc-find-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 2px 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--ccu-line);
}
.dc-find-facts dt { font-size: 12px; color: var(--ccu-muted-faint); }
.dc-find-facts dd {
  margin: 2px 0 0;
  font-size: var(--ccu-fs-item, 1.0625rem);
  font-weight: 600;
  letter-spacing: -0.01em;
}
.dc-find-facts dd.is-found { color: var(--ccu-data, var(--ccu-up)); }

/* Studio window: neutral frosted placeholders */
.dc-ghosts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.dc-ghost {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  padding: 14px;
  border-radius: 16px;
  background: var(--ccu-surface);
}
.dc-ghost::before {
  content: "";
  position: absolute;
  inset: -40%;
  z-index: -2;
  background:
    radial-gradient(circle at 30% 30%, hsl(var(--dc-hue, 192) 70% 58% / 0.34), transparent 55%),
    radial-gradient(circle at 75% 70%, hsl(calc(var(--dc-hue, 192) + 40) 70% 60% / 0.2), transparent 50%);
  filter: blur(22px);
}
.dc-ghost::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: color-mix(in srgb, var(--ccu-surface) 62%, transparent);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: inset 0 0 0 1px var(--ccu-line);
}
.dc-ghost-top { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.dc-ghost-icon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  flex: none;
  border-radius: 10px;
  background: var(--ccu-fill-strong);
  color: var(--ccu-muted);
}
.dc-lock { width: 14px; height: 14px; }
.dc-ghost-lines { display: grid; gap: 6px; flex: 1; min-width: 0; }
.dc-ghost-lines > span { display: block; height: 8px; border-radius: 999px; background: var(--ccu-fill-strong); }
.dc-ghost-lines > span:first-child { width: 78%; }
.dc-ghost-lines > span:last-child { width: 46%; opacity: 0.7; }
.dc-ghost-band { font-size: var(--ccu-fs-body, 0.9375rem); font-weight: 600; color: var(--ccu-ink); }
.dc-ghost-age { font-size: var(--ccu-fs-meta, 0.8125rem); color: var(--ccu-muted); }

/* Lists */
.dc-card { border-radius: 16px; background: var(--ccu-surface); box-shadow: var(--ccu-shadow-card, none); }
.dc-card-pad { padding: 22px 24px; }
.dc-table-wrap { overflow: hidden; }
.dc-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 14px; }
.dc-table th {
  padding: 12px 16px 10px;
  font-size: 12px;
  font-weight: 500;
  color: var(--ccu-muted-faint);
  text-align: left;
  white-space: nowrap;
}
.dc-table td { padding: 10px 16px; border-top: 1px solid var(--ccu-line); color: var(--ccu-muted-strong); vertical-align: middle; }
.dc-table tbody tr { transition: background-color var(--ccu-motion-fast, 160ms) var(--ccu-ease-standard, ease); }
.dc-table tbody tr:hover { background: var(--ccu-panel-hover); }
.dc-table .dc-num { width: 92px; text-align: right; white-space: nowrap; }
.dc-table th.dc-num { text-align: right; }
.dc-strong-num { color: var(--ccu-ink) !important; font-size: 15px; font-weight: 600; }
.dc-row-link { display: flex; align-items: center; gap: 12px; min-width: 0; color: inherit; text-decoration: none; border-radius: 10px; }
.dc-row-icon { width: 40px; height: 40px; flex: none; border-radius: 10px; object-fit: cover; background: var(--ccu-fill); }
.dc-row-copy { display: flex; flex-direction: column; min-width: 0; }
.dc-row-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: var(--ccu-fs-body, 0.9375rem);
  font-weight: 500;
  color: var(--ccu-ink);
}
.dc-row-link:hover .dc-row-name { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--ccu-line-strong); }
.dc-row-meta {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: var(--ccu-fs-meta, 0.8125rem);
  color: var(--ccu-muted-faint);
  text-transform: none;
}
.dc-phone-only { display: none; }

/* Filters */
.dc-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px 14px;
  margin: 0 0 12px;
  padding: 14px 16px;
  border-radius: 16px;
  background: var(--ccu-surface);
}
.dc-filters-note { flex-basis: 100%; margin: 0; font-size: 13px; color: var(--ccu-muted); }
.dc-chip {
  display: inline-block;
  margin-right: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--ccu-pro-soft);
  color: var(--ccu-pro);
  font-size: 11px;
  font-weight: 600;
}
.dc-filters-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 14px; }
.dc-field { display: flex; flex-direction: column; gap: 5px; font-size: 12px; color: var(--ccu-muted-faint); }
.dc-control {
  min-height: 36px;
  padding: 0 10px;
  border: 1px solid var(--ccu-line);
  border-radius: 10px;
  background: var(--ccu-bg);
  color: var(--ccu-ink);
  font: inherit;
  font-size: 14px;
}
.dc-control-text { width: 9.5rem; }
.dc-control-num { width: 6.5rem; }
.dc-filters-end { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.dc-note-inline { font-size: 12px; color: var(--ccu-muted); }

.dc-alert {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 16px;
  padding: 12px 16px;
  border-radius: 16px;
  background: var(--ccu-down-soft);
  color: var(--ccu-down);
  font-size: 14px;
}
.dc-more { display: flex; justify-content: center; margin: -28px 0 44px; }
.dc-dim { opacity: 0.6; transition: opacity var(--ccu-motion-fast, 160ms) ease; }
.dc-skeleton { display: grid; gap: 8px; padding: 14px; }
.dc-skel-row { height: 48px; border-radius: 10px; background: var(--ccu-fill); }
.dc-skel-title { height: 20px; width: 180px; margin: 0 0 14px; border-radius: 999px; background: var(--ccu-fill); }

/* Responsive */
@media (max-width: 1279px) { .dc-table .dc-xl { display: none; } }
@media (max-width: 1023px) {
  .dc-finds { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dc-ghosts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dc-ghost:nth-child(n + 7) { display: none; }
  .dc-table .dc-lg { display: none; }
}
@media (max-width: 767px) { .dc-table .dc-md { display: none; } }
@media (max-width: 639px) {
  .dc-head { margin-bottom: 22px; }
  .dc-section-head-inline { align-items: flex-start; }
  .dc-section-head-inline .dc-link { margin-top: -10px; }
  .dc-counts { gap: 2px 16px; }
  .dc-section { margin-bottom: 36px; }
  .dc-finds { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .dc-find-item:nth-child(n + 5) { display: none; }
  .dc-ghosts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .dc-ghost:nth-child(n + 5) { display: none; }
  .dc-table .dc-sm { display: none; }
  .dc-table td, .dc-table th { padding-left: 14px; padding-right: 14px; }
  .dc-table .dc-num { width: 84px; }
  .dc-phone-only { display: inline; }
  .dc-btn, .dc-link, .dc-text-btn { min-height: 44px; }
  .dc-control { min-height: 44px; }
  .dc-control-text, .dc-control-num { width: 100%; }
  .dc-filters-form { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .dc-filters-form > label:last-of-type { grid-column: 1 / -1; }
  .dc-field { flex: 1 1 40%; }
  .dc-more { margin-top: -20px; }
}
@media (prefers-reduced-motion: reduce) {
  .dc-page { animation: none; }
  .dc-find, .dc-find:hover { transition: none; transform: none; }
}
/* Pass 2 (owner T9, 2026-10-27): the Studio window is one quiet line with the real count, no lock tiles. */
.dc-window-line { display: flex; align-items: flex-start; gap: 10px; margin-top: 28px; padding: 14px 16px; border-radius: 14px; box-shadow: inset 0 0 0 1px var(--ccu-line); color: var(--ccu-muted); }
.dc-window-line .dc-lock { flex: none; width: 16px; height: 16px; margin-top: 2px; color: var(--ccu-muted-faint); }
.dc-window-text { margin: 0; font-size: var(--ccu-fs-body, 0.9375rem); line-height: 1.5; }
.dc-window-text .dc-strong { color: var(--ccu-ink); font-weight: 600; font-variant-numeric: tabular-nums; }
.dc-window-link { color: var(--ccu-ink); font-weight: 500; text-decoration: underline; text-decoration-color: var(--ccu-line-strong); text-underline-offset: 3px; white-space: nowrap; }
.dc-window-link:hover { text-decoration-color: currentColor; }
.dc-window-link:focus-visible { outline: 2px solid var(--ccu-focus, var(--ccu-accent)); outline-offset: 2px; border-radius: 4px; }
/* The Discover hub tabs line up with the page column (AppShell renders them above the page). */
.ccu-main:has(> .dc-page) > .ccu-hub, .ccu-main:has(.dc-page) > .ccu-hub { max-width: 1160px; margin-left: auto; margin-right: auto; }
.ccu-main:has(.dc-page) > .ccu-hub .ccu-hub-tabs { margin-left: -2px; }
/* T15: no text under 12 px on desktop, 13 px on phones. */
.dc-spark-label { font-size: 12px; }
@media (max-width: 639.98px) {
  .dc-page dt, .dc-page th, .dc-page .dc-num, .dc-spark-label { font-size: 13px; }
}
@media (max-width: 639.98px) { .dc-note { font-size: 13px; } }
