.event-visitor{position:fixed;left:0;top:0;width:100px;height:140px;z-index:9997;pointer-events:none;will-change:transform;filter:drop-shadow(0 5px 3px #142c4526)}
.visitor-person{display:block;width:100px;height:140px;overflow:visible;transform:scaleX(var(--visitor-facing,1))}
.visitor-leg{transform-origin:50px 96px}
.visitor-walking .visitor-leg-front{animation:visitor-step .55s ease-in-out infinite alternate}
.visitor-walking .visitor-leg-back{animation:visitor-step .55s ease-in-out infinite alternate-reverse}
.visitor-walking .visitor-person{animation:visitor-bob .55s ease-in-out infinite alternate}
.visitor-dodging .visitor-leg,.visitor-dodging .visitor-person{animation-duration:.3s}
.visitor-egg.visitor-walking .visitor-leg{animation:visitor-rabbit-leg .55s ease-in-out infinite alternate}
.visitor-hat-on .visitor-hair{visibility:hidden}
@keyframes visitor-rabbit-leg{from{transform:scaleY(.83) rotate(-9deg)}to{transform:scaleY(1) rotate(8deg)}}
.visitor-candle .visitor-person,.visitor-candle .visitor-leg{animation:none}
@keyframes visitor-step{from{transform:rotate(-15deg)}to{transform:rotate(15deg)}}
@keyframes visitor-bob{from{transform:translateY(0) scaleX(var(--visitor-facing,1))}to{transform:translateY(-3px) scaleX(var(--visitor-facing,1))}}
.visitor-prop{position:absolute;pointer-events:none;transform-origin:50% 75%;z-index:2}
.visitor-prop svg{display:block;width:100%;height:100%;overflow:visible}
.visitor-prop-moving{transition:left .8s ease,top .8s ease,width .8s ease,height .8s ease,transform .8s ease}
.visitor-symbol-taken{visibility:hidden}
.countdown-stage.visitor-previous-glass,.countdown-stage.visitor-finished-glass{display:none}
.visitor-close{position:absolute;right:-22px;top:-22px;width:34px;height:34px;border:1px solid #17314855;border-radius:50%;padding:0;background:#fff;color:#173148;font:23px/1 sans-serif;pointer-events:auto;cursor:pointer;box-shadow:0 2px 5px #142c451a;filter:none}
.visitor-close:hover{background:#fff0df}
.visitor-close:focus-visible{outline:3px solid #e87825;outline-offset:3px}
.visitor-drinking .visitor-prop{transform:translate(-8px,-23px) rotate(-58deg)}
.visitor-drinking .visitor-liquid{animation:visitor-sip 2.2s ease forwards;transform-box:view-box}
@keyframes visitor-sip{0%,20%{transform:translateY(0)}100%{transform:translateY(100%)}}
.visitor-beer.visitor-leaving .visitor-liquid{transform:translateY(100%)!important}
.countdown-flame{transform-origin:60px 26px;animation:visitor-candle-flame 1.7s ease-in-out infinite alternate;filter:drop-shadow(0 0 3px #efb12a70)}
@keyframes visitor-candle-flame{0%{transform:scale(.96,1.02) rotate(-2deg);fill:#efb543}50%{transform:scale(1.04,.97) rotate(1deg);fill:#f8d16a}100%{transform:scale(.98,1.05) rotate(2deg);fill:#edb34d}}
.visitor-demo-panel{position:sticky;top:0;z-index:9998;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;padding:12px 18px;background:#fff3df;border-bottom:2px solid #e87825;font:15px/1.5 Nunito,sans-serif;color:#173148;box-shadow:0 3px 14px #142c4515}
.visitor-demo-panel p{margin:0}.visitor-demo-panel select{background:white;padding:8px;max-width:260px}
.visitor-demo-panel button{padding:9px 15px;border:0;border-radius:7px;background:#173148;color:white;font-weight:800}
.visitor-demo-panel small{flex-basis:100%;text-align:center}
@media(max-width:600px){.visitor-close{width:44px;height:44px}.visitor-demo-panel{font-size:13px}}
@media(prefers-reduced-motion:reduce){.event-visitor,.event-visitor *,.countdown-flame{animation:none!important;transition:none!important}}
