span[data-prim-avatar]:has(img[alt="__missing__"])::after,
[aria-label="__missing__"] {
  border: red;
}
label [aria-label="__missing__"] {
  border: unset;
}
/**
 * ExternalLink
 */
a[href='##missing##'],
/**
 * Avatar
 */
span[data-prim-avatar]:has(img[alt='__missing__'])::after,
/**
 * Switch
 */
div[data-prim-switch]:has(input[role="switch"]):not(:has(label)) input[role="switch"] {
  position: relative;
  border: 1px solid black;
  padding: 0.125rem 0.25rem;
  border-radius: 0.125rem;
  min-width: 10px;
}
:is(
  /**
   * ExternalLink
   */
  a[href='##missing##'],
  /**
   * Avatar
   */
  span[data-prim-avatar]:has(img[alt='__missing__'])::after,
  /**
   * Switch
   */
  div[data-prim-switch]:not(:has(label)):has(input[role="switch"]) input[role="switch"]
)::after {
  color: red;
  position: absolute;
  font-size: 0.75rem;
  font-family: monospace;
  background: black;
  padding: 0.125rem 0.25rem;
  display: flex;
  border-radius: 0.125rem;
  transform: translate(0.5rem, 1rem);
  left: 0;
  bottom: 0;
  width: max-content;
  z-index: 10000000000000000;
}
a[href="##missing##"]::after {
  content: "empty href";
}
span[data-prim-avatar]:has(img[alt="__missing__"])::after {
  content: "missing alt";
}
div[data-prim-switch]:not(:has(label)):has(input[role="switch"]) input[role="switch"]::after {
  content: "missing label";
}
@media (prefers-color-scheme: light) {
  :is(
    a[href="##missing##"],
    span[data-prim-avatar]:has(img[alt="__missing__"]),
    div[data-prim-switch]:has(input[role="switch"]):not(:has(label)) input[role="switch"]
  ) {
    border-color: black;
  }
  :is(
    a[href="##missing##"],
    span[data-prim-avatar]:has(img[alt="__missing__"]),
    div[data-prim-switch]:not(:has(label)):has(input[role="switch"]) input[role="switch"]
  ):after {
    background: white;
    border: 1px solid black;
    color: darkred;
  }
}
@media (prefers-color-scheme: dark) {
  :is(
    a[href="##missing##"],
    span[data-prim-avatar]:has(img[alt="__missing__"]),
    div[data-prim-switch]:has(input[role="switch"]):not(:has(label)) input[role="switch"]
  ) {
    border-color: red;
  }
  :is(
    a[href="##missing##"],
    span[data-prim-avatar]:has(img[alt="__missing__"]),
    div[data-prim-switch]:not(:has(label)):has(input[role="switch"]) input[role="switch"]
  ):after {
    background: #222;
    border: 1px solid red;
    color: red;
  }
}
.ember-primitives__sticky-footer__wrapper {
  height: 100%;
  overflow: auto;
}
.ember-primitives__sticky-footer__container {
  min-height: 100%;
  display: grid;
  grid-template-rows: 1fr auto;
}
.ember-primitives__resizable {
  display: flex;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.ember-primitives__resizable[data-orientation="horizontal"] {
  flex-direction: row;
}

.ember-primitives__resizable[data-orientation="vertical"] {
  flex-direction: column;
}

.ember-primitives__resizable__panel {
  /* until the group assigns sizes, share space equally */
  flex: 1 1 0px;
  overflow: hidden;
  min-width: 0;
  min-height: 0;
}

.ember-primitives__resizable__handle {
  flex: 0 0 auto;
  position: relative;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
}

.ember-primitives__resizable__handle[data-orientation="horizontal"] {
  width: 0.5rem;
  cursor: col-resize;
}

.ember-primitives__resizable__handle[data-orientation="vertical"] {
  height: 0.5rem;
  cursor: row-resize;
}
/**
 * Structural styles for <Slider>.
 *
 * These handle the annoying parts of building a custom slider on top of
 * native <input type="range"> elements:
 *   - stretching an invisible native input over the track (so keyboard,
 *     pointer, and assistive-tech behavior all come from the platform)
 *   - letting multiple overlapping inputs coexist (multi-thumb / range
 *     sliders) by routing pointer events through the native thumb only
 *   - vertical orientation (via `writing-mode`, no rotation hacks)
 *   - positioning the visual thumb and keeping the active thumb on top
 *
 * Appearance (colors, exact sizes) is left to the consumer.
 *
 * Everything is wrapped in `@layer ember-primitives`, so *any* unlayered
 * consumer rule overrides these -- regardless of specificity or order.
 *
 * This is a plain stylesheet (bundled like any other CSS), so styles are
 * present at first layout -- no waiting on a render cycle. If you render
 * the slider inside a shadow root, bring this stylesheet into that root
 * yourself (e.g. adopt it, or @import it in the shadow tree).
 *
 * Knobs:
 *   --ember-primitives__slider__hit-area         pointer target size (default 24px)
 *   --ember-primitives__slider__thumb-size       visual thumb size (default 16px)
 *   --ember-primitives__slider__track-thickness  rail thickness (default 4px)
 *   --ember-primitives__slider__vertical-size    length of a vertical slider (default 10rem)
 */
@layer ember-primitives {
  .ember-primitives__slider {
    position: relative;
    display: flex;
    align-items: center;
    min-height: var(--ember-primitives__slider__hit-area, 24px);
  }

  .ember-primitives__slider[data-orientation="vertical"] {
    flex-direction: column;
    min-height: 0;
    min-width: var(--ember-primitives__slider__hit-area, 24px);
    height: var(--ember-primitives__slider__vertical-size, 10rem);
  }

  .ember-primitives__slider__track {
    position: relative;
    flex: 1;
    height: var(--ember-primitives__slider__track-thickness, 4px);
  }

  .ember-primitives__slider[data-orientation="vertical"] .ember-primitives__slider__track {
    height: auto;
    width: var(--ember-primitives__slider__track-thickness, 4px);
  }

  .ember-primitives__slider__range {
    position: absolute;
    top: 0;
    bottom: 0;
  }

  .ember-primitives__slider[data-orientation="vertical"] .ember-primitives__slider__range {
    top: auto;
    bottom: auto;
    left: 0;
    right: 0;
  }

  /*
    The native input is stretched across the whole track, invisible, and only
    used for interaction. The visual thumb (a sibling) is what users see.
  */
  .ember-primitives__slider__thumb-input {
    position: absolute;
    left: 0;
    top: 50%;
    translate: 0 -50%;
    width: 100%;
    height: var(--ember-primitives__slider__hit-area, 24px);
    margin: 0;
    opacity: 0;
    appearance: none;
    background: transparent;
    cursor: pointer;
  }

  .ember-primitives__slider__thumb-input:disabled {
    cursor: not-allowed;
  }

  .ember-primitives__slider__thumb-input[data-active] {
    z-index: 2;
  }

  /*
    Size the (invisible) native thumb to the hit area, so grabbing "the thumb"
    feels right. These cannot be comma-combined: an unknown pseudo-element
    invalidates the whole selector list in the other engine.
  */
  .ember-primitives__slider__thumb-input::-webkit-slider-thumb {
    appearance: none;
    width: var(--ember-primitives__slider__hit-area, 24px);
    height: var(--ember-primitives__slider__hit-area, 24px);
  }

  .ember-primitives__slider__thumb-input::-moz-range-thumb {
    border: none;
    width: var(--ember-primitives__slider__hit-area, 24px);
    height: var(--ember-primitives__slider__hit-area, 24px);
  }

  /*
    Multi-thumb sliders overlap multiple full-width range inputs. If the
    inputs themselves receive pointer events, the top-most input steals
    clicks/drags from the other thumbs. Disable pointer events on the
    track-sized input and re-enable them on the native thumb only.

    Single-thumb sliders keep the whole input interactive, so clicking
    anywhere on the track jumps to that value.
  */
  .ember-primitives__slider[data-multi] .ember-primitives__slider__thumb-input {
    pointer-events: none;
  }

  .ember-primitives__slider[data-multi]
    .ember-primitives__slider__thumb-input::-webkit-slider-thumb {
    pointer-events: auto;
  }

  .ember-primitives__slider[data-multi] .ember-primitives__slider__thumb-input::-moz-range-thumb {
    pointer-events: auto;
  }

  /*
    Vertical orientation: modern engines render a native vertical range input
    with `writing-mode`. `direction: rtl` puts the minimum at the bottom.
  */
  .ember-primitives__slider[data-orientation="vertical"] .ember-primitives__slider__thumb-input {
    writing-mode: vertical-lr;
    direction: rtl;
    top: 0;
    left: 50%;
    translate: -50% 0;
    width: var(--ember-primitives__slider__hit-area, 24px);
    height: 100%;
  }

  /*
    The visual thumb. The component positions it with an inline
    `left`/`bottom` percentage; centering uses the `translate` property
    (not `transform`) so consumer hover/active effects like
    `transform: scale(1.4)` or `scale: 1.4` compose with it instead of
    clobbering it.
  */
  .ember-primitives__slider__thumb {
    position: absolute;
    top: 50%;
    translate: -50% -50%;
    pointer-events: none;
    z-index: 1;
  }

  .ember-primitives__slider__thumb[data-active] {
    z-index: 3;
  }

  .ember-primitives__slider[data-orientation="vertical"] .ember-primitives__slider__thumb {
    top: auto;
    left: 50%;
    translate: -50% 50%;
  }

  /*
    Default appearance -- zero specificity via :where(), so any consumer rule
    wins (even a layered one). Colors derive from currentColor so the slider
    adapts to its context.
  */
  :where(.ember-primitives__slider__track) {
    border-radius: calc(var(--ember-primitives__slider__track-thickness, 4px) / 2);
    background: color-mix(in srgb, currentColor 20%, transparent);
  }

  :where(.ember-primitives__slider__range) {
    border-radius: inherit;
    background: currentColor;
  }

  :where(.ember-primitives__slider__thumb) {
    width: var(--ember-primitives__slider__thumb-size, 16px);
    height: var(--ember-primitives__slider__thumb-size, 16px);
    border-radius: 50%;
    background: currentColor;
  }

  :where(.ember-primitives__slider__thumb[data-disabled]) {
    opacity: 0.5;
  }

  /* Keyboard focus is on the (invisible) input; reflect it on the visual thumb. */
  :where(.ember-primitives__slider__thumb-input:focus-visible + .ember-primitives__slider__thumb) {
    outline: 2px solid currentColor;
    outline-offset: 2px;
  }
}
/* See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss */
.ember-primitives__visually-hidden,
[visually-hidden] {
  position: absolute;
  border: 0;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  word-wrap: normal;
}
.ember-primitives__zoetrope {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  width: 100%;
}

.ember-primitives__zoetrope__header {
  align-items: center;
  display: flex;
  flex: 1;
  justify-content: space-between;
  padding-left: var(--zoetrope-offset, 0);
}

.ember-primitives__zoetrope__controls {
  align-items: center;
  display: flex;
  padding-right: var(--zoetrope-offset, 0);
  gap: 4px;
}

.ember-primitives__zoetrope__scroller {
  display: flex;
  flex-flow: row nowrap;
  gap: var(--zoetrope-gap, 8px);
  overflow: scroll visible;
  padding: 8px var(--zoetrope-offset, 0);
  scroll-behavior: smooth;
  scroll-padding-left: var(--zoetrope-offset, 0);
  scroll-snap-type: x mandatory;
  scrollbar-color: transparent transparent;
  scrollbar-width: none;
  width: 100%;

  & > * {
    flex-shrink: 0;
    scroll-snap-align: start;
  }
}
.limber__editor {
  position: relative;

  .limber__editor__tab-help {
    position: absolute;
    bottom: 0.25rem;
    right: 0;
    opacity: 0;
    pointer-events: none;
    z-index: 1;
    color: white;
    font-size: 0.75rem;
    padding: 0.125rem 1rem;
    text-shadow: 0 1px 2px black;
    kbd {
      text-shadow: none;
    }
  }

  .limber__editor__codemirror {
    width: 100%;
    height: 100%;
  }

  &:has(.cm-focused) {
    .limber__editor__tab-help {
      opacity: 1;
    }
  }
}

.limber__editor__pending {
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  background: var(--code-bg);
  overflow: hidden;
  border: 1px solid oklch(21% 0.034 264.665);
  width: 100%;
  height: 100%;
}

.limber__editor__click-to-edit {
  position: absolute;
  inset: 0;
  text-align: center;
  color: white;
  background: rgba(0,0,0,0.5);
  font-weight: bold;
  cursor: pointer;
  border: none;
  &:hover, &:focus-visible {
    background: rgba(0,0,0,0.35);
  }
}

@media (pointer:coarse) {
  .limber__editor .limber__editor__tab-help {
    /**
     * Touch devices don't usually use keyboards
     */
    display: none !important;
  }
}

/*!
 * QUnit 2.25.0
 * https://qunitjs.com/
 *
 * Copyright OpenJS Foundation and other contributors
 * Released under the MIT license
 * https://jquery.org/license
 */

/** Font Family and Sizes */

#qunit-tests, #qunit-header, #qunit-banner, #qunit-testrunner-toolbar, #qunit-filteredTest, #qunit-userAgent, #qunit-testresult {
	font-family: "Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial, sans-serif;
}

