/* Доска монет и страница монеты. Поверх launch.css, палитра донора. */

.bd-table { border: var(--hairline) solid var(--hair); }
.bd-row { display: grid; grid-template-columns: 2.2fr 1.5fr 1fr 1fr 0.8fr;
  gap: 12rem; padding: 12rem 14rem; align-items: center;
  border-bottom: var(--hairline) solid var(--hair); font-size: max(11px, 13rem); }
.bd-row:last-child { border-bottom: 0; }
.bd-head { font-family: var(--mono); font-size: max(10px, 11rem); color: var(--body); }
.bd-empty { color: var(--body); font-family: var(--mono); font-size: max(10px, 11rem); }
.ta-r { text-align: right; }

.bd-coin { display: flex; align-items: center; gap: 9rem; min-width: 0; }
.bd-coin b { font-weight: 400; }
.bd-coin span { color: var(--body); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bd-row a.bd-link { color: var(--ink); text-decoration: none; }
.bd-row a.bd-link:hover { text-decoration: underline; }

.bd-tag { display: inline-flex; align-items: center; gap: 6rem;
  font-family: var(--mono); font-size: max(10px, 11rem); }
.bd-tag .tbadge { width: 22rem; height: 22rem; }
.bd-long { color: var(--up); }
.bd-short { color: var(--down); }

.bd-grid { grid-template-columns: repeat(3, 1fr) 320rem; }
.bd-pos { font-size: max(20px, 26rem); letter-spacing: -.02em; display: flex;
  align-items: center; gap: 10rem; }
.bd-pos .tbadge { width: 30rem; height: 30rem; }

.bd-links { display: flex; flex-direction: column; gap: 6rem;
  font-family: var(--mono); font-size: max(10px, 11rem); }
.bd-links a { color: var(--ink); }

@media (max-width: 900px) {
  .bd-row { grid-template-columns: 1.6fr 1.2fr 1fr; }
  .bd-row > :nth-child(4), .bd-row > :nth-child(5) { display: none; }
  .bd-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .bd-row { grid-template-columns: 1.4fr 1fr; }
  .bd-row > :nth-child(3) { display: none; }
  .bd-grid { grid-template-columns: 1fr; }
}

/* Страница монеты: чарт, панель создателя, активность. */
.bd-chart-wrap { margin: 0 0 22rem; }
.bd-chart-head { display: flex; justify-content: space-between; align-items: baseline;
  gap: 12rem; margin-bottom: 8rem; flex-wrap: wrap; }
.bd-stats { font-size: max(10px, 11rem); color: var(--body); }
.bd-chart { width: 100%; height: 440px; border: var(--hairline) solid var(--hair); background: #0b0b0b; display: block; }

/* display:flex у класса перебивал UA-правило для [hidden]; панель показывалась без кошелька */
.bd-owner[hidden] { display: none; }
.bd-owner { border: var(--hairline) solid var(--ink); padding: 18rem 20rem; margin-bottom: 22rem;
  display: flex; flex-direction: column; gap: 14rem;
  background: color-mix(in srgb, var(--ink) 4%, transparent); }
.bd-owner-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12rem; flex-wrap: wrap; }
.bd-owner-addr { font-size: max(10px, 11rem); color: var(--body); }
.bd-owner-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14rem; }
.bd-owner-grid > div { display: flex; flex-direction: column; gap: 3rem; }
.bd-owner-grid dt { font-size: max(11px, 12rem); color: var(--body); }
.bd-owner-grid dd { margin: 0; font-size: max(16px, 20rem); letter-spacing: -.01em; }
.bd-owner-grid small { font-size: max(10px, 11rem); color: var(--body); line-height: 1.4; }
.bd-owner-actions { display: flex; gap: 8rem; flex-wrap: wrap; }

.bd-activity { margin-top: 22rem; }
.bd-row-4 { grid-template-columns: 1fr 1.6fr 1fr 0.6fr; }
.bd-kind { font-family: var(--mono); font-size: max(10px, 11rem); }

