/* Effects layer: particles, stamps, skip catcher. */
/* effects layer (FX): particles, stamps, skip catcher */
#fxLayer { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 60; }
.fx-skip { position: fixed; inset: 0; z-index: 61; }
.fx-flash { position: fixed; inset: 0; z-index: 59; background: #fff; pointer-events: none; }
.fx-host { position: relative; }
.fx-stamp { position: absolute; left: 50%; top: 50%; z-index: 2; transform: translate(-50%, -50%) rotate(-8deg); font: 800 30px/1 var(--f-display); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; color: #2f7a3a; border: 3.5px solid currentColor; border-radius: 6px; padding: 5px 12px 3px; background: rgba(255,255,255,.55); box-shadow: 0 4px 14px rgba(0,0,0,.18); pointer-events: none; }
.fx-stamp.lie { color: #a3291b; }
/* on the handwriting compare the stamp sits on the seam, right of the writing, so both samples stay readable */
.fx-cracked { overflow: hidden; }
.fx-crack { position: absolute; inset: 0; color: #a3291b; pointer-events: none; opacity: .75; }
.fx-crack svg { width: 100%; height: 100%; display: block; }
#foundChip.bump { animation: bump .4s cubic-bezier(.3,.7,.2,1.4); }
@keyframes bump { 40% { transform: scale(1.3); } }
[data-theme="cozy"] .fx-stamp { font-weight: 700; text-transform: none; letter-spacing: .02em; border-radius: 16px; color: #2e8a5c; background: rgba(255,255,255,.85); }
[data-theme="cozy"] .fx-stamp.lie { color: #d2563c; }
