/* My Desk animated iconography */
.ai{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--accent,#CFE8DF);color:var(--floresta,#1E6B57);--ai-bg:var(--accent,#CFE8DF);flex:none}
.ai svg{width:32px;height:32px;overflow:visible}
.ai *{transform-box:fill-box}
.ai--lg{width:76px;height:76px;border-radius:22px}.ai--lg svg{width:42px;height:42px}
.ai--sm{width:40px;height:40px;border-radius:12px}.ai--sm svg{width:24px;height:24px}
.ai--dark{background:var(--floresta);color:#fff;--ai-bg:var(--floresta)}
.ai--white{background:#fff;--ai-bg:#fff}
@keyframes ai-fade{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes ai-rise{0%{transform:translateY(4px);opacity:0}40%{opacity:1}100%{transform:translateY(-6px);opacity:0}}
@keyframes ai-spin{to{transform:rotate(360deg)}}
@keyframes ai-swing{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
@keyframes ai-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes ai-pop{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}
@keyframes ai-draw{0%{stroke-dashoffset:40}50%,100%{stroke-dashoffset:0}}
@keyframes ai-door{0%,20%{transform:scaleX(1)}45%,70%{transform:scaleX(.25)}95%,100%{transform:scaleX(1)}}
@keyframes ai-letter{0%,15%{transform:translateY(-6px);opacity:0}35%{opacity:1}60%,100%{transform:translateY(6px);opacity:0}}
@keyframes ai-grow{0%,100%{transform:scaleY(.4)}50%{transform:scaleY(1)}}
@keyframes ai-move{0%{transform:translateX(-4px)}50%{transform:translateX(4px)}100%{transform:translateX(-4px)}}
@keyframes ai-fly{0%{transform:translate(-3px,3px)}50%{transform:translate(3px,-3px)}100%{transform:translate(-3px,3px)}}
@keyframes ai-flip{0%,40%{transform:scaleY(1)}50%{transform:scaleY(0)}60%,100%{transform:scaleY(1)}}
.ai--wifi .w1{animation:ai-fade 2s infinite .6s}.ai--wifi .w2{animation:ai-fade 2s infinite .3s}.ai--wifi .w3,.ai--wifi .w4{animation:ai-fade 2s infinite}
.ai .st{animation:ai-rise 2.4s infinite}.ai .st2{animation-delay:.6s}.ai .st3{animation-delay:1.2s}
.ai .hand-m{transform-origin:50% 100%;animation:ai-spin 4s linear infinite}.ai .hand-h{transform-origin:0 50%;animation:ai-spin 24s linear infinite}
.ai .door{transform-origin:0 50%;animation:ai-door 4s ease-in-out infinite}
.ai .bar{transform-origin:50% 100%;animation:ai-grow 1.8s ease-in-out infinite}.ai .b2{animation-delay:.2s}.ai .b3{animation-delay:.4s}.ai .b4{animation-delay:.6s}
.ai .rays{transform-origin:50% 50%;animation:ai-spin 14s linear infinite}
.ai .lf{transform-origin:50% 100%;animation:ai-swing 3.2s ease-in-out infinite}.ai .lf2{animation-delay:-1.6s}
.ai .letter{animation:ai-letter 3s ease-in-out infinite}
.ai .ring{transform-origin:50% 0;animation:ai-swing 1.6s ease-in-out infinite}.ai .dot{transform-origin:50% 50%;animation:ai-pop 1.6s ease-in-out infinite}
.ai .w{animation:ai-fade 3s infinite}.ai .w.b{animation-delay:.7s}.ai .w.c{animation-delay:1.4s}.ai .w.d{animation-delay:2.1s}
.ai .chk{stroke-dasharray:40;animation:ai-draw 3s ease-in-out infinite}
.ai .coin{transform-origin:50% 50%;animation:ai-flip 4s ease-in-out infinite}
.ai .ln{stroke-dasharray:40;animation:ai-draw 3s ease-in-out infinite}.ai .l2{animation-delay:.3s}.ai .l3{animation-delay:.6s}
.ai .u1{animation:ai-bob 2.4s ease-in-out infinite}.ai .u2{animation:ai-bob 2.4s ease-in-out infinite -1.2s}
.ai .sp{transform-origin:50% 50%;animation:ai-pop 2s ease-in-out infinite}.ai .s2{animation-delay:-1s}
.ai .train{animation:ai-move 3s ease-in-out infinite}
.ai .fly{animation:ai-fly 3s ease-in-out infinite}
.ai .drive{animation:ai-bob .8s ease-in-out infinite}.ai .road{stroke-dasharray:8 6;animation:ai-draw 1.2s linear infinite}
.ai .page{transform-origin:50% 0;animation:ai-flip 3s ease-in-out infinite}
.ai .turn{transform-origin:30% 70%;animation:ai-swing 2.4s ease-in-out infinite}
.ai .bounce{animation:ai-bob 1.6s ease-in-out infinite}
.ai .hop{animation:ai-bob 1.4s ease-in-out infinite}
.ai .lamp{transform-origin:100% 100%;animation:ai-swing 4s ease-in-out infinite}
.ai .b1{animation:ai-bob 2s ease-in-out infinite}.ai .b2{animation:ai-bob 2s ease-in-out infinite -1s}

/* scenes */
.scene{display:block;width:100%;height:100%}
.scene *{transform-box:fill-box}
@keyframes sc-env{0%{transform:translate(40px,150px) rotate(-12deg) scale(.8);opacity:0}10%{opacity:1}45%{transform:translate(100px,96px) rotate(4deg) scale(1)}70%{transform:translate(160px,120px) rotate(0) scale(.7);opacity:1}80%,100%{transform:translate(160px,120px) scale(.5);opacity:0}}
.scene--morada .sc-env{animation:sc-env 4.5s cubic-bezier(.45,.05,.3,1) infinite;transform-box:view-box}
@keyframes sc-win{0%,100%{fill:#CFE8DF}50%{fill:#2D967D}}
.scene--morada .sw{animation:sc-win 4.5s infinite}.scene--morada .s2{animation-delay:.4s}.scene--morada .s3{animation-delay:.8s}.scene--morada .s4{animation-delay:1.2s}.scene--morada .s5{animation-delay:1.6s}.scene--morada .s6{animation-delay:2s}
@keyframes sc-notif{0%,62%{opacity:0;transform:translateY(-6px)}70%,95%{opacity:1;transform:none}100%{opacity:0}}
.scene--morada .sc-notif{animation:sc-notif 4.5s infinite}
@keyframes sc-badge{0%,66%{transform:scale(0)}72%{transform:scale(1.3)}78%,95%{transform:scale(1)}100%{transform:scale(0)}}
.scene--morada .sc-badge{transform-origin:50% 50%;animation:sc-badge 4.5s infinite}
.scene--morada .sc-path{animation:sc-dash 1.5s linear infinite}
@keyframes sc-dash{to{stroke-dashoffset:-20}}
@keyframes sc-sun{0%{transform:translate(50px,150px)}50%{transform:translate(160px,40px)}100%{transform:translate(270px,150px)}}
.scene--nomada .sc-sun{transform-box:view-box;animation:sc-sun 8s ease-in-out infinite alternate}
@keyframes sc-type{0%{stroke-dasharray:0 80}60%,100%{stroke-dasharray:80 0}}
.scene .sc-type{animation:sc-type 2.6s ease-out infinite}.scene .t2{animation-delay:.5s}.scene .t3{animation-delay:1s}
.scene .st{animation:ai-rise 2.4s infinite}.scene .st2{animation-delay:1.2s}
.scene .lf{transform-origin:50% 100%;animation:ai-swing 3.4s ease-in-out infinite}.scene .lf2{animation-delay:-1.7s}
.scene--residente .hand-m{transform-origin:50% 100%;animation:ai-spin 5s linear infinite}
.scene--residente .hand-h{transform-origin:0 50%;animation:ai-spin 30s linear infinite}
@keyframes sc-light{0%,100%{opacity:.12}50%{opacity:.28}}
.scene--residente .sc-light{animation:sc-light 3s ease-in-out infinite}
.scene--residente .sc-lamp{transform-origin:100% 100%}
.scene--residente .sc-key{transform-origin:50% 50%;animation:ai-pop 2s ease-in-out infinite}
@keyframes sc-day{0%,28%{opacity:1;transform:none}33%,100%{opacity:0;transform:translateY(-10px)}}
.scene--diario .d{opacity:0;animation:sc-day 6s infinite}.scene--diario .d2{animation-delay:2s}.scene--diario .d3{animation-delay:4s}
.scene--sala .sc-bar{transform-origin:50% 100%;animation:ai-grow 2.4s ease-in-out infinite}.scene--sala .b2{animation-delay:.2s}.scene--sala .b3{animation-delay:.4s}.scene--sala .b4{animation-delay:.6s}.scene--sala .b5{animation-delay:.8s}
@keyframes sc-chat{0%,10%{opacity:0;transform:translateY(8px) scale(.9)}20%,45%{opacity:1;transform:none}55%,100%{opacity:0;transform:translateY(-4px)}}
.scene--sala .sc-chat{animation:sc-chat 4s infinite}.scene--sala .c2{animation-delay:2s}
@media (prefers-reduced-motion:reduce){.ai *,.scene *{animation:none!important}.scene--diario .d1{opacity:1}}
