.scenario-control {
  position: fixed; z-index: 8800; left: calc(100vw - 66px); top: calc(100vh - 74px);
  user-select: none;
}
.scenario-orb {
  width: 42px; height: 42px; display: grid; place-items: center;
  color: var(--text-secondary); background: rgba(26, 29, 36, 0.88);
  border: 1px solid var(--border-strong); border-radius: 50%;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.32);
  opacity: 0.48; cursor: grab; transition: opacity var(--dur), border-color var(--dur), transform var(--dur);
  backdrop-filter: blur(10px);
}
.scenario-orb:hover, .scenario-control.open .scenario-orb {
  opacity: 0.96; color: var(--text-primary); border-color: var(--border-accent);
}
.scenario-orb:active { cursor: grabbing; transform: scale(0.96); }
.scenario-orb .icon { width: 18px; height: 18px; }
.scenario-panel {
  position: absolute; right: 52px; bottom: 0; width: 252px;
  padding: 14px; color: var(--text-primary);
  background: rgba(20, 23, 29, 0.97); border: 1px solid var(--border-strong);
  border-radius: var(--r-md); box-shadow: var(--shadow-lg); backdrop-filter: blur(16px);
}
.scenario-control.panel-right .scenario-panel { right: auto; left: 52px; }
.scenario-control.panel-down .scenario-panel { top: 0; bottom: auto; }
.scenario-panel[hidden] { display: none; }
.scenario-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.scenario-title { font-size: 13px; font-weight: 600; }
.scenario-close {
  width: 26px; height: 26px; display: grid; place-items: center; padding: 0;
  color: var(--text-tertiary); background: transparent; border: 0; border-radius: var(--r-xs); cursor: pointer;
}
.scenario-close:hover { color: var(--text-primary); background: var(--bg-surface-2); }
.scenario-close .icon { width: 14px; height: 14px; }
.scenario-fields { display: grid; gap: 10px; }
.scenario-field { display: grid; grid-template-columns: 64px 1fr; align-items: center; gap: 10px; }
.scenario-field label { color: var(--text-tertiary); font-size: 11.5px; }
.scenario-select {
  min-width: 0; height: 32px; padding: 0 28px 0 9px;
  appearance: none; color: var(--text-primary); font: inherit; font-size: 11.5px;
  background: var(--bg-surface-2); border: 1px solid var(--border); border-radius: var(--r-xs);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a93a3' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 8px center; outline: none; cursor: pointer;
}
.scenario-select:focus { border-color: var(--border-accent); }
.scenario-reset {
  width: 100%; height: 32px; margin-top: 12px; justify-content: center;
  color: var(--text-secondary); background: var(--bg-surface-2);
}
