/* STRENG — Explorer Shake. Scoped add-on, not a mosaic rewrite. */
.dse .dse-shake-ui[hidden],.dse .dse-shake-permission[hidden]{display:none!important}
.dse .dse-shake-ui{
  position:absolute;right:clamp(12px,2.4vw,35px);top:11px;z-index:19;
  display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;
  gap:8px;pointer-events:auto;
}
.dse .dse-shake-tip{
  color:#fff;font:800 10px/1.15 'Helvetica Neue',Helvetica,Arial,sans-serif;
  letter-spacing:.10em;text-shadow:0 1px 9px #000;
}
.dse .dse-shake-button,.dse .dse-shake-permission{
  background:#eeeef0;color:#101111;border:2px solid #fafafa;border-radius:0;
  font:900 11px/1.15 'Helvetica Neue',Helvetica,Arial,sans-serif;
  letter-spacing:.025em;min-height:40px;padding:10px 14px;
  white-space:nowrap;box-shadow:0 5px 24px #0009;cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,background .16s;
}
.dse .dse-shake-permission{
  background:#151616;color:#fff;border:1px solid #b5b5b3;font-size:9px;padding:10px;
}
.dse .dse-shake-button:hover,.dse .dse-shake-button:focus-visible{
  transform:translateY(-2px) scale(1.045);box-shadow:0 7px 32px #fff6;
}
.dse .dse-shake-button:active{transform:scale(.91)}
.dse .dse-shake-button:disabled,.dse .dse-shake-permission:disabled{opacity:.45;cursor:default}
.dse .dse-shake-announcement{
  position:absolute;z-index:30;bottom:22px;left:50%;transform:translateX(-50%);
  color:#f9f9f8;text-shadow:0 2px 14px #000;font:850 11px/1.3
  'Helvetica Neue',Helvetica,Arial,sans-serif;white-space:nowrap;
  letter-spacing:.07em;pointer-events:none;
}
.dse .dse-shake-announcement:empty{display:none}
.dse .dse-shake-burst{
  position:absolute;inset:0;z-index:14;pointer-events:none;overflow:hidden;
  opacity:0;display:grid;place-items:center;isolation:isolate;
}
.dse .dse-shake-burst::before{
  content:'';position:absolute;inset:-45%;
  background:repeating-conic-gradient(from 5deg at 50% 50%,
    #e9e9dfbd 0deg,#ffffff00 2deg,#ffffff00 18deg,#dadad286 19deg,#ffffff00 22deg);
  opacity:.4;transform:scale(.3) rotate(-70deg);
}
.dse .dse-shake-burst::after{
  content:'';position:absolute;inset:-25%;border:20px solid #f9f9f0;
  border-radius:50%;opacity:0;
}
.dse .dse-shake-burst__ring{
  position:absolute;width:120px;height:120px;border:3px solid #fff;
  border-radius:50%;box-shadow:0 0 46px #fff8;opacity:0;
}
.dse .dse-shake-burst strong{
  position:relative;z-index:2;color:#fff;
  font:950 clamp(42px,8vw,130px)/.82 'Helvetica Neue',Helvetica,Arial,sans-serif;
  letter-spacing:-.09em;text-align:center;text-transform:uppercase;
  text-shadow:0 2px 50px #000,0 5px 5px #000a;
  transform:rotate(-9deg) scale(.6);opacity:0;
}
.dse.dse-is-shaking .dse-stage{
  animation:dse-shake-stage .83s cubic-bezier(.22,.68,.14,1) both!important;
  transform-origin:50% 50%;
}
.dse.dse-is-shaking .dse-shake-burst{animation:dse-shake-burst .92s ease-out both}
.dse.dse-is-shaking .dse-shake-burst::before{animation:dse-shake-rays .9s cubic-bezier(.15,.9,.25,1) both}
.dse.dse-is-shaking .dse-shake-burst::after{animation:dse-shake-wave .85s ease-out both}
.dse.dse-is-shaking .dse-shake-burst__ring{animation:dse-shake-ring 1.05s ease-out both}
.dse.dse-is-shaking .dse-shake-burst strong{animation:dse-shake-word .92s cubic-bezier(.12,.8,.2,1) both}
@keyframes dse-shake-stage{
  0%,100%{transform:translate3d(0,0,0) rotate(0) scale(1)}
  10%{transform:translate3d(-29px,18px,0) rotate(-5deg) scale(1.07)}
  22%{transform:translate3d(34px,-25px,0) rotate(6deg) scale(1.1)}
  34%{transform:translate3d(-42px,-3px,0) rotate(-8deg) scale(1.13)}
  46%{transform:translate3d(33px,20px,0) rotate(7deg) scale(1.11)}
  58%{transform:translate3d(-21px,-17px,0) rotate(-5deg) scale(1.1)}
  73%{transform:translate3d(17px,13px,0) rotate(3deg) scale(1.06)}
  90%{transform:translate3d(-5px,-4px,0) rotate(-1deg) scale(1.01)}
}
@keyframes dse-shake-burst{0%{opacity:0}10%,44%{opacity:1}88%{opacity:.6}100%{opacity:0}}
@keyframes dse-shake-rays{
  0%{transform:scale(.2) rotate(-85deg);opacity:.95}
  50%{transform:scale(1.18) rotate(35deg);opacity:.8}
  100%{transform:scale(1.65) rotate(85deg);opacity:0}
}
@keyframes dse-shake-wave{
  0%{transform:scale(.06);opacity:.86}70%{opacity:.65}
  100%{transform:scale(1.2);opacity:0}
}
@keyframes dse-shake-ring{
  0%{transform:scale(.15);opacity:1}35%{opacity:1}
  100%{transform:scale(13);opacity:0}
}
@keyframes dse-shake-word{
  0%{opacity:0;transform:rotate(-15deg) scale(.42)}
  20%{opacity:1;transform:rotate(7deg) scale(1.14)}
  55%{opacity:1;transform:rotate(-3deg) scale(1.04)}
  100%{opacity:0;transform:rotate(0deg) scale(1.35)}
}
@media(max-width:700px){
 .dse .dse-shake-ui{top:5px;left:8px;right:8px;justify-content:center;gap:5px}
 .dse .dse-shake-tip{display:none}
 .dse .dse-shake-button{font-size:10px;min-height:32px;padding:6px 10px}
 .dse .dse-shake-permission{font-size:9px;min-height:32px;padding:6px 8px}
 .dse .dse-shake-announcement{bottom:9px;font-size:9px}
 .dse .dse-shake-burst strong{font-size:clamp(42px,11vw,80px)}
}
@media(prefers-reduced-motion:reduce){
 .dse.dse-is-shaking .dse-stage{animation:none!important}
 .dse.dse-is-shaking .dse-shake-burst,
 .dse.dse-is-shaking .dse-shake-burst::before,
 .dse.dse-is-shaking .dse-shake-burst::after,
 .dse.dse-is-shaking .dse-shake-burst__ring,
 .dse.dse-is-shaking .dse-shake-burst strong{animation:none!important}
 .dse .dse-shake-button{transition:none}
}
