#at-sakura :is(#at-time, #at-activities) {
  margin-top: 0;
}
.at-redeem {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 17px 18px;
  border: 1px solid var(--at-line);
  border-radius: 10px;
  background: color-mix(in srgb, var(--at-paper) 89%, var(--at-rose));
}
.at-redeem label,
.at-wallet-head h3 {
  font-size: 15px;
  font-weight: 650;
}
.at-redeem small {
  display: block;
  color: var(--at-muted);
  font-size: 12px;
  margin-top: 4px;
}
.at-code-controls {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  max-width: 100%;
}
#at-sakura .at-code-controls input,
#at-sakura .at-wallet-head select {
  min-width: 0;
  color: var(--at-ink);
  border: 1px solid var(--at-line);
  border-radius: 6px;
  background: var(--at-paper);
  font: inherit;
  font-size: 13px;
  padding: 7px 9px;
}
#at-sakura .at-code-controls input {
  width: 190px;
  height: 38px;
  max-width: 100%;
}
.at-wallet-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  margin: 23px 0 15px;
}
.at-wallet-head label {
  font-size: 12px;
  color: var(--at-muted);
  display: flex;
  align-items: center;
  gap: 7px;
}
.at-wallet-head select {
  max-width: 160px;
}
.at-game-cards {
  max-width: 1062px;
  margin-inline: auto;
  container: timecards / inline-size;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 14px;
}
.at-time-card {
  display: flex;
  position: relative;
  flex-direction: column;
  align-items: center;
  text-align: center;
  overflow: hidden;
  flex: 0 0 calc((100% - 42px) / 4);
  max-width: 255px;
  min-width: 0;
  padding: 20px 8px 13px;
  border: 1px solid var(--at-line);
  border-radius: 13px;
  background:
    radial-gradient(ellipse at 50% 68%, #e7becb38, transparent 61%),
    color-mix(in srgb, var(--at-paper) 92%, var(--at-rose));
}
.at-time-card:before {
  content: "";
  position: absolute;
  width: 45%;
  height: 2px;
  top: 0;
  background: linear-gradient(90deg, transparent, var(--at-rose), transparent);
}
#at-sakura .at-time-card h4 {
  font: 620 clamp(16px, 1.65cqw, 22px) / 1.45 var(--at-cn-serif);
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--at-ink);
}
.at-time-label {
  margin-top: 9px;
  color: var(--at-muted);
  font-size: 11px;
  letter-spacing: 0.12em;
}
.at-countdown {
  margin: 3px 0 0;
  color: var(--at-wine);
  font:
    570 clamp(15px, 1.65cqw, 23px) / 1.35 "Inter",
    "Segoe UI",
    sans-serif;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.025em;
  overflow-wrap: anywhere;
}
.at-time-card canvas {
  display: block;
  width: min(100%, 186px);
  height: auto;
  aspect-ratio: 186/115;
  margin: 8px 0;
}
.at-deadline {
  font-size: 10px;
  color: var(--at-muted);
  font-variant-numeric: tabular-nums;
}
.at-time-card[data-expired="true"] canvas {
  filter: saturate(0.28);
}
.at-time-card[data-expired="true"] .at-countdown {
  color: var(--at-muted);
}
.at-wallet-empty {
  width: 100%;
  text-align: center;
  padding: 40px 16px !important;
  color: var(--at-muted);
  background: color-mix(in srgb, var(--at-paper) 94%, var(--at-rose));
  border: 1px dashed var(--at-line);
  border-radius: 10px;
  line-height: 1.7;
  font-size: 13px;
}
.at-event-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 22px 24px;
  color: #fff6ed;
  background: linear-gradient(112deg, #54334b, #854b65 65%, #a56b80);
  border-radius: 12px;
}
.at-event-hero:after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -30px;
  top: -48px;
  width: 130px;
  height: 160px;
  border-radius: 85% 0 80% 0;
  border: 1px solid #f9d1d354;
  transform: rotate(18deg);
  box-shadow:
    0 0 0 14px #f8d7dd0c,
    0 0 0 30px #f8d7dd12;
}
.at-event-icon {
  display: inline-block;
  margin-bottom: 5px;
  color: #ffd9d8;
}
#at-sakura .at-event-hero h3 {
  color: #fff5ef;
  font: 650 25px/1.45 var(--at-cn-serif);
}
#at-sakura .at-event-hero p {
  margin-top: 3px;
  font-size: 12px;
  color: #f8dfe5;
}
.at-event-total {
  display: grid;
  gap: 5px;
}
.at-event-total small {
  color: #fae3e7;
  font-size: 11px;
}
.at-event-total strong {
  font:
    550 29px/1.1 "Inter",
    "Segoe UI",
    sans-serif;
  letter-spacing: -0.04em;
}
.at-round {
  padding: 15px 0 0;
}
.at-round > div {
  display: flex;
  justify-content: space-between;
  gap: 9px;
  flex-wrap: wrap;
  font-size: 12px;
}
.at-round span {
  color: var(--at-muted);
}
.at-round progress {
  width: 100%;
  height: 6px;
  border: 0;
  border-radius: 9px;
  overflow: hidden;
  appearance: none;
  background: var(--at-line);
  accent-color: var(--at-wine);
}
.at-round progress::-webkit-progress-bar {
  background: var(--at-line);
}
.at-round progress::-webkit-progress-value {
  background: linear-gradient(90deg, var(--at-rose), var(--at-wine));
}
.at-rewards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.at-reward-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 7px;
  align-items: center;
  border: 1px solid var(--at-line);
  border-radius: 9px;
  padding: 12px;
  background: var(--at-paper);
}
.at-reward-row > div {
  min-width: 0;
}
.at-reward-row > div strong {
  font-size: 13px;
}
.at-reward-row small {
  display: block;
  margin-top: 3px;
  color: var(--at-muted);
  font-size: 11px;
}
.at-reward-value {
  font-size: 17px;
  color: var(--at-wine);
  white-space: nowrap;
}
#at-sakura .at-reward-btn {
  justify-self: start;
  background: var(--at-wine);
  color: var(--at-paper);
  padding: 5px 12px;
  border-radius: 6px;
  font-weight: 600;
  font-size: 12px;
}
#at-sakura .at-reward-btn:disabled {
  background: var(--at-line);
  color: var(--at-muted);
  opacity: 1;
}
.at-notice {
  overflow-wrap: anywhere;
  user-select: text;
}
@container timecards (max-width:760px) {
  .at-time-card {
    flex-basis: calc((100% - 28px) / 3);
  }
}
@container timecards (max-width:575px) {
  .at-time-card {
    flex-basis: calc((100% - 14px) / 2);
  }
}
@container timecards (max-width:335px) {
  .at-time-card {
    flex-basis: 100%;
  }
}
@container (max-width:690px) {
  .at-redeem,
  .at-event-hero {
    padding: 12px;
  }
  .at-rewards {
    grid-template-columns: 1fr;
  }
  .at-event-total strong {
    font-size: 23px;
  }
  .at-code-controls {
    width: 100%;
  }
  #at-sakura .at-code-controls input {
    flex: 1 1 125px;
  }
  .at-wallet-head {
    margin-top: 15px;
  }
  .at-wallet-head label {
    flex-wrap: wrap;
  }
  .at-wallet-head select {
    max-width: 145px;
  }
}
