@charset "UTF-8";
:root {
  --color-primary: #296df5;
  /* Primary */
  --color-primary-0: #14274d;
  --color-primary-50: #1a3e85;
  --color-primary-100: #184aad;
  --color-primary-200: #1354d6;
  --color-primary-300: #145ff5;
  --color-primary-400: #296df5;
  --color-primary-500: #4e85f5;
  --color-primary-600: #88acf5;
  --color-primary-700: #b6d2f5;
  --color-primary-800: #d3e2f5;
  --color-primary-900: #e5ecf5;
  --color-primary-950: #ebeff5;
  /* Text */
  --color-text-0: #ffffff;
  --color-text-50: #eeecec;
  --color-text-100: #d8d8d8;
  --color-text-200: #bebebe;
  --color-text-300: #919191;
  --color-text-400: #838383;
  --color-text-500: #656565;
  --color-text-600: #565656;
  --color-text-700: #484848;
  --color-text-800: #393939;
  --color-text-900: #181313;
  --color-text-950: #141414;
  --color-text-950-0: #14141400;
  /* Background */
  --color-bg-0: #ffffff;
  --color-bg-0-40: rgba(255, 255, 255, 0.4);
  --color-bg-0-12: rgba(255, 255, 255, 0.12);
  --color-bg-0-0: rgba(255, 255, 255, 0);
  --color-bg-50: #ededed;
  --color-bg-100: #cecdcd;
  --color-bg-200: #b5b4b4;
  --color-bg-300: #9d9b9b;
  --color-bg-400: #848282;
  --color-bg-500: #6c6a6a;
  --color-bg-600: #545151;
  --color-bg-700: #3b3838;
  --color-bg-800: #231f1f;
  --color-bg-900: #161212;
  --color-bg-950: #0a0606;
  --color-bg-950-05: rgba(10, 6, 6, 0.05);
  --color-bg-950-10: rgba(10, 6, 6, 0.1);
  /* Border */
  --color-border-0: #f3f3f3;
  --color-border-50: #e6e6e6;
  --color-border-100: #dadada;
  --color-border-200: #c2c1c1;
  --color-border-300: #a9a8a8;
  --color-border-400: #918f8f;
  --color-border-500: #787676;
  --color-border-600: #605d5d;
  --color-border-700: #474444;
  --color-border-800: #2f2b2b;
  --color-border-900: #231f1f;
  --color-border-950: #161212;
  /* Theme */
  --color-theme-0: #fff4f6;
  --color-theme-50: #ffbfcd;
  --color-theme-100: #ff809c;
  --color-theme-200: #ff4d74;
  --color-theme-300: #ff1a4d;
  --color-theme-400: #ff0039;
  --color-theme-500: #cc002e;
  --color-theme-500-0: rgba(204, 0, 46, 0);
  --color-theme-500-20: rgba(204, 0, 46, 0.2);
  --color-theme-600: #990022;
  --color-theme-700: #80001d;
  --color-theme-800: #660017;
  --color-theme-900: #33000b;
  --color-theme-950: #1a0006;
  /* Purple */
  --color-purple-0: #f9f9ff;
  --color-purple-50: #f0ecfe;
  --color-purple-100: #e0d7fc;
  --color-purple-200: #cbb9f9;
  --color-purple-300: #b094f6;
  --color-purple-400: #9570f3;
  --color-purple-500: #7a4df0;
  --color-purple-500-0: rgba(122, 77, 240, 0);
  --color-purple-500-10: rgba(122, 77, 240, 0.1);
  --color-purple-500-20: rgba(122, 77, 240, 0.2);
  --color-purple-500-30: rgba(122, 77, 240, 0.3);
  --color-purple-600: #5f2bed;
  --color-purple-700: #4d1fd6;
  --color-purple-800: #3d17ac;
  --color-purple-900: #2d1084;
  --color-purple-950: #1e0a5c;
  /* Green */
  --color-green-0: #e8f9e6;
  --color-green-50: #bbecb5;
  --color-green-100: #83dd78;
  --color-green-200: #61d454;
  --color-green-300: #3fca2f;
  --color-green-400: #1dc10a;
  --color-green-500: #19a409;
  --color-green-500-20: rgba(25, 164, 9, 0.2);
  --color-green-600: #148707;
  --color-green-700: #106a06;
  --color-green-800: #0a4404;
  --color-green-900: #073003;
  --color-green-950: #031301;
  /* Blue */
  --color-blue-0: #e6f6ff;
  --color-blue-50: #b5e4ff;
  --color-blue-100: #83d1ff;
  --color-blue-200: #52bfff;
  --color-blue-300: #2db2ff;
  --color-blue-400: #08a4ff;
  --color-blue-500: #078bd9;
  --color-blue-500-10: rgba(7, 139, 217, 0.1);
  --color-blue-500-20: rgba(7, 139, 217, 0.2);
  --color-blue-600: #0673b2;
  --color-blue-700: #045280;
  --color-blue-800: #033959;
  --color-blue-900: #022133;
  --color-blue-950: #01101a;
  /* Orange */
  --color-orange-0: #fffaeb;
  --color-orange-50: #fef0c7;
  --color-orange-100: #fedf89;
  --color-orange-200: #fec84b;
  --color-orange-300: #fdb022;
  --color-orange-400: #de8208;
  --color-orange-500: #c67307;
  --color-orange-500-0: rgba(198, 115, 7, 0.1);
  --color-orange-500-10: rgba(198, 115, 7, 0.1);
  --color-orange-500-20: rgba(198, 115, 7, 0.2);
  --color-orange-600: #b05302;
  --color-orange-700: #7f3206;
  --color-orange-800: #672709;
  --color-orange-900: #441a01;
  --color-orange-950: #2c1005;
  /* cyan */
  --color-cyan-0: #e5fbf3;
  --color-cyan-50: #b2f4dc;
  --color-cyan-100: #99f0d0;
  --color-cyan-200: #66e9b9;
  --color-cyan-300: #33e1a1;
  --color-cyan-400: #00da8a;
  --color-cyan-500: #00ae6e;
  --color-cyan-500-20: rgba(0, 174, 110, 0.2);
  --color-cyan-600: #008353;
  --color-cyan-700: #005737;
  --color-cyan-800: #004129;
  --color-cyan-900: #002c1c;
  --color-cyan-950: #00160e;
  /* azure */
  --color-azure-0: #e5fbf9;
  --color-azure-50: #ccf8f4;
  --color-azure-100: #99f0e9;
  --color-azure-200: #66e9de;
  --color-azure-300: #33e1d3;
  --color-azure-400: #00dac8;
  --color-azure-500: #00aea0;
  --color-azure-500-10: rgba(0, 174, 160, 0.1);
  --color-azure-500-20: rgba(0, 174, 160, 0.2);
  --color-azure-600: #008378;
  --color-azure-700: #00413c;
  --color-azure-800: #002c28;
  --color-azure-900: #002c28;
  --color-azure-950: #001614;
  /* other */
  --color-modal: #252627;
  --color-mask: rgba(0, 0, 0, 0.5);
}

