.dashboard-heading { align-items:center; }
.dashboard-heading-copy { width:100%; min-width:0; }
.dashboard-title-row { display:flex; flex-wrap:wrap; align-items:center; gap:6px; min-width:0; }
.dashboard-title-row h1 { flex:0 0 auto; min-width:0; white-space:nowrap; }
.dashboard-chase { --chase-duration:6.923076923s; --chase-gait:.42s; container-type:inline-size; position:relative; min-width:110px; height:94px; flex:1 1 110px; border-radius:16px; }
.dashboard-chase:focus-visible { outline:3px solid var(--primary); outline-offset:3px; }
.chase-scene { position:absolute; inset:0; display:block; width:100%; height:100%; overflow:hidden; pointer-events:none; }
.chase-track { display:flex; align-items:flex-end; position:absolute; bottom:0; left:0; width:200%; height:100%; animation:chase-travel var(--chase-duration) linear infinite; will-change:transform; }
.dashboard-chase .chase-track { min-width:200%; max-width:none; }
.chase-group { display:flex; flex-direction:row-reverse; align-items:flex-end; justify-content:flex-end; gap:clamp(3px,1cqw,8px); width:50%; flex:0 0 50%; padding-inline:4px; }
.chase-character { position:relative; display:block; width:min(92px,29cqw); aspect-ratio:1; flex:0 0 min(92px,29cqw); pointer-events:auto; cursor:pointer; touch-action:manipulation; }
.chase-character-mouse { width:min(60px,19cqw); flex-basis:min(60px,19cqw); }
.chase-character-cat { width:min(86px,27cqw); flex-basis:min(86px,27cqw); --chase-gait:.39s; }
.chase-character-mouse { --chase-gait:.31s; }
.chase-flock { position:relative; display:block; height:90px; width:min(160px,29cqw); flex:0 0 min(160px,29cqw); pointer-events:none; }
.chase-flock .chase-character { position:absolute; width:clamp(26px,13cqw,65px); flex-basis:auto; }
.chase-dove-1 { left:0; top:2px; --chase-gait:.66s; }
.chase-dove-2 { left:calc(50% - clamp(26px,13cqw,65px) / 2); bottom:3px; --chase-gait:.58s; }
.chase-dove-3 { right:0; top:12px; --chase-gait:.73s; }
.chase-flock .chase-dove-1 { width:clamp(26px,12cqw,58px); }
.chase-flock .chase-dove-3 { width:clamp(26px,12.5cqw,61px); }
.dashboard-chase[data-mode="chase"] .chase-flock { display:none; }
.dashboard-chase[data-mode="doves"] { height:110px; }
.dashboard-chase[data-mode="doves"] .chase-group > .chase-character { display:none; }
.dashboard-chase[data-mode="doves"] .chase-flock { width:min(230px,80cqw); flex-basis:min(230px,80cqw); height:110px; }
.dashboard-chase[data-mode="doves"] .chase-flock .chase-dove-1 { width:min(76px,24cqw); }
.dashboard-chase[data-mode="doves"] .chase-flock .chase-dove-2 { width:min(86px,28cqw); left:calc(50% - min(86px,28cqw) / 2); }
.dashboard-chase[data-mode="doves"] .chase-flock .chase-dove-3 { width:min(80px,25cqw); }
#appearance-animation-preview { width:100%; margin-block:8px 20px; }
.chase-dove-1 .chase-frame { animation-delay:calc(var(--chase-gait) * -.13); }
.chase-dove-1 .chase-frame-1 { animation-delay:calc(var(--chase-gait) * -.88); }
.chase-dove-1 .chase-frame-2 { animation-delay:calc(var(--chase-gait) * -.63); }
.chase-dove-1 .chase-frame-3 { animation-delay:calc(var(--chase-gait) * -.38); }
.chase-dove-3 .chase-frame { animation-delay:calc(var(--chase-gait) * -.42); }
.chase-dove-3 .chase-frame-1 { animation-delay:calc(var(--chase-gait) * -1.17); }
.chase-dove-3 .chase-frame-2 { animation-delay:calc(var(--chase-gait) * -.92); }
.chase-dove-3 .chase-frame-3 { animation-delay:calc(var(--chase-gait) * -.67); }
.chase-pose { position:absolute; inset:0; display:block; width:100%; height:100%; overflow:hidden; opacity:0; pointer-events:none; }
.chase-frame { animation:chase-frame var(--chase-gait) steps(1,end) infinite; }
.chase-frame-1 { animation-delay:calc(var(--chase-gait) * -.75); }
.chase-frame-2 { animation-delay:calc(var(--chase-gait) * -.5); }
.chase-frame-3 { animation-delay:calc(var(--chase-gait) * -.25); }
.chase-character-dove .chase-frame-2 { height:106.25%; }
.dashboard-chase:not([data-art-ready="true"]) .chase-track { visibility:hidden; }
.dashboard-chase[data-state="sitting"] .chase-frame { animation:none; opacity:0; }
.dashboard-chase[data-state="sitting"] .chase-pose-sitting { opacity:1; }
.dashboard-chase[data-state="sitting"] .chase-flock .chase-character { top:auto; bottom:0; }
.dashboard-chase:is([data-reaction="mouse"],[data-reaction="cat"],[data-reaction="dog"]) .chase-character-mouse .chase-pose-sitting,
.dashboard-chase:is([data-reaction="cat"],[data-reaction="dog"]) .chase-character-cat .chase-pose-sitting,
.dashboard-chase[data-reaction="dog"] .chase-character-dog .chase-pose-sitting { opacity:0; }
.dashboard-chase:is([data-reaction="mouse"],[data-reaction="cat"],[data-reaction="dog"]) .chase-character-mouse .chase-pose-reaction { opacity:1; animation:chase-tease .35s ease-in-out infinite; }
.dashboard-chase:is([data-reaction="cat"],[data-reaction="dog"]) .chase-character-cat .chase-pose-reaction { opacity:1; animation:chase-grumble .45s ease-out 1; }
.dashboard-chase[data-reaction="dog"] .chase-character-dog .chase-pose-reaction { opacity:1; animation:chase-bark .3s ease-out 2; }
.chase-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.dashboard-chase[data-state="sitting"] .chase-track,
.dashboard-chase[data-visible="false"] :is(.chase-track,.chase-pose) { animation-play-state:paused; }
@keyframes chase-travel { from { transform:translateX(-50%); } to { transform:translateX(0); } }
@keyframes chase-frame { 0% { opacity:1; } 25%,100% { opacity:0; } }
@keyframes chase-tease { 0%,100% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-2px) rotate(-4deg); } }
@keyframes chase-grumble { 0%,100% { transform:translateX(0); } 35% { transform:translateX(-3px) rotate(-3deg); } 65% { transform:translateX(2px); } }
@keyframes chase-bark { 0%,100% { transform:translateY(0); } 45% { transform:translateY(-3px) rotate(2deg); } }
@media (max-width:650px) {
 .portal-page > .dashboard-heading { display:flex; gap:8px; }
 .dashboard-chase { height:70px; }
 .dashboard-chase[data-mode="doves"] { height:70px; }
 .dashboard-chase[data-mode="doves"] .chase-flock { height:70px; }
 .dashboard-chase[data-mode="doves"] .chase-flock .chase-dove-1 { width:min(58px,24cqw); }
 .dashboard-chase[data-mode="doves"] .chase-flock .chase-dove-2 { width:min(65px,28cqw); left:calc(50% - min(65px,28cqw) / 2); bottom:5px; }
 .dashboard-chase[data-mode="doves"] .chase-flock .chase-dove-3 { width:min(61px,25cqw); top:4px; }
 .chase-flock { height:65px; }
 .chase-dove-3 { top:18px; }
}
@media (prefers-reduced-motion:reduce) {
 .dashboard-chase * { animation:none!important; }
 .chase-track { transform:translateX(-50%); }
 .dashboard-chase .chase-frame { opacity:0; }
 .dashboard-chase .chase-pose-sitting { opacity:1; }
}
