@charset "UTF-8";
/**
 APP
 ===
 The layout of the entire
 application.
*/
.app {
  bottom: 0;
  display: flex;
  flex: auto;
  flex-direction: column;
  font-size: 12px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 0;
}

.app.is-dragging {
  cursor: col-resize;
}

:root {
  --font-sans-serif: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Roboto", "Cantarell", "Oxygen", "Ubuntu", "Helvetica Neue", helvetica, arial, sans-serif;
  --font-monospace: "SF Mono", Menlo, Monaco, monospace;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 12px;
  font-weight: normal;
  margin: 0;
  padding: 0;
}

html,
body {
  height: 100%;
}

body,
input {
  color: var(--base14);
  font-family: var(--font-sans-serif);
}

body,
div,
nav {
  margin: 0;
  padding: 0;
}

a {
  color: var(--inherit);
}

code {
  font-family: var(--font-monospace);
}

.theme--light {
  --base00: #ffffff;
  --base01: #f3f3f3;
  --base02: #ededed;
  --base03: #d6d6d6;
  --base04: #d1d1d1;
  --base05: #cacaca;
  --base06: #b3b3b3;
  --base07: #a3a3a3;
  --base08: #888888;
  --base09: #777777;
  --base10: #737373;
  --base11: #676767;
  --base12: #555555;
  --base13: #404040;
  --base14: #333333;
  --base15: #222222;
  --spec00: #fffec2;
  --spec01: #ff0000;
  --spec02: #990000;
  --spec03: #000099;
  --spec04: #3F81EE;
  --spec05: #7c027c;
  --spec06: #ecf1fa;
  --spec07: #cd61a7;
  --spec08: #7fb56d;
  --spec09: #328509;
  --white: #ffffff;
  --inherit: inherit;
  --transparent: transparent;
  --focus: #3F81EE;
  --focus-text: var(--white);
  --component-text: #7c027c;
  --component-brackets-selected: rgba(255, 255, 255, 0.4);
  --pill-bg: rgba(0, 0, 0, 0.1);
  --pill-bg-active: rgba(255, 255, 255, 0.3);
  --warning-text: #735c0f;
}

.theme--dark {
  --base00: #242424;
  --base01: #242424;
  --base02: #121212;
  --base03: #292929;
  --base04: #2E2E2E;
  --base05: #353535;
  --base06: #4C4C4C;
  --base07: #5C5C5C;
  --base08: #777777;
  --base09: #888888;
  --base10: #8C8C8C;
  --base11: #989898;
  --base12: #AAAAAA;
  --base13: #BFBFBF;
  --base14: #CCCCCC;
  --base15: #DDDDDD;
  --spec00: #00013D;
  --spec01: #00FFFF;
  --spec02: #66FFFF;
  --spec03: #FFFF66;
  --spec04: #C07E11;
  --spec05: #83FD83;
  --spec06: #130E05;
  --spec07: #cd61a7;
  --spec08: #7fb56d;
  --spec09: #328509;
  --white: #ffffff;
  --inherit: inherit;
  --transparent: transparent;
  --focus: #2270EC;
  --focus-text: var(--white);
  --component-text: #FF8BC9;
  --component-brackets-selected: rgba(255, 255, 255, 0.4);
  --pill-bg: rgba(255, 255, 255, 0.2);
  --pill-bg-active: rgba(255, 255, 255, 0.3);
  --warning-text: #8ca3f0;
}

.component-tree-item {
  align-items: center;
  border-radius: 4px;
  color: var(--base12);
  display: flex;
  font-size: 12px;
  margin: 3px 3px 0;
  min-height: 18px;
  position: relative;
}

.component-tree-item__expand {
  align-self: stretch;
  cursor: pointer;
  padding-left: 3px;
  padding-right: 3px;
}

.component-tree-item__action {
  align-items: center;
  background: transparent;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  height: 100%;
  margin-left: 10px;
  opacity: 0;
  padding: 0;
}
.component-tree-item__action:focus {
  outline: none;
}
.component-tree-item__action.disabled {
  cursor: not-allowed;
}
.component-tree-item__action polygon,
.component-tree-item__action rect,
.component-tree-item__action path {
  fill: var(--base15);
}

.component-tree-item__tag {
  cursor: default;
  display: flex;
}

.component-tree-item--component .component-tree-item__tag {
  cursor: pointer;
}

