.op-hourglass{position:fixed;z-index:2147483646;left:50%;bottom:max(100px,calc(env(safe-area-inset-bottom) + 90px));transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:12px 20px;border:1px solid #d6ae26;border-radius:18px;background:rgba(20,17,10,.97);color:#ffe477;box-shadow:0 8px 28px #0008;font:700 15px/1.3 Arial,sans-serif;pointer-events:none}
.op-hourglass[hidden]{display:none!important}
.op-hourglass svg{width:30px;height:40px;overflow:visible;animation:op-hourglass-turn 2.4s ease-in-out infinite}
.op-hourglass-frame{fill:none;stroke:#f5d35a;stroke-width:3;stroke-linecap:round}
.op-hourglass-top,.op-hourglass-bottom{fill:#ecc12e;transform-box:fill-box}
.op-hourglass-top{transform-origin:center bottom;animation:op-hourglass-sand 2.4s ease-in infinite}
.op-hourglass-bottom{transform-origin:center bottom;animation:op-hourglass-sand 2.4s ease-in infinite reverse}
.op-hourglass-stream{stroke:#ffe477;stroke-width:2;stroke-dasharray:2 3;animation:op-hourglass-flow .45s linear infinite}
@keyframes op-hourglass-turn{0%,78%{transform:rotate(0)}100%{transform:rotate(180deg)}}
@keyframes op-hourglass-sand{0%{transform:scaleY(1)}78%,100%{transform:scaleY(.12)}}
@keyframes op-hourglass-flow{to{stroke-dashoffset:-5}}
@media(max-width:600px){.op-hourglass{max-width:calc(100vw - 32px);font-size:14px;padding:10px 16px}}
@media(prefers-reduced-motion:reduce){.op-hourglass svg,.op-hourglass path{animation:none!important}}
