.progress-clocks {
  --add-green: rgb(0, 164, 0);
  --remove-red: rgb(164, 0, 0);
}

.progress-clocks *[tabindex]:is(:active, :focus, :focus-visible) {
  border: 1px solid #999;
}

.progress-clocks span[tabindex] {
  border: 1px solid rgba(255, 255, 255, 0.0);
  border-radius: 0.25em;
}

.progress-clocks svg:is(:active, :focus, :focus-visible) {
  border: 1px solid #999;
}

.progress-clocks-button {
  border: 1px solid rgba(255, 255, 255, 0.0);
  border-radius: 0.25em;
  cursor: pointer;
  display: flex;
  justify-content: center;
  padding: 0.25em;
}

.progress-clocks-button:is(:active, :focus, :focus-visible, :hover) {
  border: 1px solid #999;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}

.progress-clocks-button .lucide-icon {
  height: 1em;
  width: 1em;
}

.progress-clocks-clock {
  display: grid;
}

.progress-clocks-clock circle {
  fill: none;
  stroke: rgb(0, 0, 0);
  stroke-width: 4;
}

.progress-clocks-clock circle[data-filled="false"] {
  fill: rgb(255, 255, 255);
}
.progress-clocks-clock circle[data-filled="true"] {
  fill: rgb(0, 0, 0);
}

.progress-clocks-clock path[data-filled="false"] {
  fill: rgb(255, 255, 255);
  stroke: rgb(0, 0, 0);
  stroke-width: 2;
}

.progress-clocks-clock path[data-filled="true"] {
  fill: rgb(0, 0, 0);
  stroke: rgb(255, 255, 255);
  stroke-width: 2;
}

.progress-clocks-clock svg {
  display: block;
  height: 4em;
  margin: auto;
  width: 4em;
}

.progress-clocks-clock__buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.progress-clocks-clock__buttons .lucide-icon {
  height: 1em;
  width: 1em;
}

.progress-clocks-clock__decrement {
  color: var(--remove-red);
}

.progress-clocks-clock__increment {
  color: var(--add-green);
}

.progress-clocks-counter {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-items: flex-end;
}

.progress-clocks-counter__buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.progress-clocks-counter__decrement {
  color: var(--remove-red);
}

.progress-clocks-counter__increment {
  color: var(--add-green);
}

.progress-clocks-counter__value {
  flex-grow: 1;
  align-items: center;
  display: flex;
  justify-content: center;
}

.progress-clocks-counter__value span {
  display: block;
  font-family: monospace;
  font-size: 150%;
  font-weight: bold;
  text-align: center;
}

.progress-clocks-counter__value input {
  font-family: monospace;
  text-align: center;
  width: 4em;
}

.progress-clocks-inline {
  display: inline-block;
}

.progress-clocks-panel__version {
  font-size: 75%;
  font-weight: 100;
  opacity: 0.8;
  text-align: center;
}

.progress-clocks-section {
  border: 1px solid #999;
  border-radius: 0.25em;
  margin-bottom: 0.5em;
  padding: 0.25em 0.5em;
  position: relative;
}

.progress-clocks-section__add-child {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
}

.progress-clocks-section__add-child input {
  width: 4em;
}

.progress-clocks-section__children {
  display: flex;
  flex-wrap: wrap;
}

.progress-clocks-section__child {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin-bottom: 0.25em;
  margin-right: 0.5em;
  padding-right: 1em;
  position: relative;
}

.progress-clocks-section__child[data-child-type="stopwatch"] {
  width: 100%;
}

.progress-clocks-section__child-name {
  font-size: 90%;
  text-align: center;
}

.progress-clocks-section__name {
  font-size: 90%;
  font-weight: 200;
  margin-bottom: 0.25em;
}

.progress-clocks-section__remove {
  color: var(--remove-red);
  position: absolute;
  right: 0.25em;
  top: 0.25em;
}

.progress-clocks-section__remove-child {
  color: var(--remove-red);
  position: absolute;
  right: 0;
  top: 0;
}

.progress-clocks-stopwatch__buttons {
  display: flex;
  justify-content: center;
}

.progress-clocks-stopwatch__elapsed {
  font-family: monospace;
  text-align: center;
}

.progress-clocks-stopwatch__elapsed:is(:active, :focus, :focus-visible) {
  border: 1px solid #999;
}

.progress-clocks-stopwatch__laps {
  display: grid;
  gap: 0.5em;
  grid-template-columns: 1fr 1fr;
  font-family: monospace;
  text-align: center;
}

.progress-clocks-title {
  display: flex;
  flex-direction: column;
  margin-bottom: 0.25em;
  text-align: center;
}

.progress-clocks-title__main-title {
  font-weight: 500;
}

.progress-clocks-title__subtitle {
  font-size: 75%;
  font-weight: 200;
  text-decoration: none;
}

.progress-clocks-title__subtitle:is(:active, :focus, :focus-visible, :hover) {
  text-decoration: underline;
}
