

[data-win="lift"] {
  --win-in: var(--motion-2);
  --win-out: var(--win-exit);
  --win-curve-in: var(--ease-standard);
  --win-reveal: 0ms;
  --win-xf-in: none;
  --win-xf-out: none;
}


.card-menu[data-hand-lift] {
  position: fixed;
  inset: 0;
  width: auto;
  max-height: none;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  display: block;
  overflow: visible;
  pointer-events: none;
  z-index: var(--z-sheet);
}

.card-menu[data-hand-lift][data-played], .card-menu[data-hand-lift][data-played][hidden] { transition: none; }
.card-menu[data-hand-lift][data-played] .card-menu-face { transition: none; }


.card-menu[data-hand-lift] .cardmenu-head { display: contents; }
.card-menu[data-hand-lift] .card-menu-name {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.card-menu[data-hand-lift] .card-menu-face {
  position: fixed;
  left: var(--lift-x);
  top: var(--lift-y);
  width: var(--lift-w);
  margin: 0;
  transform-origin: 0 0;
  transform: none;
  pointer-events: auto;
  cursor: grab;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  transition: transform var(--motion-3) var(--ease-spring), translate var(--motion-2) var(--ease-spring), opacity var(--motion-still) linear;
}
.card-menu[data-hand-lift] .card-menu-face > .cf { width: 100%; box-shadow: var(--shadow-float); }
.card-menu[data-hand-lift] .card-menu-face[data-flicking] { cursor: grabbing; transition: transform var(--motion-3) var(--ease-spring), translate 0s, opacity var(--motion-still) linear; }
@starting-style {
  .card-menu[data-hand-lift]:not([hidden]) .card-menu-face { transform: var(--lift-from); opacity: 0; }
}
.card-menu[data-hand-lift][hidden] .card-menu-face { transform: var(--lift-from); transition: transform var(--win-out) var(--ease-exit), translate var(--win-out) var(--ease-exit); }


.card-menu[data-hand-lift] .card-menu-items {
  position: fixed;
  left: var(--lift-cx);
  top: var(--lift-cy);
  width: var(--lift-cw);
  max-height: calc(100dvh - var(--lift-cy) - var(--step-2));
  overflow-y: auto;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: flex-start;
  gap: var(--step-2);
  pointer-events: none;
  transition: opacity var(--motion-2) var(--ease-standard) var(--motion-1), transform var(--motion-2) var(--ease-standard) var(--motion-1);
}
@starting-style {
  .card-menu[data-hand-lift]:not([hidden]) .card-menu-items { opacity: 0; transform: translateY(10px); }
}
.card-menu[data-hand-lift][hidden] .card-menu-items { opacity: 0; transition: opacity var(--motion-1) var(--ease-exit); }
.card-menu[data-hand-lift] .cardmenu-group { display: contents; }
.card-menu[data-hand-lift] .cardmenu-group-head, .card-menu[data-hand-lift] .cardmenu-icon { display: none; }
.card-menu[data-hand-lift] .cardmenu-note {
  position: fixed;
  left: var(--lift-cx);
  bottom: calc(100dvh - var(--lift-y) + var(--step-2));
  width: var(--lift-cw);
  margin: 0;
  text-align: center;
  pointer-events: none;
}

.card-menu[data-hand-lift] .cardmenu-item {
  pointer-events: auto;
  width: auto;
  height: auto;
  min-height: var(--touch);
  padding: 0 var(--step-4);
  display: inline-flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  column-gap: var(--step-2);
  text-align: center;
  white-space: nowrap;
  font-size: var(--touch-floor-ui);
  line-height: 1.2;
  background: var(--surface-overlay);
  border: 1px solid var(--line-2);
  border-radius: var(--round-pill);
  box-shadow: var(--shadow-float);
  color: var(--ink-1);
  font-weight: 600;
}
.card-menu[data-hand-lift] .cardmenu-label::first-letter { text-transform: uppercase; }
.card-menu[data-hand-lift] .cardmenu-price, .card-menu[data-hand-lift] .cardmenu-reason { font-size: var(--type-note); font-weight: 400; color: var(--ink-2); grid-column: auto; flex-basis: auto; }
.card-menu[data-hand-lift] .cardmenu-reason { white-space: normal; }
.card-menu[data-hand-lift] .cardmenu-price:empty, .card-menu[data-hand-lift] .cardmenu-reason:empty { display: none; }

.card-menu[data-hand-lift] .cardmenu-group.is-play:first-child .cardmenu-item:first-of-type { background: var(--surface-2); font-weight: 700; }
@media (hover: hover) { .card-menu[data-hand-lift] .cardmenu-item:hover { background: var(--line-2); } }
.card-menu[data-hand-lift] .cardmenu-item:active { scale: var(--tap); }
.card-menu[data-hand-lift] .cardmenu-item.is-blocked, .card-menu[data-hand-lift] .cardmenu-ability { border-radius: var(--round-2); }
.card-menu[data-hand-lift] .cardmenu-ability { text-align: left; max-width: 100%; }


.card-menu[data-hand-lift] .hand-more { pointer-events: none; flex: 0 0 auto; display: flex; flex-flow: row wrap; justify-content: center; gap: var(--step-2); }
.card-menu[data-hand-lift] .hand-more[open] { flex-basis: 100%; }
.card-menu[data-hand-lift] .hand-more-chip {
  pointer-events: auto;
  list-style: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--touch);
  min-height: var(--touch);
  padding: 0 var(--step-3);
  font-size: var(--touch-floor-ui);
  color: var(--ink-2);
  background: var(--surface-overlay);
  border: 1px solid var(--line-2);
  border-radius: var(--round-pill);
}
.card-menu[data-hand-lift] .hand-more-chip::-webkit-details-marker { display: none; }
.card-menu[data-hand-lift] .hand-more[open] > .hand-more-chip { color: var(--ink-1); background: var(--surface-2); }
.card-menu[data-hand-lift] .hand-more-rows, .card-menu[data-hand-lift] .card-menu-looks { display: contents; }


