.marker{transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1),box-shadow .2s ease-out,border-color .2s ease-out;will-change:transform,opacity;transform-origin:center bottom;outline:none}.marker:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.marker-dot{animation:fadeIn .2s ease-out}.marker-dot-inner{transition:transform .2s ease-out,box-shadow .2s ease-out}.marker-dot:focus .marker-dot-inner,.marker-dot:hover .marker-dot-inner{transform:scale(1.5);box-shadow:0 4px 8px rgba(0,0,0,.3)}.marker-simplified{animation:scaleIn .3s cubic-bezier(.4,0,.2,1)}.marker-simplified:focus,.marker-simplified:hover{box-shadow:0 4px 12px rgba(0,0,0,.25)}.marker-label{opacity:0;transition:opacity .2s ease-out}.marker-label.visible{opacity:1}.marker-full{animation:bounceIn .4s cubic-bezier(.68,-.55,.265,1.55)}.marker-full:focus,.marker-full:hover{box-shadow:0 8px 24px rgba(0,0,0,.3)}.match-rate-badge,.roastery-badge{animation:slideUp .3s ease-out .1s both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3) translateY(-20px)}50%{opacity:1;transform:scale(1.05) translateY(0)}70%{transform:scale(.95)}to{transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.marker-transition-enter{animation:markerFadeIn .3s ease-out}.marker-transition-exit{animation:markerFadeOut .2s ease-out}@keyframes markerFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes markerFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.map-zooming .marker{animation:none;transition:opacity .1s linear}@media (prefers-reduced-motion:reduce){.marker,.marker-dot-inner,.marker-label,.match-rate-badge,.roastery-badge{animation:none!important;transition:none!important}}.marker:focus-visible{outline:3px solid #3b82f6;outline-offset:3px;z-index:1000}@media (prefers-contrast:high){.marker{border-width:3px}.marker-dot-inner{border:2px solid}}@media print{.marker{animation:none;box-shadow:none}.marker-dot-inner{border:1px solid #000}}:root{--notice-height:40px;--navigation-height:77px;--main-content-height:calc(100vh - var(--notice-height) - var(--navigation-height))}body:not(.has-notice){--notice-height:0px}@media (max-width:640px){:root{--notice-height:40px;--navigation-height:77px}}.main-content{position:fixed;top:var(--notice-height);left:0;right:0;bottom:var(--navigation-height);width:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.h-main-content,.h-map-container,.main-content{height:var(--main-content-height)}