#qunit-testrunner-toolbar, #qunit-filteredTest, #qunit-userAgent, #qunit-testresult, #qunit-tests li { font-size: small; }

#qunit-tests { font-size: smaller; }

/** Resets */

#qunit-tests, #qunit-header, #qunit-banner, #qunit-filteredTest, #qunit-userAgent, #qunit-testresult, #qunit-modulefilter {
	margin: 0;
	padding: 0;
}

/* Style our buttons in a simple way, uninfluenced by the styles
   the tested app might load. Don't affect buttons in #qunit-fixture!
   https://github.com/qunitjs/qunit/pull/1395
   https://github.com/qunitjs/qunit/issues/1437 */

#qunit-testrunner-toolbar button,
#qunit-testresult button {
	all: unset; /* best effort, modern browsers only */
	font: inherit;
	color: initial;
	border: initial;
	background-color: buttonface;
	padding: 0 4px;
}

/** Fixed headers with scrollable tests */

@supports (display: flex) or (display: -webkit-box) {
	@media (min-height: 500px) {
		#qunit {
			position: fixed;
			left: 0;
			right: 0;
			top: 0;
			bottom: 0;
			padding: 8px;
			display: flex;
			flex-direction: column;
		}

		#qunit-tests {
			overflow: scroll;
		}

		#qunit-banner {
			flex: 5px 0 0;
		}
	}
}

