[data-ring-stage] { inline-size: 100%; }

[data-ring-stage]>canvas {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  cursor: grab;
}

[data-ring-stage]>canvas:active { cursor: grabbing; }

[data-ring-stage]:focus-visible {
  outline: 2px solid #e9bd97;
  outline-offset: 3px;
}

[data-ring-metals] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-block-start: 12px;
}

[data-ring-metal] {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  padding: 6px 11px;
  border: 1px solid #ad7c70;
  border-radius: 2px;
  background: transparent;
  color: #f7e8db;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}

[data-ring-metal]::before {
  content: '';
  width: 12px;
  aspect-ratio: 1;
  border: 1px solid #fff8;
  border-radius: 50%;
  background: linear-gradient(140deg, #fae6b9, #ba8744);
}

[data-ring-metal="white"]::before { background: linear-gradient(140deg, #f6f6f5, #a4a2a5); }
[data-ring-metal="rose"]::before { background: linear-gradient(140deg, #f6cbbb, #b7705c); }
[data-ring-metal="red"]::before { background: linear-gradient(140deg, #e9a587, #9c4d33); }
[data-ring-metal="bicolor"]::before { background: linear-gradient(90deg, #d29c52 50%, #d9dfe7 50%); }
[data-ring-metal="silver"]::before { background: linear-gradient(140deg, #eff2f6, #8798a7); }

[data-ring-metal]:disabled { cursor: wait; }

[data-ring-metal]:hover,
[data-ring-metal][aria-pressed="true"] {
  border-color: #e3af89;
  background: #774640;
}
