.fp-wrap{max-width:520px;margin:0 auto;padding:12px 16px 0}.fp-modes{justify-content:center;gap:8px;margin-bottom:12px;display:flex}.fp-mode{flex:1}.fp-pad{border:var(--line);height:min(64dvh,560px);box-shadow:0 6px 0 var(--ink);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:pointer;background:linear-gradient(135deg,#ffe3e3,#fff3bf);border-radius:28px;transition:background .3s;position:relative;overflow:hidden}.fp-pad.done{background:linear-gradient(135deg,#2b2140,#4c3a6e)}.fp-hint{text-align:center;white-space:pre-line;pointer-events:none;font-family:var(--font-display);color:var(--ink);place-items:center;padding:20px;font-size:1.5rem;font-weight:700;line-height:1.4;display:grid;position:absolute;inset:0}.fp-pad.charging .fp-hint{font-size:2rem}.fp-pad.done .fp-hint{color:#fff;align-items:start;padding-top:22px;font-size:1.8rem}.fp-finger{--size:92px;left:calc(var(--size) / -2);top:calc(var(--size) / -2);width:var(--size);height:var(--size);background:var(--c);border:4px solid var(--ink);box-shadow:0 5px 0 var(--ink);pointer-events:auto;border-radius:50%;transition:opacity .3s,filter .3s;animation:.25s cubic-bezier(.2,1.5,.4,1) fpIn;position:absolute}.fp-finger:after{content:"";border:5px solid var(--c);opacity:.6;border-radius:50%;position:absolute;inset:-14px}.fp-finger:before{content:attr(data-label);font-family:var(--font-display);color:#fff;place-items:center;font-size:2rem;font-weight:800;display:grid;position:absolute;inset:0}@keyframes fpIn{0%{scale:.3}to{scale:1}}.fp-pad.charging .fp-finger:after{animation:2.2s linear forwards fpCharge}.fp-pad.charging .fp-finger{animation:.5s ease-in-out infinite alternate fpPulse}@keyframes fpCharge{0%{opacity:.2;inset:-40px}to{opacity:1;inset:-6px}}@keyframes fpPulse{0%{scale:1}to{scale:1.08}}.fp-finger.lose{opacity:.25;filter:grayscale();scale:.7}.fp-finger.win{--size:120px;z-index:2;animation:.5s cubic-bezier(.2,1.6,.4,1) fpWin}.fp-finger.win:after{opacity:1;border-width:7px;animation:.9s ease-out infinite fpRing;inset:-22px}@keyframes fpWin{0%{scale:.6}to{scale:1}}@keyframes fpRing{0%{opacity:1;inset:-10px}to{opacity:0;inset:-46px}}.fp-after{text-align:center;gap:10px;margin-top:12px;display:grid}.fp-after .party-penalty{margin-top:0}
