:root {
  --scm-runtime-surface: var(--surface-card, #ffffff);
  --scm-runtime-soft: var(--surface-muted, #f1f5f9);
  --scm-runtime-border: var(--border-default, #dbe3ef);
  --scm-runtime-text: var(--text-primary, #0f172a);
  --scm-runtime-muted: var(--text-muted, #64748b);
  --scm-runtime-focus: var(--focus-ring, #2563eb);
}
.scm-runtime-menu, .scm-runtime-menu * { box-sizing: border-box; }
.scm-runtime-menu {
  position: fixed; z-index: 10100; width: 250px; max-height: min(420px, calc(100vh - 16px)); overflow: auto;
  display: none; padding: 6px; border: 1px solid var(--scm-runtime-border); border-radius: .6rem;
  background: var(--scm-runtime-surface); color: var(--scm-runtime-text); box-shadow: 0 18px 42px rgba(15,23,42,.2);
}
.scm-runtime-menu.is-open { display: grid; }
.scm-runtime-menu button {
  width: 100%; min-height: 38px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 14px;
  padding: 9px 10px; border: 0; border-radius: .4rem; background: transparent; color: inherit; text-align: left; cursor: pointer;
}
.scm-runtime-menu button:hover, .scm-runtime-menu button:focus { background: var(--scm-runtime-soft); outline: none; }
.scm-runtime-menu button:focus-visible { outline: 3px solid var(--scm-runtime-focus); outline-offset: 2px; }
.scm-runtime-menu kbd { border: 0; padding: 0; background: transparent; color: var(--scm-runtime-muted); box-shadow: none; font: inherit; font-size: 10px; }
@media (prefers-reduced-motion: reduce) { .scm-runtime-menu, .scm-runtime-menu * { transition: none !important; animation: none !important; } }