.dark {
  --color-primary: #60a5fa;
  --color-primary-0: #ebeff5;
  --color-primary-50: #e5ecf5;
  --color-primary-100: #d3e2f5;
  --color-primary-200: #b6d2f5;
  --color-primary-300: #88acf5;
  --color-primary-400: #4e85f5;
  --color-primary-500: #296df5;
  --color-primary-600: #145ff5;
  --color-primary-700: #1354d6;
  --color-primary-800: #184aad;
  --color-primary-900: #1a3e85;
  --color-primary-950: #14274d;
  /* Text */
  --color-text-0: #141414;
  --color-text-50: #181313;
  --color-text-100: #393939;
  --color-text-200: #484848;
  --color-text-300: #565656;
  --color-text-400: #656565;
  --color-text-500: #838383;
  --color-text-600: #919191;
  --color-text-700: #bebebe;
  --color-text-800: #d8d8d8;
  --color-text-900: #eeecec;
  --color-text-950: #ffffff;
  --color-text-950-0: #ffffff00;
  /* Background */
  --color-bg-0: #0a0606;
  --color-bg-0-40: rgba(10, 6, 6, 0.4);
  --color-bg-0-12: rgba(10, 6, 6, 0.12);
  --color-bg-0-0: rgba(10, 6, 6, 0);
  --color-bg-50: #161212;
  --color-bg-100: #231f1f;
  --color-bg-200: #3b3838;
  --color-bg-300: #545151;
  --color-bg-400: #6c6a6a;
  --color-bg-500: #848282;
  --color-bg-600: #9d9b9b;
  --color-bg-700: #b5b4b4;
  --color-bg-800: #cecdcd;
  --color-bg-900: #ededed;
  --color-bg-950: #ffffff;
  --color-bg-950-05: rgba(255, 255, 255, 0.05);
  --color-bg-950-10: rgba(255, 255, 255, 0.1);
  /* Border */
  --color-border-0: #161212;
  --color-border-50: #231f1f;
  --color-border-100: #2f2b2b;
  --color-border-200: #474444;
  --color-border-300: #605d5d;
  --color-border-400: #787676;
  --color-border-500: #918f8f;
  --color-border-600: #a9a8a8;
  --color-border-700: #c2c1c1;
  --color-border-800: #dadada;
  --color-border-900: #e6e6e6;
  --color-border-950: #f3f3f3;
  /* Theme */
  --color-theme-0: #1a0006;
  --color-theme-50: #33000b;
  --color-theme-100: #660017;
  --color-theme-200: #80001d;
  --color-theme-300: #990022;
  --color-theme-400: #cc002e;
  --color-theme-500: #ff0039;
  --color-theme-500-0: rgba(255, 0, 57, 0);
  --color-theme-500-20: rgba(255, 0, 57, 0.2);
  --color-theme-600: #ff1a4d;
  --color-theme-700: #ff4d74;
  --color-theme-800: #ff809c;
  --color-theme-900: #ffbfcd;
  --color-theme-950: #fff4f6;
  /* Purple */
  --color-purple-0: #1e0a5c;
  --color-purple-50: #2d1084;
  --color-purple-100: #3d17ac;
  --color-purple-200: #4d1fd6;
  --color-purple-300: #5f2bed;
  --color-purple-400: #7a4df0;
  --color-purple-500: #9570f3;
  --color-purple-500-0: rgba(149, 112, 243, 0);
  --color-purple-500-10: rgba(149, 112, 243, 0.1);
  --color-purple-500-20: rgba(149, 112, 243, 0.2);
  --color-purple-500-30: rgba(149, 112, 243, 0.3);
  --color-purple-600: #b094f6;
  --color-purple-700: #cbb9f9;
  --color-purple-800: #e0d7fc;
  --color-purple-900: #f0ecfe;
  --color-purple-950: #f9f9ff;
  /* Green */
  --color-green-0: #031301;
  --color-green-50: #073003;
  --color-green-100: #0a4404;
  --color-green-200: #106a06;
  --color-green-300: #148707;
  --color-green-400: #19a409;
  --color-green-500: #1dc10a;
  --color-green-500-20: rgba(29, 193, 10, 0.2);
  --color-green-600: #3fca2f;
  --color-green-700: #61d454;
  --color-green-800: #83dd78;
  --color-green-900: #bbecb5;
  --color-green-950: #e8f9e6;
  /* Blue */
  --color-blue-0: #01101a;
  --color-blue-50: #022133;
  --color-blue-100: #033959;
  --color-blue-200: #045280;
  --color-blue-300: #0673b2;
  --color-blue-400: #078bd9;
  --color-blue-500: #08a4ff;
  --color-blue-500-10: rgba(8, 164, 255, 0.1);
  --color-blue-500-20: rgba(8, 164, 255, 0.2);
  --color-blue-600: #2db2ff;
  --color-blue-700: #52bfff;
  --color-blue-800: #83d1ff;
  --color-blue-900: #b5e4ff;
  --color-blue-950: #e6f6ff;
  /* Orange */
  --color-orange-0: #2c1005;
  --color-orange-50: #441a01;
  --color-orange-100: #672709;
  --color-orange-200: #7f3206;
  --color-orange-300: #b05302;
  --color-orange-400: #c67307;
  --color-orange-500: #de8208;
  --color-orange-500-0: rgba(222, 130, 8, 0.1);
  --color-orange-500-10: rgba(222, 130, 8, 0.1);
  --color-orange-500-20: rgba(222, 130, 8, 0.2);
  --color-orange-600: #fdb022;
  --color-orange-700: #fec84b;
  --color-orange-800: #fedf89;
  --color-orange-900: #fef0c7;
  --color-orange-950: #fffaeb;
  /* cyan */
  --color-cyan-0: #00160e;
  --color-cyan-50: #002c1c;
  --color-cyan-100: #004129;
  --color-cyan-200: #005737;
  --color-cyan-300: #008353;
  --color-cyan-400: #00ae6e;
  --color-cyan-500: #00da8a;
  --color-cyan-500-20: rgba(0, 218, 138, 0.2);
  --color-cyan-600: #33e1a1;
  --color-cyan-700: #66e9b9;
  --color-cyan-800: #99f0d0;
  --color-cyan-900: #b2f4dc;
  --color-cyan-950: #e5fbf3;
  /* azure */
  --color-azure-0: #001614;
  --color-azure-50: #002c28;
  --color-azure-100: #002c28;
  --color-azure-200: #00413c;
  --color-azure-300: #008378;
  --color-azure-400: #00aea0;
  --color-azure-500: #00dac8;
  --color-azure-500-10: rgba(0, 218, 200, 0.1);
  --color-azure-500-20: rgba(0, 218, 200, 0.2);
  --color-azure-600: #33e1d3;
  --color-azure-700: #66e9de;
  --color-azure-800: #99f0e9;
  --color-azure-900: #ccf8f4;
  --color-azure-950: #e5fbf9;
  /* other */
  --color-modal: #252627;
  --color-mask: rgba(0, 0, 0, 0.5);
}

