.ie-hidden {
  display: none !important;
}

.ie-routesim-surface {
  position: relative;
  min-height: calc(100vh - 106px);
}

body.ie-launcher-active .ie-shell {
  grid-template-rows: 1fr;
}

body.ie-launcher-active .ie-topbar {
  display: none;
}

body.ie-launcher-active .ie-layout-single {
  padding: 0;
}

body.ie-launcher-active .ie-routesim-surface {
  min-height: 100vh;
}

.authPage {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #dde1e8;
  color: #141a26;
  padding: 28px;
}

.authShell {
  --auth-left-share: 42%;
  width: min(1180px, 96vw);
  height: min(640px, 90vh);
  position: relative;
  display: block;
  background: radial-gradient(140% 120% at 60% 15%, #151f44 0%, #0b1228 45%, #060a15 100%);
  border-radius: 18px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.48), 0 0 0 1px rgba(130, 160, 255, 0.16);
  overflow: hidden;
}

.authPanel {
  height: 100%;
  position: relative;
}

.authPanelLeft {
  background: transparent;
  z-index: 3;
  width: var(--auth-left-share);
  max-width: 560px;
  min-width: 420px;
  padding: 54px 64px 46px 64px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.authHeading {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: -4px 0 10px 0;
}

.authTitle {
  --auth-title-base-size: 2.0125;
  --auth-title-min-size: 1.5125;
  font-size: calc(var(--auth-title-base-size) * 1rem);
  font-weight: 800;
  color: #deebff;
  letter-spacing: 0.08px;
  line-height: 1.08;
  white-space: nowrap;
  margin: 0;
}

.authSubtitle {
  font-size: 13px;
  font-weight: 700;
  color: #8db5ff;
  letter-spacing: 0.3px;
  opacity: 0.95;
}

.authForm {
  display: flex;
  flex-direction: column;
  gap: 14px;
  height: 100%;
}

.authField {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.authLabel {
  font-size: 12px;
  color: #9ab0df;
  font-weight: 700;
  letter-spacing: 0.2px;
}

.authInputRow {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(130, 160, 255, 0.36);
  border-radius: 6px;
  background: rgba(5, 10, 23, 0.62);
  padding: 10px 12px;
}

.authIcon {
  color: #8db4ff;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  flex: 0 0 20px;
}

.authIconSvg {
  width: 18px;
  height: 18px;
  display: block;
}

.authInput {
  width: 100%;
  border: none;
  outline: none;
  background: transparent;
  color: #e6eeff;
  font-size: 14px;
}

.authInput::placeholder {
  color: #6f89be;
}

.authHint {
  font-size: 12px;
  color: #8db5ff;
  margin-top: 2px;
}

.authBtn {
  margin-top: 4px;
  height: 36px;
  border: none;
  border-radius: 6px;
  background: linear-gradient(180deg, #2f7cff 0%, #1f5ff0 100%);
  color: #ffffff;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(29, 95, 255, 0.35);
}

.authBtn:hover {
  filter: brightness(1.06);
}

.authSupport {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 0;
}

.authSupportTitle {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: #d7e6ff;
  font-weight: 800;
}

.authSupportDot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #53baff;
  display: inline-block;
  box-shadow: 0 0 10px rgba(83, 186, 255, 0.75);
}

.authSupportText {
  font-size: 12px;
  color: #6b7280;
  line-height: 1.35;
  max-width: 420px;
}

.authPanelRight {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  pointer-events: auto;
}

.authStatusStack {
  margin-top: 4px;
  min-height: 16px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 4px;
}

.authStatusStack .authHint {
  width: 100%;
  text-align: center;
  display: none;
}

.authGuestStatus {
  width: 100%;
  min-height: 16px;
  margin-top: 2px;
  text-align: left;
  display: none;
}

.authAnimToggleWrap {
  position: absolute;
  right: 8px;
  bottom: 8px;
  display: flex;
  justify-content: flex-end;
  z-index: 6;
  pointer-events: auto;
}

.authAnimToggle {
  border: none;
  border-radius: 999px;
  width: 36px;
  height: 20px;
  padding: 0;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.authAnimToggleTrack {
  position: relative;
  width: 36px;
  height: 20px;
  border-radius: 999px;
  background: rgba(63, 99, 170, 0.68);
  box-shadow: inset 0 0 0 1px rgba(176, 209, 255, 0.38);
}

.authAnimToggleKnob {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: #f5f9ff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.34);
  transition: left 150ms ease;
}

.authAnimToggle.on .authAnimToggleKnob {
  left: 18px;
}

.authAnimToggle.off .authAnimToggleTrack {
  background: rgba(63, 80, 109, 0.58);
}

.authAnimToggle.off .authAnimToggleKnob {
  left: 2px;
}

.authAnimToggle:hover {
  filter: brightness(1.08);
}

.authArt {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.authArtInner {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  background: transparent;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.auth3dMount {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.auth3dMount canvas {
  display: block;
  width: 100%;
  height: 100%;
}

.ie-runtime-view {
  --ie-rs-left-pane-px: 520px;
  --ie-rs-log-pane-px: 220px;
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px;
  overflow: hidden;
  color: #e7eefc;
  background: radial-gradient(120% 90% at 20% 0%, #132346 0%, #0c172f 46%, #0a1224 100%);
}

.ie-runtime-view .ie-input,
.ie-runtime-view .ie-select,
.ie-runtime-view .ie-textarea {
  border-color: #30466e;
  background: #0a172f;
  color: #e7eefc;
}

.ie-runtime-view .ie-field label {
  color: #b9c9e6;
}

.ie-rs-topbar {
  height: 44px;
  display: grid;
  grid-template-columns: minmax(200px, 1fr) minmax(220px, 420px) auto;
  align-items: center;
  gap: 12px;
  padding: 0 12px;
  border: 1px solid #24395f;
  border-radius: 4px;
  background: #08162f;
}

.ie-rs-toptitle {
  min-width: 0;
}

.ie-rs-toptitle #runtimeTitle {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.2px;
}

.ie-runtime-mode-hint {
  margin: 0;
  color: #9eb3d8;
  font-size: 11px;
}

.ie-rs-search {
  justify-self: center;
  width: 100%;
  max-width: 420px;
  height: 28px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.08);
  color: #dbe6fb;
}

.ie-rs-search input {
  width: 100%;
  border: none;
  outline: none;
  background: transparent;
  color: #dbe6fb;
}

.ie-rs-search input:disabled {
  opacity: 1;
}

.ie-rs-search input::placeholder {
  color: #8ea5ce;
}

.ie-rs-top-actions {
  justify-self: end;
  display: flex;
  align-items: center;
}

.ie-rs-top-icons {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ie-runtime-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.ie-rs-icon-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ie-rs-icon-btn {
  height: 30px;
  min-width: 34px;
  border-radius: 3px;
  border: 1px solid #2f4672;
  background: rgba(255, 255, 255, 0.06);
  color: #e7eefc;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  padding: 0 8px;
}

.ie-rs-arrow-btn {
  width: 30px;
  min-width: 30px;
  font-size: 18px;
  line-height: 1;
  padding: 0;
}

.ie-rs-hist-count {
  height: 30px;
  min-width: 42px;
  padding: 0 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #2f4672;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.06);
  color: #aebfdf;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 12px;
}

.ie-rs-save-cluster {
  height: 30px;
  min-width: 116px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 8px;
  border: 1px solid #2f4672;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.06);
}

.ie-rs-save-state {
  min-width: 76px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  color: #9eb1d3;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.ie-rs-save-state.saving {
  color: #a9d8ff;
}

.ie-rs-save-state.saved {
  color: #8ee2b6;
}

.ie-rs-save-state.error {
  color: #ffb3b3;
}

.ie-rs-save-cluster.clean {
  border-color: #2f4672;
}

.ie-rs-save-cluster.dirty {
  border-color: rgba(105, 227, 155, 0.85);
  background: rgba(55, 140, 104, 0.25);
  box-shadow: 0 0 0 1px rgba(126, 245, 182, 0.22) inset;
}

.ie-rs-save-cluster.saving {
  border-color: rgba(123, 184, 255, 0.92);
  background: rgba(46, 110, 190, 0.4);
  box-shadow: 0 0 0 1px rgba(121, 190, 255, 0.2) inset;
}

.ie-rs-save-cluster.error {
  border-color: rgba(255, 132, 132, 0.88);
  background: rgba(160, 58, 58, 0.42);
  box-shadow: 0 0 0 1px rgba(255, 170, 170, 0.2) inset;
}

.ie-rs-save-btn {
  min-width: 44px;
}

.ie-rs-icon-gap {
  width: 14px;
}

.ie-rs-help-circle {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  border: 1px solid rgba(231, 238, 252, 0.22);
  background: rgba(231, 238, 252, 0.1);
  color: #e7eefc;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  padding: 0;
}

.ie-rs-gear-btn {
  width: 30px;
  height: 30px;
  border-radius: 3px;
}

.ie-rs-help-circle:disabled,
.ie-rs-icon-btn:disabled {
  opacity: 1;
  cursor: default;
}

.ie-rs-icon-btn.on {
  border-color: rgba(126, 196, 255, 0.82);
  background: rgba(61, 108, 185, 0.56);
}

.ie-rs-icon-btn.snap {
  border-color: rgba(156, 219, 255, 0.95);
  background: rgba(64, 119, 185, 0.68);
}

.ie-rs-theme-light {
  color: #14233e;
  background: radial-gradient(120% 90% at 20% 0%, #edf2f8 0%, #dde6f2 46%, #d2deec 100%);
}

.ie-rs-theme-light .ie-rs-topbar {
  border-color: #b7c4d8;
  background: #aeb9c8;
}

.ie-rs-theme-light .ie-rs-toptitle #runtimeTitle {
  color: #1a2a47;
}

.ie-rs-theme-light .ie-runtime-mode-hint {
  color: #3f5478;
}

.ie-rs-theme-light .ie-rs-search {
  border-color: rgba(20, 26, 38, 0.14);
  background: rgba(0, 0, 0, 0.05);
  color: #1a2a47;
}

.ie-rs-theme-light .ie-rs-search input,
.ie-rs-theme-light .ie-rs-search input::placeholder {
  color: #3b4f72;
}

.ie-rs-theme-light .ie-rs-icon-btn,
.ie-rs-theme-light .ie-rs-hist-count,
.ie-rs-theme-light .ie-rs-save-cluster {
  border-color: #aebed6;
  background: rgba(0, 0, 0, 0.05);
  color: #1a2a47;
}

.ie-rs-theme-light .ie-rs-save-state {
  color: #496088;
}

.ie-rs-theme-light .ie-rs-save-state.saving {
  color: #1f6fba;
}

.ie-rs-theme-light .ie-rs-save-state.saved {
  color: #237545;
}

.ie-rs-theme-light .ie-rs-save-state.error {
  color: #a13434;
}

.ie-rs-theme-light .ie-rs-icon-btn.on {
  border-color: rgba(57, 122, 209, 0.55);
  background: rgba(89, 149, 228, 0.24);
}

.ie-rs-theme-light .ie-rs-icon-btn.snap {
  border-color: rgba(64, 136, 225, 0.72);
  background: rgba(96, 163, 242, 0.34);
}

.ie-rs-theme-light .ie-rs-save-cluster.dirty {
  border-color: rgba(44, 136, 92, 0.62);
  background: rgba(88, 182, 132, 0.2);
  box-shadow: 0 0 0 1px rgba(66, 163, 112, 0.16) inset;
}

.ie-rs-theme-light .ie-rs-save-cluster.saving {
  border-color: rgba(66, 145, 231, 0.66);
  background: rgba(111, 174, 241, 0.24);
  box-shadow: 0 0 0 1px rgba(72, 151, 235, 0.16) inset;
}

.ie-rs-theme-light .ie-rs-save-cluster.error {
  border-color: rgba(195, 71, 71, 0.58);
  background: rgba(235, 129, 129, 0.24);
  box-shadow: 0 0 0 1px rgba(195, 71, 71, 0.14) inset;
}

.ie-rs-theme-light .ie-rs-help-circle {
  border-color: rgba(20, 26, 38, 0.18);
  background: rgba(20, 26, 38, 0.08);
  color: #15233c;
}

.ie-rs-workspace-row {
  border: 1px solid #293d63;
  border-radius: 4px;
  background: #0d1320;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 10px;
}

.ie-rs-workspace-menus {
  min-width: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.ie-rs-workspace-title {
  font-size: 12px;
  font-weight: 800;
  color: #d9e4fa;
  margin-right: 2px;
}

.ie-rs-menu-btn {
  border: 1px solid #2e446f;
  background: #162645;
  color: #dce8ff;
  border-radius: 3px;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  padding: 5px 10px;
}

.ie-rs-workspace-spacer {
  flex: 1 1 auto;
}

.ie-rs-menu-toggles {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #dce8ff;
}

.ie-rs-pill-row {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.ie-rs-pill-toggle {
  border: 1px solid #2f4672;
  background: rgba(231, 238, 252, 0.06);
  color: #dce8ff;
  border-radius: 999px;
  font: inherit;
  font-size: 12px;
  line-height: 16px;
  padding: 3px 12px;
}

.ie-rs-menu-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  user-select: none;
}

.ie-rs-menu-toggle input {
  accent-color: rgba(98, 160, 255, 0.95);
}

.ie-rs-theme-light .ie-rs-workspace-row,
.ie-rs-theme-light .ie-rs-left-panel,
.ie-rs-theme-light .ie-rs-canvas-panel {
  border-color: #b7c4d8;
  background: #f8fbff;
}

.ie-rs-theme-light .ie-rs-workspace-title,
.ie-rs-theme-light .ie-rs-log-title,
.ie-rs-theme-light .ie-rs-canvas-head h2 {
  color: #1b2b48;
}

.ie-rs-theme-light .ie-rs-menu-btn {
  border-color: #afc0d9;
  background: #e5edf8;
  color: #1b2b48;
}

.ie-rs-theme-light .ie-rs-menu-toggle,
.ie-rs-theme-light .ie-rs-menu-toggles {
  color: #263a5c;
}

.ie-rs-theme-light .ie-rs-pill-toggle {
  border-color: #afc0d9;
  background: rgba(43, 93, 170, 0.08);
  color: #1b2b48;
}

.ie-rs-theme-light .ie-input,
.ie-rs-theme-light .ie-select,
.ie-rs-theme-light .ie-textarea {
  border-color: #b2c2da;
  background: #fff;
  color: #1a2a46;
}

.ie-rs-theme-light .ie-field label {
  color: #334a6e;
}

.ie-rs-workspace-drawer {
  margin-left: auto;
  color: #d6e4ff;
}

.ie-rs-workspace-drawer > summary {
  list-style: none;
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
  border: 1px solid #2e446f;
  border-radius: 3px;
  padding: 5px 10px;
  background: #162645;
}

.ie-rs-workspace-drawer > summary::-webkit-details-marker {
  display: none;
}

.ie-rs-workspace-panel {
  position: absolute;
  right: 8px;
  top: 102px;
  z-index: 8;
  width: min(360px, calc(100vw - 28px));
  max-height: min(70vh, calc(100vh - 132px));
  overflow: auto;
}

.ie-rs-workspace-panel .ie-panel {
  border-radius: 4px;
  border-color: #2e446f;
  background: #101c34;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.42);
}

.ie-rs-layout {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(380px, var(--ie-rs-left-pane-px)) 6px 1fr;
  gap: 8px;
}

.ie-rs-left-panel,
.ie-rs-canvas-panel {
  border: 1px solid #293d63;
  border-radius: 4px;
  background: #0d1320;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 10px;
  overflow: hidden;
}

.ie-rs-left-resizer {
  align-self: stretch;
  border-radius: 4px;
  border: 1px solid #2b4068;
  background:
    repeating-linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.14) 0px,
      rgba(255, 255, 255, 0.14) 2px,
      rgba(255, 255, 255, 0) 2px,
      rgba(255, 255, 255, 0) 7px
    ),
    rgba(255, 255, 255, 0.06);
  cursor: col-resize;
  user-select: none;
  touch-action: none;
}

.ie-rs-theme-light .ie-rs-left-resizer {
  border-color: #b1c2d8;
  background:
    repeating-linear-gradient(
      135deg,
      rgba(0, 0, 0, 0.1) 0px,
      rgba(0, 0, 0, 0.1) 2px,
      rgba(0, 0, 0, 0) 2px,
      rgba(0, 0, 0, 0) 7px
    ),
    rgba(0, 0, 0, 0.05);
}

.ie-rs-left-resizer.dragging {
  background:
    repeating-linear-gradient(
      135deg,
      rgba(146, 215, 255, 0.28) 0px,
      rgba(146, 215, 255, 0.28) 2px,
      rgba(146, 215, 255, 0) 2px,
      rgba(146, 215, 255, 0) 7px
    ),
    rgba(44, 94, 167, 0.55);
}

.ie-rs-top-pane {
  min-height: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.ie-rs-tabs {
  flex: 0 0 auto;
}

.ie-rs-tab-strip {
  display: flex;
  gap: 8px;
  align-items: flex-end;
}

.ie-rs-tab {
  border: 1px solid #2f4266;
  border-bottom: none;
  border-radius: 4px 4px 0 0;
  background: #111b31;
  color: #b8c9e8;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.15px;
  padding: 7px 12px;
  cursor: pointer;
}

.ie-rs-tab.active {
  background: #162645;
  color: #f4f8ff;
  border-color: #42639e;
}

.ie-rs-theme-light .ie-rs-tab {
  border-color: #b5c3d9;
  background: #ebf1fa;
  color: #2c4164;
}

.ie-rs-theme-light .ie-rs-tab.active {
  background: #dce7f7;
  color: #14243d;
  border-color: #98afd3;
}

.ie-rs-tab-body {
  min-height: 0;
  flex: 1 1 auto;
  overflow: auto;
  border: 1px solid #2e446f;
  border-radius: 0 4px 4px 4px;
  background: #0b1325;
  padding: 10px;
}

.ie-rs-theme-light .ie-rs-tab-body {
  border-color: #b6c4d8;
  background: #f7fbff;
}

.ie-rs-config-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.ie-rs-field-span {
  grid-column: 1 / -1;
}

.ie-rs-left-panel .ie-textarea {
  min-height: 130px;
}

.ie-rs-left-panel .ie-runtime-actions {
  grid-column: 1 / -1;
  margin-top: 2px;
}

.ie-rs-left-panel .ie-results {
  background: #0b1325;
  border-color: #2e446f;
}

.ie-rs-theme-light .ie-rs-left-panel .ie-results {
  background: #f7fbff;
  border-color: #b6c4d8;
}

.ie-rs-raw-title {
  margin: 0 0 8px;
  color: #d6e4ff;
  font-size: 12px;
  font-weight: 800;
}

.ie-rs-raw {
  margin: 0;
  max-height: min(42vh, 420px);
  overflow: auto;
  border: 1px solid #2f436a;
  border-radius: 3px;
  background: #091224;
  color: #b8c9e9;
  padding: 10px;
}

.ie-rs-theme-light .ie-rs-raw {
  border-color: #b7c6dc;
  background: #fff;
  color: #2a3f61;
}

.ie-rs-log-grid {
  margin-top: 10px;
  border-top: 1px solid #23375b;
  padding-top: 8px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  min-height: 0;
  height: var(--ie-rs-log-pane-px);
  max-height: 56vh;
}

.ie-rs-theme-light .ie-rs-log-grid {
  border-top-color: #b7c6dc;
}

.ie-rs-bottom-resizer {
  height: 8px;
  margin-top: 8px;
  border-radius: 4px;
  border: 1px solid #2b4068;
  background:
    repeating-linear-gradient(
      0deg,
      rgba(255, 255, 255, 0.14) 0px,
      rgba(255, 255, 255, 0.14) 2px,
      rgba(255, 255, 255, 0) 2px,
      rgba(255, 255, 255, 0) 6px
    ),
    rgba(255, 255, 255, 0.06);
  cursor: row-resize;
  user-select: none;
  touch-action: none;
}

.ie-rs-theme-light .ie-rs-bottom-resizer {
  border-color: #b1c2d8;
  background:
    repeating-linear-gradient(
      0deg,
      rgba(0, 0, 0, 0.1) 0px,
      rgba(0, 0, 0, 0.1) 2px,
      rgba(0, 0, 0, 0) 2px,
      rgba(0, 0, 0, 0) 6px
    ),
    rgba(0, 0, 0, 0.05);
}

.ie-rs-bottom-resizer.dragging {
  background:
    repeating-linear-gradient(
      0deg,
      rgba(146, 215, 255, 0.28) 0px,
      rgba(146, 215, 255, 0.28) 2px,
      rgba(146, 215, 255, 0) 2px,
      rgba(146, 215, 255, 0) 6px
    ),
    rgba(44, 94, 167, 0.55);
}

.ie-rs-log-cell {
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.ie-rs-log-title {
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 800;
  color: #dce8ff;
}

.ie-rs-log {
  width: 100%;
  min-height: 112px;
  max-height: 24vh;
  resize: vertical;
  border: 1px solid #2f436a;
  border-radius: 3px;
  background: #091224;
  color: #b8c9e9;
  padding: 8px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 12px;
  line-height: 1.35;
}

.ie-rs-theme-light .ie-rs-log {
  border-color: #b7c6dc;
  background: #fff;
  color: #2a3f61;
}

.ie-rs-canvas-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.ie-rs-canvas-head h2 {
  margin: 0;
  font-size: 16px;
  color: #e8f1ff;
}

.ie-rs-canvas-panel .ie-topology-panel {
  flex: 1 1 auto;
  min-height: 0;
  border: 1px solid #2e446f;
  border-radius: 4px;
  background: #0b1325;
  padding: 8px;
  margin: 0;
}

.ie-rs-theme-light .ie-rs-canvas-panel .ie-topology-panel {
  border-color: #b6c4d8;
  background: #f7fbff;
}

.ie-runtime-view .ie-results-toolbar {
  margin: 0 0 10px;
}

.ie-runtime-view .ie-results-filter {
  color: #c8d8f6;
}

.ie-runtime-view .ie-results-meta {
  color: #c8d8f6;
}

.ie-rs-theme-light .ie-results-filter,
.ie-rs-theme-light .ie-results-meta {
  color: #274060;
}

.ie-runtime-view .ie-results-table th {
  background: #10203f;
  color: #dce9ff;
  border-color: #2f436a;
}

.ie-rs-theme-light .ie-results-table th {
  background: #e5edf9;
  color: #1e3557;
  border-color: #b5c4da;
}

.ie-runtime-view .ie-results-table td {
  border-color: #2a3f65;
  color: #dde9ff;
}

.ie-rs-theme-light .ie-results-table td {
  border-color: #b7c5d9;
  color: #263d5f;
}

.ie-runtime-view .ie-results-router {
  border-color: #2e446f;
  background: #091224;
}

.ie-rs-theme-light .ie-results-router {
  border-color: #b6c4d8;
  background: #fff;
}

.ie-runtime-view .ie-results-router h3 {
  color: #dce8ff;
}

.ie-rs-theme-light .ie-results-router h3 {
  color: #1e3557;
}

.ie-runtime-view .ie-results-diff {
  border-color: #3f5f97;
  background: rgba(37, 68, 125, 0.35);
  color: #d8e7ff;
}

.ie-rs-theme-light .ie-results-diff {
  border-color: #a7bbda;
  background: rgba(157, 185, 229, 0.35);
  color: #254064;
}

.ie-runtime-view .ie-topology-refresh {
  border-radius: 3px;
  border: 1px solid #355186;
  background: #162645;
  color: #dce8ff;
}

.ie-rs-theme-light .ie-topology-refresh {
  border-color: #a9bad5;
  background: #e4edf9;
  color: #21395d;
}

.ie-runtime-view .ie-topology-status {
  color: #b6c9ec;
}

.ie-rs-theme-light .ie-topology-status {
  color: #304b72;
}

.ie-runtime-view .ie-topology-status[data-tone="ok"] {
  color: #79f1b9;
}

.ie-runtime-view .ie-topology-status[data-tone="warn"] {
  color: #ffd492;
}

.ie-runtime-view .ie-topology-status[data-tone="error"] {
  color: #ff9ca6;
}

.ie-rs-canvas-panel .ie-topology-canvas {
  height: min(66vh, 560px);
  border-radius: 4px;
  border-color: #2c4067;
  background: #091224;
}

.ie-rs-theme-light .ie-rs-canvas-panel .ie-topology-canvas {
  border-color: #b5c4d9;
  background: #e9f1fb;
}

.ie-runtime-view.ie-rs-route-server-mode .ie-rs-toptitle #runtimeTitle {
  color: #ffd8a8;
}

.ie-runtime-view.ie-rs-route-server-mode .ie-rs-workspace-title {
  color: #ffd8a8;
}

.ie-topology-panel {
  border: 1px solid #d2dae6;
  border-radius: 8px;
  background: rgba(249, 252, 255, 0.82);
  padding: 8px;
  margin: 0 0 10px;
}

.ie-topology-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 12px;
  font-weight: 800;
  color: #1a2b45;
}

.ie-topology-head-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ie-topology-refresh {
  height: 28px;
  min-width: 88px;
  padding: 0 10px;
}

.ie-topology-status {
  min-height: 16px;
  margin: 6px 0 6px;
  font-size: 12px;
  color: #2d4262;
}

.ie-topology-status[data-tone="ok"] {
  color: #245e39;
}

.ie-topology-status[data-tone="warn"] {
  color: #815300;
}

.ie-topology-status[data-tone="error"] {
  color: #8a1d28;
}

.ie-topology-gesture-feed {
  display: grid;
  gap: 6px;
  margin: 6px 0 8px;
}

.ie-topology-gesture-feed-empty {
  min-height: 20px;
  display: inline-flex;
  align-items: center;
  color: #425f88;
  font-size: 12px;
}

.ie-topology-gesture-feed-row {
  width: 100%;
  text-align: left;
  border: 1px solid rgba(111, 150, 216, 0.44);
  border-radius: 6px;
  background: rgba(236, 244, 255, 0.84);
  color: #1a3359;
  padding: 5px 8px;
  display: grid;
  gap: 1px;
  cursor: pointer;
}

.ie-topology-gesture-feed-row:hover,
.ie-topology-gesture-feed-row:focus-visible {
  border-color: rgba(84, 147, 227, 0.74);
  background: rgba(223, 237, 255, 0.96);
}

.ie-topology-gesture-feed-main {
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
}

.ie-topology-gesture-feed-meta {
  font-size: 11px;
  color: #3d5b83;
  line-height: 1.2;
}

.ie-topology-canvas {
  width: 100%;
  height: 320px;
  display: block;
  border-radius: 8px;
  border: 1px solid #d2dae6;
  background: #edf3fc;
}

.ie-topology-bg {
  fill: rgba(236, 243, 252, 0.96);
}

.ie-topology-grid-line {
  fill: none;
  stroke: rgba(91, 127, 196, 0.2);
  stroke-width: 1;
}

.ie-topology-grid-line-snap {
  stroke: rgba(132, 191, 255, 0.36);
  stroke-width: 1.1;
}

.ie-rs-theme-light .ie-topology-grid-line {
  stroke: rgba(89, 126, 183, 0.26);
}

.ie-rs-theme-light .ie-topology-grid-line-snap {
  stroke: rgba(70, 124, 199, 0.42);
}

.ie-topology-link {
  stroke: rgba(62, 103, 179, 0.52);
  stroke-width: 2;
  stroke-linecap: round;
}

.ie-topology-l2 {
  fill: rgba(28, 50, 92, 0.84);
  stroke: rgba(138, 190, 255, 0.74);
  stroke-width: 1;
}

.ie-topology-l2-label {
  fill: #d7e9ff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.15px;
  dominant-baseline: middle;
}

.ie-topology-router {
  cursor: pointer;
  outline: none;
}

.ie-topology-router-core {
  fill: rgba(27, 49, 92, 0.95);
  stroke: rgba(132, 189, 255, 0.74);
  stroke-width: 2;
  transition: fill 140ms ease, stroke 140ms ease;
}

.ie-topology-router-gesture {
  fill: none;
  stroke: rgba(88, 227, 255, 0.86);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 6 5;
  animation: ie-topology-gesture-pulse 1.2s ease-in-out infinite;
}

@keyframes ie-topology-gesture-pulse {
  0% {
    stroke-opacity: 0.25;
    stroke-width: 1.5;
  }

  45% {
    stroke-opacity: 1;
    stroke-width: 2.4;
  }

  100% {
    stroke-opacity: 0.32;
    stroke-width: 1.6;
  }
}

.ie-topology-router:hover .ie-topology-router-core,
.ie-topology-router:focus-visible .ie-topology-router-core {
  fill: rgba(34, 61, 112, 0.98);
  stroke: rgba(176, 222, 255, 0.96);
}

.ie-topology-router.selected .ie-topology-router-core {
  fill: rgba(14, 81, 107, 0.98);
  stroke: rgba(120, 238, 255, 0.96);
}

.ie-topology-router.muted {
  opacity: 0.35;
}

.ie-topology-router.muted .ie-topology-router-core {
  fill: rgba(24, 40, 70, 0.78);
  stroke: rgba(118, 156, 215, 0.52);
}

.ie-topology-router-label {
  fill: #e8f3ff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.2px;
  pointer-events: none;
}

.ie-topology-router-badge {
  fill: rgba(18, 141, 108, 0.95);
  stroke: rgba(169, 255, 233, 0.85);
  stroke-width: 1;
}

.ie-topology-router-badge-text {
  fill: #f4fffb;
  font-size: 9px;
  font-weight: 800;
  dominant-baseline: middle;
  pointer-events: none;
}

.ie-topology-empty {
  fill: #334a69;
  font-size: 14px;
  font-weight: 700;
}

.ie-topology-inspector {
  margin-top: 8px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 8px;
}

.ie-topology-inspector-section {
  border: 1px solid rgba(134, 171, 234, 0.42);
  border-radius: 8px;
  background: rgba(241, 248, 255, 0.76);
  padding: 6px;
}

.ie-topology-inspector-section h4 {
  margin: 0 0 6px;
  font-size: 12px;
  color: #1c3358;
}

.ie-topology-inspector-empty {
  font-size: 12px;
  color: #415c84;
}

.ie-topology-inspector-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}

.ie-topology-inspector-table th,
.ie-topology-inspector-table td {
  border: 1px solid rgba(160, 190, 237, 0.48);
  padding: 3px 5px;
  text-align: left;
}

.ie-topology-inspector-table th {
  background: rgba(220, 234, 255, 0.66);
  color: #1f365b;
  font-weight: 800;
}

.ie-results-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 8px;
  margin: 0 0 8px;
}

.ie-results-filter {
  display: grid;
  gap: 4px;
  font-size: 12px;
  color: #223145;
}

.ie-results-filter .ie-select {
  min-width: 168px;
}

.ie-results-export {
  margin-left: auto;
}

.ie-results-meta {
  margin: 0 0 10px;
  color: #223145;
  font-size: 12px;
}

.ie-results-diff {
  margin: -2px 0 10px;
  padding: 6px 8px;
  border-radius: 6px;
  border: 1px solid rgba(103, 149, 225, 0.4);
  background: rgba(227, 238, 255, 0.66);
  color: #193258;
  font-size: 12px;
  font-weight: 700;
}

.ie-results-tables {
  display: grid;
  gap: 10px;
  margin-bottom: 8px;
}

.ie-results-router {
  border: 1px solid #d2dae6;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.95);
  padding: 8px;
}

.ie-results-router h3 {
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 700;
  color: #1a2b45;
}

.ie-results-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.ie-results-table th,
.ie-results-table td {
  border: 1px solid #d2dae6;
  padding: 4px 6px;
  text-align: left;
  vertical-align: top;
}

.ie-results-table th {
  background: #edf2fa;
  color: #1a2b45;
  font-weight: 700;
}

.ie-results-raw summary {
  cursor: pointer;
  font-size: 12px;
  color: #223145;
  margin-bottom: 6px;
}

.ie-launcher-root {
  position: fixed;
  inset: 0;
  z-index: 20;
}

.ie-launcher-scene {
  --ie-grid-drag-x: 0deg;
  --ie-grid-drag-y: 0deg;
  --ie-grid-drag-z: 0deg;
  --ie-launcher-overlay-alpha: 1;
  --ie-launcher-left-zone: 25%;
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: var(--ie-launcher-left-zone) calc(100% - var(--ie-launcher-left-zone));
  grid-template-rows: 1fr;
  min-height: 100%;
  overflow: hidden;
  perspective: 1300px;
  cursor: grab;
  touch-action: none;
}

.ie-launcher-scene.grabbing {
  cursor: grabbing;
}

.ie-launcher-grid-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  display: block;
  pointer-events: none;
}

.ie-launcher-top-actions {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 7;
  display: flex;
  align-items: center;
  gap: 8px;
}

.ie-launcher-top-btn {
  border: 2px solid rgb(93, 147, 255);
  background: linear-gradient(180deg, rgb(9, 22, 49), rgb(8, 17, 37));
  color: #e6f3ff;
  border-radius: 999px;
  height: 32px;
  min-height: 32px;
  padding: 0 12px;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.2px;
  cursor: pointer;
  backdrop-filter: none;
  box-shadow: inset 0 0 0 1px rgba(170, 210, 255, 0.08);
}

.ie-launcher-icon-btn {
  width: 38px;
  min-width: 38px;
  height: 38px;
  min-height: 38px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ie-launcher-grid-btn {
  position: relative;
}

.ie-launcher-grid-glyph {
  width: 100%;
  height: 100%;
  stroke: currentColor;
  stroke-width: 1.3;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

.ie-launcher-grid-lock {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 16px;
  height: 16px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
  display: none;
  padding: 2px;
  border-radius: 999px;
  background: rgba(9, 22, 49, 0.97);
  box-shadow: 0 0 10px rgba(126, 221, 255, 0.72), inset 0 0 0 1px rgba(126, 221, 255, 0.55);
}

.ie-launcher-grid-btn.state-locked .ie-launcher-grid-lock {
  display: block;
}

.ie-launcher-grid-btn.state-off {
  opacity: 0.5;
}

.ie-launcher-brain-btn {
  background: linear-gradient(180deg, rgb(9, 22, 49), rgb(8, 17, 37));
  border-color: rgb(93, 147, 255);
  backdrop-filter: none;
  box-shadow: none;
}

.ie-launcher-brain-glyph {
  width: 30px;
  height: 30px;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

.ie-launcher-brain-btn:hover:not(:disabled) {
  background: linear-gradient(180deg, rgb(14, 33, 69), rgb(11, 25, 52));
}

.ie-launcher-logout-btn svg {
  width: 19px;
  height: 19px;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

.ie-launcher-top-btn:hover:not(:disabled) {
  background: linear-gradient(180deg, rgb(14, 33, 69), rgb(11, 25, 52));
  border-color: rgba(126, 221, 255, 0.95);
}

.ie-launcher-top-btn:disabled {
  opacity: 0.55;
  cursor: default;
}

.ie-launcher-scene::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(221, 225, 232, var(--ie-launcher-overlay-alpha));
  z-index: 0;
  transition: background 180ms ease, backdrop-filter 180ms ease;
  backdrop-filter: none;
}

.ie-launcher-scene::after {
  content: none;
}

.ie-launcher-grid-world {
  position: absolute;
  left: 50%;
  top: 54%;
  width: 190vmax;
  height: 160vmax;
  transform-style: preserve-3d;
  transform:
    translate3d(-50%, -50%, 0)
    rotateX(calc(58deg + var(--ie-grid-drag-x)))
    rotateY(calc(-18deg + var(--ie-grid-drag-y)))
    rotateZ(-8deg);
  transition: transform 0.24s cubic-bezier(0.2, 0.8, 0.2, 1);
  z-index: 1;
  pointer-events: none;
}

.ie-launcher-grid-plane {
  position: absolute;
  width: 210vmax;
  height: 210vmax;
  left: 50%;
  top: 50%;
  border: 1px solid rgba(68, 106, 180, 0.28);
  background:
    repeating-linear-gradient(90deg, rgba(68, 106, 180, 0.18) 0 1px, rgba(68, 106, 180, 0) 1px 56px),
    repeating-linear-gradient(0deg, rgba(68, 106, 180, 0.18) 0 1px, rgba(68, 106, 180, 0) 1px 56px),
    linear-gradient(180deg, rgba(210, 224, 248, 0.06), rgba(193, 210, 241, 0.04));
  box-shadow: 0 0 30px rgba(76, 126, 214, 0.12), inset 0 0 26px rgba(95, 151, 245, 0.08);
}

.ie-launcher-grid-plane-main {
  transform: translate(-50%, -50%) rotateX(90deg) translateZ(-18vmin);
}

.ie-launcher-grid-plane-left {
  transform: translate(-69%, -44%) rotateY(84deg) translateZ(-58vmin);
}

.ie-launcher-grid-plane-right {
  transform: translate(-31%, -44%) rotateY(-84deg) translateZ(-58vmin);
}

.ie-launcher-grid-reset {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 6;
  font-size: 12px;
  letter-spacing: 0.2px;
  color: rgba(20, 26, 38, 0.7);
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(0, 0, 0, 0.08);
  padding: 4px 8px;
  border-radius: 999px;
  user-select: none;
  cursor: pointer;
  backdrop-filter: blur(6px);
}

.ie-launcher-grid-reset:hover {
  text-decoration: underline;
}

.ie-workspace-cabinet {
  position: fixed;
  top: 12px;
  left: 12px;
  width: 38.4ch;
  max-width: calc(100vw - 24px);
  height: auto;
  max-height: calc(100vh - 24px);
  display: flex;
  flex-direction: column;
  gap: 0;
  z-index: 8;
  user-select: none;
}

.ie-workspace-cabinet-head {
  position: relative;
  width: 100%;
}

.ie-workspace-cabinet-bar {
  width: 100%;
  height: 38px;
  border-radius: 8px;
  border: 2px solid rgb(93, 147, 255);
  background: linear-gradient(180deg, rgb(9, 22, 49), rgb(8, 17, 37));
  color: #e6f3ff;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.2px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  cursor: pointer;
  backdrop-filter: none;
  opacity: 1;
}

.ie-workspace-cabinet-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ie-workspace-cabinet-body {
  flex: 0 1 auto;
  width: 100%;
  min-height: 0;
  max-height: calc(100vh - 24px - 38px);
  background: linear-gradient(180deg, rgb(9, 22, 49), rgb(8, 17, 37));
  border-left: 3px solid rgba(93, 147, 255, 0.98);
  border-right: 3px solid rgba(93, 147, 255, 0.98);
  border-bottom: 3px solid rgba(93, 147, 255, 0.98);
  border-radius: 0 0 8px 8px;
  pointer-events: auto;
  overflow-y: auto;
  padding: 0;
}

.ie-workspace-cabinet.open .ie-workspace-cabinet-bar {
  border-bottom: 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.ie-workspace-picker-list {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
}

.ie-workspace-picker-card {
  width: 100%;
  min-height: 38px;
  border-top: 0;
  border-left: 0;
  border-right: 0;
  border-bottom: 1px solid rgba(118, 170, 255, 0.62);
  border-radius: 0;
  background: linear-gradient(180deg, rgb(18, 45, 90), rgb(15, 38, 78));
  color: #e6f3ff;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.2px;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: grab;
  transition: margin 120ms ease, box-shadow 120ms ease, filter 120ms ease;
}

.ie-workspace-picker-card.fixed {
  cursor: default;
}

.ie-workspace-picker-card.system-construct {
  background: transparent;
  border-bottom: 0;
  color: rgba(230, 243, 255, 0.9);
  cursor: default;
  filter: none;
}

.ie-workspace-picker-card.system-construct.expanded {
  filter: none;
}

.ie-workspace-picker-card.expanded {
  filter: brightness(1.07);
}

.ie-workspace-picker-card.dragging {
  opacity: 0.7;
}

.ie-workspace-picker-card.drop-before {
  margin-top: var(--ws-drop-gap, 38px);
  box-shadow: inset 0 2px 0 rgba(126, 221, 255, 0.98);
}

.ie-workspace-picker-card.drop-after {
  margin-bottom: var(--ws-drop-gap, 38px);
  box-shadow: inset 0 -2px 0 rgba(126, 221, 255, 0.98);
}

.ie-workspace-picker-card.ws-app-drop-target {
  box-shadow: inset 0 0 0 2px rgba(126, 221, 255, 0.96);
}

.ie-workspace-picker-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-right: 8px;
}

.ie-workspace-picker-title-empty {
  min-height: 1em;
  padding-right: 8px;
}

.ie-workspace-picker-card.is-app-category .ie-workspace-picker-title {
  padding-left: 2ch;
}

.ie-workspace-picker-card.system-construct .ie-workspace-picker-title {
  padding-left: 0;
}

.ie-workspace-picker-edit-input {
  width: 100%;
  min-width: 0;
  height: 24px;
  border: 1px solid rgba(154, 209, 255, 0.9);
  border-radius: 4px;
  background: rgba(8, 19, 42, 0.96);
  color: #e6f3ff;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.2px;
  padding: 2px 8px;
  outline: none;
}

.ie-workspace-picker-edit-input:focus {
  border-color: rgba(172, 226, 255, 0.98);
  box-shadow: 0 0 0 2px rgba(122, 196, 255, 0.24);
}

.ie-workspace-picker-system-add {
  width: 26px;
  min-width: 26px;
  height: 22px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #e6f3ff;
  font: inherit;
  font-size: 20px;
  line-height: 1;
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  cursor: pointer;
}

.ie-workspace-picker-system-add:hover {
  filter: brightness(1.15);
}

.ie-workspace-system-actions {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
}

.ie-workspace-view-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
}

.ie-workspace-view-pill {
  border: 1px solid rgba(126, 221, 255, 0.58);
  border-radius: 999px;
  background: rgba(15, 38, 78, 0.92);
  color: #cde5ff;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.2px;
  padding: 2px 8px;
  min-height: 20px;
  cursor: pointer;
}

.ie-workspace-view-pill.active {
  background: rgba(88, 145, 232, 0.28);
  border-color: rgba(157, 229, 255, 0.9);
  color: #f2f9ff;
}

.ie-workspace-view-pill:disabled {
  opacity: 0.45;
  cursor: default;
}

.ie-workspace-system-notice {
  max-width: 26ch;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: right;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.15px;
  color: #b8d5ff;
}

.ie-workspace-system-notice.warn {
  color: #ffd0d0;
}

.ie-workspace-picker-delete {
  border: none;
  border-radius: 0;
  background: transparent;
  color: #e6f3ff;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  width: 20px;
  min-width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
}

.ie-workspace-picker-delete:hover {
  filter: brightness(1.2);
}

.ie-workspace-picker-apps {
  width: 100%;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  background: rgb(48, 96, 168);
  border-top: 0;
  border-bottom: 0;
}

.ie-workspace-app-card {
  width: 100%;
  min-height: 34px;
  border: 0;
  border-bottom: 1px solid rgba(126, 180, 255, 0.58);
  border-radius: 0;
  background: linear-gradient(180deg, rgb(42, 92, 170), rgb(34, 78, 148));
  color: #eaf3ff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0;
  transition: margin 120ms ease, box-shadow 120ms ease, filter 120ms ease;
}

.ie-workspace-context-card {
  padding: 6px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  cursor: default;
}

.ie-workspace-context-card.selected {
  background: linear-gradient(180deg, rgb(64, 120, 206), rgb(52, 102, 182));
}

.ie-workspace-context-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 700;
  color: #eaf3ff;
}

.ie-workspace-context-meta {
  flex: 0 0 auto;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.2px;
  text-transform: uppercase;
  color: #c8ddff;
}

.ie-workspace-picker-apps .ie-workspace-app-card:last-of-type {
  border-bottom: 0;
}

.ie-workspace-app-card:hover {
  filter: brightness(1.08);
}

.ie-workspace-app-card.dragging {
  opacity: 0.72;
}

.ie-workspace-app-card.drop-before {
  margin-top: var(--ws-drop-gap, 34px);
  box-shadow: inset 0 2px 0 rgba(126, 221, 255, 0.98);
}

.ie-workspace-app-card.drop-after {
  margin-bottom: var(--ws-drop-gap, 34px);
  box-shadow: inset 0 -2px 0 rgba(126, 221, 255, 0.98);
}

.ie-workspace-app-card.disabled {
  background: linear-gradient(180deg, rgb(34, 75, 140), rgb(28, 62, 116));
}

.ie-workspace-app-card.on-dashboard {
  background: linear-gradient(180deg, rgb(9, 22, 49), rgb(8, 17, 37));
}

.ie-workspace-app-open {
  flex: 1 1 auto;
  min-height: 34px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #eaf3ff;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.15px;
  padding: 6px 8px 6px calc(12px + 4ch);
  text-align: left;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  cursor: pointer;
}

.ie-workspace-app-open.disabled {
  cursor: default;
}

.ie-workspace-app-open.on-dashboard,
.ie-workspace-app-open:disabled {
  cursor: default;
}

.ie-workspace-app-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0;
  margin-right: 4px;
}

.ie-workspace-app-home {
  width: 32px;
  min-width: 32px;
  height: 32px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(238, 248, 255, 0.96);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
  filter: drop-shadow(0 0 2px rgba(205, 231, 255, 0.42));
}

.ie-workspace-app-home:hover {
  filter: brightness(1.14) drop-shadow(0 0 4px rgba(205, 231, 255, 0.58));
}

.ie-workspace-app-add {
  width: 32px;
  min-width: 32px;
  height: 32px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(238, 248, 255, 1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin-right: 4px;
  cursor: pointer;
  filter: drop-shadow(0 0 3px rgba(205, 231, 255, 0.45));
}

.ie-workspace-app-add:hover {
  filter: brightness(1.16) drop-shadow(0 0 4px rgba(205, 231, 255, 0.6));
}

.ie-workspace-app-home svg {
  width: 19px;
  height: 19px;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

.ie-workspace-app-empty {
  min-height: 32px;
  display: flex;
  align-items: center;
  padding: 6px 10px 6px calc(12px + 4ch);
  font-size: 11px;
  color: #9fc2ef;
  border-bottom: 1px solid rgba(126, 180, 255, 0.4);
}

.ie-workspace-app-card-label {
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ie-workspace-app-add svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  stroke-width: 2.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

.ie-workspace-app-spacer {
  min-height: 34px;
  border: 0;
  background: transparent;
}

@media (max-height: 760px) {
  .ie-workspace-app-spacer {
    display: none;
  }
}

.ie-workspace-category-context-menu {
  position: fixed;
  z-index: 16;
  min-width: 126px;
  border-radius: 8px;
  border: 1px solid rgba(120, 168, 238, 0.6);
  background: rgba(9, 22, 48, 0.97);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.42);
  padding: 5px;
}

.ie-workspace-category-context-item {
  width: 100%;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #dff0ff;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  text-align: left;
  padding: 7px 8px;
  cursor: pointer;
}

.ie-workspace-category-context-item:hover {
  background: rgba(97, 157, 234, 0.28);
}

.ie-launcher-scene.grabbing::after {
  transition: none;
}

.ie-launcher-scene.grabbing .ie-launcher-grid-world {
  transition: none;
}

.ie-launcher-root.preview-routesim .ie-launcher-scene::before {
  --ie-launcher-overlay-alpha: 0.05;
  backdrop-filter: blur(1.4px);
}

.ie-launcher-profile-modal {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(7, 14, 30, 0.5);
  backdrop-filter: blur(2px);
  padding: 16px;
}

.ie-launcher-profile-card {
  width: min(460px, 96vw);
  border-radius: 10px;
  border: 1px solid rgba(106, 167, 255, 0.55);
  background: linear-gradient(180deg, rgba(9, 22, 49, 0.97), rgba(8, 17, 37, 0.96));
  color: #e6f3ff;
  box-shadow: 0 20px 42px rgba(0, 0, 0, 0.52), 0 0 22px rgba(71, 162, 255, 0.22);
}

.ie-launcher-profile-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(132, 184, 255, 0.25);
}

.ie-launcher-profile-header h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0.15px;
}

.ie-launcher-profile-close {
  border: 1px solid rgba(132, 184, 255, 0.42);
  background: rgba(35, 62, 117, 0.76);
  color: #dcecff;
  border-radius: 999px;
  min-width: 72px;
  height: 30px;
  padding: 0 12px;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.ie-launcher-profile-close:hover {
  background: rgba(53, 88, 156, 0.86);
}

.ie-launcher-profile-body {
  padding: 14px 16px 16px;
  display: grid;
  gap: 10px;
}

.ie-launcher-profile-row {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 10px;
  align-items: baseline;
  font-size: 13px;
  color: rgba(214, 231, 255, 0.9);
}

.ie-launcher-profile-row strong {
  color: #ffffff;
  font-weight: 700;
}

.ie-launcher-profile-note {
  margin-top: 2px;
  font-size: 12px;
  color: rgba(172, 204, 246, 0.9);
}

body.ie-modal-open {
  overflow: hidden;
}

.ie-launcher-board {
  --ie-launcher-card-scale: 1;
  grid-column: 1 / -1;
  grid-row: 1;
  position: relative;
  z-index: 3;
  min-height: 100%;
  pointer-events: auto;
}

.ie-launcher-card {
  position: absolute;
  width: calc(240px * var(--ie-launcher-card-scale));
  min-height: calc(124px * var(--ie-launcher-card-scale));
  border-radius: 8px;
  border: 1px solid rgba(93, 147, 255, 0.6);
  background: linear-gradient(180deg, rgba(9, 22, 49, 0.95), rgba(8, 17, 37, 0.92));
  color: #e6f3ff;
  padding: calc(14px * var(--ie-launcher-card-scale));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: calc(10px * var(--ie-launcher-card-scale));
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.42), 0 0 18px rgba(56, 145, 255, 0.22);
  opacity: 1;
  cursor: pointer;
  user-select: none;
  text-align: center;
  overflow: hidden;
  transition: transform 150ms ease, box-shadow 200ms ease, border-color 200ms ease, opacity 180ms ease, left 180ms cubic-bezier(0.2, 0.8, 0.2, 1), top 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.ie-launcher-card:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}

.ie-launcher-card.selected {
  opacity: 1;
  background: linear-gradient(180deg, rgba(8, 20, 45, 0.995), rgba(7, 16, 35, 0.99));
  border-color: rgba(126, 221, 255, 0.95);
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.5), 0 0 28px rgba(86, 214, 255, 0.45);
}

.ie-launcher-card.dragging {
  transition: none !important;
  cursor: grabbing;
}

.ie-launcher-card.resizing {
  transition: none !important;
}

.ie-launcher-card.resizing .ie-launcher-card-dynamic-content {
  opacity: 0;
}

.ie-launcher-card-title {
  width: calc(100% + (28px * var(--ie-launcher-card-scale)));
  margin-top: calc(-14px * var(--ie-launcher-card-scale));
  margin-left: calc(-14px * var(--ie-launcher-card-scale));
  margin-right: calc(-14px * var(--ie-launcher-card-scale));
  padding: calc(6px * var(--ie-launcher-card-scale)) calc(36px * var(--ie-launcher-card-scale)) calc(6px * var(--ie-launcher-card-scale)) calc(10px * var(--ie-launcher-card-scale));
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  font-size: calc(15px * var(--ie-launcher-card-scale));
  font-weight: 800;
  letter-spacing: 0.2px;
  text-align: left;
  color: rgb(8, 17, 37);
  background: linear-gradient(180deg, rgb(72, 166, 255) 0%, rgb(28, 117, 238) 100%);
  border: none;
  box-shadow: none;
  cursor: grab;
  touch-action: none;
}

.ie-launcher-card-title:active {
  cursor: grabbing;
}

.ie-launcher-card-title-text {
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ie-launcher-card-title-arrow {
  position: absolute;
  right: calc(8px * var(--ie-launcher-card-scale));
  top: 50%;
  transform: translateY(-50%);
  width: calc(24px * var(--ie-launcher-card-scale));
  height: calc(24px * var(--ie-launcher-card-scale));
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgb(8, 17, 37);
  line-height: 1;
  cursor: pointer;
  filter: drop-shadow(0 0 2px rgba(8, 17, 37, 0.32));
}

.ie-launcher-card-title-arrow svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
  stroke-width: 2.9;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

.ie-launcher-card-resize {
  position: absolute;
  right: 4px;
  bottom: 4px;
  width: 14px;
  height: 14px;
  border-radius: 3px;
  background:
    linear-gradient(135deg, transparent 0 42%, rgba(170, 210, 255, 0.82) 42% 56%, transparent 56% 100%),
    linear-gradient(135deg, transparent 0 62%, rgba(170, 210, 255, 0.82) 62% 74%, transparent 74% 100%);
  cursor: nwse-resize;
  z-index: 4;
}

.ie-launcher-context-menu {
  position: absolute;
  z-index: 12;
  min-width: 148px;
  border-radius: 8px;
  border: 1px solid rgba(66, 93, 129, 0.55);
  background: rgba(231, 238, 248, 0.96);
  box-shadow: 0 10px 24px rgba(8, 16, 30, 0.28);
  padding: 5px;
  backdrop-filter: blur(2px);
}

.ie-launcher-context-item {
  width: 100%;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: rgb(9, 22, 49);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  text-align: left;
  padding: 7px 9px;
  cursor: pointer;
}

.ie-launcher-context-item:hover {
  background: rgba(112, 151, 207, 0.2);
}

.ie-launcher-card-actions {
  margin-top: auto;
  margin-left: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.ie-launcher-card-dynamic-content {
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: calc(8px * var(--ie-launcher-card-scale));
  transition: opacity 110ms ease;
}

.ie-launcher-card-preview {
  width: 100%;
  flex: 1 1 auto;
  min-height: calc(62px * var(--ie-launcher-card-scale));
  border: 1px solid rgba(98, 157, 239, 0.48);
  border-radius: 6px;
  background: linear-gradient(180deg, rgba(9, 20, 39, 0.96), rgba(7, 14, 27, 0.98));
  overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(175, 213, 255, 0.1);
}

.ie-launcher-card-preview-canvas {
  width: 100%;
  height: 100%;
  display: block;
}

.ie-launcher-btn {
  display: none;
  align-items: center;
  justify-content: center;
  width: 114px;
  min-width: 114px;
  height: 32px;
  padding: 0 12px;
  border: none;
  border-radius: 999px;
  background: rgba(35, 62, 117, 0.72);
  color: #dcecff;
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.25px;
  line-height: normal;
  box-shadow: 0 0 0 1px rgba(140, 197, 255, 0.32) inset;
  text-transform: uppercase;
}

.ie-launcher-btn:hover {
  background: rgba(53, 88, 156, 0.84);
  box-shadow: 0 0 0 1px rgba(176, 222, 255, 0.65) inset, 0 0 16px rgba(92, 180, 255, 0.28);
}

.ie-launcher-card.selected.engaged .ie-card-close {
  display: inline-flex;
}

.ie-launcher-card-model-health {
  width: 100%;
  flex: 1 1 auto;
  min-height: calc(62px * var(--ie-launcher-card-scale));
  display: flex;
  flex-direction: column;
  gap: 7px;
  user-select: none;
}

.ie-model-health-title {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.28px;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.ie-model-health-graph {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.ie-health-row {
  display: grid;
  grid-template-columns: minmax(72px, 1fr) minmax(62px, 1fr) auto;
  gap: 6px;
  align-items: center;
}

.ie-health-name {
  font-size: 11px;
  font-weight: 700;
  color: rgba(226, 240, 255, 0.94);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ie-health-track {
  position: relative;
  height: 8px;
  border-radius: 999px;
  background: rgba(117, 150, 197, 0.24);
  box-shadow: inset 0 0 0 1px rgba(187, 215, 255, 0.14);
  overflow: hidden;
}

.ie-health-fill {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  border-radius: 999px;
  transition: width 240ms ease;
}

.ie-health-fill.ok {
  background: linear-gradient(90deg, rgba(36, 202, 124, 0.78), rgba(113, 236, 170, 0.94));
}

.ie-health-fill.warn {
  background: linear-gradient(90deg, rgba(242, 174, 64, 0.78), rgba(255, 211, 117, 0.94));
}

.ie-health-fill.down {
  background: linear-gradient(90deg, rgba(220, 84, 84, 0.78), rgba(255, 142, 142, 0.94));
}

.ie-health-status {
  font-size: 11px;
  font-weight: 800;
  text-align: right;
  white-space: nowrap;
}

.ie-health-status.ok {
  color: rgba(128, 240, 177, 0.95);
}

.ie-health-status.warn {
  color: rgba(255, 218, 138, 0.96);
}

.ie-health-status.down {
  color: rgba(255, 153, 153, 0.96);
}

.ie-launcher-card-roadmap {
  width: 100%;
  flex: 1 1 auto;
  min-height: calc(62px * var(--ie-launcher-card-scale));
  display: flex;
  flex-direction: column;
  gap: 6px;
  user-select: none;
}

.ie-roadmap-summary {
  font-size: 10px;
  line-height: 1.3;
  color: rgba(173, 210, 255, 0.94);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ie-roadmap-table-wrap {
  flex: 1 1 auto;
  min-height: 0;
  border: 1px solid rgba(98, 157, 239, 0.44);
  border-radius: 6px;
  background: rgba(7, 14, 29, 0.92);
  overflow: auto;
}

.ie-roadmap-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 10px;
  color: rgba(221, 238, 255, 0.94);
}

.ie-roadmap-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: rgba(18, 39, 78, 0.95);
  color: rgba(193, 223, 255, 0.96);
  font-weight: 800;
  text-align: left;
  letter-spacing: 0.18px;
  padding: 5px 6px;
  border-bottom: 1px solid rgba(108, 172, 255, 0.34);
}

.ie-roadmap-table td {
  padding: 4px 6px;
  vertical-align: middle;
  border-top: 1px solid rgba(96, 143, 207, 0.2);
}

.ie-roadmap-col-activity {
  display: flex;
  align-items: center;
  gap: 5px;
}

.ie-roadmap-activity-box,
.ie-roadmap-wp-box {
  width: 12px;
  height: 12px;
  min-width: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(169, 211, 255, 0.52);
  border-radius: 2px;
  font-size: 9px;
  line-height: 1;
  color: rgba(219, 238, 255, 0.96);
}

.ie-roadmap-activity-box.active,
.ie-roadmap-wp-box.active {
  background: rgba(77, 177, 255, 0.22);
  box-shadow: 0 0 8px rgba(100, 190, 255, 0.48);
}

.ie-roadmap-activity-box.done,
.ie-roadmap-wp-box.done {
  border-color: rgba(128, 240, 177, 0.72);
  background: rgba(49, 180, 110, 0.2);
  color: rgba(163, 247, 201, 0.98);
}

.ie-roadmap-activity-box.blocked,
.ie-roadmap-wp-box.blocked {
  border-color: rgba(255, 172, 172, 0.74);
  background: rgba(173, 63, 63, 0.22);
  color: rgba(255, 204, 204, 0.96);
}

.ie-roadmap-activity-box.review,
.ie-roadmap-wp-box.review {
  border-color: rgba(255, 219, 149, 0.74);
  background: rgba(182, 131, 58, 0.2);
  color: rgba(255, 228, 176, 0.98);
}

.ie-roadmap-col-confirmed {
  text-align: center;
}

.ie-roadmap-confirm {
  width: 13px;
  height: 13px;
  cursor: pointer;
}

.ie-roadmap-col-delete {
  text-align: center;
}

.ie-roadmap-delete {
  width: 18px;
  height: 18px;
  border: 1px solid rgba(240, 151, 151, 0.6);
  border-radius: 4px;
  background: rgba(141, 47, 47, 0.18);
  color: rgba(255, 200, 200, 0.98);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}

.ie-roadmap-delete:hover {
  background: rgba(180, 62, 62, 0.28);
}

.ie-roadmap-work-main {
  display: flex;
  align-items: center;
  gap: 6px;
}

.ie-roadmap-wp-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline-block;
  max-width: 100%;
}

.ie-roadmap-work-meta {
  margin-top: 2px;
  color: rgba(159, 194, 235, 0.88);
  font-size: 9px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ie-roadmap-empty {
  text-align: center;
  color: rgba(179, 208, 245, 0.84);
  padding: 10px 6px;
}

.ie-topbar-btn {
  border: 1px solid var(--ie-border);
  background: #fff;
  color: var(--ie-ink-1);
  border-radius: 999px;
  padding: 7px 12px;
  font: inherit;
  cursor: pointer;
}

.ie-topbar-btn:disabled {
  opacity: 0.5;
  cursor: default;
}

@media (max-width: 980px) {
  .authShell {
    --auth-left-share: 100%;
    height: auto;
  }

  .authPanelRight {
    display: none;
  }

  .authPanelLeft {
    width: 100%;
    min-width: 0;
    max-width: none;
    padding: 44px 26px;
  }
}

@media (max-width: 1080px) {
  .ie-rs-topbar {
    grid-template-columns: 1fr auto;
    gap: 8px;
    height: auto;
    min-height: 44px;
    padding: 8px 10px;
  }

  .ie-rs-top-icons {
    flex-wrap: wrap;
    justify-content: flex-end;
  }

  .ie-rs-icon-group {
    display: none;
  }

  .ie-rs-search {
    display: none;
  }

  .ie-rs-layout {
    grid-template-columns: 1fr;
    grid-template-rows: auto minmax(320px, 1fr);
  }

  .ie-rs-left-resizer {
    display: none;
  }

  .ie-rs-workspace-row {
    min-height: 0;
    padding: 6px 8px;
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .ie-rs-workspace-panel {
    position: static;
    width: 100%;
    max-height: 46vh;
    margin-top: 8px;
  }

  .ie-rs-menu-toggles {
    order: 4;
    width: 100%;
    flex-wrap: wrap;
    gap: 8px 12px;
  }

  .ie-rs-workspace-spacer {
    display: none;
  }

  .ie-rs-canvas-panel .ie-topology-canvas {
    height: 260px;
  }

  .ie-rs-bottom-resizer {
    display: none;
  }

  .ie-rs-log-grid {
    grid-template-columns: 1fr;
    height: auto;
    max-height: none;
  }

  .ie-launcher-card-title {
    font-size: calc(14px * var(--ie-launcher-card-scale));
  }

  .ie-launcher-grid-world {
    transform:
      translate3d(-50%, -50%, 0)
      rotateX(calc(62deg + var(--ie-grid-drag-x)))
      rotateY(calc(-9deg + var(--ie-grid-drag-y)))
      rotateZ(-6deg);
  }
}