.component-tree-item__bracket:before {
  color: var(--base07);
  content: "{{";
}

.component-tree-item__bracket:after {
  color: var(--base07);
  content: "}}";
}

/**
 * Modifier
 */
.component-tree-item--selected.component-tree-item--component {
  background: var(--focus);
  color: var(--focus-text);
}
.component-tree-item--selected.component-tree-item--component:hover {
  background: var(--focus);
}
.component-tree-item--selected.component-tree-item--component .component-tree-item__bracket:before,
.component-tree-item--selected.component-tree-item--component .component-tree-item__bracket:after {
  color: var(--component-backets-selected);
}
.component-tree-item--selected.component-tree-item--component .component-tree-item__expand,
.component-tree-item--selected.component-tree-item--component .component-tree-item__action {
  opacity: 1;
}
.component-tree-item--selected.component-tree-item--component .component-tree-item__expand polygon,
.component-tree-item--selected.component-tree-item--component .component-tree-item__expand rect,
.component-tree-item--selected.component-tree-item--component .component-tree-item__expand path,
.component-tree-item--selected.component-tree-item--component .component-tree-item__action polygon,
.component-tree-item--selected.component-tree-item--component .component-tree-item__action rect,
.component-tree-item--selected.component-tree-item--component .component-tree-item__action path {
  fill: var(--focus-text);
}
.component-tree-item--selected.component-tree-item--component .component-tree-item__action.disabled {
  opacity: 0.65;
}

.component-tree-item--component {
  color: var(--component-text);
}
.component-tree-item--component:hover {
  background-color: var(--spec06);
}
.component-tree-item--component:hover .component-tree-item__action {
  opacity: 1;
}
.component-tree-item--component:hover .component-tree-item__action.disabled {
  opacity: 0.65;
}

/**
 DROP-DOWN
 =========
*/
.dropdown {
  flex: auto;
  height: 28px;
  position: relative;
}

.dropdown__select {
  -moz-appearance: none;
  -webkit-appearance: none;
  background-color: var(--transparent);
  border: 0;
  box-sizing: border-box;
  color: var(--base13);
  display: block;
  font-size: 12px;
  height: 100%;
  margin: 0;
  padding: 0 16px 0 5px;
  width: 100%;
}

.dropdown__select:focus {
  outline: none;
}

.dropdown__arrow {
  opacity: 0.7;
  pointer-events: none;
  position: absolute;
  right: 5px;
  top: 9px;
  width: 6px;
}
.dropdown__arrow path {
  fill: var(--base13);
}

/**
 MIXIN
 =====
 A single mixin inside the object inspector
 It could be the object's own properties
 or a mixin the object extends
*/
.mixin__name {
  background-color: var(--base01);
  border-bottom: 1px solid var(--base03);
  color: var(--base15);
  cursor: default;
  overflow: hidden;
  padding: 4px 2px 4px 22px;
  position: -webkit-sticky;
  position: sticky;
  text-overflow: ellipsis;
  top: 0;
  user-select: none;
  white-space: nowrap;
  z-index: 1;
}

.mixin__name:active {
  background-color: var(--base02);
}

.mixin__name--no-props {
  color: var(--base09);
}

.mixin__name:before {
  color: var(--base10);
  content: "▶";
  font-size: 90%;
  left: 6px;
  margin-right: 5px;
  position: absolute;
  top: 5px;
  transform: rotate(0deg);
  transition: all 0.1s;
}

.mixin_props_no .mixin__name:before {
  opacity: 0;
}

.mixin_state_expanded .mixin__name:before {
  transform: rotate(90deg);
}

.mixin__properties {
  border-bottom: 1px solid var(--base03);
  font-family: var(--font-monospace);
  font-size: 12px;
  list-style-type: none;
  margin: 0;
  padding: 3px 0 5px;
}

