/* Alt+Tab task switcher (CoolSwitch, INVENTORY S14; SPEC.md §4.8) — knowledge: no reference shows it. */
.w2k-switcher {
  position: absolute;
  z-index: 3000000;
  display: inline-flex;
  flex-direction: column;
  padding: var(--metric-switcher-padding);
  background: var(--color-surface);
  box-shadow: var(--edge-raised), inset 0 0 0 3px var(--color-surface);
  color: var(--sys-btn-text);
  font: var(--font-ui);
}
.w2k-switcher__icons {
  display: grid;
  grid-template-columns: repeat(var(--switcher-columns, 7), var(--metric-switcher-slot));
  grid-auto-rows: var(--metric-switcher-slot);
  margin: 0 auto;
}
.w2k-switcher__slot { position: relative; }
.w2k-switcher__slot > img {
  position: absolute;
  left: var(--metric-switcher-icon-inset);
  top: var(--metric-switcher-icon-inset);
  width: 32px;
  height: 32px;
  image-rendering: pixelated;
}
.w2k-switcher__slot[aria-selected="true"] { box-shadow: inset 0 0 0 var(--metric-switcher-frame) var(--sys-hilight); }
.w2k-switcher__title {
  position: relative;
  height: var(--metric-switcher-title-height);
  margin-top: var(--metric-switcher-title-gap);
  box-shadow: var(--edge-sunken-outer);
}
.w2k-switcher__title > span {
  /* Centered on a whole pixel by js/shell.js (floor, like push-button labels) — CSS centering can land on half pixels. */
  position: absolute;
  left: var(--label-left, var(--metric-switcher-title-inset));
  top: var(--metric-switcher-title-text-top);
  max-width: calc(100% - 2 * var(--metric-switcher-title-inset));
  overflow: hidden;
  white-space: pre;
  text-overflow: ellipsis;
}
