/* Shared hold preview and progress styles; game themes can override --hold-*. */
.requires-hold {touch-action:none;user-select:none;-webkit-user-select:none}
.requires-hold.holding-action {box-shadow:0 0 0 3px var(--hold-accent,#f1c86a);filter:brightness(1.1)}
.hold-popover {position:fixed;z-index:1100;width:min(240px,calc(100vw - 20px));
  padding:12px 14px;background:var(--hold-panel,#153349);color:var(--hold-ink,#ecf8ff);
  border:1px solid var(--hold-border,#75b4d5);border-radius:12px;box-shadow:0 16px 42px #000b;
  pointer-events:none;text-align:left}
.hold-popover[hidden] {display:none!important}
.hold-popover .confirm-message {font-size:14px;font-weight:750;line-height:1.3;margin:0 0 10px;color:inherit}
.hold-track {position:relative;height:30px;background:var(--hold-track,#092334);
  border:1px solid var(--hold-border,#75b4d5);border-radius:7px;overflow:hidden}
.hold-fill {height:100%;width:0;background:var(--hold-accent,#f1c86a);transition:none}
.hold-track-label {position:absolute;inset:0;display:grid;place-items:center;
  color:var(--hold-ink,#ecf8ff);font-size:12px;font-weight:800}
.hold-popover.is-holding .hold-fill {width:100%;transition:width var(--hold-ms,550ms) linear}
.hold-popover.is-holding .hold-track-label {color:var(--hold-progress-ink,#152535)}