/** Header (excluding toolbar) */

#qunit-header {
	padding: 0.5em 0 0.5em 1em;

	color: #C2CCD1;
	background-color: #0D3349;

	font-size: 1.5em;
	line-height: 1em;
	font-weight: 400;

	border-radius: 5px 5px 0 0;
}

#qunit-header a {
	text-decoration: none;
	color: inherit;
}

#qunit-header a:hover,
#qunit-header a:focus {
	color: #FFF;
}

#qunit-banner {
	height: 5px;
}

#qunit-filteredTest {
	padding: 0.5em 1em 0.5em 1em;
	color: #366097;
	background-color: #F4FF77;
}

#qunit-userAgent {
	padding: 0.5em 1em 0.5em 1em;
	color: #FFF;
	background-color: #2B81AF;
	text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 1px;
}

/** Toolbar */

#qunit-testrunner-toolbar {
	padding: 0.5em 1em 0.5em 1em;
	color: #5E740B;
	background-color: #EEE;
}

#qunit-testrunner-toolbar .clearfix {
	height: 0;
	clear: both;
}

#qunit-testrunner-toolbar label {
	display: inline-block;
}

#qunit-testrunner-toolbar input[type=checkbox],
#qunit-testrunner-toolbar input[type=radio] {
	margin: 3px;
	vertical-align: -2px;
}