.card-menu[data-hand-lift] .hand-lift-hint {
  position: fixed;
  left: var(--lift-cx);
  bottom: calc(100dvh - var(--lift-y) + var(--step-2));
  width: var(--lift-cw);
  margin: 0;
  text-align: center;
  font-size: var(--touch-floor-ui);
  color: var(--ink-2);
  pointer-events: none;
}


.ed-face { --tilt-x: 0deg; --tilt-y: 0deg; --sheen-x: 0%; --sheen-y: 0%; }
.ed-face > .hand-sheen, .ed-face > .hand-holo { display: none; }
@media (hover: hover) and (pointer: fine) {
  .ed-face > .hand-sheen, .ed-face > .hand-holo { display: block; position: absolute; inset: 0; overflow: hidden; border-radius: var(--round-2); pointer-events: none; opacity: 0; }
  .ed-face > .hand-sheen > i, .ed-face > .hand-holo > i { position: absolute; inset: -100%; transform: translate(var(--sheen-x), var(--sheen-y)); will-change: transform; }
  .ed-face > .hand-sheen > i { background: linear-gradient(115deg, transparent 41%, oklch(98% 0.01 270 / 0.5) 49%, oklch(100% 0 0 / 0.72) 50%, oklch(98% 0.01 270 / 0.5) 51%, transparent 59%); }
  .ed-face > .hand-holo > i {
    background: repeating-linear-gradient(115deg, color-mix(in oklch, var(--holo-hue) 70%, transparent) 0%, oklch(86% 0.14 95 / 0.55) 5%, oklch(84% 0.14 160 / 0.5) 10%, oklch(82% 0.13 230 / 0.55) 15%, oklch(76% 0.16 305 / 0.55) 20%, color-mix(in oklch, var(--holo-hue-2) 70%, transparent) 25%, oklch(80% 0.16 15 / 0.45) 30%);
  }
  .ed-face > .hand-holo { opacity: 0.26; transition: opacity var(--motion-2) var(--ease-standard); }
  .ed-face > .hand-sheen { transition: opacity var(--motion-2) var(--ease-standard); }
  .ed-face > .cf { transition: transform var(--motion-1) var(--ease-standard); }
  .ed-face:not(.ed-face-off):hover > :is(.cf, .hand-sheen, .hand-holo) {
    transform: translateY(-4px) scale(1.03) perspective(var(--tilt-persp)) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
    will-change: transform;
  }
  .ed-face:not(.ed-face-off):hover > .hand-sheen { opacity: var(--sheen-a); }
  .ed-face:not(.ed-face-off):hover > .hand-holo { opacity: var(--holo-a); }
}
@media (prefers-reduced-motion: reduce) {
  :root:not([data-motion="full"]) .ed-face > .hand-sheen { display: none; }
  :root:not([data-motion="full"]) .ed-face > .hand-holo > i { transform: none; }
}
:root[data-motion="reduce"] .ed-face > .hand-sheen { display: none; }
:root[data-motion="reduce"] .ed-face > .hand-holo > i { transform: none; }

@media (hover: hover) and (pointer: fine) {
  :root[data-motion="reduce"] .ed-face:not(.ed-face-off):hover > :is(.cf, .hand-sheen, .hand-holo) { transform: none; }
  @media (prefers-reduced-motion: reduce) {
    :root:not([data-motion="full"]) .ed-face:not(.ed-face-off):hover > :is(.cf, .hand-sheen, .hand-holo) { transform: none; }
  }
}
