/* The Wizard on the public pages (front page, /start). Same states and shapes as in the app. */
.wiz{position:fixed;z-index:70;right:24px;bottom:24px;width:120px;user-select:none;-webkit-user-select:none;touch-action:none}
.wiz-body{position:relative;display:block;width:120px;height:120px;padding:0;background:transparent;border:0;cursor:grab;border-radius:60px}
.wiz-body:active{cursor:grabbing}
.wiz-body:focus-visible{outline:2px solid var(--action);outline-offset:4px}
.wiz-body::before{content:"";position:absolute;inset:8px;border-radius:50%;background:radial-gradient(circle,var(--wiz-glow,rgba(197,245,122,.28)),transparent 68%);filter:blur(6px);transition:background 300ms var(--ease)}
.wiz-body img{position:relative;display:block;width:120px;height:120px;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges;filter:drop-shadow(0 10px 18px rgba(0,0,0,.6))}
.wiz[data-state="asleep"]{--wiz-glow:rgba(197,245,122,.10)}.wiz[data-state="asleep"] img{opacity:.85}
.wiz[data-state="awake"]{--wiz-glow:rgba(197,245,122,.3)}
.wiz[data-state="working"]{--wiz-glow:rgba(242,207,122,.42)}
.wiz[data-state="waiting"]{--wiz-glow:rgba(191,233,255,.4)}
.wiz-bubble{position:absolute;right:104px;bottom:78px;max-width:280px;min-width:140px;padding:10px 13px;border-radius:12px 12px 2px 12px;background:var(--glass-strong);border:1px solid var(--hair-2);box-shadow:var(--lift);font-size:13px;line-height:1.45;color:#e8efe4;pointer-events:none;opacity:0;transform:translateY(6px);transition:opacity 220ms var(--ease),transform 220ms var(--ease)}
.wiz.is-talking .wiz-bubble,.wiz:hover .wiz-bubble{opacity:1;transform:none}
.wiz[data-state="working"] .wiz-bubble{border-color:rgba(242,207,122,.45)}
.wiz[data-state="waiting"] .wiz-bubble{border-color:rgba(191,233,255,.45)}
.wiz.is-left .wiz-bubble{right:auto;left:104px;border-radius:12px 12px 12px 2px}
.wiz.is-top .wiz-bubble{bottom:auto;top:20px}
@media (prefers-reduced-motion:no-preference){
  .wiz[data-state="working"] img{animation:wiz-bob 1.6s ease-in-out infinite}
  .wiz[data-state="waiting"] img{animation:wiz-nudge 2.4s ease-in-out infinite}
  .wiz[data-state="asleep"] img{animation:wiz-breathe 4s ease-in-out infinite}
}
@keyframes wiz-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes wiz-nudge{0%,80%,100%{transform:rotate(0)}85%{transform:rotate(-4deg)}95%{transform:rotate(4deg)}}
@keyframes wiz-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.02)}}
@media (max-width:900px){.wiz{width:80px;right:14px;bottom:14px}.wiz-body,.wiz-body img{width:80px;height:80px}.wiz-bubble{right:70px;bottom:52px;max-width:210px;font-size:12.5px}.wiz.is-left .wiz-bubble{left:70px}}
