@font-face {
  font-family: "Open Sans";
  src: url(/@cardstack/boxel/fonts/OpenSans-Light-8f628bef23d5842e448b.ttf);
  font-weight: 300;
}

@font-face {
  font-family: "Open Sans";
  src: url(/@cardstack/boxel/fonts/OpenSans-LightItalic-b862c4af98f2e3add62a.ttf);
  font-weight: 300;
  font-style: italic;
}

@font-face {
  font-family: "Open Sans";
  src: url(/@cardstack/boxel/fonts/OpenSans-Regular-ac568e1f1b394b9786bd.ttf);
  font-weight: 400;
}

@font-face {
  font-family: "Open Sans";
  src: url(/@cardstack/boxel/fonts/OpenSans-Italic-ac4a9433780d509b4da4.ttf);
  font-style: italic;
}

@font-face {
  font-family: "Open Sans";
  src: url(/@cardstack/boxel/fonts/OpenSans-SemiBold-809fd7a3fac9775a979f.ttf);
  font-weight: 600;
}

@font-face {
  font-family: "Open Sans";
  src: url(/@cardstack/boxel/fonts/OpenSans-SemiBoldItalic-f58cbd10ac8b21ba3725.ttf);
  font-weight: 600;
  font-style: italic;
}

@font-face {
  font-family: "Open Sans";
  src: url(/@cardstack/boxel/fonts/OpenSans-Bold-11d42620ac71ab231c13.ttf);
  font-weight: 700;
}

@font-face {
  font-family: "Open Sans";
  src: url(/@cardstack/boxel/fonts/OpenSans-BoldItalic-19e7a6e51e4f9ed1346a.ttf);
  font-weight: 700;
  font-style: italic;
}

@font-face {
  font-family: "Open Sans";
  src: url(/@cardstack/boxel/fonts/OpenSans-ExtraBold-12a69c0182eaf385a4b4.ttf);
  font-weight: 800;
}

@font-face {
  font-family: "Open Sans";
  src: url(/@cardstack/boxel/fonts/OpenSans-ExtraBoldItalic-aa8a31bee3c14563f227.ttf);
  font-weight: 800;
  font-style: italic;
}

@font-face {
  font-family: "Roboto Mono";
  src: url(/@cardstack/boxel/fonts/RobotoMono-Regular-418a8f9f65ccad0918af.ttf);
  font-weight: 400;
}

:root {
  --boxel-font-family: "Open Sans", helvetica, arial, sans-serif;
  --boxel-monospace-font-family: "Roboto Mono", "Courier New", courier, monospace;
  --boxel-font-xl: var(--boxel-font-size-xl)/calc(43 / 32) var(--boxel-font-family);
  --boxel-font-lg: var(--boxel-font-size-lg)/calc(30 / 22) var(--boxel-font-family);
  --boxel-font: var(--boxel-font-size)/calc(22 / 16) var(--boxel-font-family);        /* default */
  --boxel-font-sm: var(--boxel-font-size-sm)/calc(18 / 13) var(--boxel-font-family);
  --boxel-font-xs: var(--boxel-font-size-xs)/calc(15 / 11) var(--boxel-font-family);

  /* font-sizes */
  --boxel-font-size-xl: 2rem;
  --boxel-font-size-lg: 1.375rem;
  --boxel-font-size: 1rem;      /* default - 16px */
  --boxel-font-size-sm: 0.8125rem;
  --boxel-font-size-xs: 0.6875rem;

  /* letter-spacing */
  --boxel-lsp-xxl: 0.1em;
  --boxel-lsp-xl: 0.05em;
  --boxel-lsp-lg: 0.035em;
  --boxel-lsp: 0.025em;
  --boxel-lsp-sm: 0.015em;
  --boxel-lsp-xs: 0.01em;
  --boxel-lsp-xxs: 0.005em;

  /* Modular scale for spacing */
  --boxel-spacing: 1.25rem; /* base size (20px) */
  --boxel-ratio: 1.333;     /* scale (based on "Perfect Fourth" scale) */
  --boxel-sp-xxxs: calc(var(--boxel-sp-xxs) / var(--boxel-ratio)); /* 6.33px */
  --boxel-sp-xxs: calc(var(--boxel-sp-xs) / var(--boxel-ratio));   /* 8.44px */
  --boxel-sp-xs: calc(var(--boxel-sp-sm) / var(--boxel-ratio));    /* 11.26px */
  --boxel-sp-sm: calc(var(--boxel-sp) / var(--boxel-ratio));       /* 15px */
  --boxel-sp: var(--boxel-spacing);                                /* 20px */
  --boxel-sp-lg: calc(var(--boxel-sp) * var(--boxel-ratio));       /* 26.66px */
  --boxel-sp-xl: calc(var(--boxel-sp-lg) * var(--boxel-ratio));    /* 35.54px */
  --boxel-sp-xxl: calc(var(--boxel-sp-xl) * var(--boxel-ratio));   /* 47.37px */
  --boxel-sp-xxxl: calc(var(--boxel-sp-xxl) * var(--boxel-ratio)); /* 63.15px */

  /* common icon sizes */
  --boxel-icon-sm: 1.25rem; /* 20px */
  --boxel-icon-lg: 2.5rem;  /* 40px */
  --boxel-icon-xl: 3.75rem; /* 60px */
  --boxel-icon-xxl: 5rem;   /* 80px */

  /* other */
  --boxel-border-color: var(--boxel-light-500);
  --boxel-border: 1px solid var(--boxel-border-color);
  --boxel-border-dark: 1px solid var(--boxel-dark);
  --boxel-border-radius-xs: 2px;
  --boxel-border-radius-sm: 5px;
  --boxel-border-radius: 10px;
  --boxel-border-radius-lg: 15px;
  --boxel-transition: 0.2s ease;
  --boxel-box-shadow: 0 1px 3px rgb(0 0 0 / 25%);
  --boxel-box-shadow-hover: 0 3px 10px rgb(0 0 0 / 15%);
  --boxel-outline-color: var(--boxel-blue);
  --boxel-outline: 2px solid var(--boxel-outline-color);

  /* Container sizes */
  --boxel-xxs-container: 15.625rem; /* 250px */
  --boxel-xs-container: 17.8125rem; /* 285px */
  --boxel-sm-container: 36.25rem;   /* 580px */
  --boxel-md-container: 40.625rem;  /* 650px */
  --boxel-lg-container: 43.75rem;   /* 700px */
  --boxel-xl-container: 65rem;      /* 1040px */
  --boxel-xxl-container: 83.76rem;  /* 1340px */

  /* COLOR PALETTE */

  /* Primary colors */
  --boxel-light: #fff;
  --boxel-dark: #000;

  /*
    --boxel-highlight (#00ebe5) use cases:
    on dark background: text links, icons, CTA buttons
    on light background: CTA buttons, graph line

    --boxel-dark-highlight (#03c4bf) use cases:
    on light background: copy, text links, icons only

    --boxel-link-highlight:
    it is set to var(--boxel-dark-highlight) by default - since default background is light
    it is the color for a:hover
    set it to var(--boxel-highlight) on dark backgrounds
  */
  --boxel-highlight: var(--boxel-cyan);
  --boxel-highlight-hover: #00d3ce;
  --boxel-dark-highlight: var(--boxel-teal);
  --boxel-link-highlight: var(--boxel-dark-highlight);
  --boxel-danger: #ff4852;
  --boxel-danger-hover: #fa1521;

  /* Boxel purples */
  --boxel-purple-100: #f8f7fa;
  --boxel-purple-200: #b3b1b8;
  --boxel-purple-300: #afafb7;
  --boxel-purple-400: #6b6a80;
  --boxel-purple-500: #5a586a;
  --boxel-purple-600: #413e4e;
  --boxel-purple-700: #393642;
  --boxel-purple-750: #363441;
  --boxel-purple-800: #2e2d38;
  --boxel-purple-900: #272330;

  /* Boxel neutrals */
  --boxel-light-100: #f5f5f5;
  --boxel-light-200: #f0f0f0;
  --boxel-light-300: #efefef;
  --boxel-light-400: #e8e8e8;
  --boxel-light-500: #dedede;
  --boxel-light-600: #d1d1d1;

  /* Boxel colors */
  --boxel-navy: #281e78;
  --boxel-blue: #0069f9;
  --boxel-purple: #6638ff;
  --boxel-fuschia: #ac00ff;
  --boxel-lilac: #a66dfa;
  --boxel-cyan: #00ebe5;
  --boxel-teal: #03c4bf;
  --boxel-green: #37eb77;
  --boxel-dark-green: #00ac3d;
  --boxel-lime: #c3fc33;
  --boxel-yellow: #ffd800;
  --boxel-orange: #ff7f00;
  --boxel-red: #ff5050;
  --boxel-pink: #ff009d;

  /* Status colors */
  --boxel-error-100: #f00;    /* alert - attention - error */
  --boxel-error-200: #ed0000;
  --boxel-warning-100: var(--boxel-yellow); /* warning - notification */
  --boxel-success-100: var(--boxel-green);
  --boxel-success-200: var(--boxel-teal);
  --boxel-success-300: var(--boxel-dark-green);

  /* z-index layers */
  --boxel-layer-modal-default: 15;
  --boxel-layer-modal-urgent: 20;

  /* Fix: Other colors used in app, potentially not in color palette:
    #A5A5A5
    #C1C1D0
    #C9C7DD
    #D3D3D3
    #D6D6D6 - multiple uses
    #D9D9D9
    #DBDBDB
    #E3E3E3
    #E9E9EE
    #EDEDEF
    #00B2AE
    #1B154E
    #1C1C1C
    #151529
    #41404D - cardhost
    #4f4a5d - multiple uses
    #696969
    #707070
    #7C7B91
    #7D7C93
    #84829B - multiple uses
  */

  /* Form control appearance */
  --boxel-form-control-height: 2.5rem;  /* 40px */
  --boxel-form-control-placeholder-color: var(--boxel-purple-400);
  --boxel-form-control-border-color: var(--boxel-purple-300);
  --boxel-form-control-border-radius: var(--boxel-border-radius-sm);
}

* {
  box-sizing: border-box;
}

html,
body {
  height: 100%;
}