.flex {
  display: flex;
}

.justify-center {
  justify-content: center;
}

.align-center {
  align-items: center;
}

/* components/responsive-table/responsive-table.css */
.responsive-table-component {
  width: 100%;
}

.table-title {
  padding: 32px 0 16px;
}

.table-title p {
  font-size: 30px;
  line-height: 38px;
  color: var(--color-text-950);
}

/* 桌面端表格样式 */
.desktop-table-container {
  width: 100%;
  overflow-x: auto;
  display: none;
}

.responsive-table {
  width: 100%;
  border-collapse: collapse;
  border-radius: 8px;
  overflow: hidden;
}

.responsive-table th {
  padding: 16px;
  text-align: left;
  color: var(--color-text-500);
  white-space: nowrap;
  font-size: 14px;
  line-height: 22px;
}

.responsive-table td {
  padding-bottom: 8px;
  color: var(--color-text-950);
  font-size: 14px;
}

.responsive-table td > div {
  padding: 14px;
  line-height: 22px;
  background-color: var(--color-bg-100);
}

.responsive-table td:nth-child(1) > div {
  border-radius: 8px 0 0 8px;
}

.responsive-table td:last-child > div {
  border-radius: 0 8px 8px 0;
}

/* 桌面端表格滚动条样式 */
.desktop-table-container::-webkit-scrollbar {
  height: 8px;
}