#qunit-testrunner-toolbar input[type=text] {
	box-sizing: border-box;
	height: 1.6em;
}

#qunit-testrunner-toolbar button,
#qunit-testresult button {
  border-radius: .25em;
  border: 1px solid #AAA;
  background-color: #F8F8F8;
  color: #222;
  line-height: 1.6;
  cursor: pointer;
}

#qunit-testrunner-toolbar button:hover,
#qunit-testresult button:hover {
	border-color: #AAA;
	background-color: #FFF;
	color: #444;
}

#qunit-testrunner-toolbar button:active,
#qunit-testresult button:active {
	border-color: #777;
	background-color: #CCC;
	color: #000;
}

#qunit-testrunner-toolbar button:focus,
#qunit-testresult button:focus {
	border-color: #2F68DA;
	/* emulate 2px border without a layout shift */
	box-shadow: inset 0 0 0 1px #2F68DA
}

#qunit-testrunner-toolbar button:disabled,
#qunit-testresult button:disabled {
	border-color: #CCC;
	background-color: #CCC;
	color: #FFF;
  cursor: default;
}

#qunit-toolbar-filters {
	float: right;
	/* aligning right avoids overflows and inefficient use of space
	   around the dropdown menu on narrow viewports */
	text-align: right;
}

.qunit-url-config,
.qunit-filter,
#qunit-modulefilter {
	display: inline-block;
	line-height: 2.1em;
	text-align: left;
}

