.patches-page {
  max-width: 900px;
  margin: 0 auto;
  padding: 24px 20px 80px;
}

.intro-card {
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-radius: 14px;
  padding: 20px 24px;
  margin-bottom: 20px;
}

.intro-card h1 {
  margin: 0 0 8px;
  font-size: 22px;
  color: var(--gold);
}

.intro-card p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}

.intro-card code {
  background: rgba(255,255,255,0.06);
  padding: 1px 6px;
  border-radius: 5px;
  font-size: 13px;
}

.chart-card {
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-radius: 14px;
  padding: 20px 24px;
  margin-bottom: 20px;
}

.chart-card h2 {
  margin: 0 0 4px;
  font-size: 16px;
  color: var(--text);
}

.chart-sub {
  margin: 0 0 16px;
  color: var(--muted);
  font-size: 12px;
}

.chart-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.chart-card-head .chart-sub{margin-bottom:0}.patch-sort{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.patch-sort button{padding:7px 10px;border:1px solid rgba(138,166,255,.14);background:transparent;color:#7785a2;font:inherit;font-size:8px;text-transform:uppercase;cursor:pointer}.patch-sort button:hover,.patch-sort button.active{border-color:rgba(108,247,255,.38);background:rgba(108,247,255,.07);color:#dffeff}.patch-browser{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:17px}.patch-browser-item{position:relative;overflow:hidden;min-height:76px;padding:13px;border:1px solid rgba(138,166,255,.13);background:rgba(255,255,255,.018)}.patch-browser-item:after{content:"";position:absolute;right:-22px;bottom:-22px;width:45px;height:45px;border:1px solid rgba(108,247,255,.1);transform:rotate(45deg)}.patch-browser-item span{display:block;color:#667590;font-size:7px;letter-spacing:.1em;text-transform:uppercase}.patch-browser-item b{display:block;margin-top:8px;color:#dfe8f7;font-size:15px}.patch-browser-item small{display:block;margin-top:5px;color:#65738d;font-size:8px}.patch-browser-item.current{border-color:rgba(97,255,176,.38);background:rgba(97,255,176,.045)}.patch-browser-item.current span,.patch-browser-item.current b{color:#61ffb0}.patch-browser-item.recent{border-color:rgba(108,247,255,.22)}

/* Line chart */
.chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  margin-bottom: 12px;
}

.legend-item2 {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--muted);
}

.legend-item2 .swatch {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex: 0 0 auto;
}

.line-chart-wrap {
  position: relative;
}

.line-chart-wrap svg {
  width: 100%;
  height: auto;
  display: block;
  overflow: visible;
}

.lc-grid {
  stroke: var(--panel-border);
  stroke-width: 1;
}

.lc-axis-label {
  fill: var(--muted);
  font-size: 10px;
}

.lc-crosshair {
  stroke: rgba(255,255,255,0.25);
  stroke-width: 1;
  pointer-events: none;
}

.lc-tooltip {
  position: absolute;
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 12px;
  pointer-events: none;
  white-space: nowrap;
  box-shadow: 0 6px 20px rgba(0,0,0,0.4);
  z-index: 10;
}

.lc-tooltip .patch-label {
  color: var(--gold);
  font-weight: 600;
  margin-bottom: 4px;
}

.lc-tooltip .row {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--text);
}

.lc-tooltip .row .swatch {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

/* Diverging bar chart */
.diverging-chart {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.div-row {
  display: grid;
  grid-template-columns: 28px 130px 1fr 56px;
  align-items: center;
  gap: 10px;
  font-size: 13px;
}

.div-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  border: 1px solid var(--panel-border);
  flex: 0 0 auto;
}

.div-name {
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.div-track {
  display: flex;
  align-items: center;
  height: 18px;
  position: relative;
}

.div-half {
  flex: 1 1 50%;
  display: flex;
  height: 100%;
  position: relative;
}

.div-half.neg { justify-content: flex-end; }
.div-half.pos { justify-content: flex-start; }

.div-mid {
  width: 2px;
  height: 100%;
  background: var(--panel-border);
  flex: 0 0 auto;
}

.div-bar {
  height: 100%;
  border-radius: 3px;
  min-width: 2px;
}

.div-bar.rise { background: #3987e5; }
.div-bar.fall { background: #e66767; }

.div-value {
  text-align: right;
  font-variant-numeric: tabular-nums;
  color: var(--muted);
  font-size: 12px;
}

.div-value.rise { color: #6ea8f0; }
.div-value.fall { color: #f08a8a; }

/* Tables */
.meta-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.meta-table th {
  text-align: left;
  color: var(--muted);
  font-weight: 500;
  font-size: 12px;
  padding: 6px 8px;
  border-bottom: 1px solid var(--panel-border);
}

.meta-table td {
  padding: 8px;
  border-bottom: 1px solid rgba(255,255,255,0.03);
  vertical-align: middle;
}

.meta-table .hero-cell {
  display: flex;
  align-items: center;
  gap: 8px;
}

.meta-table .hero-cell img {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid var(--panel-border);
}

.trend-table .sparkline-cell {
  display: flex;
  align-items: center;
  gap: 8px;
}

.trend-table svg {
  overflow: visible;
}

.trend-values {
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
}

@media (max-width: 640px) {
  .div-row { grid-template-columns: 24px 90px 1fr 46px; font-size: 12px; }
  .chart-card-head{flex-direction:column}.patch-sort{justify-content:flex-start}.patch-browser{grid-template-columns:repeat(2,minmax(0,1fr))}
}
