.home-welcome {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 16px;
}

.home-welcome h1 {
  margin: 0 0 5px;
  color: var(--ink);
  font-size: 21px;
  font-weight: 620;
  letter-spacing: -.025em;
}

.home-welcome p,
.home-data-updated {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
}

.home-data-updated { white-space: nowrap; }
.home-metrics { margin-bottom: 16px; }
.home-metrics article { min-height: 112px; padding: 14px 16px 12px; }
.home-metrics #metric-sales { color: #18181b; font-size: 26px; }

.home-recommend-card,
.home-coverage-card { margin-bottom: 16px; overflow: hidden; }

.home-recommend-card > .home-panel-head,
.home-coverage-card > .home-panel-head,
.home-ranking-card > .home-panel-head,
.home-bottom-grid .home-panel-head {
  min-height: 64px;
  padding: 14px 18px 10px;
}

.home-panel-head h2,
.home-panel-head h3 { margin: 0; color: var(--ink); font-size: 14px; font-weight: 600; }
.home-panel-head p { margin-top: 4px; }
.home-panel-head h3 span { margin-left: 5px; color: #a1a1aa; font-size: 10px; font-weight: 500; }
.home-panel-head .text-link { flex: 0 0 auto; white-space: nowrap; }

.home-recommend-tabs {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 0 18px 12px;
}

.home-recommend-tabs button {
  min-height: 31px;
  padding: 0 11px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 11px;
  cursor: pointer;
}

.home-recommend-tabs button.selected,
.home-recommend-tabs button[aria-selected="true"] {
  border-color: #e4e4e7;
  background: #f4f4f5;
  color: var(--ink);
  font-weight: 600;
}

.home-recommendations {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 0 18px 17px;
}

.home-recommend-card-item,
.home-recommend-item {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.home-recommend-card-item .home-recommend-body,
.home-recommend-item .home-recommend-body { padding: 10px 11px; }
.home-recommend-card-item { display: block; color: inherit; text-decoration: none; }
.home-recommend-cover { display: grid; aspect-ratio: 4 / 3; place-items: center; overflow: hidden; background: #f4f4f5; color: #a1a1aa; font-size: 11px; }
.home-recommend-cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-recommend-card-item:hover { border-color: #d4d4d8; box-shadow: 0 2px 8px #18181b0a; }
.home-recommend-card-item .home-recommend-body { display: grid; gap: 3px; }
.home-recommend-card-item h3,
.home-recommend-item h3 { margin: 0; font-size: 11px; line-height: 1.5; }
.home-recommend-card-item p,
.home-recommend-item p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }

.home-coverage-card .home-panel-head { min-height: 58px; }
.home-coverage-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 0 18px 16px;
}

.home-coverage-grid > div { padding: 2px 18px; border-right: 1px solid var(--line); }
.home-coverage-grid > div:first-child { padding-left: 0; }
.home-coverage-grid > div:last-child { border: 0; }
.home-coverage-grid small { display: block; color: var(--muted); font-size: 10px; }
.home-coverage-grid strong { display: block; margin-top: 6px; color: var(--ink); font-size: 21px; font-variant-numeric: tabular-nums; }

.home-rankings { margin: 0 0 16px; }
.home-rankings-head { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin: 0 0 9px; }
.home-rankings-head h2 { margin: 0; font-size: 15px; font-weight: 620; }
.home-rankings-head p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.home-rankings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.home-ranking-card { min-width: 0; overflow: hidden; }
.home-ranking-card > .home-panel-head { min-height: 56px; padding-bottom: 8px; }
.home-ranking-columns { display: grid; grid-template-columns: 20px 34px minmax(0, 1fr) 90px 74px; gap: 8px; padding: 7px 16px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fafafa; color: var(--muted); font-size: 10px; }
.home-ranking-columns span:first-child { grid-column: 1 / 4; }
.home-ranking-columns span:nth-child(2) { grid-column: 4; }
.home-ranking-columns span:nth-child(3) { grid-column: 5; }
.home-ranking-columns span:not(:first-child) { text-align: right; }
.home-ranking-list { max-height: 338px; overflow: auto; padding: 0 16px 6px; overscroll-behavior: contain; scrollbar-color: #c4c4c8 transparent; scrollbar-width: thin; }
.home-ranking-list .home-rank-item { display: grid; grid-template-columns: 20px 34px minmax(0, 1fr) 90px 74px; align-items: center; min-height: 52px; gap: 8px; padding: 8px 0; }
.home-ranking-list .home-rank-index { width: auto; grid-column: 1; }
.home-ranking-list .product-thumb,
.home-ranking-list .selection-thumb { width: 34px; height: 34px; grid-column: 2; border-radius: 5px; }
.home-ranking-list .home-rank-thumb-spacer { grid-column: 2; width: 34px; height: 34px; }
.home-ranking-list .home-rank-body { grid-column: 3; }
.home-ranking-list .home-rank-total,
.home-ranking-list .home-rank-weekly { min-width: 0; color: var(--ink); font-size: 11px; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.home-ranking-list .home-rank-total { grid-column: 4; }
.home-ranking-list .home-rank-weekly { grid-column: 5; }
.home-ranking-list .selection-add-small { width: fit-content; justify-self: start; flex: 0 0 auto; padding: 0 7px; font-size: 10px; }
.home-ranking-list .no-alerts { padding: 24px 8px; color: var(--muted); text-align: center; font-size: 11px; }

.home-bottom-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 14px; align-items: stretch; }
.home-bottom-grid > .panel { min-width: 0; overflow: hidden; }
.home-bottom-grid .home-trend-card { margin: 0; padding: 0 12px 8px; }
.home-bottom-grid .home-panel-head { padding-inline: 18px; }
.home-bottom-grid .home-activity-card { padding-bottom: 7px; }
.home-activity-card .home-panel-head { align-items: center; }
.home-activity-list { max-height: 286px; overflow: auto; }

@media (max-width: 1100px) {
  .home-recommendations { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-ranking-list { max-height: 320px; }
}

@media (max-width: 760px) {
  .home-welcome { align-items: flex-start; }
  .home-welcome h1 { font-size: 19px; }
  .home-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .home-metrics article { min-height: 102px; padding: 12px; }
  .home-recommend-card > .home-panel-head,
  .home-coverage-card > .home-panel-head,
  .home-ranking-card > .home-panel-head,
  .home-bottom-grid .home-panel-head { padding-inline: 13px; }
  .home-recommend-tabs { padding-inline: 13px; gap: 2px; }
  .home-recommend-tabs button { padding-inline: 8px; }
  .home-recommendations { gap: 8px; padding-inline: 13px; }
  .home-coverage-grid { padding-inline: 13px; }
  .home-rankings-grid { grid-template-columns: 1fr; gap: 10px; }
  .home-ranking-columns { grid-template-columns: 18px 30px minmax(0, 1fr) 75px 65px; padding-inline: 12px; }
  .home-ranking-list { max-height: 280px; padding-inline: 12px; }
  .home-ranking-list .home-rank-item { grid-template-columns: 18px 30px minmax(0, 1fr) 75px 65px; gap: 6px; }
  .home-ranking-list .product-thumb,
  .home-ranking-list .selection-thumb,
  .home-ranking-list .home-rank-thumb-spacer { width: 30px; height: 30px; }
  .home-bottom-grid { grid-template-columns: 1fr; gap: 10px; }
}

@media (max-width: 480px) {
  .home-data-updated { max-width: 110px; overflow: hidden; text-overflow: ellipsis; }
  .home-recommendations { grid-template-columns: 1fr 1fr; }
  .home-coverage-grid > div { padding-inline: 10px; }
  .home-coverage-grid strong { font-size: 18px; }
  .home-recommend-card > .home-panel-head { align-items: flex-start; }
  .home-recommend-card > .home-panel-head .text-link { font-size: 10px; }
}
