.passport-stamps.visit-stamps{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;padding:8px 3px!important;overflow:visible!important}
.visit-stamps button{min-width:0!important;min-height:68px!important;padding:7px 4px!important;border:2px dashed #6e786f!important;background:transparent!important;border-radius:7px!important;position:relative;box-shadow:none!important;transform:rotate(-3deg);color:#526358!important}
.visit-stamps button:nth-child(even){transform:rotate(3deg)}
.visit-stamps button strong{font:700 11px/1.1 monospace!important;display:block!important;letter-spacing:.3px!important}.visit-stamps button small{display:block!important;font:8px/1.4 monospace!important;margin-top:4px!important}.stamp-status{display:block;font:7px/1.5 monospace;letter-spacing:1px;margin-top:5px}
.visit-stamps .is-unvisited{opacity:.42;border-color:#8a8d80!important;color:#73786c!important}.visit-stamps .is-stamped{opacity:.94;border-style:double!important;border-width:3px!important;color:#a44e3c!important;border-color:#a44e3c!important;background:repeating-linear-gradient(18deg,#aa543807 0 1px,transparent 1px 4px)!important}
.visit-stamps .is-stamped:nth-child(3n){color:#315b65!important;border-color:#315b65!important}.visit-stamps .is-stamped:nth-child(3n + 2){color:#48654a!important;border-color:#48654a!important}
.passport-visit-count{font:9px monospace;letter-spacing:1.3px;color:#596851;border-top:1px solid #b1ad93;padding:7px 0 0;margin-top:5px}
.stamp-landing{animation:passport-ink-impact .75s cubic-bezier(.2,.8,.2,1) both!important;transform-origin:center}
@keyframes passport-ink-impact{0%{opacity:0;transform:scale(2.4) rotate(-22deg);filter:blur(4px)}45%{opacity:.9;transform:scale(.91) rotate(-5deg);filter:blur(0)}65%{transform:scale(1.08) rotate(-2deg)}100%{opacity:.94;transform:scale(1) rotate(-3deg)}}
.stamp-notice{position:fixed;right:24px;bottom:28px;z-index:99999;padding:14px 20px;border:1px solid #b79a67;background:#f6ebd2;color:#77533d;box-shadow:0 7px 24px #302b2222;font:13px Georgia;pointer-events:none;animation:stamp-notice-in .45s ease both}
@keyframes stamp-notice-in{from{opacity:0;transform:translateY(15px) rotate(3deg)}to{opacity:1;transform:translateY(0) rotate(-1deg)}}
@media(prefers-reduced-motion:reduce){.stamp-landing,.stamp-notice{animation:none!important}}
@media(max-width:650px){.passport-stamps.visit-stamps{grid-template-columns:repeat(3,minmax(0,1fr))!important}.visit-stamps button{min-height:64px!important}}
