/* Shared HSTB / MDAS wheel invitation. Keep the outer target still on hover. */
.sps-browse-floating-spin.sps-wheel-invitation {
  position:fixed;
  isolation:isolate;
  right:max(18px,env(safe-area-inset-right));
  bottom:max(18px,env(safe-area-inset-bottom));
  z-index:60;
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:12px;
  width:auto;
  max-width:calc(100vw - 28px);
  min-height:76px;
  box-sizing:border-box;
  padding:10px 18px 10px 10px;
  border:0!important;
  border-radius:999px;
  background:transparent!important;
  box-shadow:none!important;
  color:#174d43!important;
  text-align:left;
  text-decoration:none!important;
  font-family:Helvetica,Arial,sans-serif;
  text-transform:none;
  letter-spacing:normal;
  cursor:pointer;
  touch-action:manipulation;
  transform:none!important;
  transition:none;
  animation:none!important;
}
.sps-wheel-invitation::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  border:1px solid #dce5d9;
  border-radius:inherit;
  background:#fbfaf7;
  box-shadow:0 5px 22px #173e3426;
  transition:transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease;
}
.sps-wheel-invitation .sps-browse-floating-wheel {
  width:56px;
  height:56px;
  flex:0 0 56px;
  filter:none;
}
.sps-wheel-invitation .sps-browse-floating-wheel-face {
  border:0;
  border-radius:50%;
  box-shadow:none;
  animation:none!important;
  transition:transform 180ms ease;
}
.sps-wheel-invitation .sps-browse-floating-pointer {
  top:-2px;
  border-left-width:5px;
  border-right-width:5px;
  border-top-width:9px;
  filter:none;
}
.sps-wheel-invitation .sps-browse-floating-label {
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  color:#617469;
  font-size:11px;
  font-weight:400;
  line-height:1.4;
  white-space:normal;
}
.sps-wheel-invitation .sps-browse-floating-label strong {
  display:block;
  font-size:15px;
  font-weight:700;
  line-height:1.25;
  color:#174d43;
}
.sps-wheel-invitation:focus-visible {
  outline:3px solid #174d43;
  outline-offset:4px;
}
@media(hover:hover) and (pointer:fine) {
  .sps-wheel-invitation:hover::before {
    transform:translateY(-2px);
    border-color:#b7cbb9;
    box-shadow:0 8px 25px #173e3433;
  }
  .sps-wheel-invitation:hover .sps-browse-floating-wheel-face {
    transform:rotate(8deg);
  }
}
.sps-wheel-invitation:active::before { box-shadow:0 2px 10px #173e3426; }
.sps-browse-floating-spin.sps-wheel-invitation.sps-wheel-occluded { visibility:hidden;pointer-events:none; }
/* Space at the end keeps the final card/action reachable below the dock. */
body.sps-has-wheel-invitation { padding-bottom:110px; }
html.sps-wheel-editing .sps-browse-floating-spin.sps-wheel-invitation,
html.sps-wheel-open .sps-browse-floating-spin.sps-wheel-invitation,
.sps-browse-floating-spin.sps-wheel-invitation[hidden] { display:none!important; }
html.sps-wheel-open { overflow:hidden; }

.sps-wheel-dialog {
  box-sizing:border-box;
  width:min(780px,calc(100vw - 40px));
  max-width:none;
  max-height:calc(100dvh - 40px);
  margin:auto;
  padding:0;
  border:1px solid #dce5d9;
  border-radius:24px;
  background:#fbfaf7;
  color:#174d43;
  box-shadow:0 18px 70px #102c2740;
  overflow:auto;
  overscroll-behavior:contain;
  font-family:Helvetica,Arial,sans-serif;
}
.sps-wheel-dialog:not([open]) { display:none!important; }
.sps-wheel-dialog::backdrop { background:#102c2780; }
.sps-wheel-dialog [data-wheel-close] {
  position:sticky;
  top:8px;
  float:right;
  z-index:12;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  margin:8px 8px 0 0;
  padding:0;
  border:1px solid #dce5d9;
  border-radius:50%;
  background:#fbfaf7;
  color:#174d43;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.sps-wheel-dialog [data-wheel-close]:focus-visible { outline:3px solid #174d43;outline-offset:2px; }
.sps-wheel-dialog-heading { margin:22px 60px 0 24px;font-size:23px;line-height:1.25; }
@media(max-width:767px) {
  .sps-browse-floating-spin.sps-wheel-invitation {
    display:flex!important;
    right:max(12px,env(safe-area-inset-right));
    bottom:max(12px,env(safe-area-inset-bottom));
    gap:9px;
    min-height:58px;
    padding:7px 15px 7px 7px;
  }
  .sps-wheel-invitation .sps-browse-floating-wheel { width:44px;height:44px;flex-basis:44px; }
  .sps-wheel-invitation .sps-browse-floating-label strong { font-size:13px; }
  .sps-wheel-invitation .sps-browse-floating-label>span { display:none; }
  body.sps-has-wheel-invitation { padding-bottom:calc(88px + env(safe-area-inset-bottom)); }
  html.sps-wheel-editing .sps-browse-floating-spin.sps-wheel-invitation,
  html.sps-wheel-open .sps-browse-floating-spin.sps-wheel-invitation { display:none!important; }
  .sps-wheel-dialog {
    width:100%;
    max-height:calc(92dvh - env(safe-area-inset-top));
    margin:auto 0 0;
    padding-bottom:env(safe-area-inset-bottom);
    border-radius:24px 24px 0 0;
    border-bottom:0;
  }
}
/* The standalone wheel needs this invitation only after a reveal. Keep the
   state selectors low-specificity so editing/modal visibility always wins. */
:where(.sss-app)~.sps-meet-floating-spin.sps-wheel-invitation { display:none!important; }
:where(.sss-app:has(.sss-stage-result:not([hidden])))~.sps-meet-floating-spin.sps-wheel-invitation { display:flex!important; }
.sps-unified-profile .sps-meet-floating-spin.sps-wheel-invitation { display:none!important; }
@media(prefers-reduced-motion:reduce) {
  .sps-wheel-invitation::before,
  .sps-wheel-invitation .sps-browse-floating-wheel-face { transition:none;transform:none!important; }
  .sps-wheel-dialog { scroll-behavior:auto; }
}
