/**
 * A heuristic that applies CSS to tablet
 * viewports.
 *
 * Usage:
 * @include tablet-viewport() {
 *   :host {
 *     background-color: green;
 *   }
 * }
 */
/**
 * A heuristic that applies CSS to mobile
 * viewports (i.e. phones, not tablets).
 *
 * Usage:
 * @include mobile-viewport() {
 *   :host {
 *     background-color: blue;
 *   }
 * }
 */
/**
 * Convert a pixels given value into rem
 * 
 * @param pixels - Value in pixels to be converted (i.e. px)
 * @param context (optional) - Baseline value
 */
/**
 * Convert a font size to a dynamic font size.
 * Fonts that participate in Dynamic Type should use
 * dynamic font sizes.
 * @param size - The initial font size including the unit (i.e. px or pt)
 * @param unit (optional) - The unit to convert to. Use this if you want to
 * convert to a unit other than $baselineUnit.
 */
/**
 * Convert a font size to a dynamic font size but impose
 * a maximum font size.
 * @param size - The initial font size including the unit (i.e. px or pt)
 * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
 * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
 * convert to a unit other than $baselineUnit.
 */
/**
 * Convert a font size to a dynamic font size but impose
 * a minimum font size.
 * @param size - The initial font size including the unit (i.e. px or pt)
 * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
 * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
 * convert to a unit other than $baselineUnit.
 */
/**
 * Convert a font size to a dynamic font size but impose
 * maximum and minimum font sizes.
 * @param size - The initial font size including the unit (i.e. px or pt)
 * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
 * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
 * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
 * convert to a unit other than $baselineUnit.
 */
/**
 * A heuristic that applies CSS to tablet
 * viewports.
 *
 * Usage:
 * @include tablet-viewport() {
 *   :host {
 *     background-color: green;
 *   }
 * }
 */
/**
 * A heuristic that applies CSS to mobile
 * viewports (i.e. phones, not tablets).
 *
 * Usage:
 * @include mobile-viewport() {
 *   :host {
 *     background-color: blue;
 *   }
 * }
 */
ion-list {
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  padding-bottom: 0;
  display: block;
  contain: content;
  list-style-type: none;
}

.list-ionic.list-inset {
  -webkit-margin-start: var(--token-space-100, var(--token-scale-100, 4px));
  margin-inline-start: var(--token-space-100, var(--token-scale-100, 4px));
  -webkit-margin-end: var(--token-space-100, var(--token-scale-100, 4px));
  margin-inline-end: var(--token-space-100, var(--token-scale-100, 4px));
  margin-top: var(--token-space-100, var(--token-scale-100, 4px));
  margin-bottom: var(--token-space-100, var(--token-scale-100, 4px));
}

.list-ionic-lines-none .item-lines-default {
  --inner-border-width: 0px;
  --border-width: 0px;
}

.list-ionic:has(ion-list-header) {
  /* Round */
  /* Soft */
  /* Rectangular */
}
.list-ionic:has(ion-list-header).list-round {
  /**
   * Only apply the border radius to the bottom of the list.
   * The top of the list should not have a border radius because
   * that would include the header.
   */
  border-start-start-radius: initial;
  border-start-end-radius: initial;
  border-end-end-radius: var(--token-border-radius-400, var(--token-scale-400, 16px));
  border-end-start-radius: var(--token-border-radius-400, var(--token-scale-400, 16px));
}
.list-ionic:has(ion-list-header).list-round ion-list-header + * {
  /**
   * Only apply the border radius to the top of the first element.
   * The bottom of the first element should not have a border radius
   * because that would not look connected to the rest.
   */
  border-start-start-radius: var(--token-border-radius-400, var(--token-scale-400, 16px));
  border-start-end-radius: var(--token-border-radius-400, var(--token-scale-400, 16px));
  border-end-end-radius: initial;
  border-end-start-radius: initial;
}
.list-ionic:has(ion-list-header).list-soft {
  /**
   * Only apply the border radius to the bottom of the list.
   * The top of the list should not have a border radius because
   * that would include the header.
   */
  border-start-start-radius: initial;
  border-start-end-radius: initial;
  border-end-end-radius: var(--token-border-radius-200, var(--token-scale-200, 8px));
  border-end-start-radius: var(--token-border-radius-200, var(--token-scale-200, 8px));
}
.list-ionic:has(ion-list-header).list-soft ion-list-header + * {
  /**
   * Only apply the border radius to the top of the first element.
   * The bottom of the first element should not have a border radius
   * because that would not look connected to the rest.
   */
  border-start-start-radius: var(--token-border-radius-200, var(--token-scale-200, 8px));
  border-start-end-radius: var(--token-border-radius-200, var(--token-scale-200, 8px));
  border-end-end-radius: initial;
  border-end-start-radius: initial;
}
.list-ionic:has(ion-list-header).list-rectangular {
  /**
   * Only apply the border radius to the bottom of the list.
   * The top of the list should not have a border radius because
   * that would include the header.
   */
  border-start-start-radius: initial;
  border-start-end-radius: initial;
  border-end-end-radius: var(--token-border-radius-0, var(--token-scale-0, 0px));
  border-end-start-radius: var(--token-border-radius-0, var(--token-scale-0, 0px));
}
.list-ionic:has(ion-list-header).list-rectangular ion-list-header + * {
  /**
   * Only apply the border radius to the top of the first element.
   * The bottom of the first element should not have a border radius
   * because that would not look connected to the rest.
   */
  border-start-start-radius: var(--token-border-radius-0, var(--token-scale-0, 0px));
  border-start-end-radius: var(--token-border-radius-0, var(--token-scale-0, 0px));
  border-end-end-radius: initial;
  border-end-start-radius: initial;
}

.list-ionic:not(:has(ion-list-header)) {
  /* Round */
  /* Soft */
  /* Rectangular */
}
.list-ionic:not(:has(ion-list-header)).list-round {
  border-radius: var(--token-border-radius-400, var(--token-scale-400, 16px));
}
.list-ionic:not(:has(ion-list-header)).list-soft {
  border-radius: var(--token-border-radius-200, var(--token-scale-200, 8px));
}
.list-ionic:not(:has(ion-list-header)).list-rectangular {
  border-radius: var(--token-border-radius-0, var(--token-scale-0, 0px));
}

.list-ionic-lines-none .item-lines-default {
  --inner-border-width: var(--token-border-size-0, var(--token-scale-0, 0px));
  --border-width: var(--token-border-size-0, var(--token-scale-0, 0px));
}

.list-ionic-lines-full .item-lines-default {
  --inner-border-width: var(--token-border-size-0, var(--token-scale-0, 0px));
  --border-width: var(--token-border-size-0, var(--token-scale-0, 0px)) var(--token-border-size-0, var(--token-scale-0, 0px)) var(--token-border-size-025, var(--token-scale-025, 1px)) var(--token-border-size-0, var(--token-scale-0, 0px));
}

.list-ionic-lines-inset .item-lines-default {
  --inner-border-width: var(--token-border-size-0, var(--token-scale-0, 0px)) var(--token-border-size-0, var(--token-scale-0, 0px)) var(--token-border-size-025, var(--token-scale-025, 1px)) var(--token-border-size-0, var(--token-scale-0, 0px));
  --border-width: var(--token-border-size-0, var(--token-scale-0, 0px));
}