.qunit-filter,
#qunit-modulefilter {
	position: relative;
	margin-left: 1em;
}

.qunit-url-config label {
	margin-right: 0.5em;
}

#qunit-modulefilter-search {
	box-sizing: border-box;
	min-width: 400px;
	min-width: min(400px, 80vw);
}

#qunit-modulefilter-search-container {
	position: relative;
}

#qunit-modulefilter-search-container:after {
	position: absolute;
	right: 0.3em;
	bottom: 0;
	line-height: 100%;
	content: "\25bc";
	color: black;
}

#qunit-modulefilter-dropdown {
	/* align with #qunit-modulefilter-search */
	box-sizing: border-box;
	min-width: 400px;
	min-width: min(400px, 80vw);
	max-width: 80vw;
	position: absolute;
	right: 0;
	top: 100%;
	margin-top: 2px;

	/* ensure that when on a narrow viewports and having only one result,
	   that #qunit-modulefilter-actions fall outside the dropdown rectangle. */
	min-height: 3em;

	border: 1px solid #AAA;
	border-top-color: transparent;
	border-radius: 0 0 .25em .25em;
	color: #0D3349;
	background-color: #F5F5F5;
	z-index: 99;
}

#qunit-modulefilter-actions {
	display: block;
	overflow: auto;
	/* align with #qunit-modulefilter-dropdown-list */
	font: smaller/1.5em sans-serif;
}

@media (min-width: 350px) {
	#qunit-modulefilter-actions {
		position: absolute;
		right: 0;
	}
}

#qunit-modulefilter-dropdown #qunit-modulefilter-actions > * {
	box-sizing: border-box;
	max-height: 2.8em;
	display: block;
	padding: 0.4em;
}

#qunit-modulefilter-dropdown #qunit-modulefilter-actions > button {
	float: right;
	margin: 0.25em;
}

#qunit-modulefilter-dropdown-list {
	margin: 0;
	padding: 0;
	font: smaller/1.5em sans-serif;
}

#qunit-modulefilter-dropdown-list li {
	list-style: none;
}

#qunit-modulefilter-dropdown-list .clickable {
	display: block;
	padding: 0.25em 0.50em 0.25em 0.15em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

#qunit-modulefilter-dropdown-list .clickable.checked {
	font-weight: bold;
	background-color: #E2F0F7;
	color: #0D3349;
}

#qunit-modulefilter-dropdown .clickable:hover {
	background-color: #FFF;
	color: #444;
}

/** Tests: Pass/Fail */

#qunit-tests {
	list-style-position: inside;
}

#qunit-tests li {
	padding: 0.4em 1em 0.4em 1em;
	border-bottom: 1px solid #FFF;
	list-style-position: inside;
}

#qunit-tests > li {
	display: none;
}

#qunit-tests li.running,
#qunit-tests li.pass,
#qunit-tests li.fail,
#qunit-tests li.skipped,
#qunit-tests li.aborted {
	display: list-item;
}

#qunit-tests.hidepass {
	position: relative;
}

#qunit-tests.hidepass li.running,
#qunit-tests.hidepass li.pass:not(.todo) {
	visibility: hidden;
	position: absolute;
	width:   0;
	height:  0;
	padding: 0;
	border:  0;
	margin:  0;
}

#qunit-tests li .qunit-test-name {
	cursor: pointer;
}

#qunit-tests li.skipped .qunit-test-name {
	cursor: default;
}

#qunit-tests li a {
	padding: 0.5em;
	color: inherit;
	text-decoration: underline;
}

#qunit-tests li a:hover,
#qunit-tests li a:focus {
	color: #0D3349;
}

#qunit-tests li .runtime {
	float: right;
	font-size: smaller;
}

.qunit-assert-list {
	margin-top: 0.5em;
	padding: 0.5em;

	background-color: #FFF;

	border-radius: 5px;
}

.qunit-source {
	margin: 0.6em 0 0.3em;
}

.qunit-collapsed {
	display: none;
}

#qunit-tests table {
	border-collapse: collapse;
	margin-top: 0.2em;
}

#qunit-tests th {
	text-align: right;
	vertical-align: top;
	padding: 0 0.5em 0 0;
}

#qunit-tests td {
	vertical-align: top;
}

#qunit-tests pre {
	margin: 0;
	white-space: pre-wrap;
	word-wrap: break-word;
}

#qunit-tests del {
	color: #374E0C;
	background-color: #E0F2BE;
	text-decoration: none;
}

