/* A played hand leaves a paper trace; the round tally keeps the earned result. */
.lf.rule-card-game .round-tally{
  --tally-gold:#dfbd75;--tally-ring:#d3b16f;--tally-ms:1800ms;
  position:relative;isolation:isolate;container-type:inline-size;overflow:hidden;
  min-width:0;margin:0 0 24px;padding:20px 22px;
  border:1px solid #c2a56966;border-left:3px solid #c2a569;border-radius:4px;
  background:linear-gradient(115deg,#eed29c12,#e1c56f04);color:var(--paper);
}
.lf.rule-card-game .round-tally[hidden]{display:none}
.lf.rule-card-game .tally-visual{
  position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;
  column-gap:18px;row-gap:8px;min-width:0;
}
.lf.rule-card-game .tally-label{
  grid-column:1;align-self:center;display:flex;align-items:center;min-width:0;min-height:3.9em;
  font:600 11px/1.4 var(--sans);letter-spacing:.055em;text-transform:uppercase;color:#d2c6ac;
}
.lf.rule-card-game .tally-percent{
  grid-column:2;grid-row:1;align-self:center;min-width:0;max-width:15ch;margin:0;text-align:right;overflow-wrap:anywhere;
  font:600 15px/1.4 var(--sans);font-variant-numeric:tabular-nums;color:var(--tally-gold);
}
.lf.rule-card-game .tally-score{
  grid-column:1/-1;display:block;min-width:0;min-height:1.1em;margin:2px 0;
  font:600 var(--tally-font,clamp(28px,10cqw,64px))/1.1 var(--serif);font-variant-numeric:lining-nums tabular-nums;
  letter-spacing:-.025em;overflow-wrap:anywhere;color:#f1dfb4;
}
.lf.rule-card-game .tally-target{
  grid-column:1/-1;min-width:0;min-height:1.5em;
  font:12px/1.5 var(--sans);font-variant-numeric:tabular-nums;color:#c5c6b7;overflow-wrap:anywhere;
}
.lf.rule-card-game .tally-meter{
  grid-column:1/-1;position:relative;height:4px;overflow:hidden;margin-top:7px;
  background:#dcc59a26;border-radius:2px;
}
.lf.rule-card-game .tally-fill{
  display:block;height:100%;max-width:100%;background:var(--tally-gold);
  border-radius:inherit;transform-origin:left center;
}
.lf.rule-card-game .round-tally[data-state="counting"] .tally-score{color:#fff0cb}
.lf.rule-card-game .round-tally[data-tier="100"],
.lf.rule-card-game .round-tally[data-tier="125"],
.lf.rule-card-game .round-tally[data-tier="150"]{--tally-gold:#e4bf77}
.lf.rule-card-game .round-tally[data-tier="200"],
.lf.rule-card-game .round-tally[data-tier="300"],
.lf.rule-card-game .round-tally[data-tier="500"]{--tally-gold:#f0cb7e;--tally-ring:#edc681;border-left-color:#e0bb70}
.lf.rule-card-game .round-tally[data-tier="1000"],
.lf.rule-card-game .round-tally[data-tier="2500"],
.lf.rule-card-game .round-tally[data-tier="5000"],
.lf.rule-card-game .round-tally[data-tier="10000"]{--tally-gold:#f5d593;--tally-ring:#f0d291;border-color:#ddbd768c;border-left-color:#f0d291}
.lf.rule-card-game .tally-ring{
  position:absolute;pointer-events:none;z-index:0;left:45%;top:50%;
  width:min(42%,200px);aspect-ratio:1;border:calc(1px + var(--tally-intensity,0) * 1px) solid var(--tally-ring);border-radius:47% 53% 49% 51%;
  opacity:0;transform:translate(-50%,-50%) scale(.45) rotate(-12deg);
}
.lf.rule-card-game .tally-ring{animation:lf-tally-ring 620ms cubic-bezier(.12,.65,.3,1) both}
.lf.rule-card-game .tally-burst{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}
.lf.rule-card-game .tally-spark{
  position:absolute;left:72%;top:60%;display:block;width:calc(2px + var(--tally-intensity,0) * 2px);height:calc(5px + var(--tally-intensity,0) * 6px);
  background:var(--tally-gold);border-radius:1px;opacity:0;
  animation:lf-lantern-spark 660ms ease-out var(--delay,0ms) both;
}
.lf.rule-card-game .tally-spark:nth-child(1){--spark-x:-80px;--spark-y:-22px;--spark-turn:-48deg}
.lf.rule-card-game .tally-spark:nth-child(2){--spark-x:-42px;--spark-y:-62px;--spark-turn:32deg}
.lf.rule-card-game .tally-spark:nth-child(3){--spark-x:3px;--spark-y:-82px;--spark-turn:-20deg}
.lf.rule-card-game .tally-spark:nth-child(4){--spark-x:48px;--spark-y:-58px;--spark-turn:53deg}
.lf.rule-card-game .tally-spark:nth-child(5){--spark-x:80px;--spark-y:-15px;--spark-turn:102deg}
.lf.rule-card-game .tally-spark:nth-child(6){--spark-x:56px;--spark-y:24px;--spark-turn:67deg}
.lf.rule-card-game .tally-spark:nth-child(7){--spark-x:8px;--spark-y:34px;--spark-turn:-38deg}
.lf.rule-card-game .tally-spark:nth-child(8){--spark-x:-44px;--spark-y:20px;--spark-turn:-95deg}

/* The short flourish never receives input or changes the card/table layout. */
.lf.rule-card-game .score-flourish{
  --flourish-ms:620ms;position:fixed;inset:0;z-index:60;overflow:hidden;
  pointer-events:none;contain:strict;isolation:isolate;
}
.lf.rule-card-game .score-flourish *{pointer-events:none}
.lf.rule-card-game .score-ghost{
  position:absolute;display:block;border:1px solid #f1d6a499;border-radius:4px;
  background:linear-gradient(135deg,#f2e4c826,#ecdbb73d);opacity:0;transform-origin:center;
  animation:lf-paper-flight var(--flourish-ms) cubic-bezier(.2,.68,.25,1) var(--delay,0ms) both;
}
.lf.rule-card-game .score-ghost:before,.lf.rule-card-game .score-ghost:after{
  content:'';position:absolute;left:24%;right:24%;height:2px;background:#c9ae7580;
  top:42%;transform:rotate(-9deg);
}
.lf.rule-card-game .score-ghost:after{top:54%;left:34%;right:20%;transform:rotate(6deg)}
.lf.rule-card-game .score-pop-note{
  position:absolute;container-type:inline-size;width:min(280px,calc(100vw - 32px));
  padding:12px 17px 13px;text-align:center;background:#18251ff2;
  border:1px solid #e2c28599;border-radius:4px;color:#f4dfb3;opacity:0;
  animation:lf-score-note var(--flourish-ms) ease-out both;
}
.lf.rule-card-game .score-pop-total{
  display:block;min-width:0;font:600 clamp(20px,9cqw,30px)/1.15 var(--serif);
  font-variant-numeric:tabular-nums;letter-spacing:-.02em;overflow-wrap:anywhere;
}
.lf.rule-card-game .score-pop-name{display:block;margin-top:5px;font:11px/1.4 var(--sans);color:#d0c6af;overflow-wrap:anywhere}
.lf.rule-card-game .score-spark{
  position:absolute;display:block;width:3px;height:7px;border-radius:1px;background:#e9c57b;opacity:0;
  animation:lf-lantern-spark var(--flourish-ms) ease-out var(--delay,0ms) both;
}
@keyframes lf-paper-flight{
  0%{opacity:0;transform:translate(0,0) rotate(var(--tilt,-4deg)) scale(.94)}
  16%{opacity:.7}
  70%{opacity:.35}
  100%{opacity:0;transform:translate(var(--fly-x,0px),var(--fly-y,-80px)) rotate(calc(var(--tilt,-4deg) + 12deg)) scale(.22)}
}
@keyframes lf-score-note{
  0%{opacity:0;transform:translate(-50%,-40%) scale(.94)}
  18%{opacity:1;transform:translate(-50%,-50%) scale(1.025)}
  65%{opacity:1;transform:translate(-50%,-55%) scale(1)}
  100%{opacity:0;transform:translate(-50%,-70%) scale(.98)}
}
@keyframes lf-lantern-spark{
  0%{opacity:0;transform:translate(0,0) rotate(0deg) scale(.4)}
  15%{opacity:.9}
  75%{opacity:.5}
  100%{opacity:0;transform:translate(var(--spark-x,36px),var(--spark-y,-48px)) rotate(var(--spark-turn,35deg)) scale(.65)}
}
@keyframes lf-tally-ring{
  0%{opacity:.48;transform:translate(-50%,-50%) scale(.45) rotate(-12deg)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.8) rotate(15deg)}
}
@media(max-width:650px){
  .lf.rule-card-game .round-tally{padding:16px;margin-bottom:20px}
  .lf.rule-card-game .tally-visual{column-gap:10px;row-gap:7px}
  .lf.rule-card-game .tally-label{font-size:10px;letter-spacing:.025em}
  .lf.rule-card-game .tally-percent{font-size:12px;max-width:14ch}
  .lf.rule-card-game .tally-target{font-size:11px}
  .lf.rule-card-game .tally-spark{left:60%}
  .lf.rule-card-game .score-pop-note{padding:10px 13px}
}
@media(prefers-reduced-motion:reduce){
  .lf.rule-card-game .score-flourish,.lf.rule-card-game .tally-burst{display:none!important}
  .lf.rule-card-game .tally-ring{display:none}
  .lf.rule-card-game .round-tally *{animation:none!important;transition:none!important}
}
