/* A small living light. It never obscures the scene or blocks controls. */
.jammin-wait{position:fixed;z-index:20;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translate(-50%,8px);display:flex;align-items:center;gap:12px;max-width:calc(100vw - 36px);padding:10px 16px 10px 12px;border:1px solid #d9fff015;border-radius:40px;background:#06100ed9;backdrop-filter:blur(18px);color:#c9ddd5;box-shadow:0 12px 45px #0004;opacity:0;pointer-events:none;transition:opacity .4s ease,transform .6s cubic-bezier(.2,.7,.2,1);font:12px/1.45 Inter,ui-sans-serif,system-ui,sans-serif}
.jammin-wait[hidden]{display:none}.jammin-wait.is-visible{opacity:1;transform:translate(-50%,0)}
.wait-label{max-width:min(55vw,340px);text-wrap:balance}.wait-clock{color:#88a79c;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:45px;text-align:right;border-left:1px solid #d9fff018;padding-left:12px}
.wait-light{position:relative;display:block;width:26px;height:26px;flex:none;isolation:isolate}
.wait-light:before{content:"";position:absolute;inset:5px;border-radius:50%;background:#c6f3e0;filter:blur(6px);opacity:.55;animation:wait-breathe 3.4s ease-in-out infinite}
.wait-light i{position:absolute;inset:1px;border:1px solid #c8f9e970;border-radius:46% 54% 58% 42%;animation:wait-orbit 5s linear infinite;transform:rotate(0deg) scaleY(.55)}
.wait-light i:nth-child(2){inset:3px;border-color:#a8bafa88;animation-duration:7s;animation-direction:reverse}.wait-light i:nth-child(3){inset:5px;animation-duration:4s;border-color:#fff9}
.jammin-wait[data-phase="video"] .wait-light i{animation-duration:3s}.jammin-wait[data-phase="delivery"] .wait-light:before{background:#b2cafa}
.jammin-wait[data-phase="paused"] .wait-light i,.jammin-wait[data-phase="complete"] .wait-light i{animation-play-state:paused}.jammin-wait[data-phase="paused"] .wait-light:before{animation:none;opacity:.2}
.jammin-wait[data-phase="complete"]{border-color:#c6f3e035}.jammin-wait[data-phase="complete"] .wait-light:before{animation:none;opacity:.8}
body[data-wait-active="true"] .scene-status,body.jammin-campfire[data-wait-active="true"] #loading{visibility:hidden!important}
body[data-wait-active="true"] #core{filter:drop-shadow(0 0 16px #b8f2d51b)}
body[data-wait-active="true"]:after{content:"";position:fixed;z-index:0;inset:8vh 12vw;pointer-events:none;background:radial-gradient(ellipse at 35% 55%,#75dfbd0c,transparent 55%),radial-gradient(ellipse at 65% 40%,#758ee60b,transparent 58%);animation:wait-atmosphere 7s ease-in-out infinite;mix-blend-mode:screen}
.jammin-arriving main{animation:wait-arrival .5s ease-out backwards}.jammin-departing main{opacity:.74;transition:opacity .2s ease}
@keyframes wait-orbit{from{transform:rotate(0deg) scaleY(.55)}to{transform:rotate(360deg) scaleY(.55)}}
@keyframes wait-breathe{0%,100%{transform:scale(.7);opacity:.3}50%{transform:scale(1.35);opacity:.7}}
@keyframes wait-atmosphere{0%,100%{opacity:.4;transform:translate3d(-1%,1%,0)}50%{opacity:1;transform:translate3d(1%,-1%,0)}}
@keyframes wait-arrival{from{opacity:.7;filter:blur(2px)}to{opacity:1;filter:blur(0)}}
@media(max-width:600px){.jammin-wait{bottom:max(14px,env(safe-area-inset-bottom));font-size:11px;gap:8px;padding:8px 12px}.wait-label{max-width:58vw}}
@media(prefers-reduced-motion:reduce){.jammin-wait,.jammin-departing main{transition:none}.wait-light i,.wait-light:before,body[data-wait-active="true"]:after,.jammin-arriving main{animation:none}.jammin-arriving main{filter:none}.wait-light i:nth-child(2){transform:rotate(60deg) scaleY(.55)}.wait-light i:nth-child(3){transform:rotate(120deg) scaleY(.55)}}