.desktop-table-container::-webkit-scrollbar-track {
  background: var(--color-bg-100);
  border-radius: 4px;
}

.desktop-table-container::-webkit-scrollbar-thumb {
  background: var(--color-theme-500-20);
  border-radius: 4px;
}

.desktop-table-container::-webkit-scrollbar-thumb:hover {
  background: var(--color-theme-500);
}

/* 移动端卡片样式 */
.mobile-cards-container {
  padding: 0 0 20px;
  display: none;
}

.mobile-card {
  margin-bottom: 16px;
  border-radius: 8px;
  background-color: var(--color-bg-100);
  overflow: hidden;
  transition: all 0.3s ease;
}

.mobile-card:hover {
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
}

.card-columns {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.card-column {
  display: flex;
  flex-direction: column;
  min-width: 120px;
  padding-top: 10px;
}

.column-label {
  font-size: 12px;
  color: var(--color-text-500);
  margin-bottom: 4px;
}

.column-value {
  font-size: 14px;
  color: var(--color-text-950);
  word-break: break-word;
}

.expand-btn {
  background: none;
  border: none;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-bg-200);
  color: var(--color-text-700);
  transition: all 0.2s ease;
  margin-left: 8px;
}

.expand-btn:hover {
  color: white;
}

/* 图标旋转动画样式 */
.expand-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
  transform: rotate(90deg);
}

.expand-icon.icon-rotate {
  transform: rotate(0deg);
}

.card-body {
  padding: 10px 16px 16px;
  border-top: 1px solid var(--color-border-100);
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  animation: expandAnimation 0.3s ease;
}

@keyframes expandAnimation {
  from {
    opacity: 0;
    max-height: 0;
  }
  to {
    opacity: 1;
    max-height: 500px;
  }
}
/* 分页容器 */
.pagination-container {
  margin-top: 24px;
}

/* 响应式调整 */
@media (max-width: 768px) {
  .table-title {
    padding-top: 20px;
  }
  .table-title p {
    font-size: 24px;
    line-height: 32px;
  }
  .card-column {
    min-width: 100px;
  }
  .column-label {
    font-size: 11px;
  }
  .column-value {
    font-size: 12px;
  }
}
/* 自定义列样式 */
.cell-voter-address {
  color: var(--color-text-950);
  word-break: break-all;
  white-space: nowrap;
  max-width: 220px;
}

.cell-voting-choice {
  font-weight: 500;
}

.cell-voting-choice.support {
  color: var(--color-cyan-500);
}

.cell-voting-choice.oppose {
  color: var(--color-theme-500);
}

.cell-arena-amount {
  text-align: right;
}

.cell-block-height {
  text-align: left;
}

.cell-reason {
  max-width: 300px;
}

.cell-reason .reason-text {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}

.cell-actions {
  min-width: 90px;
}

.text-right {
  text-align: right;
}

.text-center {
  text-align: center;
}
