/* az-hub.css: view-transition route change + signup toast + off-screen pause. Preview 2026-09-30. */
@supports (view-transition-name:none){
  ::view-transition-old(root){animation:azh-out .16s ease both}
  ::view-transition-new(root){animation:azh-in .3s cubic-bezier(.22,1,.36,1) both}
  :root[data-mo-nav="back"]::view-transition-old(root){animation-name:azh-out-b}
  :root[data-mo-nav="back"]::view-transition-new(root){animation-name:azh-in-b}
  [dir="rtl"][data-mo-nav="fwd"]::view-transition-new(root){animation-name:azh-in-b}
  [dir="rtl"][data-mo-nav="back"]::view-transition-new(root){animation-name:azh-in}
}
@keyframes azh-out{to{opacity:0;translate:-10px 0}}
@keyframes azh-in{from{opacity:0;translate:18px 0}to{opacity:1;translate:0 0}}
@keyframes azh-out-b{to{opacity:0;translate:10px 0}}
@keyframes azh-in-b{from{opacity:0;translate:-18px 0}to{opacity:1;translate:0 0}}
/* the app's own fade-up is skipped while a view transition runs (no double animation) */
:root[data-azh-vt="1"] #app.screen-in{animation:none!important}
@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
/* decorative loops stop while a figure is off-screen */
.azd.azh-off *,.azd.azh-off{animation-play-state:paused!important}
/* signup success toast */
.azh-toast{position:fixed;inset-inline:12px;top:max(12px,env(safe-area-inset-top));z-index:9999;margin-inline:auto;max-width:420px;display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:16px;background:#0B0B0E;color:#F4F1EA;border:1.5px solid #7DD3A0;font-size:16px;font-weight:600;line-height:1.5;box-shadow:0 18px 40px -16px rgba(0,0,0,.8)}
.azh-ck{flex:none;width:28px;height:28px}.azh-ck circle{fill:#7DD3A0}.azh-ck path{fill:none;stroke:#0B0B0E;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.azh-toast.azh-pop{animation:azh-pop .5s cubic-bezier(.2,1.4,.4,1) both}
.azh-toast.azh-pop .azh-ck path{stroke-dasharray:24;stroke-dashoffset:24;animation:azh-draw .5s .25s ease forwards}
@keyframes azh-pop{from{opacity:0;transform:translateY(-14px) scale(.9)}to{opacity:1;transform:none}}
@keyframes azh-draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.azh-toast,.azh-toast *{animation:none!important}}
