#jetSkiPrompt {
  position: fixed; right: max(20px, env(safe-area-inset-right)); bottom: max(22px, env(safe-area-inset-bottom));
  z-index: 14; display: flex; align-items: center; gap: 10px; padding: 8px 14px 8px 8px;
  border: 0; color: var(--ink); font: 600 16px/1.3 var(--text);
}
#jetSkiPrompt kbd {
  display: grid; place-items: center; width: 28px; height: 28px; flex: none;
  font: 600 15px/1 var(--text); color: #fff; background: var(--btn);
  box-shadow: inset -2px -3px #0006, inset 2px 2px #ffffff50, 0 0 0 2px var(--line);
}
#jetSkiStatus {
  position: fixed; bottom: 94px; left: 50%; transform: translateX(-50%); z-index: 13;
  display: grid; grid-template-columns: 1fr auto; gap: 4px 16px; padding: 10px 14px;
  color: var(--ink); font: 14px/1.4 var(--text); pointer-events: none;
}
#jetSkiStatus > span { font-variant-numeric: tabular-nums; font-weight: 700; }
#jetSkiStatus small { grid-column: 1 / -1; color: var(--ink-soft); font-size: 12px; }
#jetSkiPad { display: none; }
body.jet-ski-available :is(#prompt, #fishingPrompt, #fishingStatus, #furniturePrompt) { display: none; }
@media (pointer: coarse) {
  #jetSkiPrompt { min-height: 48px; padding-left: 14px; }
  #jetSkiPrompt kbd { display: none; }
  #jetSkiPad { display: block; }
  #jetSkiPad .steer {
    position: fixed; left: max(16px, env(safe-area-inset-left)); bottom: calc(138px + env(safe-area-inset-bottom));
    width: 138px; height: 138px; z-index: 14;
  }
  #jetSkiPad button {
    border: 0; min-height: 44px; color: var(--ink); font: 700 20px/1 var(--text);
    touch-action: none; user-select: none; -webkit-user-select: none;
  }
  #jetSkiPad button.on { background: var(--accent); }
  #jetSkiPad .wheel {
    position: relative; display: grid; place-items: center; width: 100%; height: 100%; padding: 0;
    border: 2px solid #f1eee28c; border-radius: 50%; background: #26332e70;
    box-shadow: inset 0 0 0 8px #101c2933, 0 3px 0 #0005; cursor: grab;
  }
  #jetSkiPad .wheel::before {
    content: ''; position: absolute; inset: 17px; border: 1px solid #fff3; border-radius: 50%;
    background: linear-gradient(#ffffff25, #ffffff25) center / 1px 100% no-repeat,
      linear-gradient(#ffffff25, #ffffff25) center / 100% 1px no-repeat;
    pointer-events: none;
  }
  #jetSkiPad .wheel.on { background: #26332e90; cursor: grabbing; }
  #jetSkiPad .wheel:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
  #jetSkiPad .wheel-knob {
    width: 48px; height: 48px; box-sizing: border-box; border: 2px solid var(--line); border-radius: 50%;
    background: var(--gui-light); box-shadow: inset 2px 3px 0 #ffffff65, inset -2px -3px 0 #0003, 0 3px 5px #0005;
    pointer-events: none;
  }
  #jetSkiPad .power {
    position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: calc(158px + env(safe-area-inset-bottom));
    display: grid; gap: 8px; z-index: 14;
  }
  #jetSkiPad .power button { min-width: 68px; padding: 0 10px; font-size: 15px; }
  #jetSkiStatus small { display: none; }
}
@media (max-width: 720px), (max-height: 520px) {
  #jetSkiPrompt {
    left: max(12px, env(safe-area-inset-left)); right: auto; bottom: calc(76px + env(safe-area-inset-bottom));
    max-width: calc(100vw - 168px - env(safe-area-inset-left) - env(safe-area-inset-right)); font-size: 14px;
  }
  #jetSkiStatus {
    left: max(12px, env(safe-area-inset-left)); top: calc(76px + env(safe-area-inset-top)); bottom: auto;
    transform: none; padding: 6px 10px; font-size: 13px; max-width: calc(100vw - 48px);
  }
  #jetSkiStatus small { display: none; }
}
