:root > * {
  /* #fea3a8 */
  --cute-primary-hue: 357;
  --cute-primary-saturation: 98%;
  --cute-primary-light: 82%;

  /* #530004 */
  --cute-primary-saturation--dark: 100%;
  --cute-primary-light--dark: 16%;

  /* #96dec6 */
  --cute-accent-hue: 160;
  --cute-accent-saturation: 52%;
  --cute-accent-light: 73%;
}

[data-md-color-scheme="cute"] {
  --md-primary-fg-color: hsla(
    var(--cute-primary-hue),
    var(--cute-primary-saturation),
    var(--cute-primary-light),
    1
  );
  --md-primary-fg-color--light: hsla(
    var(--cute-primary-hue),
    var(--cute-primary-saturation),
    calc(var(--cute-primary-light) + 10%),
    1
  );
  --md-primary-fg-color--dark: hsla(
    var(--cute-primary-hue),
    var(--cute-primary-saturation),
    calc(var(--cute-primary-light) - 10%),
    1
  );

  --md-accent-fg-color: hsla(
    var(--cute-accent-hue),
    var(--cute-accent-saturation),
    calc(var(--cute-accent-light) - 10%),
    1
  );
  --md-accent-fg-color--transparent: hsla(
    var(--cute-accent-hue),
    var(--cute-accent-saturation),
    var(--cute-accent-light),
    0.1
  );

  --md-typeset-a-color: var(--md-primary-fg-color--dark);
}

[data-md-color-primary="cute"] {
  --md-primary-fg-color: hsla(
    var(--cute-primary-hue),
    var(--cute-primary-saturation),
    var(--cute-primary-light),
    1
  );
  --md-primary-fg-color--light: hsla(
    var(--cute-primary-hue),
    var(--cute-primary-saturation),
    calc(var(--cute-primary-light) + 10%),
    1
  );
  --md-primary-fg-color--dark: hsla(
    var(--cute-primary-hue),
    var(--cute-primary-saturation),
    calc(var(--cute-primary-light) - 10%),
    1
  );
}

[data-md-color-accent="cute"] {
  --md-accent-fg-color: hsla(
    var(--cute-accent-hue),
    var(--cute-accent-saturation),
    var(--cute-accent-light),
    1
  );
  --md-accent-fg-color--transparent: hsla(
    var(--cute-accent-hue),
    var(--cute-accent-saturation),
    var(--cute-accent-light),
    0.1
  );
}

[data-md-color-scheme="slate"] {
  --md-hue: var(--cute-primary-hue);
}

/* Sample iframe container */
.sample-container {
  margin: 2em 0;
  border-radius: 0.5rem;
  overflow: hidden;
  background: #000;
  box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.2);
  width: 100%;
  max-width: 1024px;
  aspect-ratio: 4 / 3;
}

.sample-iframe {
  width: 100%;
  height: 768px;
  min-height: 768px;
  border: none;
  display: block;
}

.sample-controls {
  display: flex;
  gap: 1rem;
  margin: 1rem 0 2rem 0;
  flex-wrap: wrap;
}

/* Responsive sizing */
@media screen and (max-width: 1024px) {
  .sample-container {
    min-width: 100%;
  }
  .sample-iframe {
    height: 600px;
    min-height: 600px;
  }
}

@media screen and (max-width: 768px) {
  .sample-iframe {
    height: 480px;
    min-height: 480px;
  }
}
