/* Shared task signs: one readable 1200ms sequence, triggered by each controller.
   Cards play once; detail-page signs repeat while visible. */
[data-task-tone]{--task-accent:#326bae;--task-wash:#edf4fc;--task-caption:#335676}
[data-task-tone][data-task-tone=mint]{--task-accent:#2b785b;--task-wash:#edf7f1;--task-caption:#285c48}
[data-task-tone][data-task-tone=peach]{--task-accent:#a95d30;--task-wash:#fff2e9;--task-caption:#774c31}
[data-task-tone][data-task-tone=lilac]{--task-accent:#7957a6;--task-wash:#f4effb;--task-caption:#584370}
html[data-theme=dark] [data-task-tone]{--task-accent:#8ab8ed;--task-wash:#203044;--task-caption:#c0d4ec}
html[data-theme=dark] [data-task-tone][data-task-tone=mint]{--task-accent:#82caaa;--task-wash:#22362d;--task-caption:#b8ddca}
html[data-theme=dark] [data-task-tone][data-task-tone=peach]{--task-accent:#e8b083;--task-wash:#392c23;--task-caption:#edd0b7}
html[data-theme=dark] [data-task-tone][data-task-tone=lilac]{--task-accent:#bba0e0;--task-wash:#30283d;--task-caption:#d4c6ea}
.v5-task-art{display:block;flex:none;overflow:visible}
.v5-task-art .v5-ta-wash{fill:var(--task-wash,var(--v5-soft,#f5f5f6))}
.v5-task-art .v5-ta-paper{fill:var(--v5-bg,#fff)}
.v5-task-art .v5-ta-accent{stroke:var(--task-accent,currentColor)}
.v5-task-art [pathLength="1"]{stroke-dasharray:1;stroke-dashoffset:0}
.v5-task-art .v5-ta-envelope-closed{opacity:0}
.v5-task-art :is(g,path){transform-box:view-box}
.v5-ta-letter-fold{transform-origin:32px 29px}
.v5-ta-envelope-open,.v5-ta-envelope-closed{transform-origin:32px 30px}
.v5-ta-mail{transform-origin:32px 37px}
.v5-ta-letter{transform-origin:32px 29px}
.v5-ta-discount{transform-origin:36px 33px}
.v5-ta-clock-hand{transform-origin:44px 44px}
.v5-ta-wrench{transform-origin:33px 28px}
.v5-ta-wheel-left{transform-origin:19px 49px}
.v5-ta-wheel-right{transform-origin:46px 49px}

:is(.v5-task-card,.v5-task-hero).is-animating .v5-task-art :is(g,path){animation-duration:1200ms;animation-timing-function:cubic-bezier(.22,1,.36,1);animation-iteration-count:1}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-order{animation-name:v5-ta-order}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-sale-check{animation-name:v5-ta-check}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-calendar-check{animation-name:v5-ta-check}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-payment-card{animation-name:v5-ta-insert-card}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-paid{animation-name:v5-ta-confirm}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-question{animation-name:v5-ta-question}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-answer{animation-name:v5-ta-answer}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-answer-line{animation-name:v5-ta-confirm}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-letter{animation-name:v5-ta-letter}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-letter-fold{animation-name:v5-ta-fold}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-envelope-open{animation-name:v5-ta-open-flap}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-envelope-closed{animation-name:v5-ta-close-flap}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-mail{animation-name:v5-ta-send-mail}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-intake-left{animation-name:v5-ta-intake-left}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-intake-right{animation-name:v5-ta-intake-right}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-lead-form{animation-name:v5-ta-file}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-discount{animation-name:v5-ta-stamp}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-reserved{animation-name:v5-ta-check}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-clock-hand{animation-name:v5-ta-clock}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-wrench{animation-name:v5-ta-repair}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-estimate-line{animation-name:v5-ta-question}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-total{animation-name:v5-ta-confirm}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-route{animation-name:v5-ta-route}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-repeat{animation-name:v5-ta-check}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-truck{animation-name:v5-ta-drive}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-parcel{animation-name:v5-ta-load}
:is(.v5-task-card,.v5-task-hero).is-animating :is(.v5-ta-wheel-left,.v5-ta-wheel-right){animation-name:v5-ta-wheel}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-document{animation-name:v5-ta-file}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-candidate{animation-name:v5-ta-candidate}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-hired{animation-name:v5-ta-confirm}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-handoff-arrow{animation-name:v5-ta-check}
:is(.v5-task-card,.v5-task-hero).is-animating .v5-ta-request{animation-name:v5-ta-handoff}

@keyframes v5-ta-order{0%,100%{transform:translateY(0)}32%,67%{transform:translateY(11px)}85%{transform:translateY(0)}}
@keyframes v5-ta-check{0%{stroke-dashoffset:1}38%,100%{stroke-dashoffset:0}}
@keyframes v5-ta-confirm{0%,25%{stroke-dashoffset:1}59%,100%{stroke-dashoffset:0}}
@keyframes v5-ta-insert-card{0%,100%{transform:translateX(0)}32%,65%{transform:translateX(11px)}90%{transform:translateX(0)}}
@keyframes v5-ta-question{0%{stroke-dashoffset:1}30%,100%{stroke-dashoffset:0}}
@keyframes v5-ta-answer{0%{transform:translate(-3px,-2px);opacity:.35}38%,100%{transform:translate(0,0);opacity:1}}
@keyframes v5-ta-letter{0%,100%{transform:translateY(0)}29%,80%{transform:translateY(24px)}96%{transform:translateY(0)}}
@keyframes v5-ta-fold{0%,100%{transform:scaleY(1)}17%,80%{transform:scaleY(-.7)}96%{transform:scaleY(1)}}
@keyframes v5-ta-open-flap{0%,100%{transform:scaleY(1);opacity:1}31%,83%{transform:scaleY(0);opacity:0}97%{transform:scaleY(1);opacity:1}}
@keyframes v5-ta-close-flap{0%,28%,100%{transform:scaleY(0);opacity:0}42%,78%{transform:scaleY(1);opacity:1}88%{transform:scaleY(0);opacity:0}}
@keyframes v5-ta-send-mail{0%,43%,100%{transform:translate(0,0) rotate(0)}62%{transform:translate(7px,-7px) rotate(-9deg)}78%{transform:translate(0,0) rotate(0)}}
@keyframes v5-ta-intake-left{0%,100%{transform:translateX(0)}24%{transform:translateX(3px)}55%{transform:translateX(0)}}
@keyframes v5-ta-intake-right{0%,100%{transform:translateX(0)}24%{transform:translateX(-3px)}55%{transform:translateX(0)}}
@keyframes v5-ta-file{0%,100%{transform:translateY(0)}40%,67%{transform:translateY(12px)}92%{transform:translateY(0)}}
@keyframes v5-ta-stamp{0%,100%{transform:scale(1);opacity:1}18%{transform:scale(.78);opacity:.4}43%,88%{transform:scale(1);opacity:1}}
@keyframes v5-ta-clock{0%,100%{transform:rotate(0)}32%{transform:rotate(55deg)}70%{transform:rotate(0)}}
@keyframes v5-ta-repair{0%,100%{transform:rotate(0)}25%{transform:rotate(-15deg)}52%{transform:rotate(12deg)}80%{transform:rotate(0)}}
@keyframes v5-ta-route{0%{stroke-dashoffset:1}70%,100%{stroke-dashoffset:0}}
@keyframes v5-ta-drive{0%,100%{transform:translateX(0)}24%{transform:translateX(0)}64%{transform:translateX(4px)}93%{transform:translateX(0)}}
@keyframes v5-ta-load{0%,100%{transform:translateY(0)}24%,72%{transform:translateY(4px)}92%{transform:translateY(0)}}
@keyframes v5-ta-wheel{0%,24%,100%{transform:rotate(0)}64%{transform:rotate(90deg)}93%{transform:rotate(0)}}
@keyframes v5-ta-candidate{0%,100%{transform:translateX(0)}28%{transform:translateX(4px)}66%{transform:translateX(0)}}
@keyframes v5-ta-handoff{0%,100%{transform:translate(0,0);opacity:1}46%,60%{transform:translate(26px,14px);opacity:1}68%{transform:translate(26px,14px);opacity:0}69%{transform:translate(0,0);opacity:0}91%{transform:translate(0,0);opacity:1}}

@media(prefers-reduced-motion:reduce){
    :is(.v5-task-card,.v5-task-hero).is-animating .v5-task-art :is(g,path){animation:none}
}
