/* Every text button. Icon controls stay square and centered, but small. */
:is(
  button,
  input[type="submit"],
  input[type="button"],
  a.solid,
  a.ghost,
  a.ember,
  a.site-btn,
  a.go-live,
  a.social,
  .site-btn,
  .ys-jumps a,
  .booth-nav a,
  .clip-share a,
  .clip-share button,
  .row-buttons a,
  .row-buttons button,
  .pay-rails button,
  .gift-qty label,
  .dock-choice,
  .guide-fab,
  .wm-corners button,
  .sub-go,
  .live-now a,
  .live-now button,
  .acct-panel a,
  .acct-panel button,
  nav.dock a,
  nav.dock button,
  .yside a,
  .admin-bar a,
  .tabs a,
  .chips a
):not(.switch):not(.kb):not(.dock-btn):not(.dock-play):not(.yt-big):not(.search-go):not(.search-clear):not(.rail-btn):not(.short-btn):not(.short-side-btn):not(.flag-opt):not(.emoji-btn):not(.vote-up):not(.vote-down) {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1.15 !important;
  min-height: 40px !important;
  height: auto !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border-radius: 0 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  box-shadow: none !important;
  gap: 0.35rem !important;
  vertical-align: middle !important;
  cursor: pointer;
  font-family: inherit !important;
  white-space: nowrap;
}

:is(button, input[type="submit"], input[type="button"], a.solid, a.go-live, button.go, .site-btn, .sub-go):not(.ghost):not(.switch):not(.kb):not(.dock-btn):not(.dock-play):not(.yt-big):not(.search-go):not(.search-clear):not(.rail-btn):not(.short-btn):not(.short-side-btn):not(.flag-opt):not(.emoji-btn):not(.vote-up):not(.vote-down):not(.menu) {
  background: var(--accent) !important;
  color: var(--ink, #111) !important;
  border: 0 !important;
}

:is(a.ghost, button.ghost):not(.menu):not(.search-go):not(.search-clear) {
  background: transparent !important;
  color: var(--fg) !important;
  border: 1px solid var(--line) !important;
}

:is(button, a.solid, a.ghost, a.ember, a.site-btn, .site-btn, button.go, a.go-live)::before,
:is(button, a.solid, a.ghost, a.ember, a.site-btn, .site-btn, button.go, a.go-live)::after {
  display: none !important;
  content: none !important;
  animation: none !important;
}

:is(button, a.solid, a.ghost, .site-btn) .btn-face,
:is(button, a.solid, a.ghost, .site-btn) > span:not(.track):not(.switch-label):not(.knob):not(.ic-play):not(.ic-pause):not(.ic-vol):not(.ic-mute) {
  position: static !important;
  inset: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  animation: none !important;
  transform: none !important;
}

button.go span,
a.go-live span {
  position: absolute !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  pointer-events: none !important;
}

:is(.kb, .search-go, .search-clear, .rail-btn, .short-btn, .short-side-btn, .dock-btn, .dock-play, .yt-big, .emoji-btn, .flag-grid button, .flag-opt) {
  display: inline-grid !important;
  place-items: center !important;
  width: 40px !important;
  height: 40px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  line-height: 0 !important;
  flex: 0 0 40px !important;
}

.vote-up, .vote-down {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  height: 40px !important;
  padding: 0 12px !important;
  border-radius: 0 !important;
  gap: 0.35rem !important;
}

button.switch {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.livebox-bar :is(button, a),
.livebox .kb,
.short-bar button,
.short-side button {
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  flex: 0 0 40px !important;
}

.livebox-end button,
.livebox-go,
button.go,
a.go-live {
  width: auto !important;
  max-width: 100% !important;
  min-width: 7rem;
  height: auto !important;
  flex: 0 0 auto !important;
}

.acct-panel :is(a, button),
.live-extra > summary,
.setup-card > summary {
  width: 100% !important;
  justify-content: center !important;
}

.side-nav a,
.yside a,
nav.dock a,
nav.dock button {
  justify-content: center !important;
  text-align: center !important;
}

.side-nav a,
.yside a { justify-content: flex-start !important; text-align: left !important; }

@media (max-width: 720px) {
  button.go, a.go-live, .live-start button.go { width: 100% !important; }
  nav.dock a, nav.dock button {
    min-height: 0 !important;
    height: auto !important;
    padding: 0 4px !important;
    white-space: normal !important;
  }
}