#qunit-tests ins {
	color: #500;
	background-color: #FFCACA;
	text-decoration: none;
}

/*** Test Counts */

#qunit-tests b.counts                       { color: #0D3349; }

#qunit-tests b.passed                       { color: #5E740B; }

#qunit-tests b.failed                       { color: #710909; }

#qunit-tests li li {
	padding: 5px;
	background-color: #FFF;
	border-bottom: none;
	list-style-position: inside;
}

/*** Passing Styles */

#qunit-tests .pass {
	color: #2F68DA;
	background-color: #E2F0F7;
}

#qunit-tests .pass .test-name {
	color: #366097;
}

#qunit-tests li li.pass {
	color: #3C510C;
	background-color: #FFF;
	border-left: 10px solid #C6E746;
}

#qunit-tests .pass .test-actual,
#qunit-tests .pass .test-expected           { color: #999; }

#qunit-banner.qunit-pass                    { background-color: #C6E746; }

/*** Failing Styles */

#qunit-tests .fail {
	color: #000;
	background-color: #EE5757;
}

#qunit-tests li li.fail {
	color: #710909;
	background-color: #FFF;
	border-left: 10px solid #EE5757;
	white-space: pre;
}

#qunit-tests > li:last-child {
	border-radius: 0 0 5px 5px;
}

#qunit-tests .fail .test-actual             { color: #EE5757; }

#qunit-tests .fail .test-expected           { color: #008000; }

#qunit-banner.qunit-fail                    { background-color: #EE5757; }

/*** Aborted tests */

#qunit-tests .aborted { color: #000; background-color: orange; }

/*** Skipped tests */

#qunit-tests .skipped {
	background-color: #EBECE9;
}

#qunit-tests .qunit-todo-label,
#qunit-tests .qunit-skipped-label {
	background-color: #F4FF77;
	display: inline-block;
	font-style: normal;
	color: #366097;
	line-height: 1.8em;
	padding: 0 0.5em;
	margin: -0.4em 0.4em -0.4em 0;
}

#qunit-tests .qunit-todo-label {
	background-color: #EEE;
}

/** Result */

#qunit-testresult {
	color: #366097;
	background-color: #E2F0F7;

	border-bottom: 1px solid #FFF;
}

#qunit-testresult a {
	color: #2F68DA;
}

#qunit-testresult .clearfix {
	height: 0;
	clear: both;
}

#qunit-testresult .module-name {
	font-weight: 700;
}

#qunit-testresult-display {
	padding: 0.5em 1em 0.5em 1em;
	width: 85%;
	float:left;
}

#qunit-testresult-controls {
	padding: 0.5em 1em 0.5em 1em;
  width: 10%;
	float:left;
}

/** Fixture */

#qunit-fixture {
	position: absolute;
	top: -10000px;
	left: -10000px;
	width: 1000px;
	height: 1000px;
}
/* Override QUnit's default styles that place #qunit-fixture outside the viewport */
#qunit-fixture {
  position: relative;
  left: auto;
  top: auto;
  width: auto;
  height: auto;
}
#ember-testing-container {
  position: fixed;

  background-color: #fff;
  background-image:
    linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee),
    linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee);
  background-position: 0 0, 10px 10px;
  background-size: 20px 20px;

  bottom: 0;
  right: 0;
  width: 640px;
  height: 384px;
  overflow: auto;
  z-index: 98;
  border: 1px solid #ccc;
  margin: 0 auto;

  /* Prevent leaking position fixed elements outside the testing container */
  transform: translateZ(0);
}
#ember-testing-container.ember-testing-container-full-screen {
  width: 100%;
  height: 100%;
  overflow: auto;
  z-index: 98;
  border: none;
  right: 0;
}
#ember-testing-container.ember-testing-container-hidden {
  opacity: 0;
  pointer-events: none;
}
#ember-testing {
  width: 200%;
  height: 200%;
  transform: scale(0.5);
  transform-origin: top left;
}
.ember-testing-container-full-screen #ember-testing {
  position: absolute;
  width: 100%;
  height: 100%;
  transform: scale(1);
}
#qunit-tests > li:last-child {
  margin-bottom: 384px;
}
@supports (display: flex) or (display: -webkit-box) {
  @media (min-height: 500px) {
    #qunit-tests {
      overflow: auto;
    }

    #ember-testing-container {
      right: 30px;
    }
  }
}