@media (max-width: 900px) {
  .bd-owner-grid { grid-template-columns: 1fr 1fr; }
  .bd-chart { height: 340px; }
  .bd-row-4 { grid-template-columns: 1fr 1.4fr 1fr; }
  .bd-row-4 > :nth-child(4) { display: none; }
}

/* Живая позиция на странице монеты. */
.bd-live[hidden] { display: none; }
.bd-live { margin-top: 6rem; }
.bd-live .up { color: var(--up); }
.bd-live .down { color: var(--down); }

/* Страница монеты v2: about / позиция / левая колонка с торговлей / статы и чарт. */
.cp-about { display: flex; justify-content: space-between; gap: 28rem; align-items: flex-start;
  border: var(--hairline) solid var(--hair); padding: 20rem 22rem; margin-bottom: 14rem; flex-wrap: wrap; }
.cp-about-text { flex: 1 1 420rem; min-width: 0; display: flex; flex-direction: column; gap: 8rem; }
.cp-desc { font-size: max(15px, 18rem); line-height: 1.4; margin: 0; letter-spacing: -.01em; }
.cp-meta { font-size: max(10px, 11rem); color: var(--body); margin: 0; }
.cp-meta a { color: var(--ink); text-decoration: none; }
.cp-about-side { display: flex; flex-direction: column; gap: 12rem; align-items: flex-end; flex: 0 1 auto; }
.cp-supply { display: flex; flex-direction: column; align-items: flex-end; gap: 2rem; }
.cp-supply b { font-weight: 400; font-size: max(20px, 26rem); letter-spacing: -.02em; }
.cp-supply-k { font-size: max(10px, 11rem); color: var(--body); font-family: var(--mono); }
.cp-chips { display: flex; gap: 6rem; flex-wrap: wrap; justify-content: flex-end; align-items: center; }
.cp-chip { display: inline-flex; align-items: center; gap: 5rem; border: var(--hairline) solid var(--hair);
  border-radius: 999px; padding: 5rem 11rem; font-size: max(10px, 11.5rem); color: var(--ink);
  text-decoration: none; background: transparent; cursor: pointer; font-family: inherit; line-height: 1.2; }
.cp-chip:hover { border-color: var(--ink); }
.cp-chip--pair { color: var(--body); }
.cp-chip--pair b { font-weight: 400; color: var(--ink); font-family: var(--mono); }
.cp-chip--sm { padding: 2rem 8rem; font-size: max(9px, 10rem); }
.cp-chip-links { display: contents; }
.cp-chip-links a { display: inline-flex; align-items: center; border: var(--hairline) solid var(--hair);
  border-radius: 999px; padding: 5rem 11rem; font-size: max(10px, 11.5rem); color: var(--ink); text-decoration: none; }
.cp-chip-links a:hover { border-color: var(--ink); }

.cp-position { border: var(--hairline) solid var(--hair); padding: 18rem 22rem; margin-bottom: 14rem;
  display: flex; flex-direction: column; gap: 10rem; }
.cp-position-head { display: flex; align-items: center; gap: 16rem; flex-wrap: wrap; }
.cp-live { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8rem 18rem; }
.cp-live > div { display: flex; flex-direction: column; gap: 2rem; }
.cp-live dt { font-size: max(10px, 11rem); color: var(--body); }
.cp-live dd { margin: 0; }

.cp-main { display: grid; grid-template-columns: 330rem 1fr; gap: 14rem; align-items: start; }
.cp-side { display: flex; flex-direction: column; gap: 14rem; }
.cp-card { border: var(--hairline) solid var(--hair); padding: 16rem 18rem; }
.cp-id { display: flex; align-items: center; gap: 12rem; }
.cp-avatar { width: 52rem; height: 52rem; border: var(--hairline) solid var(--hair); display: flex;
  align-items: center; justify-content: center; font-family: var(--mono); font-size: max(11px, 13rem);
  color: var(--body); flex: 0 0 auto; overflow: hidden; background: color-mix(in srgb, var(--ink) 4%, transparent); }