body {
  margin: 0;
  color: var(--boxel-dark, #000);
  font-family: var(--boxel-font-family, "Open Sans", Helvetica, Arial, sans-serif);
  background-color: var(--boxel-light-100, #f5f5f5);
  font-size: 1rem;
  letter-spacing: 0.025em;
  line-height: calc(22 / 16);
  overscroll-behavior: none;
}

body.has-modal {
  overflow: hidden;
}

a {
  display: inline-block;
  color: inherit;
  text-decoration: none;
}

button {
  display: inline-block;
  font: inherit;
}

img,
svg {
  display: inline-block;
}

a:hover {
  color: var(--boxel-link-highlight);
  cursor: pointer;
}

a:focus {
  outline: var(--boxel-outline);
}

a:focus:not(:focus-visible) {
  outline-color: transparent;
}

button:hover:not(:disabled),
[role="button"]:hover:not(:disabled, [aria-disabled="true"]) {
  cursor: pointer;
}

button:focus:not(:disabled),
[role="button"]:focus:not(:disabled) {
  outline: var(--boxel-outline);
}

button:focus:not(:focus-visible),
[role="button"]:focus:not(:focus-visible) {
  outline-color: transparent;
}

input:focus,
select:focus,
textarea:focus {
  outline-color: var(--boxel-highlight);
}

/* Hides content visually only
  (accessible via screen readers) */
.boxel-sr-only:not(:focus):not(:active) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}

.boxel-action-chin__action-status-area {
  --status-icon-size: 1.25rem;
}

.boxel-action-chin__action-status-area-icon {
  display: block;
  width: var(--status-icon-size);
  height: var(--status-icon-size);
  margin-right: var(--boxel-sp-xs);
  flex-shrink: 0;
}

.boxel-action-chin {
  --boxel-action-chin-padding-horizontal: var(--boxel-sp-lg);
  --boxel-action-chin-padding-vertical: var(--boxel-sp-lg);

  /* The height of the boxel button, used for calculating the min-height to reduce layout shift */
  --button-base-height: 2rem;
  --boxel-action-chin-background-color: var(--boxel-purple-750);
  --boxel-action-chin-emphasis-text-color: var(--boxel-light);
  --boxel-action-chin-text-color: var(--boxel-purple-300);
  --icon-color: var(--boxel-action-chin-text-color);
  --boxel-action-chin-disabled-background: rgb(54 52 65 / 90%); /* bg-color at 90% opacity */

  position: relative;
  display: grid;
  grid-template-columns: auto auto minmax(var(--boxel-sp-sm), 1fr) auto auto;
  grid-template-rows: auto;
  /* stylelint-disable-next-line declaration-block-no-redundant-longhand-properties */
  grid-template-areas: "main cancel _ info lock-icon";
  align-items: center;
  padding: var(--boxel-action-chin-padding-vertical) var(--boxel-action-chin-padding-horizontal);
  background-color: var(--boxel-action-chin-background-color);
  color: var(--boxel-action-chin-text-color);
  font: var(--boxel-font-xs);
  transition: background-color var(--boxel-transition), padding var(--boxel-transition);
}

/* minimize layout shift by calculating a min-height for those cta blocks without steps */
.boxel-action-chin:not(.boxel-action-chin--has-step) {
  min-height: calc(var(--button-base-height) + var(--boxel-action-chin-padding-vertical) * 2);
}

.boxel-action-chin--memorialized {
  --boxel-action-chin-background-color: var(--boxel-purple-100);
  --boxel-action-chin-emphasis-text-color: var(--boxel-dark);
  --boxel-action-chin-text-color: var(--boxel-purple-400);
}

.boxel-action-chin + .boxel-action-chin {
  border-top: 1px solid var(--boxel-purple-700);
}

.boxel-action-chin--memorialized + .boxel-action-chin--memorialized {
  border-top: 1px solid var(--boxel-light-600);
}

/* paddings are different if there is a step */
.boxel-action-chin--has-step {
  --boxel-action-chin-padding-horizontal: var(--boxel-sp-xl);
  --boxel-action-chin-padding-vertical: var(--boxel-sp-xl);
}

.boxel-action-chin--memorialized.boxel-action-chin--has-step,
.boxel-action-chin--disabled.boxel-action-chin--has-step {
  --boxel-action-chin-padding-vertical: var(--boxel-sp-xs);
}

.boxel-action-chin--disabled.boxel-action-chin--has-step:not(.boxel-action-chin--memorialized) {
  --boxel-action-chin-background-color: var(--boxel-action-chin-disabled-background);
}

/* add the step using a pseudoelement */
.boxel-action-chin__step {
  position: absolute;
  width: var(--boxel-action-chin-padding-horizontal);
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.boxel-action-chin__step::before {
  content: attr(data-step);
  font: 700 var(--boxel-font-sm);
  color: var(--boxel-action-chin-emphasis-text-color);
}

/* grid elements */
.boxel-action-chin__action-button {
  grid-area: main;
}

.boxel-action-chin__cancel-button {
  grid-area: cancel;
  margin-left: var(--boxel-sp);
}

.boxel-action-chin__info-area {
  grid-area: info;

  /*
  some defaults so that people can simply enter text or buttons
  if they want to supply more complex content they should be able to overwrite it
  */
  column-gap: var(--boxel-sp-xs);
  display: flex;
  align-items: center;
  justify-content: center;
}

.boxel-action-chin__action-status-area {
  grid-area: main;
  display: flex;
  align-items: center;
  justify-content: center;
  font: 600 var(--boxel-font-sm);
  color: var(--boxel-action-chin-emphasis-text-color);
}

/**
 * Kind variants - variants that control the colors on a button
 *
 * The @kind argument on the button component should create a corresponding class with format
 * boxel-button--kind-@kind
 *
 * Classes for the @kind argument can control the following properties:
 *
 * --boxel-button-color
 * --boxel-button-border
 * --boxel-button-text-color
 *
 */

.boxel-button--kind-primary:not(:disabled) {
  --boxel-button-color: var(--boxel-highlight);
  --boxel-button-border: 1px solid var(--boxel-highlight);
  --boxel-button-text-color: var(--boxel-dark);
}

.boxel-button--kind-primary:not(:disabled):hover,
.boxel-button--kind-primary:not(:disabled):active {
  /* result from putting a 10% opacity black overlay over */
  --boxel-button-border: 1px solid var(--boxel-highlight-hover);
  --boxel-button-color: var(--boxel-highlight-hover);
}

.boxel-button--kind-secondary-dark:not(:disabled) {
  /* transparent on dark background */
  --boxel-button-color: transparent;
  --boxel-button-border: 1px solid var(--boxel-purple-400);
  --boxel-button-text-color: var(--boxel-light);
}

.boxel-button--kind-secondary-dark:not(:disabled):hover,
.boxel-button--kind-secondary-dark:not(:disabled):active {
  --boxel-button-border: 1px solid var(--boxel-light);
}

.boxel-button--kind-secondary-light:not(:disabled) {
  /* transparent on light background */
  --boxel-button-color: transparent;
  --boxel-button-border: 1px solid var(--boxel-purple-300);
  --boxel-button-text-color: var(--boxel-dark);
}

.boxel-button--kind-secondary-light:not(:disabled):hover,
.boxel-button--kind-secondary-light:not(:disabled):active {
  --boxel-button-border: 1px solid var(--boxel-dark);
}

.boxel-button--kind-danger:not(:disabled) {
  --boxel-button-color: var(--boxel-danger);
  --boxel-button-border: 1px solid var(--boxel-danger);
  --boxel-button-text-color: var(--boxel-light-100);
}

.boxel-button--kind-danger:not(:disabled):hover,
.boxel-button--kind-danger:not(:disabled):active {
  --boxel-button-border: 1px solid var(--boxel-danger-hover);
  --boxel-button-color: var(--boxel-danger-hover);
}

.boxel-button--kind-primary-dark:not(:disabled) {
  --boxel-button-color: var(--boxel-dark);
  --boxel-button-border: 1px solid var(--boxel-dark);
  --boxel-button-text-color: var(--boxel-light);
}

.boxel-button--kind-primary-dark:not(:disabled):hover,
.boxel-button--kind-primary-dark:not(:disabled):active {
  --boxel-button-border: 1px solid var(--boxel-purple-800);
  --boxel-button-color: var(--boxel-purple-800);
}

/**
 * Size variants - variants that control the size and spacing of a button
 *
 * The @size argument on the button component should create a corresponding class with format
 * boxel-button--size-@size
 *
 * Classes for the @size argument can control the following properties:
 *
 * --boxel-button-padding
 * --boxel-button-min-width
 * --boxel-button-min-height
 * --boxel-button-font
 * --boxel-button-letter-spacing
 * --boxel-button-loading-icon-size
 *
 */

.boxel-button--size-extra-small {
  --boxel-button-padding: var(--boxel-sp-xxxs) var(--boxel-sp);
  --boxel-button-font: var(--boxel-font-xs);
  --boxel-button-loading-icon-size: var(--boxel-font-size-xs);
  --boxel-button-letter-spacing: var(--boxel-lsp-lg);
  --boxel-button-min-height: 1.8125rem;
}

/* thinner base button */
.boxel-button--size-small {
  --boxel-button-padding: var(--boxel-sp-xxxs) var(--boxel-sp);
  --boxel-button-font: 600 var(--boxel-font-sm);
  --boxel-button-loading-icon-size: var(--boxel-font-size-sm);
  --boxel-button-letter-spacing: var(--boxel-lsp);
  --boxel-button-min-height: 2rem;
}

.boxel-button--size-base {
  --boxel-button-padding: var(--boxel-sp-xxxs) var(--boxel-sp-xl);
  --boxel-button-font: 600 var(--boxel-font-sm);
  --boxel-button-loading-icon-size: var(--boxel-font-size-sm);
  --boxel-button-letter-spacing: var(--boxel-lsp);
  --boxel-button-min-height: 2rem;
}

/* tall but thinner button */
.boxel-button--size-tall {
  --boxel-button-padding: var(--boxel-sp-xs) var(--boxel-sp-lg);
  --boxel-button-font: 600 var(--boxel-font-sm);
  --boxel-button-loading-icon-size: var(--boxel-font-size-sm);
  --boxel-button-letter-spacing: var(--boxel-lsp);
  --boxel-button-min-height: 2.5rem;
}

/*
  extra tall button mainly used in mobile screens
  touchable as it's bigger
  */
.boxel-button--size-touch {
  --boxel-button-padding: var(--boxel-sp-xs) var(--boxel-sp-lg);
  --boxel-button-font: 600 var(--boxel-font);
  --boxel-button-loading-icon-size: var(--boxel-font-size);
  --boxel-button-letter-spacing: var(--boxel-lsp-xs);
  --boxel-button-min-height: 3rem;
}

/**
 * This file provides base styles for a button, and an interface to accept variables defined in
 * size-variants.css and kind-variants.css
 */

.boxel-button {
  display: inline-flex;
  justify-content: center;
  height: min-content;
  align-items: center;
  border-radius: 100px;
  white-space: nowrap;
  transition:
    background-color var(--boxel-transition),
    border var(--boxel-transition);

  /* kind variants + disabled state */
  border: var(--boxel-button-border, var(--boxel-border));
  color: var(--boxel-button-text-color, black);
  background-color: var(--boxel-button-color, transparent);

  /* size variants */
  font: var(--boxel-button-font, var(--boxel-font-sm));
  min-height: var(--boxel-button-min-height);
  min-width: var(--boxel-button-min-width, 120px);
  padding: var(--boxel-button-padding, var(--boxel-sp-xs) var(--boxel-sp-sm));
  letter-spacing: var(--boxel-button-letter-spacing, var(--boxel-lsp-lg));
}

.boxel-button__loading-indicator {
  width: var(--boxel-button-loading-icon-size);
  height: var(--boxel-button-loading-icon-size);
  margin-right: var(--boxel-sp-xxxs);
}

/* select disabled buttons and links that don't have href */

/*
  a.boxel-button--disabled-link is a special case for an automatically appended class by the LinkTo component
  the LinkTo component appends the href regardless, so we have to select it in other ways.
  Removing the chained classes will make kind-variants overwrite the disabled style on the LinkTo (specificity issues)
*/
.boxel-button:disabled,
a.boxel-button:not([href]),
a.boxel-button[href=""],
a.boxel-button.boxel-button--disabled-link {
  --boxel-button-color: var(--boxel-purple-300);
  --boxel-button-border: 1px solid var(--boxel-purple-300);
  --boxel-button-text-color: var(--boxel-purple-600);

  cursor: default;
}

/* the a element does not have a disabled attribute. Clicking will still trigger event listeners */
a.boxel-button:not([href]),
a.boxel-button[href=""],
a.boxel-button.boxel-button--disabled-link {
  pointer-events: none;
}

/*
  loading state.
  this should only be relevant for buttons - links shouldn't need it.
  We want to preserve the "normal" styling of the button but not allow interaction
*/
.boxel-button--loading {
  pointer-events: none;
}

/* overwrite the global style for links in global.css */
a.boxel-button:hover {
  color: var(--boxel-button-text-color);
}

.boxel-button--with-tooltip {
  pointer-events: unset !important;
  position: relative;
}

.boxel-button--with-tooltip::after {
  content: attr(data-hover);
  opacity: 0;
  background-color: var(--boxel-light);
  box-shadow: 0 0 0 1px var(--boxel-light-500);
  color: var(--boxel-dark);
  text-align: center;
  border-radius: var(--boxel-sp-sm);
  padding: var(--boxel-sp-sm);
  transition: opacity 1s ease-in-out;
  position: absolute;
  z-index: 1;
  left: 0;
  top: 110%;
}

.boxel-button--with-tooltip:hover::after {
  opacity: 1;
  visibility: visible;
}

/* zero specificity default sizing */
:where(.boxel-loading-indicator) {
  width: var(--boxel-icon-sm);
  height: var(--boxel-icon-sm);
  flex-shrink: 0;
}

/*
  Only animate if the user has not said that they want reduced motion
*/
@media (prefers-reduced-motion: no-preference) {
  .boxel-loading-indicator {
    animation: spin 6000ms linear infinite;
  }
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

.boxel-card-container {
  position: relative;
  background-color: var(--boxel-light);
  border-radius: var(--boxel-border-radius);
  transition:
    max-width var(--boxel-transition),
    box-shadow var(--boxel-transition);
}

.boxel-card-container--boundaries {
  box-shadow: 0 0 0 1px var(--boxel-light-500);
}

.boxel-card-container--highlighted {
  box-shadow: 0 0 0 2px var(--boxel-highlight);
}

.boxel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 var(--boxel-sp-xxxs) 0 var(--boxel-sp-sm);
  min-height: var(--boxel-header-min-height, 1.875rem); /* 30px */
  background-color: var(--boxel-header-background-color, var(--boxel-purple-100));
  color: var(--boxel-header-text-color, var(--boxel-dark));
  border-top-right-radius: calc(var(--boxel-border-radius) - 1px);
  border-top-left-radius: calc(var(--boxel-border-radius) - 1px);
  font: 600 var(--boxel-font-xs);
  letter-spacing: var(--boxel-lsp-xl);
  text-transform: uppercase;
  transition:
    background-color var(--boxel-transition),
    color var(--boxel-transition);
}

.boxel-header--no-background {
  background-color: transparent;
  color: var(--boxel-header-text-color, var(--boxel-purple-400));
}

.boxel-header--highlighted {
  background-color: var(--boxel-highlight);
  color: var(--boxel-dark);
}

.boxel-header__content {
  display: flex;
  align-items: center;
}

.boxel-header__content button {
  --boxel-icon-button-width: var(--boxel-header-min-height, 1.875rem);
  --boxel-icon-button-height: var(--boxel-header-min-height, 1.875rem);

  min-height: var(--boxel-icon-button-height);
  padding: 0 var(--boxel-sp-xxxs);
  background: none;
  border: none;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}

.boxel-action-container-section-title {
  font: 700 1.125rem/calc(24 / 18) var(--boxel-font-family);
  letter-spacing: 0;
}

.boxel-action-container-section-title--flex {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
}

.boxel-action-container-section-title--content {
  flex-grow: 1;
}

.boxel-action-container-section-title--icon {
  margin-right: var(--boxel-sp-sm);
  flex-shrink: 0;
}

.boxel-action-container-section-title--img {
  display: inline-block;
  width: 3.125rem;
  height: 3.125rem;
  margin-left: var(--boxel-sp-sm);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.boxel-action-container-section {
  --nested-section-padding: 0;

  padding: var(--boxel-sp-xxl) var(--boxel-sp-lg);
}

.boxel-action-container-section > * + * {
  margin-top: var(--boxel-sp-xxl);
}

.boxel-action-container-section > .boxel-action-container-section {
  padding: var(--nested-section-padding);
}

.boxel-action-container-section + .boxel-action-container-section {
  border-top: 1px solid var(--boxel-light-300);
  margin-top: var(--boxel-sp-xl);
  padding-top: var(--boxel-sp-xl);
}

.boxel-action-container {
  max-width: 43.75rem; /* 700px; */
  min-width: 20rem;
  color: var(--boxel-dark);
  font: var(--boxel-font);
  letter-spacing: var(--boxel-lsp);
  box-shadow: 0 15px 30px rgb(0 0 0 / 15%);
}

/* Card Header */
.boxel-action-container__header {
  --boxel-header-text-color: var(--boxel-purple-400);
  --boxel-header-background-color: transparent;

  border-top-right-radius: inherit;
  border-top-left-radius: inherit;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.boxel-action-container:hover .boxel-action-container__header {
  background-color: var(--boxel-purple-100);
  color: var(--boxel-dark);
}

/* Card Chin */
.boxel-action-container__footer {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}

.boxel-add-participant-button {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 0 var(--boxel-sp-xs);
  width: 100%;
  align-items: center;
  height: 40px;
  background: none;
  border: none;
  padding: 0;
  font: var(--boxel-font-xs);
  color: var(--boxel-purple-400);
  letter-spacing: var(--boxel-lsp-lg);
}

.boxel-add-participant-button__label {
  text-align: left;
}

.boxel-add-participant-button__icon {
  width: 30px;
  height: 30px;
  border: 1px solid var(--boxel-light-400);
  border-radius: 100px;
}

.boxel-add-participant-button__icon > svg {
  height: 100%;
}

.boxel-breadcrumbs {
  grid-column: 1 / -1;
  display: flex;
  width: 100%;
  padding: var(--boxel-sp) 0;
}

.boxel-breadcrumbs__item {
  width: 170px;
  height: 50px;
  padding: var(--boxel-sp-xxs) var(--boxel-sp-sm);
  font: var(--boxel-font-sm);
  letter-spacing: var(--boxel-lsp);
  border: 1px solid var(--boxel-light-600);
  border-radius: var(--boxel-border-radius);
  background-color: var(--boxel-light-400);
}

.boxel-breadcrumbs__item-title {
  color: var(--boxel-dark);
  font-weight: 700;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.boxel-breadcrumbs__item-label {
  color: var(--boxel-purple-400);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: var(--boxel-lsp-xl);
  line-height: 14px;
  text-transform: uppercase;
}

.boxel-breadcrumbs__caret {
  width: 30px;
  height: 50px;
  background:
    url(/@cardstack/boxel/images/icons/caret-thin-right-4454f73d64fb297cb0bb.svg) center/7px
    no-repeat;
}

/* Inverse-mode color scheme */
.boxel-breadcrumbs__item--inverse {
  background-color: #7c7b91;
  border-color: transparent;
}

button.boxel-breadcrumbs__item--inverse {
  text-align: left;
}

button.boxel-breadcrumbs__item--inverse:hover {
  cursor: pointer;
}

.boxel-breadcrumbs__item--inverse .boxel-breadcrumbs__item-label {
  color: var(--boxel-border-color);
}

.boxel-breadcrumbs__item--inverse .boxel-breadcrumbs__item-title {
  color: var(--boxel-light);
}

.boxel-breadcrumbs__item--inverse + .boxel-breadcrumbs__caret {
  filter: invert(1);
}

.boxel-breadcrumbs__item--inverse:last-child {
  background-color: #c1c1d0;
}

.boxel-breadcrumbs__item--inverse:last-child .boxel-breadcrumbs__item-label,
.boxel-breadcrumbs__item--inverse:last-child .boxel-breadcrumbs__item-title {
  color: var(--boxel-purple-700);
}

.boxel-calendar.ember-power-calendar {
  --boxel-calendar-cell-width: 1.4rem;
  --boxel-calendar-cell-height: 1.5rem;

  box-sizing: border-box;
  font: var(--boxel-font-sm);
  position: relative;
}

.boxel-calendar .ember-power-calendar-nav {
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  line-height: 2;
}

.boxel-calendar .ember-power-calendar-nav-control {
  appearance: none;
  background-color: transparent;
  background-color: initial;
  border: none;
  border: initial;
  outline: none;
  outline: initial;
  line-height: 1;
  font-size: 150%;
}

.boxel-calendar .ember-power-calendar-nav *,
.boxel-calendar .ember-power-calendar-days,
.boxel-calendar .ember-power-calendar-days * {
  box-sizing: border-box;
}

.boxel-calendar .ember-power-calendar-nav-title {
  flex: 1;
  text-align: center;
}

.boxel-calendar .ember-power-calendar-row {
  display: flex;
  justify-content: space-between;
}

.boxel-calendar .ember-power-calendar-weekday {
  appearance: none;
  flex: 1 1 100%;
  padding: 0;
  background-color: transparent;
  background-color: initial;
  border: none;
  border: initial;
  outline: none;
  outline: initial;
  justify-content: center;
  display: flex;
  align-items: center;
}

.boxel-calendar .ember-power-calendar-day {
  appearance: none;
  background-color: transparent;
  background-color: initial;
  border: none;
  border: initial;
  outline: none;
  outline: initial;
  flex: 1 1 100%;
  font-size: inherit;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.boxel-calendar .ember-power-calendar-nav-control:focus {
  transform: scale(1.2);
}

.boxel-calendar .ember-power-calendar-day--selected,
.boxel-calendar .ember-power-calendar-day--selected:not([disabled]):hover {
  background-color: var(--boxel-highlight);
  border-radius: 50px;
}

.boxel-calendar .ember-power-calendar-day--interactive[disabled] {
  opacity: 0.4;
}

.boxel-calendar .ember-power-calendar-weekdays {
  background-color: var(--boxel-purple-100);
}

.boxel-calendar .ember-power-calendar-day,
.boxel-calendar .ember-power-calendar-weekday {
  max-width: var(--boxel-calendar-cell-width);
  max-height: var(--boxel-calendar-cell-height);
  width: var(--boxel-calendar-cell-width);
  height: var(--boxel-calendar-cell-height);
  border-radius: 50px;
}

.boxel-calendar .ember-power-calendar-weekdays,
.boxel-calendar .ember-power-calendar-week {
  height: var(--boxel-calendar-cell-height);
  padding-left: 0.7rem;
  padding-right: 0.7rem;
}

.boxel-calendar .ember-power-calendar-day--other-month:not([disabled]) {
  color: var(--boxel-purple-300);
}

.boxel-card-catalog-tray-item {
  --boxel-card-catalog-tray-item-title-color: var(--boxel-dark);
  --boxel-card-catalog-tray-item-description-color: var(--boxel-purple-800);
  --boxel-card-catalog-tray-item-icon-color: var(--boxel-dark-highlight);
  --boxel-card-catalog-tray-item-background-color: var(--boxel-purple-100);
  --boxel-card-catalog-tray-item-border: 1px solid var(--boxel-purple-900);

  width: 18.75rem;
  min-height: 5rem;
  padding: var(--boxel-sp-sm) var(--boxel-sp-xs) var(--boxel-sp-sm) var(--boxel-sp-lg);
  position: relative;
  border: var(--boxel-card-catalog-tray-item-border);
  border-radius: var(--boxel-border-radius);
  background-color: var(--boxel-card-catalog-tray-item-background-color);
  display: grid;
  grid-template-rows: 1.25rem 1.875rem;
  grid-template-columns: 1.25rem 1fr 0.5rem;
  gap: 0 var(--boxel-sp);
  grid-template-areas:
    "icon title drag"
    "icon description drag";
  align-items: center;
}

.boxel-card-catalog-tray-item:focus {
  outline: var(--boxel-outline);
}

.boxel-card-catalog-tray-item:focus:not(:focus-visible) {
  outline-color: transparent;
}

.boxel-card-catalog-tray-item--dragged-item {
  --boxel-card-catalog-tray-item-border: 1px solid rgb(39 35 48 / 15%); /* var(--boxel-purple-900) with 15% opacity */

  filter: drop-shadow(0 15px 30px rgb(0 0 0 / 50%));
}

.boxel-card-catalog-tray-item--used,
.boxel-card-catalog-tray-item--dragged-in-tray {
  --boxel-card-catalog-tray-item-title-color: var(--boxel-purple-400);
  --boxel-card-catalog-tray-item-description-color: var(--boxel-purple-400);
  --boxel-card-catalog-tray-item-icon-color: var(--boxel-purple-400);
  --boxel-card-catalog-tray-item-background-color: var(--boxel-light-600);
  --boxel-card-catalog-tray-item-border: 1px solid var(--boxel-purple-900);
}

.boxel-card-catalog-tray-item__icon {
  grid-area: icon;
  width: var(--boxel-icon-sm);
  height: var(--boxel-icon-sm);

  --icon-color: var(--boxel-card-catalog-tray-item-icon-color);
}

.boxel-card-catalog-tray-item__title {
  grid-area: title;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font: 600 var(--boxel-font-sm);
  letter-spacing: var(--boxel-lsp);
  color: var(--boxel-card-catalog-tray-item-title-color);
}

.boxel-card-catalog-tray-item__description {
  grid-area: description;
  height: 1.875rem;
  margin: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font: var(--boxel-font-xs);
  letter-spacing: var(--boxel-lsp);
  color: var(--boxel-card-catalog-tray-item-description-color);
}

.boxel-card-catalog-tray-item__drag-handle {
  width: 0.5rem;
  height: 1.5rem;
  grid-area: drag;
  margin-left: auto;
  cursor: grab;
}

.boxel-card-catalog-tray-item__used-icon {
  --icon-color: var(--boxel-cyan);

  position: absolute;
  width: 1rem;
  height: 1rem;
  right: var(--boxel-sp-xxxs);
  top: var(--boxel-sp-xxxs);
}

.boxel-select__dropdown {
  --boxel-select-current-color: var(--boxel-light-100);
  --boxel-select-selected-color: var(--boxel-highlight);
  --boxel-select-below-transitioning-in-animation: drop-fade-below var(--boxel-transition);
  --boxel-select-below-transitioning-out-animation: var(--boxel-select-below-transitioning-in-animation) reverse;
  --boxel-select-above-transitioning-in-animation: drop-fade-above var(--boxel-transition);
  --boxel-select-above-transitioning-out-animation: var(--boxel-select-above-transitioning-in-animation) reverse;

  box-shadow: var(--boxel-box-shadow);
  border-radius: var(--boxel-border-radius);
}

.boxel-select__dropdown ul {
  list-style: none;
  padding: 0;
  overflow: auto;
}

.boxel-select__dropdown .ember-power-select-option[aria-selected="true"] {
  background-color: var(--boxel-select-selected-color);
}

.boxel-select__dropdown .ember-power-select-option[aria-current="true"] {
  background-color: var(--boxel-select-current-color);
}

/* stylelint-disable-next-line max-line-length */
.boxel-select__dropdown .ember-power-select-option:hover:not([aria-disabled="true"]):not(.ember-power-select-option--no-matches-message) {
  cursor: pointer;
}

.boxel-select__dropdown .ember-power-select-search {
  padding: 4px;
}

.boxel-select__dropdown .ember-power-select-search-input {
  border: 1px solid #aaa;
  border-radius: 0;
  width: 100%;
  font-size: inherit;
  line-height: inherit;
  padding: 0 5px;
}

.boxel-select__dropdown .ember-power-select-search-input:focus {
  border: 1px solid var(--boxel-outline-color);
  box-shadow: var(--boxel-box-shadow-hover);
  outline: var(--boxel-outline);
}

.ember-power-select-option--no-matches-message {
  padding: var(--boxel-sp-xxs) var(--boxel-sp-sm);
}

.boxel-select__item {
  font-weight: 600;
  font-size: var(--boxel-font-size-sm);
  padding: var(--boxel-sp-xxs) var(--boxel-sp-sm);
}

.boxel-select .ember-power-select-placeholder,
.boxel-select--selected .boxel-select__item {
  font-weight: bold;
  font-size: var(--boxel-font-size);
}

.boxel-select__dropdown.ember-basic-dropdown-content--below.ember-basic-dropdown--transitioning-in {
  animation: var(--boxel-select-below-transitioning-in-animation);
}

.boxel-select__dropdown.ember-basic-dropdown-content--below.ember-basic-dropdown--transitioning-out {
  animation: var(--boxel-select-below-transitioning-out-animation);
}

.boxel-select__dropdown.ember-basic-dropdown-content--above.ember-basic-dropdown--transitioning-in {
  animation: var(--boxel-select-above-transitioning-in-animation);
}

.boxel-select__dropdown.ember-basic-dropdown-content--above.ember-basic-dropdown--transitioning-out {
  animation: var(--boxel-select-above-transitioning-out-animation);
}

@keyframes drop-fade-below {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes drop-fade-above {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.boxel-card-picker {
  --boxel-card-picker-width: 24rem;
  --boxel-card-picker-dropdown-menu-height: 33rem;

  position: relative;
  max-width: var(--boxel-card-picker-width);
}

.boxel-card-picker--change-card {
  display: flex;
  justify-content: space-between;
}

.boxel-card-picker__select {
  position: static;
  max-width: 100%;
  color: var(--boxel-dark);
  font: var(--boxel-font);
  letter-spacing: var(--boxel-lsp-sm);
  padding:
    var(--boxel-sp-xs) var(--boxel-sp-xxxl) var(--boxel-sp-xs)
    var(--boxel-sp);
  background:
    url(/@cardstack/boxel/images/icons/caret-down-06e5d299bdb7ad640733.svg) right
    var(--boxel-sp) center/auto 0.5rem no-repeat;
  background-color: var(--boxel-light);
  border: 1px solid var(--boxel-purple-300);
  border-radius: var(--boxel-border-radius);
  transition: border-color var(--boxel-transition);
}

.boxel-card-picker__dropdown {
  --boxel-select-current-color: var(--boxel-purple-100);
  --boxel-select-selected-color: transparent;

  background-color: var(--boxel-light);
  border: 1px solid rgb(0 0 0 / 15%);
  border-radius: var(--boxel-border-radius);
  box-shadow: 0 15px 30px rgb(0 0 0 / 25%);
  width: var(--boxel-card-picker-width);
  position: absolute;
  top: 0;
  left: 0;
}

.boxel-card-picker--change-card .boxel-card-picker__dropdown {
  top: -0.15rem;
  left: -17rem;
}

.boxel-card-picker__select--selected {
  padding: var(--boxel-sp-xxxs) var(--boxel-sp);
  background-image: none;
  border-radius: 100px;
  font: var(--boxel-font-xs);
  letter-spacing: var(--boxel-lsp-lg);
}

.boxel-card-picker__dropdown .ember-power-select-options {
  margin: 0;
  padding: 0;
  border-radius: inherit;
  max-height: var(--boxel-card-picker-dropdown-menu-height);
  overflow-y: auto;
}

.boxel-card-picker__dropdown .ember-power-select-option {
  padding: var(--boxel-sp) var(--boxel-sp-xxxl);
  background-image: url(/@cardstack/boxel/images/icons/icon-circle-light-ad7ea2971595100a4c40.svg);
  background-repeat: no-repeat;
  background-position: left var(--boxel-sp) center;
  background-size: var(--boxel-icon-sm) var(--boxel-icon-sm);
}

.boxel-card-picker__dropdown .ember-power-select-option + .ember-power-select-option {
  border-top: 1px solid var(--boxel-light-400);
}

.boxel-card-picker__dropdown .ember-power-select-option[aria-selected="true"] {
  background-image: url(/@cardstack/boxel/images/icons/success-bordered-6a367a81a609c95af448.svg);
}

/* stylelint-disable-next-line max-line-length */
.boxel-card-picker__dropdown .ember-power-select-option:hover:not([aria-disabled="true"]):not(.ember-power-select-option--no-matches-message) {
  background-color: var(--boxel-purple-100);
  cursor: pointer;
}

.boxel-card-picker__dropdown .ember-power-select-option[aria-disabled="true"] {
  opacity: 0.45;
  cursor: not-allowed;
}

.boxel-card-picker__dropdown .ember-power-select-option--no-matches-message {
  background-image: none;
}

.boxel-card-picker .ember-basic-dropdown .boxel-card-picker__select--selected {
  display: inline;
}

.boxel-card-picker__selected-card {
  margin-right: var(--boxel-sp-xxs);
  flex: 1;
}

.boxel-control-panel {
  background-color: var(--boxel-purple-600);
  color: var(--boxel-light);
  padding: var(--boxel-sp-xl);
}

.boxel-control-panel__item {
  border-bottom: 1px solid var(--boxel-purple-500);
  padding: 0 var(--boxel-sp-sm);
}

.boxel-control-panel__item:last-of-type {
  border-bottom-width: 0;
}

.boxel-control-panel__item-heading {
  position: relative;
  display: grid;
  grid-template-columns: var(--boxel-sp-lg) 1fr;
  align-items: center;
  padding: var(--boxel-sp) 0 var(--boxel-sp) 0;
  color: var(--boxel-light);
  font: 600 var(--boxel-font-xs);
  letter-spacing: var(--boxel-lsp-xl);
  text-transform: uppercase;
}

.boxel-control-panel__item-heading--is-active::before {
  content: "";
  position: absolute;
  background-image: url(/@cardstack/boxel/images/icons/active-item-d3bb56ba1db232aef816.svg);
  background-repeat: no-repeat;
  background-position: top left;
  top: var(--boxel-sp-sm);
  height: 100%;
  width: 25px;
  right: 100%;
}

.boxel-control-panel__item-icon {
  --icon-color: var(--boxel-cyan);
}

.boxel-cover-art {
  --cover-art-size: 80px;
  --cover-art-count: 1;

  position: relative;
  display: grid;
  align-items: center;
  grid-auto-flow: column;
  z-index: 0;
  width: var(--cover-art-width);
  height: var(--cover-art-size);
  overflow: hidden;
}

.boxel-cover-art__container {
  --cover-art-index: 0;
  --cover-art-left: 0;
  --cover-art-spacing-multiplier: 1;

  transition: left 250ms ease-in-out;
  position: absolute;
  z-index: calc(var(--cover-art-count) - var(--cover-art-index));
  left: calc(var(--cover-art-left) * var(--cover-art-spacing-multiplier));
}

.boxel-cover-art__cover {
  display: block;
  object-fit: cover;
  object-position: center;
  border: 1px solid rgb(0 0 0 / 15%);
  height: var(--cover-art-cover-size);
  width: var(--cover-art-cover-size);
  transition:
    height 150ms ease-in-out,
    width 150ms ease-in-out;
}

.boxel-dashboard {
  --boxel-dashboard-left-edge-width: 5rem; /* 80px */
  --boxel-dashboard-background-color: inherit;
  --boxel-dashboard-color: inherit;

  position: relative;
  min-height: 100%;
  display: grid;
  grid-template-rows: auto 1fr;
  background-color: var(--boxel-dashboard-background-color);
  color: var(--boxel-dashboard-color);
  font: var(--boxel-font);
  letter-spacing: var(--boxel-lsp-lg);
  z-index: 0;
}

.boxel-dashboard--with-left-edge {
  grid-template-columns: auto 1fr;
}

.boxel-dashboard__left-edge-container {
  grid-row: 1 / -1;
  grid-column: 1;
  min-width: var(--boxel-dashboard-left-edge-width);
}

/* Dark Theme */
.boxel-dashboard--dark-theme {
  --boxel-dashboard-background-color: var(--boxel-purple-600);
  --boxel-dashboard-color: var(--boxel-light);
  --boxel-link-highlight: var(--boxel-highlight);
}

.boxel-date-divider {
  display: grid;
  align-items: center;
  justify-items: center;
  height: var(--boxel-sp);
}

.boxel-date-divider__hr {
  grid-row: 1;
  grid-column: 1;
  width: 100%;
  border: none;
  border-top: 1px solid var(--boxel-light-600);
}

.boxel-date-divider__date {
  grid-row: 1;
  grid-column: 1;
  padding: 0 var(--boxel-sp-xs);
  background-color: var(--boxel-light-300);
  color: var(--boxel-purple-400);
  font: var(--boxel-font-xs);
  font-weight: 600;
  letter-spacing: var(--boxel-lsp-lg);
  text-align: center;
}

.boxel-drop-target {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: var(--boxel-border-radius);
  padding: var(--boxel-sp);
  border: var(--boxel-drop-target-border);
  background-color: var(--boxel-drop-target-background);
}

.boxel-drop-target__cta {
  font: 400 var(--boxel-font-sm);
  text-align: center;
  color: rgb(0 0 0 / 50%);
  margin-top: var(--boxel-sp-xs);
  user-select: none;
}

.boxel-drop-target--rest {
  --boxel-drop-target-border: 1px solid var(--boxel-light-500);
  --boxel-drop-target-background: var(--boxel-light);
}

.boxel-drop-target--dragover {
  --boxel-drop-target-border: 1px solid var(--boxel-light-500);
  --boxel-drop-target-background: var(--boxel-purple-100);
}

.boxel-dropdown__content {
  border-radius: var(--boxel-border-radius);
  box-shadow: 0 5px 15px 0 rgb(0 0 0 / 25%);
}

.boxel-dropdown__content.ember-basic-dropdown-content--below.ember-basic-dropdown--transitioning-in {
  animation: drop-fade-below var(--boxel-transition);
}

.boxel-dropdown__content.ember-basic-dropdown-content--below.ember-basic-dropdown--transitioning-out {
  animation: drop-fade-below var(--boxel-transition) reverse;
}

.boxel-menu {
  --boxel-menu-color: var(--boxel-light);
  --boxel-menu-current-color: var(--boxel-light-100);
  --boxel-menu-selected-color: var(--boxel-highlight);
  --boxel-menu-disabled-color: var(--boxel-highlight);
  --boxel-menu-font: var(--boxel-font-sm);

  list-style-type: none;
  margin: 0;
  padding: 0;
}

.boxel-menu__item {
  background-color: var(--boxel-menu-color);
  font: var(--boxel-menu-font);
  letter-spacing: var(--boxel-lsp-sm);
}

.boxel-menu__item:hover {
  background-color: var(--boxel-menu-current-color);
  cursor: pointer;
}

.boxel-menu__item:first-child {
  border-radius: var(--boxel-border-radius) var(--boxel-border-radius) 0 0;
}

.boxel-menu__item:last-child {
  border-radius: 0 0 var(--boxel-border-radius) var(--boxel-border-radius);
}

.boxel-menu__item:only-child {
  border-radius: var(--boxel-border-radius);
}

.boxel-menu__item > a {
  width: 100%;
  padding: var(--boxel-sp-xs) var(--boxel-sp);
}

.boxel-menu__item--disabled a {
  cursor: default;
}

.boxel-menu__item > a:hover {
  color: inherit;
}

.boxel-menu__item--dangerous {
  color: var(--boxel-error-200);
}

.boxel-menu__item--selected,
.boxel-menu__item--selected.boxel-menu__item:hover {
  background-color: var(--boxel-menu-selected-color);
}

.boxel-menu__item--disabled,
.boxel-menu__item--disabled.boxel-menu__item:hover {
  background-color: initial;
  opacity: 0.4;
}

.boxel-menu__separator {
  margin: 0;
  border: 0;
  height: 0;
  border-bottom: 1px solid var(--boxel-purple-300);
}

/* Remove all default user-agent styles while keeping specificity low */
:where(.boxel-dropdown-button__reset) {
  all: unset;
}

.boxel-dropdown-button__trigger {
  --dropdown-button-size: 40px;

  width: var(--dropdown-button-size);
  height: var(--dropdown-button-size);
}

.boxel-dropdown-button__trigger:hover:not(.boxel-dropdown-button--no-hover) {
  --icon-color: var(--boxel-highlight);
}

.boxel-dropdown-button__trigger > svg {
  display: block;
  height: 100%;
  margin: auto;
}

.boxel-dropdown-trigger {
  border: 0;
  padding: 0;
  border-radius: 0;
  font-weight: bold;
  font-size: var(--boxel-font-size);
  justify-content: flex-start;
}

.boxel-dropdown-trigger--showing-placeholder {
  color: var(--boxel-purple-300);
}

.boxel-dropdown-trigger__icon {
  --icon-color: var(--boxel-highlight);

  width: var(--boxel-icon-sm);
  height: var(--boxel-icon-sm);
  margin-right: var(--boxel-sp-xxs);
}

.boxel-dropdown-trigger__caret {
  --icon-color: var(--boxel-purple-200);

  margin-left: var(--boxel-sp-xxs);
}

/* The details element that contains everything */
.boxel-expandable-banner {
  --boxel-link-highlight: var(--boxel-highlight);
  --boxel-expandable-banner-min-height: 5rem;
  --boxel-expandable-banner-min-height-open: 15rem;
  --boxel-expandable-banner-text-color: var(--boxel-light);
  --boxel-expandable-banner-background-color: var(--boxel-purple-400);
  --boxel-expandable-banner-vertical-gap: var(--boxel-sp);
  --boxel-expandable-banner-horizontal-gap: var(--boxel-sp-lg);

  min-height: var(--boxel-expandable-banner-min-height);
  color: var(--boxel-expandable-banner-text-color);
  background-color: var(--boxel-expandable-banner-background-color);
  border-radius: var(--boxel-border-radius);
  filter: drop-shadow(0 1px 3px rgb(0 0 0 / 15%));
  overflow: hidden;
  transition: min-height var(--boxel-transition);
}

.boxel-expandable-banner[open] {
  min-height: var(--boxel-expandable-banner-min-height-open);
}

/* Content within the details element, shown when it's expanded */
.boxel-expandable-banner__content {
  padding: 0 var(--boxel-expandable-banner-horizontal-gap) var(--boxel-sp-lg);
  font: var(--boxel-font-sm);
}

.boxel-expandable-banner__summary {
  cursor: pointer;
  border-radius: inherit;
}

.boxel-expandable-banner__summary-layout {
  position: relative;
  display: flex;
  align-items: center;
  min-height: var(--boxel-expandable-banner-min-height);
  padding:
    var(--boxel-expandable-banner-vertical-gap)
    calc(var(--boxel-sp-xs) + 3.375rem + var(--boxel-expandable-banner-horizontal-gap))
    var(--boxel-expandable-banner-vertical-gap)
    var(--boxel-expandable-banner-horizontal-gap);
}

.boxel-expandable-banner__summary-text {
  font: 600 var(--boxel-font);
  letter-spacing: var(--boxel-lsp-xs);
}

.boxel-expandable-banner__summary-icon {
  --icon-color: var(--boxel-cyan);

  width: 2.125rem;
  height: 2.125rem;
  margin-right: var(--boxel-sp-xs);
  flex-shrink: 0;
}

/* marker styling */

/*
  remove the summary disclosure widget (the default triangle)
  support is currently pretty decent: https://caniuse.com/?search=%3A%3Amarker
  and certainly on our main browsers - Chrome, Safari, Firefox
*/
.boxel-expandable-banner__summary::marker,
.boxel-expandable-banner__summary::-webkit-details-marker {
  display: none;
  content: "";
}

@supports not selector(:has(.boxel-expandable-banner:focus-visible)) {
  .boxel-expandable-banner__summary:focus {
    outline: var(--boxel-outline);
    outline-offset: -4px;
  }

  .boxel-expandable-banner__summary:focus:not(:focus-visible) {
    outline: transparent;
  }
}

@supports selector(:has(.boxel-expandable-banner:focus-visible)) {
  /* hide the focus outline here, but keep it visible for high contrast color schemes */
  .boxel-expandable-banner__summary:focus {
    outline: transparent;
  }

  .boxel-expandable-banner:has(.boxel-expandable-banner__summary:focus-visible) {
    outline: var(--boxel-outline);
  }
}

/* style our custom markers */
.boxel-expandable-banner__summary-marker::before {
  display: block;
  content: "Show";
}

.boxel-expandable-banner[open] .boxel-expandable-banner__summary-marker::before {
  content: "Hide";
}

.boxel-expandable-banner__summary-marker {
  --icon-color: var(--boxel-light);

  position: absolute;
  right: var(--boxel-expandable-banner-horizontal-gap);
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font: var(--boxel-font-sm);
  letter-spacing: var(--boxel-lsp-sm);
}

.boxel-expandable-banner__summary-marker-icon {
  margin-left: var(--boxel-sp-xs);
  transform: rotate(180deg);
}

.boxel-expandable-banner[open] .boxel-expandable-banner__summary-marker-icon {
  transform: rotate(0);
}

.boxel-field {
  --boxel-field-label-align: normal;
  --boxel-field-label-justify-content: normal;
  --boxel-field-label-padding-top: 0;

  display: grid;
  gap: var(--boxel-sp-xs) 0;
}

.boxel-field--vertical {
  grid-template-rows: auto 1fr;
}

.boxel-field--centered-display {
  justify-items: center;
}

.boxel-field--centered-display > *:last-child {
  order: -1;
}

.boxel-field--horizontal {
  grid-template-columns: var(--boxel-field-label-size, minmax(4rem, 25%)) 1fr;
  gap: 0 var(--boxel-sp-lg);
}

.boxel-field--small-label {
  --boxel-field-label-size: minmax(4rem, 10%);
}

.boxel-field__label {
  color: var(--boxel-purple-400);
  font: 600 var(--boxel-font-xs);
  letter-spacing: var(--boxel-lsp-xl);
  text-transform: uppercase;
  display: flex;
  align-items: var(--boxel-field-label-align);
  justify-content: var(--boxel-field-label-justify-content);
  padding-top: var(--boxel-field-label-padding-top);
}

.boxel-field--with-icon {
  display: flex;
}

.boxel-field__icon {
  width: var(--boxel-icon-sm);
  height: var(--boxel-icon-sm);
  margin-right: var(--boxel-sp-xxs);
}

.boxel-field__yield--with-icon {
  width: 100%;
}

.boxel-field--vertical + .boxel-field--vertical {
  margin-top: var(--boxel-sp);
}

.boxel-sidebar-card-container {
  --boxel-sidebar-card-container-max-width: var(--boxel-sidebar-max-width, 15rem); /* 240px */

  background-color: var(--boxel-light);
  border-radius: var(--boxel-border-radius);
  padding: var(--boxel-sp);
  max-width: var(--boxel-sidebar-card-container-max-width);
  position: relative;
  z-index: 0;
}

.boxel-sidebar-card-container::before {
  content: "";
  border-radius: var(--boxel-border-radius);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  box-shadow: var(--boxel-box-shadow);
}

.boxel-sidebar-card-container > * + * {
  margin-top: var(--boxel-sp);
}

.boxel-sidebar-card-container__header {
  color: var(--boxel-purple-400);
  font: var(--boxel-font-xs);
  font-weight: 600;
  letter-spacing: var(--boxel-lsp-xl);
  text-transform: uppercase;
}

.boxel-sidebar-card-container__content > * + * {
  margin-top: var(--boxel-sp-sm);
}

.boxel-sidebar-card-container + .boxel-sidebar-card-container:last-of-type::after {
  /* This adds additional padding on the last container of the group.
     Using the Sidebar Section component can help with the grouping. */
  display: block;
  content: "";
  padding-bottom: var(--boxel-sp-xs);
}

/* Combining multiple card containers */
.boxel-sidebar-card-container--attach-next {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.boxel-sidebar-card-container--attach-next::before {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.boxel-sidebar-card-container--attach-next + .boxel-sidebar-card-container {
  border-top: 1px solid var(--boxel-light-400);
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  margin-top: 0;
}

.boxel-sidebar-card-container--attach-next + .boxel-sidebar-card-container::before {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.boxel-help-box__title {
  --icon-color: var(--boxel-dark-highlight);

  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: var(--boxel-sp-xxs);
  font: 600 var(--boxel-font);
  letter-spacing: var(--boxel-lsp-sm);
}

.boxel-help-box__button {
  width: 100%;
  font: 600 var(--boxel-font-xs);
  letter-spacing: var(--boxel-lsp);
}

.boxel-icon-button {
  --boxel-icon-button-width: 40px;
  --boxel-icon-button-height: 40px;

  width: var(--boxel-icon-button-width);
  height: var(--boxel-icon-button-height);
  padding: 0;
  background: none;
  border: none;
  z-index: 1;
}

.boxel-icon-button:hover {
  cursor: pointer;
}

.boxel-icon-button--primary {
  --icon-bg: var(--boxel-highlight);
  --icon-border: var(--boxel-highlight);
}

.boxel-icon-button--secondary {
  --icon-color: var(--boxel-highlight);

  border: 1px solid rgb(255 255 255 / 35%);
  border-radius: 100px;
  background-color: #41404d;
}

.boxel-icon-button--secondary:hover {
  background-color: var(--boxel-purple-800);
}

.boxel-icon-button > svg {
  display: block;
  margin: auto;
}

.boxel-infobox {
  --boxel-infobox-text-width: calc(21.25rem + var(--boxel-sp-xxl) + var(--boxel-sp-xxl));
  --boxel-infobox-image-position: right -2.25rem bottom -2.25rem;
  --boxel-infobox-image-size: auto 100%;

  position: relative;
  display: flex;
  justify-content: space-between;
  max-height: 100%;
  height: 12.5rem;
  min-width: var(--boxel-infobox-text-width);
  border-radius: var(--boxel-border-radius);
  background: var(--boxel-navy);
  background-image: var(--boxel-infobox-image);
  background-repeat: no-repeat;
  background-position: var(--boxel-infobox-image-position);
  background-size: var(--boxel-infobox-image-size);
}

.boxel-infobox__text-container {
  width: var(--boxel-infobox-text-width);
  min-width: var(--boxel-infobox-text-width);
  max-width: 100%;
  display: flex;
  flex-direction: column;
  padding: var(--boxel-sp-xl) var(--boxel-sp-xxl);
  border-radius: var(--boxel-border-radius);
  /* stylelint-disable-next-line max-line-length */
  background: linear-gradient(90deg, rgb(40 30 120 / 100%) 0%, rgb(40 30 120 / 90%) 75%, rgb(40 30 120 / 80%) 86%, rgb(40 30 120 / 0%) 100%);
}

.boxel-infobox__title {
  margin: 0;
  flex-shrink: 0;
  font: 600 var(--boxel-font-lg);
  letter-spacing: var(--boxel-lsp-sm);
  color: var(--boxel-light);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.boxel-infobox__description {
  margin-top: var(--boxel-sp-sm);
  margin-bottom: 0;
  font: var(--boxel-font);
  letter-spacing: var(--boxel-lsp);
  color: var(--boxel-light-600);
}

.boxel-infobox__close-button {
  --close-button-size: 0.5rem;

  position: absolute;
  padding: 0;
  background: transparent;
  border: none;
  height: var(--close-button-size);
  width: var(--close-button-size);
  line-height: 0;
  top: var(--boxel-sp);
  right: var(--boxel-sp);
  cursor: pointer;

  --icon-color: var(--boxel-light);
}

.boxel-input-error-message {
  grid-column: 2; /* to position when inside a Boxel::Field */
  margin-top: var(--boxel-sp-xs);
  margin-left: var(--boxel-sp-xs);
  color: var(--boxel-error-100);
  font: var(--boxel-font-sm);
  letter-spacing: var(--boxel-lsp);
}

.boxel-input-group {
  --boxel-input-group-padding-x: var(--boxel-sp-sm);
  --boxel-input-group-padding-y: var(--boxel-sp-xxs);
  --boxel-input-group-border-color: var(--boxel-form-control-border-color);
  --boxel-input-group-border-radius: var(--boxel-form-control-border-radius);
  --boxel-input-group-interior-border-width: 0;
  --boxel-input-group-height:
    calc(
      (var(--boxel-ratio) * var(--boxel-font-size)) + (2 * var(--boxel-input-group-padding-y)) + 2px
    );

  font-family: var(--boxel-font-family);
  font-size: var(--boxel-font-size);
  line-height: var(--boxel-ratio);
  letter-spacing: var(--boxel-lsp-xs);
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
  min-height: var(--boxel-input-group-height);
}

.boxel-input-group .boxel-button--size-base { /* TODO: do this in a way that doesn't violate Boxel::Button */
  --boxel-button-min-height: var(--boxel-input-group-height);
}

.boxel-input-group__form-control {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-clip: padding-box;
  background-color: var(--boxel-light);
  color: var(--boxel-text-dark);
  display: block;
  flex: 1 1 auto;
  font-size: var(--boxel-font-size);
  font-weight: 400;
  line-height: var(--boxel-ratio);
  margin: 0;
  min-width: 0;
  padding: var(--boxel-input-group-padding-y) var(--boxel-input-group-padding-x);
  position: relative;
  width: 1%;
}

.boxel-input-group__form-control,
.boxel-input-group__accessory {
  border: 1px solid var(--boxel-input-group-border-color);
  border-radius: var(--boxel-input-group-border-radius);
  transition: border-color var(--boxel-transition);
  margin: 0;
  min-height: var(--boxel-input-group-height);
  outline-offset: 0;
}

.boxel-input-group__text-accessory {
  align-items: center;
  background-color: var(--boxel-light-400);
  color: var(--boxel-purple-900);
  display: flex;
  font-size: var(--boxel-font-size-sm);
  line-height: var(--boxel-ratio);
  padding: var(--boxel-input-group-padding-y) var(--boxel-input-group-padding-x);
  text-align: center;
  white-space: nowrap;
}

.boxel-input-group__button-accessory,
.boxel-input-group__icon-button-accessory,
.boxel-input-group__select-accessory {
  z-index: 2;
}

.boxel-input-group__select-accessory .boxel-select,
.boxel-input-group__select-accessory .boxel-select--selected .boxel-select__item {
  display: inline-block;
  font: var(--boxel-button-font, var(--boxel-font-sm));
  font-weight: 600;
  padding: var(--boxel-button-padding, var(--boxel-sp-xs) var(--boxel-sp-sm));
}

.boxel-input-group__select-accessory .boxel-select .ember-power-select-placeholder {
  font: var(--boxel-button-font, var(--boxel-font-sm));
  font-weight: 600;
}

.boxel-input-group__select-accessory .boxel-select--selected .boxel-select__item {
  padding: 0;
}

.boxel-input-group__select-accessory .ember-power-select-status-icon {
  background: url(/@cardstack/boxel/images/icons/caret-down-06e5d299bdb7ad640733.svg) no-repeat;
  width: 11px;
  height: 9px;
  display: inline-block;
  margin-left: var(--boxel-sp-xs);
}

.boxel-input-group__select-accessory [aria-expanded="true"] .ember-power-select-status-icon {
  transform: rotate(180deg);
}

.boxel-input-group__button-accessory:focus {
  z-index: 5;
}

.boxel-input-group--disabled .boxel-input-group__form-control,
.boxel-input-group--disabled .boxel-input-group__text-accessory,
.boxel-input-group--disabled .boxel-input-group__icon-button-accessory,
.boxel-input-group--disabled .boxel-input-group__button-accessory,
.boxel-input-group--disabled .boxel-input-group__select-accessory {
  border-color: var(--boxel-input-group-border-color);
  color: rgb(0 0 0 / 50%);
  opacity: 0.5;
}

.boxel-input-group--invalid .boxel-input-group__form-control,
.boxel-input-group--invalid .boxel-input-group__text-accessory,
.boxel-input-group--invalid .boxel-input-group__button-accessory,
.boxel-input-group--invalid .boxel-input-group__select-accessory {
  border-color: var(--boxel-error-100);
}

.boxel-input-group > :not(:first-child) {
  margin-left: -1px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-left-width: var(--boxel-input-group-interior-border-width);
}

.boxel-input-group > :not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-right-width: var(--boxel-input-group-interior-border-width);
}

.boxel-input-group__form-control:disabled {
  background-color: var(--boxel-light);
  color: rgb(0 0 0 / 50%);
}

.boxel-input-group__helper-text {
  margin-top: var(--boxel-sp-xs);
  margin-left: var(--boxel-sp-xs);
  color: rgb(0 0 0 / 75%);
  font: var(--boxel-font-sm);
  letter-spacing: var(--boxel-lsp);
}

.boxel-input-group--invalid:focus-within .boxel-input-group__form-control {
  outline: 1px solid transparent;  /* Make sure that we make the invalid state visible */
  box-shadow: 0 0 0 1.5px var(--boxel-error-100);
}

.boxel-input-group--invalid:hover:not(.boxel-input-group--disabled) .boxel-input-group__form-control,
.boxel-input-group--invalid:hover:not(.boxel-input-group--disabled) .boxel-input-group__text-accessory,
.boxel-input-group--invalid:hover:not(.boxel-input-group--disabled) .boxel-input-group__button-accessory {
  border-color: var(--boxel-error-100);
}

.boxel-input-group--invalid:hover:not(.boxel-input-group--disabled) .boxel-input-group__form-control {
  border-color: var(--boxel-error-100);
  box-shadow: 0 0 0 1px var(--boxel-error-100);
}

.boxel-input-group--disabled ~ .boxel-input-group__error-message,
.boxel-input-group--disabled ~ .boxel-input-group__helper-text {
  display: none;
}

.boxel-input-date__content {
  background-color: transparent;
  box-shadow: none;
}

.boxel-input-date__calendar-container {
  padding-top: 0.2rem;
  padding-bottom: 0.35rem;
}

.boxel-input-date__trigger:disabled {
  --boxel-button-color: transparent;
  --boxel-button-text-color: rgb(0 0 0 / 50%);
}

.boxel-input {
  --boxel-input-height: var(--boxel-form-control-height);

  width: 100%;
  min-height: var(--boxel-input-height);
  padding: var(--boxel-sp-xxs) 0 var(--boxel-sp-xxs) var(--boxel-sp);
  border: 1px solid var(--boxel-form-control-border-color);
  border-radius: var(--boxel-form-control-border-radius);
  font: var(--boxel-font);
  letter-spacing: var(--boxel-lsp-sm);
  transition: border-color var(--boxel-transition);
}

.boxel-input:disabled {
  background-color: var(--boxel-light);
  border-color: var(--boxel-purple-300);
  color: rgb(0 0 0 / 50%);
  opacity: 0.5;
}

.boxel-input:hover:not(:disabled) {
  border-color: var(--boxel-dark);
}

.boxel-input--invalid {
  border-color: var(--boxel-error-100);
}

.boxel-input--invalid:focus {
  outline: 1px solid transparent;  /* Make sure that we make the invalid state visible */
  box-shadow: 0 0 0 1.5px var(--boxel-error-100);
}

.boxel-input--invalid:hover:not(:disabled) {
  border-color: var(--boxel-error-100);
}

.boxel-input__optional {
  grid-row: 1;
  grid-column: 1 / -1;
  margin-bottom: var(--boxel-sp-xxxs);
  color: rgb(0 0 0 / 75%);
  font: var(--boxel-font-sm);
  font-style: oblique;
  letter-spacing: var(--boxel-lsp);
  text-align: right;
}

.boxel-input__helper-text {
  grid-column: 2;
  margin-top: var(--boxel-sp-xs);
  margin-left: var(--boxel-sp-xs);
  color: rgb(0 0 0 / 75%);
  font: var(--boxel-font-sm);
  letter-spacing: var(--boxel-lsp);
}

.boxel-input:disabled ~ .boxel-input__error-message,
.boxel-input:disabled ~ .boxel-input__helper-text {
  display: none;
}

.boxel-token-amount-input-group {
  --input-height: 3.75rem; /* 60px */
  --input-icon-size: var(--boxel-icon-lg);
  --input-symbol-width: 7rem;
  --input-icon-space: var(--boxel-sp-xs);
  --input-symbol-space: var(--boxel-sp-sm);

  position: relative;
  width: 100%;
  font-family: var(--boxel-font-family);
  font-size: 1.25rem;
  line-height: calc(27 / 20);
  letter-spacing: var(--boxel-lsp-xs);
}

.boxel-token-amount-input-group__input {
  height: var(--input-height);
  padding-left: calc(var(--input-icon-size) + var(--input-icon-space) * 2);
  padding-right: calc(var(--input-symbol-width) + var(--input-symbol-space) * 2);
  font: inherit;
  letter-spacing: inherit;
}

.boxel-token-amount-input-group__icon {
  position: absolute;
  width: var(--input-icon-size);
  height: var(--input-height);
  left: var(--input-icon-space);
  top: 0;
  user-select: none;
}

.boxel-token-amount-input-group__symbol {
  position: absolute;
  max-width: var(--input-symbol-width);
  height: var(--input-height);
  display: flex;
  align-items: center;
  top: 0;
  right: var(--input-symbol-space);
  user-select: none;
}

.boxel-token-amount-input-group__input:disabled ~ .boxel-token-amount-input-group__symbol {
  opacity: 0.5;
}

.boxel-validation-state-input-group {
  --input-height: 2.5rem;
  --input-icon-size: var(--boxel-icon-sm);
  --input-icon-space: var(--boxel-sp-xs);

  position: relative;
  width: 100%;
  font-family: var(--boxel-font-family);
  line-height: calc(27 / 20);
  letter-spacing: var(--boxel-lsp-xs);
}

.boxel-validation-state-input-group__input {
  height: var(--input-height);
  padding-right: calc(var(--input-icon-size) + var(--input-icon-space) * 2);
  font: inherit;
  letter-spacing: inherit;
}

.boxel-validation-state-input-group__icon {
  position: absolute;
  width: var(--input-icon-size);
  height: var(--input-height);
  right: var(--input-icon-space);
  top: 0;
  user-select: none;
}

.boxel-ranged-number-picker {
  display: inline-block;
}

.boxel-ranged-number-picker .ember-power-select-status-icon {
  background: url(/@cardstack/boxel/images/icons/caret-down-06e5d299bdb7ad640733.svg) no-repeat;
  width: 11px;
  height: 9px;
  display: inline-block;
  filter: opacity(29%);
  margin-right: var(--boxel-sp-xxs);
}

.boxel-ranged-number-picker + .ember-basic-dropdown-content-wormhole-origin {
  position: absolute;
}

.boxel-ranged-number-picker__dropdown ul {
  text-align: center;
  max-height: var(--boxel-xs-container);
}

.boxel-ranged-number-picker__item {
  display: inherit;
}

.boxel-ranged-number-picker--selected .boxel-ranged-number-picker__item {
  padding: 0;
}

.boxel-input-selectable-token-amount {
  --boxel-input-selectable-token-amount-input-font-size: var(--boxel-font-size);

  position: relative;
  width: 100%;
  font-family: var(--boxel-font-family);
  font-size: var(--boxel-input-selectable-token-amount-input-font-size);
}

.boxel-input-selectable-token-amount__select[aria-disabled="true"] {
  opacity: 0.5;
}

.boxel-input-selectable-token-amount__dropdown-item {
  white-space: nowrap;
}

.boxel-input-selectable-token-amount__dropdown .ember-power-select-options[role="listbox"] {
  max-height: 18em;
}

.boxel-selectable-token-icon__icon {
  margin-right: var(--boxel-sp-xxxs);
  vertical-align: bottom;
  width: var(--boxel-icon-sm);
  height: var(--boxel-icon-sm);
}

.boxel-input-time__content {
  background-color: transparent;
  box-shadow: none;
}

.boxel-input-time__menu-container {
  align-items: flex-start;
  display: flex;
  flex-direction: row;
  padding: var(--boxel-sp-xxs);
  border-radius: var(--boxel-border-radius);
  background: var(--boxel-light);
  box-shadow: var(--boxel-box-shadow);
}

.boxel-input-time__menu {
  --boxel-menu-color: var(--boxel-light);
  --boxel-menu-current-color: var(--boxel-light-200);
  --boxel-menu-font: var(--boxel-font);

  margin-right: var(--boxel-sp-xxxs);
}

.boxel-input-time__menu:focus {
  outline: var(--boxel-outline);
}

.boxel-input-time__menu:last-child {
  margin-right: 0;
}

.boxel-input-time__menu .boxel-input-time__menu-item {
  border-radius: var(--boxel-border-radius-sm);
  margin-bottom: 1px;
}

.boxel-input-time__menu .boxel-input-time__menu-item > a {
  padding: calc(var(--boxel-sp-xxxs) / 2) var(--boxel-sp-xxs);
  text-align: center;
}

.boxel-input-time__trigger:disabled {
  --boxel-button-color: transparent;
  --boxel-button-text-color: rgb(0 0 0 / 50%);
}

.boxel-input-token-select {
  --boxel-input-token-select-border-color: var(--boxel-form-control-border-color);
  --boxel-input-token-select-border-radius: var(--boxel-form-control-border-radius);

  align-items: center;
  border-radius: var(--boxel-input-token-select-border-radius);
  border: 1px solid var(--boxel-input-token-select-border-color);
  display: flex;
  font-family: var(--boxel-font-family);
  font-size: var(--boxel-font-size);
  height: var(--boxel-form-control-height);
  justify-content: space-between;
  position: relative;
  transition: border-color var(--boxel-transition);
  width: 100%;
}

.boxel-input-token-select .ember-power-select-placeholder {
  font: var(--boxel-button-font, var(--boxel-font-sm));
  font-size: var(--boxel-font-size);
  color: var(--boxel-form-control-placeholder-color);
  padding: var(--boxel-sp-xxs) var(--boxel-sp-sm);
}

.boxel-input-token-select--disabled {
  opacity: 0.5;
}

.boxel-input-token-select .ember-power-select-status-icon {
  background: url(/@cardstack/boxel/images/icons/caret-down-06e5d299bdb7ad640733.svg) no-repeat;
  width: 11px;
  height: 9px;
  display: inline-block;
  margin-right: var(--boxel-sp);
}

.boxel-input-token-select__select[aria-disabled="true"] {
  opacity: 0.5;
}

.boxel-input-token-select__dropdown-item {
  white-space: nowrap;
}

.boxel-input-token-select--invalid {
  border-color: var(--boxel-error-100);
}

.boxel-input-token-select--invalid:focus {
  outline: 1px solid transparent;  /* Make sure that we make the invalid state visible */
  box-shadow: 0 0 0 1.5px var(--boxel-error-100);
}

.boxel-input-token-select--invalid:hover:not(:disabled) {
  border-color: var(--boxel-error-100);
}

.boxel-left-edge-nav-basic-button {
  background: none;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 2.5rem 2.5rem;
  border: none;
  display: inline-block;
  width: 5rem;
  height: 2.5rem;
  margin: auto;
}

.boxel-left-edge-nav-basic-button svg {
  display: block;
  margin: auto;
  width: 100%;
}

.boxel-left-edge-nav-card-management-button {
  --icon-color: var(--boxel-highlight);

  display: inline-block;
  width: 40px;
  height: 40px;
  margin: auto;
  background: none;
  border: none;
}

.boxel-left-edge-nav-card-management-button svg {
  display: block;
  margin: auto;
}

.boxel-left-edge-nav-card-management-button:hover {
  --icon-color: var(--boxel-dark);

  cursor: pointer;
  background-color: var(--boxel-highlight);
  border-radius: 100px;
}

.boxel-left-edge-nav-selectable-button {
  --icon-color: var(--boxel-highlight);

  border: none;
  border-left: 4px solid transparent;
  display: inline-block;
  width: 80px;
  height: 40px;
  background: none;
  padding-left: 16px;
  opacity: 0.5;
}

.boxel-left-edge-nav-selectable-button svg {
  display: block;
  margin: auto;
}

.boxel-left-edge-nav-selectable-button:hover {
  --icon-color: var(--boxel-dark);

  cursor: pointer;
  opacity: 1;
}

.boxel-left-edge-nav-selectable-button--selected {
  border-color: var(--boxel-highlight);
  opacity: 1;
}

.boxel-org-switcher-button__logo {
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font: 600 var(--boxel-font);
  border: 1px solid var(--boxel-dark);
  border-radius: var(--boxel-border-radius);
  background-color: var(--boxel-org-switcher-button-background-color);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  color: var(--boxel-light);
}

.boxel-org-switcher-button__logo {
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font: 600 var(--boxel-font);
  border: 1px solid var(--boxel-dark);
  border-radius: var(--boxel-border-radius);
  background-color: var(--boxel-org-switcher-button-background-color);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  color: var(--boxel-light);
}

.boxel-org-switcher {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-auto-rows: 2.5rem;
  gap: var(--boxel-sp);
  justify-items: center;
}

.boxel-left-edge-nav-basic-button {
  background: none;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 2.5rem 2.5rem;
  border: none;
  display: inline-block;
  width: 5rem;
  height: 2.5rem;
  margin: auto;
}

.boxel-left-edge-nav-basic-button svg {
  display: block;
  margin: auto;
  width: 100%;
}

.boxel-left-edge-nav-card-management-button {
  --icon-color: var(--boxel-highlight);

  display: inline-block;
  width: 40px;
  height: 40px;
  margin: auto;
  background: none;
  border: none;
}

.boxel-left-edge-nav-card-management-button svg {
  display: block;
  margin: auto;
}

.boxel-left-edge-nav-card-management-button:hover {
  --icon-color: var(--boxel-dark);

  cursor: pointer;
  background-color: var(--boxel-highlight);
  border-radius: 100px;
}

.boxel-left-edge-nav-selectable-button {
  --icon-color: var(--boxel-highlight);

  border: none;
  border-left: 4px solid transparent;
  display: inline-block;
  width: 80px;
  height: 40px;
  background: none;
  padding-left: 16px;
  opacity: 0.5;
}

.boxel-left-edge-nav-selectable-button svg {
  display: block;
  margin: auto;
}

.boxel-left-edge-nav-selectable-button:hover {
  --icon-color: var(--boxel-dark);

  cursor: pointer;
  opacity: 1;
}

.boxel-left-edge-nav-selectable-button--selected {
  border-color: var(--boxel-highlight);
  opacity: 1;
}

.boxel-left-edge-nav {
  display: grid;
  grid-template-rows: auto 1fr;
  align-items: center;
  justify-items: center;
  width: 5rem; /* 80px */
  height: 100%;
  padding: var(--boxel-sp) 0;
  background-color: var(--boxel-purple-800);
}

.boxel-left-edge-nav ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-auto-rows: 2.5rem;
  gap: var(--boxel-sp);
  justify-items: center;
}

.boxel-left-edge-nav__top-btn-group {
  align-self: start;
}

.boxel-left-edge-nav__bottom-btn-group {
  align-self: end;
}

.boxel-left-edge-nav__user-icon {
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--boxel-highlight);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 100px;
  margin: 0 auto;
  color: var(--boxel-dark);
  font: 600 1.5rem/1 var(--boxel-font-family);
  letter-spacing: 0;
}

.boxel-left-main-nav {
  --gutter-width: 1.5rem;

  display: grid;
  grid-template-rows: auto auto 1fr;
  row-gap: var(--gutter-width);
  justify-items: center;
  height: 100%;
  width: 16rem;
  background-color: var(--boxel-purple-600);
}

.boxel-left-main-nav .boxel-org-title {
  --boxel-org-title-color: var(--boxel-light);
  --boxel-org-title-font: 600 var(--boxel-font-size) var(--boxel-font-family);
  --boxel-org-title-letter-spacing: normal;
  --boxel-org-title-text-transform: none;

  margin: var(--gutter-width);
  width: calc(100% - var(--gutter-width) * 2);
}

.boxel-left-main-nav__searchbox {
  width: calc(100% - var(--gutter-width) * 2);
  margin: 0 var(--gutter-width);
}

.boxel-left-main-nav__nav {
  width: 100%;
  margin: 0 var(--gutter-width);
  padding: 0;
  display: grid;
  grid-auto-rows: var(--boxel-sp-xxl);
  font-size: var(--boxel-font-size-sm);
}

.boxel-left-main-nav__link {
  padding: var(--gutter-width);
  color: var(--boxel-light);
  display: flex;
  align-items: center;
}

.boxel-left-main-nav__link--is-active {
  background: var(--boxel-dark);
  color: var(--boxel-cyan);
}

.boxel-org-title {
  --boxel-org-title-color: inherit;
  --boxel-org-title-letter-spacing: var(--boxel-lsp-xxl);
  --boxel-org-title-text-transform: uppercase;
  --boxel-org-title-title-font: 900 1.125rem/1.333 var(--boxel-font-family);
  --boxel-org-title-subtitle-font: 900 0.8125rem/1.333 var(--boxel-font-family);
  --boxel-org-title-logo-position: center;
  --boxel-org-title-logo-size: 3.125rem 3.125rem;

  display: grid;
  align-items: center;
  gap: 0 var(--boxel-sp-xs);
  min-height: 3.125rem;
  color: var(--boxel-org-title-color);
  letter-spacing: var(--boxel-org-title-letter-spacing);
  text-transform: var(--boxel-org-title-text-transform);
}

.boxel-org-title__title {
  grid-area: title;
  margin: 0;
  font: var(--boxel-org-title-title-font);
}

.boxel-org-title__subtitle {
  grid-area: subtitle;
  margin: 0;
  font: var(--boxel-org-title-subtitle-font);
  margin-top: calc(-1 * var(--boxel-sp-xs));
}

.boxel-org-title--has-subtitle {
  grid-template-areas:
    "title"
    "subtitle";
}

.boxel-org-title--has-logo {
  grid-template-areas: "logo title";
  grid-template-columns: auto 1fr;
}

.boxel-org-title--has-logo.boxel-org-title--has-subtitle {
  grid-template-areas:
    "logo title"
    ". subtitle";
  grid-template-columns: auto 1fr;
}

.boxel-org-title__logo {
  grid-area: logo;
  width: 3.125rem;
  height: 3.125rem;
  background-position: var(--boxel-org-title-logo-position);
  background-repeat: no-repeat;
  background-size: var(--boxel-org-title-logo-size);
}

.boxel-org-title__logo svg {
  display: block;
  margin: auto;
  max-width: 100%;
  max-height: 100%;
}

.boxel-searchbox {
  /* todo set up search stuff properly */
  --boxel-searchbox-icon-size: 0.875rem;

  font: var(--boxel-font-sm);
  letter-spacing: var(--boxel-lsp-lg);
  border: 1px solid var(--boxel-dark);
  border-radius: 100px;
  position: relative;
}

.boxel-searchbox--hide-icon {
  --boxel-searchbox-icon-size: calc(-1 * var(--boxel-sp-xxs));
}

.boxel-searchbox__input {
  --boxel-searchbox-text-color: rgb(255 255 255 / 60%);

  height: 2rem;
  border: none;
  width: 100%;
  /* stylelint-disable declaration-block-no-redundant-longhand-properties */
  padding-top: var(--boxel-sp-xxxs);
  padding-right: calc(var(--boxel-searchbox-icon-size) + var(--boxel-sp-xs) + var(--boxel-sp-xxxs));
  padding-bottom: var(--boxel-sp-xxxs);
  padding-left: calc(var(--boxel-searchbox-icon-size) + var(--boxel-sp-xs) + var(--boxel-sp-xs));
  /* stylelint-enable declaration-block-no-redundant-longhand-properties */
  border-radius: 100px;
  background-color: var(--boxel-purple-900);
  color: var(--boxel-light);
  font: var(--boxel-font-sm);
}

.boxel-searchbox__input::placeholder {
  color: var(--boxel-searchbox-text-color);
}

.boxel-searchbox__search-icon {
  --icon-color: var(--boxel-highlight);

  left: var(--boxel-sp-xs);

  /* absolutely position and vertically center these things, give them the same size */
  width: var(--boxel-searchbox-icon-size);
  height: var(--boxel-searchbox-icon-size);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.boxel-milestone-banner {
  display: flex;
  justify-content: space-between;
  min-height: 50px;
  padding: var(--boxel-sp-sm) var(--boxel-sp);
  background-image:
    linear-gradient(
      to right,
      var(--boxel-cyan),
      var(--boxel-green)
    );
  border: 1px solid var(--boxel-teal);
  border-radius: 100px;
  font: var(--boxel-font-sm);
  letter-spacing: var(--boxel-lsp);
  scroll-margin: var(--boxel-sp);
}

.boxel-milestone-banner__title {
  padding-left: var(--boxel-sp-lg);
  background: url(/@cardstack/boxel/images/icons/check-mark-dbc5a2d603035534059d.svg) left center/10px 10px no-repeat;
  font-weight: 600;
}

.boxel-milestone-banner__status {
  font-weight: 700;
  letter-spacing: var(--boxel-lsp-xl);
  text-transform: uppercase;
}

.boxel-modal {
  /* Unit is required to be used on calc */
  --boxel-modal-offset-top: 0px;
  --boxel-modal-offset-left: 0px;
  --boxel-modal-offset-right: 0px;

  position: fixed;
  width: 100%;
  height: calc(100vh - var(--boxel-modal-offset-top));
  height: calc(calc(var(--vh, 1vh) * 100) - var(--boxel-modal-offset-top));
  top: var(--boxel-modal-offset-top);
  left: var(--boxel-modal-offset-left);
  right: var(--boxel-modal-offset-right);
  padding: 0 var(--boxel-sp);
  background: none;
  border: none;
  overflow: hidden;
  z-index: var(--boxel-modal-z-index);
  pointer-events: none;
}

.boxel-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: none;
  background-color: rgb(0 0 0 / 75%);
  text-align: left;
  z-index: calc(var(--boxel-modal-z-index) - 1);
}

.boxel-modal--small {
  --boxel-modal-max-width: 36.25rem; /* 580px */
}

.boxel-modal--medium {
  --boxel-modal-max-width: 43.75rem; /* 700px */
}

.boxel-modal--large {
  --boxel-modal-offset-top: var(--boxel-sp-lg);
  --boxel-modal-max-width: 65rem; /* 1040px */
}

.boxel-modal__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  margin: auto;
  max-width: var(--boxel-modal-max-width, 65rem);
}

.boxel-modal__inner > * {
  width: 100%;
  pointer-events: auto;
}

.boxel-next-steps-box {
  position: relative;
  background-color: var(--boxel-purple-750);
  border-radius: var(--boxel-border-radius);
  color: var(--boxel-light);
  min-width: min-content;
}

.boxel-next-steps-box__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--boxel-sp-sm) var(--boxel-sp-lg);
  min-width: max-content;
}

.boxel-next-steps-box__header-title {
  color: inherit;
  font: 700 var(--boxel-font-sm);
  letter-spacing: var(--boxel-lsp-xl);
  text-transform: uppercase;
}

.boxel-next-steps-box__header-notice {
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  justify-content: end;
  gap: var(--boxel-sp-xs);
  text-align: right;
  margin-left: var(--boxel-sp-sm);
  font: var(--boxel-font-xs);
  color: var(--boxel-purple-300);
  letter-spacing: var(--boxel-lsp-lg);

  --icon-color: var(--boxel-purple-300);
}

.boxel-next-steps-box__content {
  padding: var(--boxel-sp-xxs) var(--boxel-sp-lg) var(--boxel-sp-xl);
}

.boxel-next-steps-box__button-container {
  display: flex;
  flex-wrap: wrap;
  gap: var(--boxel-sp);
}

.boxel-next-steps-box__footer {
  margin-top: var(--boxel-sp-xl);
}

/* Org Header */
.boxel-org-header {
  --boxel-org-header-logo-size: auto 2.5rem;
  --boxel-org-header-logo-position: center;
  --boxel-org-header-padding: var(--boxel-sp-lg);
  --boxel-org-header-background-color: inherit;
  --boxel-org-header-color: inherit;

  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: var(--boxel-sp);
  padding: var(--boxel-org-header-padding);
  background-color: var(--boxel-org-header-background-color);
  color: var(--boxel-org-header-color);
}

.boxel-participant-list {
  --icon-size: 2rem;
  --column-size: calc(var(--icon-size) / 2);

  list-style-type: none;
  margin: 0;
  padding: 0;
  display: inline-grid;
  gap: var(--boxel-sp-sm);
}

.boxel-participant-list--full-width {
  width: 100%;
}

.boxel-participant-list__fanned {
  grid-auto-flow: column;
  grid-auto-columns: var(--column-size);
  gap: 0;
  direction: rtl;
  padding-left: var(--column-size);
}

.boxel-participant-list__fanned .boxel-participant-list__participant > div {
  border: 1px solid var(--boxel-light);
}

.boxel-participant {
  display: grid;
  grid-template-columns: var(--boxel-participant-icon-size) 1fr;
  gap: 0 var(--boxel-sp-xs);
  align-items: center;
  font: var(--boxel-font-xs);
  letter-spacing: var(--boxel-lsp-lg);
}

.boxel-participant.boxel-participant__vertical {
  grid-template-columns: none;
  grid-template-rows: var(--boxel-participant-icon-size) 1fr;
  gap: var(--boxel-sp-xs) 0;
}

.boxel-participant__icon-only {
  display: inline-block;
}

.boxel-participant__image {
  width: var(--boxel-participant-icon-size);
  height: var(--boxel-participant-icon-size);
  background-image: url(/@cardstack/boxel/images/placeholders/profile-7c0734f7fb9de178e701.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: 100px;
}

.boxel-participant__has-logo .boxel-participant__image {
  border-radius: initial;
}

.boxel-participant__title {
  margin: 0;
  font: 600 var(--boxel-font-xs);
}

.boxel-participant__has-logo .boxel-participant__title {
  font: 600 var(--boxel-font-sm);
}

.boxel-participant__description {
  margin: 0;
  color: var(--boxel-purple-400);
}

.boxel-participants-summary {
  display: grid;
  font: var(--boxel-font-xs);
  grid-template-columns: auto 1fr;
  gap: 0 var(--boxel-sp-xs);
  align-items: center;
  padding-top: var(--boxel-sp-xs);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  transition: color var(--boxel-transition);
  color: inherit;
}

.boxel--dark-theme > .boxel-participants-summary {
  --icon-color: var(--boxel-light);

  color: var(--boxel-purple-300);
}

.boxel-progress-circle {
  --progress-arc-color: var(--boxel-highlight);
  --progress-arc-background-color: var(--boxel-light-400);

  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin: 0 auto;
}

.boxel-progress-circle__pie {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.boxel-progress-circle__background-circle {
  stroke: var(--progress-arc-background-color);
  fill: none;
}

.boxel-progress-circle__indicator-circle {
  stroke: var(--progress-arc-color);
  fill: none;
  stroke-dasharray: 0 360; /* Note: this is overridden by an inline style to show a progress arc of the right length */
  transition: stroke-dasharray var(--boxel-transition);
}

.boxel-progress-circle__pct-label {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  box-shadow: 0 0 4px rgb(0 0 0 / 15%);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  z-index: 1;
}

.boxel-progress-icon {
  --icon-color: var(--boxel-highlight);

  position: relative;
  background-image: url(/@cardstack/boxel/images/icons/progress-circle-dark-f770d25f9012e845b1a3.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.boxel--light-theme .boxel-progress-icon {
  --icon-color: var(--boxel-dark-highlight);

  background-image: url(/@cardstack/boxel/images/icons/progress-circle-a885356260726a376290.svg);
}

.boxel-progress-icon.boxel-progress-icon--cancelled {
  background-image: url(/@cardstack/boxel/images/icons/icon-x-circle-ht-988349fa2025721525db.svg);
}

.boxel-progress-icon.boxel-progress-icon--complete {
  --icon-color: var(--boxel-highlight);

  background-image: url(/@cardstack/boxel/images/icons/icon-check-circle-ht-13f68ae9feb977713798.svg);
}

.boxel-progress-icon__progress-pie {
  position: absolute;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
  stroke-dasharray: 0 60;
  transition: stroke-dasharray var(--boxel-transition);
}

.boxel-progress-steps {
  --bullet-fill-color: var(--boxel-light-600);

  list-style-type: none;
  padding: 0;
  color: var(--boxel-purple-400);
  font: var(--boxel-font-sm);
  letter-spacing: var(--boxel-lsp);
}

.boxel-progress-steps__item {
  position: relative;
}

.boxel-progress-steps__item + .boxel-progress-steps__item::before {
  display: block;
  content: "";
  width: 1px;
  height: var(--boxel-sp);

  /* Not using variables because the focus of this is primarily aesthetic effect */
  margin: 2px 0 3px 7px;
  background-color: var(--boxel-light-600);
}

.boxel-progress-steps__item-grid {
  display: grid;
  grid-template-columns: 16px 1fr;
  grid-template-rows: 1.125rem;
  gap: 0 var(--boxel-sp-sm);
  align-items: center;
}

.boxel-progress-steps__item-bullet {
  width: 16px;
  height: 16px;
  background-color: var(--bullet-fill-color);
  border-radius: 100px;
  text-align: center;
}

.boxel-progress-steps__item--current {
  color: var(--boxel-dark);
  font-weight: 600;
}

.boxel-progress-steps__item--current .boxel-progress-steps__item-bullet {
  --bullet-fill-color: var(--boxel-dark);

  border: 6px solid var(--boxel-highlight);
}

.boxel-progress-steps__item--completed .boxel-progress-steps__item-bullet {
  --icon-color: var(--boxel-dark);
  --bullet-fill-color: var(--boxel-highlight);
}

/* essentially reset fieldset and hide legend from visibility */
.boxel-radio-fieldset {
  border: 0;
  padding: 0.01em 0 0;
  min-width: 0;
}

.boxel-radio-fieldset__legend {
  opacity: 0;
  position: absolute;
  left: -9999px;
  max-width: 1px;
  max-height: 1px;
  white-space: nowrap;
}

/* Div container inside the fieldset component. Use `display: contents` to move
   these styles up when that css property is more widely available. */
.boxel-radio-fieldset__container {
  --boxel-radio-gap: var(--boxel-sp);

  display: flex;
  flex-wrap: wrap;
  gap: var(--boxel-radio-gap);
  width: 100%;
  max-width: 100%;
}

.boxel-radio-fieldset__container--vertical {
  flex-direction: column;
}

.boxel-radio-fieldset__container--compact {
  --boxel-radio-gap: var(--boxel-sp-xxs);
  --boxel-radio-input-option-padding: var(--boxel-sp-xxxs);
  --boxel-radio-input-option-gap: var(--boxel-sp-xxxs);
}

.boxel-radio-fieldset__container--horizontal > * {
  flex: 1;
}

.boxel-radio-option {
  position: relative;
  display: block;
  max-width: 100%;
  padding: var(--boxel-radio-input-option-padding);
  border-radius: var(--boxel-border-radius);
  box-shadow: 0 0 0 1px var(--boxel-light-400);
  transition: box-shadow var(--boxel-transition);
}

.boxel-radio-option--hidden-border {
  box-shadow: 0 0 0 1px transparent;
}

.boxel-radio-option--has-radio {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: var(--boxel-radio-input-option-gap);
}

.boxel-radio-option:hover:not(.boxel-radio-option--disabled) {
  box-shadow: 0 0 0 1px var(--boxel-dark);
  cursor: pointer;
}

.boxel-radio-option--checked:not(.boxel-radio-option--disabled),
.boxel-radio-option:focus:not(.boxel-radio-option--disabled),
.boxel-radio-option:focus-within:not(.boxel-radio-option--disabled) {
  box-shadow: 0 0 0 2px var(--boxel-highlight);
  outline: 1px solid transparent;
}

.boxel-radio-option--disabled > * {
  opacity: 0.5;
}

.boxel-radio-option__input {
  appearance: none;
  /* stylelint-disable-next-line property-no-vendor-prefix */
  -webkit-appearance: none;
  width: 1rem;
  height: 1rem;
  margin: 0;
  border: 1.5px solid var(--boxel-dark);
  border-radius: 100px;
  background-color: transparent;
}

.boxel-radio-option__input--checked {
  background-color: var(--boxel-highlight);
  border-width: 3px;
}

.boxel-radio-option__input:disabled {
  border-color: var(--boxel-purple-300);
}

.boxel-radio-option__input:focus:not(:disabled) {
  outline: 1px solid transparent;
}

/* https://css-tricks.com/customise-radio-buttons-without-compromising-accessibility/ */
.boxel-radio-option__input--hidden-radio {
  position: absolute;
  top: 0;
  left: 0;
  clip-path: polygon(0 0);
  width: 1px;
  height: 1px;
}

/* default focus class - can be overwritten by providing @focusedClass */
.boxel-radio-option__focused-item {
  outline: 1px solid var(--boxel-outline-color);
}

/* stylelint-disable-next-line no-descending-specificity */
.boxel-radio-input--invalid .boxel-radio-option {
  box-shadow: 0 0 0 1px var(--boxel-error-100);
}

.boxel-radio-input--invalid .boxel-radio-option:focus {
  outline: 1px solid transparent;  /* Make sure that we make the invalid state visible */
  box-shadow: 0 0 0 1.5px var(--boxel-error-100);
}

.boxel-radio-input--invalid .boxel-radio-option:hover:not(:disabled) {
  box-shadow: 0 0 0 1px var(--boxel-error-100);
}

.boxel-radio-input {
  --boxel-radio-input-option-padding: var(--boxel-sp);
  --boxel-radio-input-option-gap: var(--boxel-sp-sm);
}

.boxel-select-button {
  --icon-bg: white;
  --icon-border: black;
  --icon-color: transparent;

  width: 40px;
  height: 40px;
  padding: 0;
  background: none;
  border: none;
  vertical-align: bottom;
  z-index: 1;
}

.boxel-select-button--edit {
  --icon-bg: transparent;
}

.boxel-select-button:hover,
.boxel-select-button:focus {
  --icon-border: black;
}

.boxel-select-button--partial {
  --icon-bg: var(--boxel-highlight);
  --icon-border: black;
  --icon-color: transparent;
}

.boxel-select-button--selected {
  --icon-bg: var(--boxel-highlight);
  --icon-border: var(--boxel-highlight);
  --icon-color: var(--boxel-dark);
}

.boxel-select-button > svg {
  display: block;
  margin: auto;
}

.boxel-selection-control {
  display: flex;
}

.boxel-selection-control-group__select-all {
  display: inline-flex;
  align-items: center;
  position: relative;
  width: 116px;
  padding: var(--boxel-sp-xs) var(--boxel-sp-lg) var(--boxel-sp-xs);
  transition: all var(--boxel-transition);
  border-radius: 100px;
  white-space: nowrap;
  font: 600 var(--boxel-font-sm);
  min-height: 41px;
  height: min-content;
  background-color: transparent;
  border: 1px solid var(--boxel-purple-300);
  color: black;
}

.boxel-selection-control-group__menu-trigger {
  position: absolute;
  top: 0;
  right: 8px;
}

.boxel-selection-control-group__select-all > svg {
  margin-right: var(--boxel-sp-xs);
}

.boxel-selection-control-group__select-all--selected-items {
  width: 246px;
  padding-left: var(--boxel-sp-sm);
  padding-right: var(--boxel-sp-xxl);
}

.boxel-sidebar-card-container {
  --boxel-sidebar-card-container-max-width: var(--boxel-sidebar-max-width, 15rem); /* 240px */

  background-color: var(--boxel-light);
  border-radius: var(--boxel-border-radius);
  padding: var(--boxel-sp);
  max-width: var(--boxel-sidebar-card-container-max-width);
  position: relative;
  z-index: 0;
}

.boxel-sidebar-card-container::before {
  content: "";
  border-radius: var(--boxel-border-radius);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  box-shadow: var(--boxel-box-shadow);
}

.boxel-sidebar-card-container > * + * {
  margin-top: var(--boxel-sp);
}

.boxel-sidebar-card-container__header {
  color: var(--boxel-purple-400);
  font: var(--boxel-font-xs);
  font-weight: 600;
  letter-spacing: var(--boxel-lsp-xl);
  text-transform: uppercase;
}

.boxel-sidebar-card-container__content > * + * {
  margin-top: var(--boxel-sp-sm);
}

.boxel-sidebar-card-container + .boxel-sidebar-card-container:last-of-type::after {
  /* This adds additional padding on the last container of the group.
     Using the Sidebar Section component can help with the grouping. */
  display: block;
  content: "";
  padding-bottom: var(--boxel-sp-xs);
}

/* Combining multiple card containers */
.boxel-sidebar-card-container--attach-next {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.boxel-sidebar-card-container--attach-next::before {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.boxel-sidebar-card-container--attach-next + .boxel-sidebar-card-container {
  border-top: 1px solid var(--boxel-light-400);
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  margin-top: 0;
}

.boxel-sidebar-card-container--attach-next + .boxel-sidebar-card-container::before {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.boxel-sidebar-section > * + * {
  margin-top: var(--boxel-sp-sm);
}

.boxel-sidebar-section--bordered {
  background-color: var(--boxel-light);
  border-radius: var(--boxel-border-radius);
  padding: var(--boxel-sp);
  position: relative;
  z-index: 0;
}

.boxel-sidebar-section--bordered::before {
  content: "";
  border-radius: var(--boxel-border-radius);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  box-shadow: var(--boxel-box-shadow);
  margin-top: var(--boxel-sp);
}

.boxel-sidebar-section__title {
  font: var(--boxel-font);
  font-weight: 600;
  letter-spacing: var(--boxel-lsp);
}

.boxel-sidebar-section__content > * + * {
  margin-top: var(--boxel-sp);
}

.boxel-sidebar-section--bordered .boxel-sidebar-section__content > * + * {
  margin-top: var(--boxel-sp);
}

.boxel-sidebar {
  --boxel-sidebar-max-width: 15rem;
}

.boxel-sidebar > * + * {
  margin-top: var(--boxel-sp);
}

.boxel-sidebar-section > * + * {
  margin-top: var(--boxel-sp-sm);
}

.boxel-sidebar-section--bordered {
  background-color: var(--boxel-light);
  border-radius: var(--boxel-border-radius);
  padding: var(--boxel-sp);
  position: relative;
  z-index: 0;
}

.boxel-sidebar-section--bordered::before {
  content: "";
  border-radius: var(--boxel-border-radius);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  box-shadow: var(--boxel-box-shadow);
  margin-top: var(--boxel-sp);
}

.boxel-sidebar-section__title {
  font: var(--boxel-font);
  font-weight: 600;
  letter-spacing: var(--boxel-lsp);
}

.boxel-sidebar-section__content > * + * {
  margin-top: var(--boxel-sp);
}

.boxel-sidebar-section--bordered .boxel-sidebar-section__content > * + * {
  margin-top: var(--boxel-sp);
}

.sort-menu-item {
  cursor: pointer;
  font-weight: 400;
  opacity: 0.5;
  padding-left: var(--boxel-sp-xs);
  padding-right: var(--boxel-sp-xs);
  position: relative;
  user-select: none;
}

.sort-menu-item + .sort-menu-item {
  padding-top: var(--boxel-sp-sm);
}

.sort-menu-item:hover,
.sort-menu-item:focus {
  opacity: 1;
}

.sort-menu-item__active {
  opacity: 1;
  font-weight: 700;
  transition:
    opacity var(--boxel-transition),
    font-weight var(--boxel-transition);
}

.sort-menu-item__active::before {
  content: url(/@cardstack/boxel/images/icons/checkmark-highlighted-e0f5f9dcdf73fa751509.svg);
  position: absolute;
  left: -10px;
}

.sort-menu-item__active > span {
  /* Not using variables so that the spacing between column and order is proportional to font-size */
  padding-left: 0.4em;
}

.sort-menu-item__active > span > svg {
  margin-left: 0.1em;
  margin-right: 0.1em;
}

.boxel-sort-menu {
  font: var(--boxel-font-sm);
  letter-spacing: var(--boxel-lsp-sm);
  padding: var(--boxel-sp-sm) 0;
  display: flex;
  flex-direction: column;
}

.boxel-sort-menu > header {
  padding-left: var(--boxel-sp);
  padding-bottom: var(--boxel-sp-sm);
  background-color: var(--boxel-light);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.boxel-sort-menu > ul {
  list-style-type: none;
  margin: 0;
  padding: 0 0 0 var(--boxel-sp);
  overflow: auto;
}

.boxel-styled-qr-code {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--boxel-sp-xxs);
  border-radius: 2.5rem;
  margin: auto;
  overflow: hidden;
  background: var(--boxel-light);
  border: 1px solid var(--boxel-light-400);
  width: calc(18.75rem + var(--boxel-sp-xxs) * 2);
}

.boxel-styled-qr-code__loading-indicator {
  width: 20%;
  height: 20%;
  margin: auto;
}

.boxel-styled-qr-code__canvas {
  width: 100%;
  aspect-ratio: 1;
  display: flex;
}

.boxel-styled-qr-code__canvas > canvas {
  width: 100%;
  height: 100%;
  max-width: 100%;
  border-radius: 2.5rem;
}

/* Hide this once the canvas is appended */
.boxel-styled-qr-code__loading-indicator:not(:only-child) {
  display: none;
}

.boxel-tab-bar {
  --boxel-tab-bar-background-color: inherit;
  --boxel-tab-bar-border-bottom: 1px solid var(--boxel-light-500);
  --boxel-tab-bar-font: inherit;
  --boxel-tab-bar-font-weight-hover: 600;
  --boxel-tab-bar-color-active: inherit;

  width: 100%;
  display: flex;
  flex-direction: row;
  border-bottom: var(--boxel-tab-bar-border-bottom);
  background-color: var(--boxel-tab-bar-background-color);
  font: var(--boxel-tab-bar-font);
}

.boxel-tab-bar--spread {
  justify-content: space-around;
}

.boxel-tab-bar__item {
  --icon-color: currentcolor;

  display: flex;
  align-items: center;
  padding: var(--boxel-sp-xs) var(--boxel-sp-lg);
  gap: var(--boxel-sp-xs);
  border-bottom: 2px solid transparent;
}

.boxel-tab-bar__item--is-inactive {
  opacity: 0.5;
  cursor: text;
}

.boxel-tab-bar__item:not(.boxel-tab-bar__item--is-inactive):hover {
  font-weight: var(--boxel-tab-bar-font-weight-hover);
  cursor: pointer;
}

.boxel-tab-bar__item--is-inactive:hover {
  color: inherit;
  font-weight: inherit;
  cursor: text;
}

.boxel-tab-bar__item--is-active {
  color: var(--boxel-tab-bar-color-active);
  font-weight: var(--boxel-tab-bar-font-weight-hover);
  border-bottom: 2px solid var(--boxel-cyan);
}

/*
  Column flex and ::after with data-text allow bold-on-hover without layout shift:
  https://css-tricks.com/bold-on-hover-without-the-layout-shift/
*/

.boxel-tab-bar__item-text {
  display: flex;
  flex-direction: column;
}

.boxel-tab-bar__item-text::after {
  content: attr(data-text);
  height: 0;
  visibility: hidden;
  overflow: hidden;
  user-select: hidden;
  pointer-events: none;
  font-weight: var(--boxel-tab-bar-font-weight-hover);
}

@media speech {
  .boxel-tab-bar__item::after {
    display: none;
  }
}

.boxel-thread-header {
  display: grid;
  grid-template-columns: 1fr auto;
  position: relative;
  align-items: center;
  padding: var(--boxel-sp);
  background-color: var(--boxel-light);
  box-shadow: 0 1px 3px rgb(0 0 0 / 15%);
  overflow: hidden;
}

.boxel-thread-header:first-child {
  border-radius: inherit;
}

.boxel-thread-header__label {
  color: var(--boxel-purple-400);
  font: 600 var(--boxel-font-xs);
  letter-spacing: var(--boxel-lsp-xl);
  text-transform: uppercase;
}

.boxel-thread-header__title {
  margin-top: 4px;
  margin-bottom: 0;
  font: 700 var(--boxel-font-lg);
  letter-spacing: var(--boxel-lsp-xxs);
}

.boxel-thread-header__expand-button {
  display: flex;
  align-items: center;
  padding: var(--boxel-sp-xs);
  border: none;
  background: none;
  font: 600 var(--boxel-font-xs);
  letter-spacing: var(--boxel-lsp);
}

.boxel-thread-header__expand-button:hover {
  cursor: pointer;
}

.boxel-thread-header__expand-button > svg {
  margin-left: var(--boxel-sp-sm);
}

@media only screen and (max-width: 1149px) {
  .boxel-thread-header__expand-button {
    display: none;
  }
}

.boxel-thread-header__participants {
  display: grid;
  grid-template-columns: max-content max-content;
  align-items: center;
  justify-content: end;
  gap: 0 var(--boxel-sp-sm);
  color: var(--boxel-dark);
  font: 600 var(--boxel-font-sm);
  letter-spacing: var(--boxel-lsp-xl);
}

.boxel-thread-header__notification {
  position: absolute;
  top: 0;
  right: 0;
  padding: 2px 13px 3px;
  border-bottom-left-radius: var(--boxel-border-radius-sm);
  background-color: var(--boxel-error-100);
  color: var(--boxel-light);
  font-size: var(--boxel-font-size-xs);
  font-weight: 700;
  letter-spacing: var(--boxel-lsp-sm);
  text-align: center;
}

.boxel-thread-message {
  /* Note: avatar size should not be set to be larger than 60px or smaller than 20px. */
  --boxel-thread-message-avatar-size: 2.5rem; /* 40px. */
  --boxel-thread-message-meta-height: 1.25rem; /* 20px */
  --boxel-thread-message-gap: var(--boxel-sp);
  --boxel-thread-message-margin-left: calc(var(--boxel-thread-message-avatar-size) + var(--boxel-thread-message-gap));
}

.boxel-thread-message--hide-meta {
  min-height: 0;
}

.boxel-thread-message__meta {
  display: grid;
  grid-template-columns: var(--boxel-thread-message-avatar-size) 1fr;
  grid-template-rows: var(--boxel-thread-message-meta-height);
  align-items: start;
  gap: var(--boxel-thread-message-gap);
}

.boxel-thread-message--full-width .boxel-thread-message__meta {
  align-items: center;
}

.boxel-thread-message__avatar-img {
  width: var(--boxel-thread-message-avatar-size);
  height: var(--boxel-thread-message-avatar-size);
  border-radius: 100px;
}

.boxel-thread-message__avatar-img--not-round {
  border-radius: initial;
}

.boxel-thread-message__info {
  display: flex;
  white-space: nowrap;
  margin: 0;
  font: 600 var(--boxel-font-sm);
  letter-spacing: var(--boxel-lsp);
}

.boxel-thread-message__name {
  margin-right: var(--boxel-sp);
}

.boxel-thread-message__time {
  color: var(--boxel-purple-400);
  font-size: var(--boxel-font-size-xs);
  letter-spacing: var(--boxel-lsp-lg);
}

.boxel-thread-message__content {
  /* mimic the grid using margins */
  margin-left: var(--boxel-thread-message-margin-left);
}

.boxel-thread-message--full-width .boxel-thread-message__content {
  margin-left: 0;
  margin-top: var(--boxel-sp);
}

/* spacing for sequential thread messages */
.boxel-thread-message + .boxel-thread-message {
  margin-top: var(--boxel-sp-xl);
}

.boxel-thread-message + .boxel-thread-message--hide-meta {
  margin-top: var(--boxel-sp);
}

.boxel-thread {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
  width: 100%;
  background-color: var(--boxel-light-300);
  color: var(--boxel-dark);
  border-radius: var(--boxel-border-radius);
  box-shadow: 0 1px 3px rgb(0 0 0 / 15%);
}

.boxel-thread__content-wrapper {
  height: 100%;
  display: grid;
  grid-template-columns: 1fr auto;
  overflow: hidden;
}

.boxel-thread__scroll-wrapper {
  padding-bottom: var(--boxel-sp-lg);
  overflow-y: auto;
  z-index: 0;
}

.boxel-thread__scroll-wrapper:focus {
  outline-color: var(--boxel-outline-color);
  outline-offset: -1px;
}

.boxel-thread__scroll-wrapper:focus:not(:focus-visible) {
  outline: none;
}

.boxel-thread__content {
  padding: var(--boxel-sp);
  padding-left: var(--boxel-sp-xl);
}

.boxel-thread__content > * + * {
  margin-top: var(--boxel-sp-xl);
}

.boxel-thread__sidebar {
  margin: var(--boxel-sp);
}

.boxel-thread__sticky-container {
  position: sticky;
  top: 0;
  z-index: 1;
  border-top-right-radius: inherit;
  border-top-left-radius: inherit;
}

/* Remove fieldset defaults and remove legend */

.boxel-toggle-button-group__fieldset {
  border: 0;
  padding: 0.01em 0 0;
  min-width: 0;
}

.boxel-toggle-button-group__fieldset-legend {
  opacity: 0;
  position: absolute;
  left: -9999px;
  max-width: 1px;
  max-height: 1px;
  white-space: nowrap;
}

.boxel-toggle-button-group__fieldset-container {
  display: flex;
}

.boxel-toggle-button-group-option {
  --padding: var(--boxel-toggle-button-group-option-padding, var(--boxel-sp));

  position: relative;
  display: block;
  max-width: 100%;

  /* Leave space for the checkmark */
  padding:
    var(--padding)
    calc(
      var(--padding) +
      var(--boxel-sp-xs) * 2
    )
    var(--padding)
    var(--padding);
  transition: box-shadow var(--boxel-transition);
  background-color: var(--boxel-light);
  box-shadow: none;
  border: 1px solid var(--boxel-purple-300);
}

/* Shift all but the first option left to hide double-borders: https://codepen.io/torez233/pen/rNmYbKQ */

.boxel-toggle-button-group-option + .boxel-toggle-button-group-option {
  margin-left: -2px;
}

/* Add curves on the outside corners of the first and last options */

.boxel-toggle-button-group-option:first-child {
  border-top-left-radius: var(--boxel-border-radius);
  border-bottom-left-radius: var(--boxel-border-radius);
}

.boxel-toggle-button-group-option:last-child {
  border-top-right-radius: var(--boxel-border-radius);
  border-bottom-right-radius: var(--boxel-border-radius);
}

.boxel-toggle-button-group-option--disabled > * {
  opacity: 0.5;
}

/* Hide radio button circle: https://css-tricks.com/customise-radio-buttons-without-compromising-accessibility/ */
.boxel-toggle-button-group-option__input {
  appearance: none;
  /* stylelint-disable-next-line property-no-vendor-prefix */
  -webkit-appearance: none;
  position: absolute;
  top: 0;
  left: 0;
  clip-path: polygon(0 0);
  width: 1px;
  height: 1px;
}

.boxel-toggle-button-group-option--checked {
  background-color: var(--boxel-light-200);
  background-image: url(/@cardstack/boxel/images/icons/checkbox-primary-checked-4364508334da004474ee.svg);
  background-position: top var(--boxel-sp-xs) right var(--boxel-sp-xs);
  background-repeat: no-repeat;
  background-size: var(--boxel-sp);
  box-shadow: inset 0 4px 3px -2px var(--boxel-light-500);
}

.boxel-toggle-button-group-option--checked:last-child {
  box-shadow: inset -3px 4px 3px -2px var(--boxel-light-500);
}

.boxel-toggle-button-group--invalid .boxel-toggle-button-group-option {
  border-color: var(--boxel-error-100);
}

.boxel-toggle-button-group--invalid .boxel-toggle-button-group-option:focus {
  outline: 1px solid transparent;  /* Make sure that we make the invalid state visible */
  box-shadow: 0 0 0 1.5px var(--boxel-error-100);
}

.boxel-toggle-button-group-option:hover:not(.boxel-toggle-button-group-option--disabled) {
  cursor: pointer;
}

.boxel-toggle-button-group-option:focus-within:not(.boxel-toggle-button-group-option--disabled) {
  outline: 1px solid var(--boxel-highlight);
  z-index: 100;
}

.boxel-toggle-button-group--invalid:not(:disabled) .boxel-toggle-button-group-option:hover {
  border-color: var(--boxel-error-100);
}

.boxel-wave-player {
  display: inline-grid;
  grid-auto-flow: column;
  align-items: center;
  gap: var(--boxel-sp-xs);
  padding-top: var(--boxel-sp-sm);
}

.boxel-wave-player > canvas {
  max-width: 100%;
}

.boxel-wave-player__play.is-playing,
.play-button.is-playing {
  --icon-color: var(--boxel-highlight);
}

.boxel-wave-player__times {
  color: var(--boxel-purple-400);
  font: var(--boxel-font-sm);
  white-space: nowrap;
}

.wc-message {
  --aspect-ratio-adjustment: clamp(20px, 15%, 100px);

  min-height: min(360px, 100vh);

  min-height: min(360px, calc(var(--vh, 1vh) * 100));
  max-width: 40ch;
  display: grid;
  place-content: center;
  place-items: center;
  gap: var(--boxel-sp);
  text-align: center;
  margin: auto;
  padding-top: var(--aspect-ratio-adjustment);
  padding-bottom: var(--aspect-ratio-adjustment);
}

.wc-message__warning-icon {
  width: 80px;
  height: 80px;
  margin: auto;
}

.wc-message__emphasis {
  font-weight: bold;
}

.profile-not-found {
  --profile-not-found-background-color: var(--boxel-purple-600);

  display: grid;
  grid-template-rows: auto auto auto 1fr;
  max-width: 100vw;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  overflow: hidden;
  justify-items: center;
  justify-content: center;
  padding: min(5vh, 100px) 0;
  padding: min(calc(var(--vh, 1vh) * 5), 100px) 0;
  text-align: center;
  background-color: var(--profile-not-found-background-color, inherit);
  color: var(--boxel-light, inherit);
  font: var(--boxel-font);
}

.profile-not-found > * + * {
  margin-top: var(--boxel-sp);
}

.profile-not-found__big-404 {
  font-size: max(2.5rem, min(9rem, 15vh));
  font-size: max(2.5rem, min(9rem, calc(var(--vh, 1vh) * 15)));
  font-weight: 700;
}

.profile-not-found__description {
  max-width: 100vw;
}

.profile-not-found__decorative-image {
  max-width: 900px;
  aspect-ratio: calc(818 / 603);
  width: 100%;
  min-width: 500px;
}

@media only screen and (max-width: 480px) {
  .profile-not-found {
    --not-found-background-color: var(--boxel-purple-900);
  }
}

.profile-payment-request-page__profile-missing-message {
  text-align: center;
  max-width: 40ch;
  justify-self: center;
}


/*# sourceMappingURL=chunk.153cfe8f9beffe5b9726.css.map*/