/* LuckBattle Originals shared controls.
 * Shared, opt-in classes keep action states consistent across custom games.
 * Reference-derived design provenance is tracked in docs/legal/RIGHTS-REGISTER.md. */
:root{
  --lb-originals-black-900:var(--lb-game-stage);
  --lb-originals-gray-300:var(--lb-ink-muted);
  --lb-originals-gray-400:var(--lb-chrome-icon);
  --lb-originals-gray-600:var(--lb-game-active);
  --lb-originals-gray-700:var(--lb-game-raised);
  --lb-originals-gray-800:var(--lb-game-control);
  --lb-originals-gray-900:var(--lb-game-panel);
  --lb-originals-primary:var(--lb-action-primary,#F45DC4);
  --lb-originals-primary-hover:var(--lb-action-primary-hover,#FF76D0);
  --lb-originals-primary-pressed:var(--lb-action-primary-active,#D848AB);
  --lb-originals-success:var(--lb-action-secured,#38C979);
  --lb-originals-success-hover:var(--lb-action-secured-hover,#4BD68A);
  --lb-originals-success-pressed:var(--lb-action-secured-active,#2EAD67);
}

/* Button owns no outside geometry. The inner content owns the fill and press,
   so press/release scales the face without moving the surrounding layout. */
button.lb-originals-btn[data-lb-originals-button]{
  box-sizing:border-box!important;
  display:flex!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:6px!important;
  background:transparent!important;
  color:var(--lb-action-secondary-ink)!important;
  overflow:visible!important;
  font-family:Urbanist,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:20px!important;
  letter-spacing:0!important;
  text-overflow:clip!important;
  isolation:isolate;
  transform:none!important;
}
button.lb-originals-btn[data-lb-originals-button][hidden]{display:none!important}
button.lb-originals-btn.lb-originals-btn--sm{height:36px!important;min-height:36px!important;font-size:13px!important}
button.lb-originals-btn.lb-originals-btn--md{height:48px!important;min-height:48px!important}
button.lb-originals-btn.lb-originals-btn--lg{height:54px!important;min-height:54px!important}
button.lb-originals-btn:active:not(:disabled){transform:none!important}
button.lb-originals-btn:focus-visible{outline:0!important}
button.lb-originals-btn:focus-visible>.lb-originals-btn__content{
  outline:2px solid var(--lb-action-focus,#FF76D0)!important;
  outline-offset:2px!important;
}
button.lb-originals-btn>.lb-originals-btn__content{
  box-sizing:border-box;
  position:relative;
  width:100%;
  min-height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0 16px;
  border:1px solid transparent;
  border-radius:6px;
  color:var(--lb-action-secondary-ink);
  transform:scale(1);
  transition:background-color .2s,color .2s,box-shadow .12s ease,transform .2s,border-color .2s;
  pointer-events:none;
}
.lb-originals-btn__label{display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}
.lb-originals-btn__label .game-chip-inline{width:16px!important;height:16px!important;min-width:16px!important;vertical-align:0!important}
button.lb-originals-btn--primary>.lb-originals-btn__content{background:var(--lb-originals-primary);border-color:var(--lb-originals-primary);color:var(--lb-action-primary-ink)}
button.lb-originals-btn--secondary>.lb-originals-btn__content{background:var(--lb-action-secondary);border-color:var(--lb-action-secondary-border);color:var(--lb-action-secondary-ink)}
/* CASHOUT — money coming back to the player (selling items, collecting). Green
   is the site's realise-value colour, so the shared press mechanics get a
   variant rather than the pink primary being reused for it. */
button.lb-originals-btn--cashout>.lb-originals-btn__content{background:var(--lb-originals-success);border-color:var(--lb-originals-success);color:var(--lb-action-secured-ink)}
button.lb-originals-btn--primary:not(:disabled)>.lb-originals-btn__content,
button.lb-originals-btn--cashout:not(:disabled)>.lb-originals-btn__content{box-shadow:var(--lb-action-shadow,0 6px 15px -7px rgba(0,0,0,.68),0 1px 0 rgba(255,255,255,.10) inset)}
@media(hover:hover){
  button.lb-originals-btn--primary:hover:not(:disabled)>.lb-originals-btn__content{background:var(--lb-originals-primary-hover);border-color:var(--lb-originals-primary-hover)}
  button.lb-originals-btn--secondary:hover:not(:disabled)>.lb-originals-btn__content{background:var(--lb-action-secondary-hover)}
  button.lb-originals-btn--cashout:hover:not(:disabled)>.lb-originals-btn__content{background:var(--lb-originals-success-hover);border-color:var(--lb-originals-success-hover)}
}
button.lb-originals-btn--cashout:active:not(:disabled)>.lb-originals-btn__content{
  transform:scale(.95);background:var(--lb-originals-success-pressed);border-color:var(--lb-originals-success-pressed);
}
button.lb-originals-btn--primary:active:not(:disabled)>.lb-originals-btn__content{
  transform:scale(.95);background:var(--lb-originals-primary-pressed);border-color:var(--lb-originals-primary-pressed);
}
button.lb-originals-btn--secondary:active:not(:disabled)>.lb-originals-btn__content{
  transform:scale(.95);background:var(--lb-action-secondary-active);
}
button.lb-originals-btn:disabled{cursor:not-allowed!important;opacity:1!important;pointer-events:none!important}
button.lb-originals-btn:disabled>.lb-originals-btn__content{
  color:var(--lb-action-disabled-ink)!important;background:var(--lb-action-disabled)!important;border-color:transparent!important;box-shadow:none!important;transition:none;
}
button.lb-originals-btn--secondary:disabled>.lb-originals-btn__content{
  color:var(--lb-action-disabled-ink)!important;background:var(--lb-action-disabled)!important;border-color:transparent!important;
}
button.lb-originals-btn.is-loading>.lb-originals-btn__content{color:transparent!important}
button.lb-originals-btn--primary.is-loading>.lb-originals-btn__content{background:var(--lb-originals-primary-pressed)!important;border-color:var(--lb-originals-primary-pressed)!important}
button.lb-originals-btn.is-loading>.lb-originals-btn__content>*:not(.lb-originals-logo-loader){visibility:hidden}

.lb-originals-actions{gap:16px!important}

/* Approved water-fill L+B loader. */
.lb-originals-logo-loader{
  position:absolute;
  left:50%;
  top:50%;
  width:25px;
  height:28px;
  display:none;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  opacity:0;
  transform:translate(-50%,-50%);
  transition:opacity .3s;
}
button.lb-originals-btn.is-loading .lb-originals-logo-loader{display:flex;opacity:1;visibility:visible!important}
.lb-originals-logo-loader__mark{
  display:block;
  width:25px;
  height:28px;
  object-fit:contain;
  transform-origin:center;
  will-change:transform;
  animation:none;
}
@keyframes lbOriginalsLogoSpin{to{transform:rotate(360deg)}}
@keyframes lbOriginalsLogoSpinRestart{to{transform:rotate(360deg)}}
button.lb-originals-btn.is-loading .lb-originals-logo-loader__mark{
  animation:var(--lb-originals-spinner-animation,lbOriginalsLogoSpin) .9s linear infinite;
}
button.lb-originals-btn.lb-originals-spin-restart{
  --lb-originals-spinner-animation:lbOriginalsLogoSpinRestart;
}

/* The 1/2 and 2x PercentageInput geometry moved to lucky-babes-buttons.css so
   ONE rule owns it for all nine custom Originals (Chicken loads that file too).
   Re-adding a copy here re-breaks size parity: this file loads last and won. */

/* MultiActionGameStats, extracted as a reusable current/next-profit card. */
.lb-originals-profit-card{
  box-sizing:border-box;
  position:relative;
  width:100%;
  padding:16px!important;
  border:1px solid var(--lb-game-line)!important;
  border-radius:8px!important;
  background:transparent!important;
  color:var(--lb-ink);
  font-family:Urbanist,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1;
  order:4!important;
}
.lb-originals-profit-card[hidden]{display:none!important}
.lb-originals-profit-card__row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin:0 0 8px;
  color:var(--lb-ink);
  font-size:12px;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
}
.lb-originals-profit-card__row span,.lb-originals-profit-card__row strong{
  color:inherit!important;font:inherit!important;letter-spacing:0!important;text-transform:none!important;
}
.lb-originals-profit-card__amount{font-size:12px!important;white-space:nowrap}
.lb-originals-profit-card__multiplier-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  color:var(--lb-ink-2);
  font-size:14px;
  font-weight:700;
  line-height:1.5;
}
.lb-originals-profit-card__value{display:inline-flex;align-items:center;gap:7px;min-width:0}
.lb-originals-profit-card__value .game-chip-inline{width:14px!important;height:14px!important;min-width:14px!important;vertical-align:0!important}
.lb-originals-profit-card__green{color:var(--lb-success)!important}
.lb-originals-profit-card__divider{display:flex;align-items:center;justify-content:center;margin:8px 0}
.lb-originals-profit-card__line{height:1px;flex:1 1 auto;background:var(--lb-game-line)}
.lb-originals-profit-card__chevron{
  width:25px;height:25px;display:flex;align-items:center;justify-content:center;
  border-radius:50%;background:var(--lb-game-control);color:var(--lb-chrome-icon);
}
.lb-originals-profit-card__chevron svg{display:block;width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

@media(prefers-reduced-motion:reduce){
  button.lb-originals-btn>.lb-originals-btn__content{transition-duration:.01s}
  .lb-originals-logo-loader__mark{animation:none}
}