.cp-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cp-id-text { display: flex; flex-direction: column; gap: 4rem; min-width: 0; }
.cp-id-text b { font-weight: 400; font-size: max(16px, 20rem); letter-spacing: -.01em; }
.cp-id-text .mono { font-size: max(10px, 11.5rem); color: var(--body); display: flex; gap: 8rem; align-items: center; }

.cp-curve-head { display: flex; justify-content: space-between; align-items: baseline; font-size: max(12px, 14rem); }
.cp-curve-head b { font-weight: 400; }
.cp-curve-head .mono { font-size: max(10px, 11rem); color: var(--body); }
.cp-bar { height: 6rem; background: color-mix(in srgb, var(--ink) 10%, transparent); margin: 10rem 0 8rem; }
.cp-bar i { display: block; height: 100%; width: 0; background: var(--ink); transition: width .4s ease; }
.cp-curve .lp-hint { margin: 0; }

.cp-tabs { display: grid; grid-template-columns: 1fr 1fr; border: var(--hairline) solid var(--hair); margin-bottom: 12rem; }
.cp-tabs button { background: transparent; border: 0; padding: 9rem; font-family: var(--mono); font-size: max(10px, 11.5rem);
  color: var(--body); cursor: pointer; letter-spacing: .04em; text-transform: uppercase; }
.cp-tabs button.on { background: var(--ink); color: var(--bg, #efede8); }
.cp-amount { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "k k" "in unit";
  border: var(--hairline) solid var(--hair); padding: 10rem 12rem; gap: 4rem 8rem; align-items: center; }
.cp-amount-k { grid-area: k; font-size: max(10px, 11rem); color: var(--body); font-family: var(--mono); }
.cp-amount input { grid-area: in; border: 0; background: transparent; font-size: max(22px, 30rem); letter-spacing: -.02em;
  color: var(--ink); width: 100%; outline: none; font-family: inherit; min-width: 0; }
.cp-amount input::-webkit-outer-spin-button, .cp-amount input::-webkit-inner-spin-button { -webkit-appearance: none; }
.cp-unit { grid-area: unit; font-size: max(11px, 12.5rem); border: var(--hairline) solid var(--hair); border-radius: 999px; padding: 4rem 10rem; }
.cp-balance { display: flex; justify-content: space-between; align-items: center; font-size: max(10px, 11rem);
  color: var(--body); margin: 8rem 0; }
.cp-balance button { background: transparent; border: var(--hairline) solid var(--hair); font-family: var(--mono);
  font-size: max(9px, 10rem); padding: 2rem 8rem; cursor: pointer; color: var(--ink); border-radius: 999px; }
.cp-balance button[hidden] { display: none; }
.cp-quote { font-size: max(11px, 12.5rem); margin-bottom: 12rem; min-height: 1.4em; }
.cp-trade .lp-go { width: 100%; }
.cp-trade .lp-status { min-height: 1.2em; margin: 8rem 0 0; }
.cp-trade .lp-status.bad { color: var(--down); }
.cp-trade .lp-hint { margin-top: 10rem; }

.cp-stats { display: grid; grid-template-columns: repeat(4, 1fr); border: var(--hairline) solid var(--hair); margin-bottom: 14rem; }
.cp-stats > div { padding: 14rem 16rem; border-right: var(--hairline) solid var(--hair); display: flex; flex-direction: column; gap: 4rem; }
.cp-stats > div:last-child { border-right: 0; }
.cp-stats span { font-size: max(10px, 11rem); color: var(--body); }
.cp-stats b { font-weight: 400; font-size: max(15px, 19rem); letter-spacing: -.01em; }
.cp-addr { margin-top: 14rem; }

@media (max-width: 900px) {
  .cp-main { grid-template-columns: 1fr; }
  .cp-side { order: 2; }
  .cp-stats { grid-template-columns: 1fr 1fr; }
  .cp-stats > div:nth-child(2) { border-right: 0; }
  .cp-live { grid-template-columns: 1fr 1fr; }
  .cp-about-side { align-items: flex-start; }
  .cp-supply { align-items: flex-start; }
  .cp-chips { justify-content: flex-start; }
}