.mixin__property {
  align-items: center;
  display: flex;
  flex-direction: row;
  min-height: 19px;
  overflow: hidden;
  padding-bottom: 1px;
  padding-top: 1px;
  position: relative;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mixin__property button {
  background: none;
  border: none;
  margin: 0;
  padding: 0;
}
.mixin__property .pad {
  flex-shrink: 0;
  width: 22px;
}
.mixin__property .mixin__calc-btn svg path,
.mixin__property .mixin__calc-btn svg circle {
  fill: var(--spec07);
}
.mixin__property .mixin__send-btn {
  flex-shrink: 0;
  opacity: 0;
  padding-right: 6px;
}
.mixin__property .mixin__cp-toggle {
  outline: none;
  width: 22px;
}
.mixin__property .mixin__cp-toggle svg {
  transform: rotate(-90deg) translateY(1px);
  transition: all 0.2s;
}
.mixin__property .mixin__cp-toggle--expanded svg {
  transform: rotate(0deg);
}

/* Errors */
.mixin__error {
  color: var(--spec01);
  margin-right: 3px;
  padding: 0 20px;
}

.mixin__name--errors {
  background-color: var(--base00);
}
.mixin__name--errors:active {
  background-color: var(--base00);
}
.mixin__name--errors button {
  margin-left: 10px;
}

/* Buttons */
.mixin__property-overridden-by {
  display: none;
}

.mixin__property-name {
  color: var(--base14);
  max-width: 50%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mixin__property-value {
  flex: 1;
  min-height: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mixin__property-value-txt {
  background: var(--base01);
  border: 1px solid var(--base09);
  color: var(--base14);
  flex: 1;
  font-size: 12px;
  outline: none;
}

.mixin__property-value-separator {
  margin-right: 5px;
}

.mixin__property .type-function {
  color: var(--base08);
}

.mixin__property .type-object {
  color: var(--base11);
}

.mixin__property .type-ember-object,
.mixin__property .type-array {
  cursor: pointer;
}

.mixin__property .type-null,
.mixin__property .type-boolean {
  color: var(--spec03);
}

.mixin__property .type-descriptor {
  color: var(--spec02);
  cursor: pointer;
}

.mixin__property .type-service {
  color: var(--spec09);
}

.mixin__property_state_overridden {
  text-decoration: line-through;
}

.mixin__property:not(.mixin__property_state_overridden):hover {
  background-color: var(--base01);
}

.mixin__property_state_overridden:hover .mixin__property-overridden-by {
  background-color: var(--spec00);
  display: inline;
  position: absolute;
  right: 0;
  text-decoration: none;
}

.mixin__property:not(.mixin__property_state_overridden):hover .mixin__send-btn {
  opacity: 1;
}
.mixin__property:not(.mixin__property_state_overridden):hover .mixin__send-btn:active {
  opacity: 0.5;
}

/**
 OBJECT-INSPECTOR
 ================
 The Object inspector
 at the far right of the screen
*/
.object-inspector-object-name {
  flex: auto;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.object-trail {
  margin-bottom: 4px;
  margin-left: 39px;
  word-break: break-all;
}

.object-inspector-toolbar.toolbar {
  border-bottom: 1px solid var(--base03);
  min-height: 30px;
}
.object-inspector-toolbar.toolbar .toolbar__radio--first {
  margin-left: 7px;
}

.mixin__property-dependency-list {
  margin-bottom: 5px;
  margin-top: 2px;
  padding-top: 2px;
  position: relative;
}
.mixin__property-dependency-list > svg {
  height: 10px;
  left: 28px;
  position: absolute;
  top: -4px;
  width: 19px;
}
.mixin__property-dependency-list ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mixin__property-dependency-item {
  color: var(--base12);
  font-size: 11px;
  margin-bottom: 2px;
  margin-left: 55px;
  position: relative;
}
.mixin__property-dependency-item:before {
  background-color: var(--base08);
  content: "";
  height: 8px;
  left: -9px;
  position: absolute;
  top: -5px;
  width: 1px;
}
.mixin__property-dependency-item svg {
  bottom: 2px;
  left: -13px;
  position: absolute;
}
.mixin__property-dependency-item svg ellipse {
  fill: var(--base00);
  stroke: var(--base08);
}

.mixin__property-dependency-item:first-child:before {
  display: none;
}

.mixin__property-icon-container {
  flex-shrink: 0;
  width: 22px;
}

.mixin__property-icon {
  border-radius: 3px;
  color: var(--white);
  display: inline-block;
  font-family: var(--font-monospace);
  font-size: 13px;
  height: 17px;
  line-height: 17px;
  text-align: center;
  -webkit-user-select: none;
  user-select: none;
  width: 17px;
}

.mixin__property-icon--service {
  background-color: var(--spec08);
}
.mixin__property-icon--service:before {
  content: "S";
}

.mixin__property-icon--computed {
  background-color: var(--spec07);
}
.mixin__property-icon--computed:before {
  content: "C";
}

.mixin__property-icon--property {
  background-color: var(--base06);
}
.mixin__property-icon--property:before {
  content: "P";
}

.route-cell-objects .is-link {
  display: inline-block;
  margin-right: 2px;
}
.route-cell-objects .send-to-console {
  margin-right: 10px;
}

.whats-new {
  padding: 30px 40px;
}
.whats-new h1 {
  font-size: 34px;
  font-weight: 700;
  margin-bottom: 0.25rem;
}
.whats-new h2 {
  border-bottom: 1px solid var(--base02);
  font-size: 21px;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
}
.whats-new ul {
  list-style-type: circle;
  padding: 0;
}
.whats-new li,
.whats-new p {
  font-size: 14px;
  line-height: 120%;
  margin-bottom: 0.5rem;
}
.whats-new a {
  color: var(--spec04);
}

.ember-table {
  background: var(--base00);
}
.ember-table table {
  min-width: 100%;
}
.ember-table th,
.ember-table td {
  border-right: 1px solid var(--base04);
}
.ember-table th {
  background: var(--base00);
  border-bottom: 1px solid var(--base05);
  box-sizing: border-box;
  color: var(--inherit);
  font-weight: normal;
  line-height: 30px;
  min-height: 30px;
  opacity: 1;
  overflow: hidden;
  padding: 3px 6px;
  position: relative;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ember-table td {
  background: var(--base02);
}
.ember-table td,
.ember-table .et-cell-content {
  box-sizing: border-box;
  line-height: 30px;
  min-height: 30px;
  overflow: hidden;
  padding: 3px 6px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ember-table .striped td {
  background-color: var(--base00);
}
.ember-table .blue {
  color: #174fff;
}
.ember-table .green {
  color: #009900;
}
.ember-table .red {
  color: #ff2717;
}
.ember-table th.is-sortable:hover {
  background: var(--base04);
}
.ember-table .et-sort-indicator:before {
  content: "▾";
  display: inline-block;
  font-size: 1rem;
  line-height: 1;
  transform: rotate(0);
}
.ember-table .et-sort-indicator.is-ascending:before {
  transform: rotate(180deg);
}
.ember-table .et-header-resize-area {
  cursor: col-resize;
  width: 12px;
}
.ember-table.is-resizing * {
  cursor: col-resize !important;
  user-select: none;
}
.ember-table th.is-reorderable {
  cursor: grab;
}
.ember-table .et-reorder-drop-indicator,
.ember-table .et-reorder-main-indicator {
  background: 0 0;
  border-left: none;
  opacity: 0.8;
  position: absolute;
  z-index: 10;
}
.ember-table .et-reorder-main-indicator {
  border-right: none;
}
.ember-table .et-reorder-main-indicator th {
  background: #e9f4fc;
}
.ember-table .et-reorder-drop-indicator {
  border-right: #27618a solid 1px;
  height: 100%;
}
.ember-table.is-reordering * {
  cursor: grabbing !important;
  user-select: none;
}
.ember-table td.is-first-column {
  padding: 0;
}
.ember-table .is-link {
  cursor: pointer;
  text-decoration: underline;
}
.ember-table .et-cell-container {
  display: flex;
}
.ember-table .et-toggle-collapse,
.ember-table .et-toggle-select {
  align-items: center;
  display: flex;
}
.ember-table .et-toggle-select {
  padding: 4px;
}
.ember-table .et-toggle-collapse {
  box-sizing: content-box;
  padding: 0;
  width: 24px;
}
.ember-table .et-depth-placeholder:not(.depth-0) {
  box-sizing: content-box;
  height: 100%;
  width: 24px;
}
.ember-table .et-depth-indent.depth-1 {
  padding-left: 16px;
}
.ember-table .et-cell-content {
  flex: 1;
}
.ember-table tr.is-selectable {
  cursor: pointer;
}
.ember-table tr.is-selected td {
  background: var(--focus);
  color: var(--focus-text);
}
.ember-table tr.is-selectable:hover td {
  background: var(--base04);
}
.ember-table tr.is-selected.is-selectable:hover td {
  background: var(--focus);
  color: var(--focus-text);
}