/* Clover feature demos: coded, looping, state-driven (see demos.js). Same palette and easings as motion.css. */
.fx{--pop:280ms cubic-bezier(.2,.9,.3,1.15);--fade:1000ms cubic-bezier(.22,1,.36,1);--in:#0a0d0b;position:relative;width:100%;height:100%;max-width:520px;font-size:12px;line-height:16px;color:var(--soft);text-align:left}
.fx *{box-sizing:border-box}
.fx b{font-weight:500;color:#fff}
.fx small{font-size:11px;color:var(--mut)}
.fx .box{background:var(--in);border:1px solid var(--line);border-radius:12px}
.fx .mi{opacity:0;transform:translateY(8px) scale(.96);transition:opacity var(--pop),transform var(--pop)}
.fx .ok{color:var(--em)}
.fx svg{display:block}

/* a: computer in your pocket */
.fx-a .st{position:absolute;inset:0 0 34px;display:flex;gap:12px;align-items:center;justify-content:center}
.fx-a .dk{position:relative;flex:1;min-width:0;height:216px;overflow:hidden}
.fx-a .tb{height:22px;border-bottom:1px solid var(--line);display:flex;gap:4px;align-items:center;padding:0 8px}
.fx-a .tb i{width:6px;height:6px;border-radius:50%;background:#2a312d}
.fx-a .ln{display:block;height:6px;border-radius:3px;background:#1b211e;margin:10px 12px 0}
.fx-a .w1{width:62%}.fx-a .w2{width:44%}.fx-a .w3{width:70%}
.fx-a .bt{position:absolute;left:12px;top:104px;padding:5px 10px;border-radius:8px;background:var(--pill);color:var(--soft);transition:background var(--pop),color var(--pop),transform var(--pop)}
.fx-a .bt .t2{display:none}
.fx-a.s2 .bt{background:var(--em);color:#04120b;transform:scale(.95)}
.fx-a.s2 .bt .t1{display:none}.fx-a.s2 .bt .t2{display:inline}
.fx-a .cu{position:absolute;left:calc(100% - 52px);top:168px;transition:left 700ms cubic-bezier(.22,1,.36,1),top 700ms cubic-bezier(.22,1,.36,1)}
.fx-a.s1 .cu{left:40px;top:116px}
.fx-a .rg{position:absolute;left:34px;top:100px;width:22px;height:22px;border-radius:50%;border:2px solid var(--mint);opacity:0;transform:scale(.3)}
.fx-a.s2 .rg{animation:fxring .7s cubic-bezier(.2,.9,.3,1) both}
@keyframes fxring{0%{opacity:.9;transform:scale(.3)}100%{opacity:0;transform:scale(1.8)}}
.fx-a .nt{position:absolute;left:8px;right:8px;top:30px;display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:9px;background:#10231a;border:1px solid rgba(31,174,116,.45);color:#cdeedd;transform:translateY(-150%);opacity:0;transition:transform var(--pop),opacity var(--pop)}
.fx-a .nt i{width:7px;height:7px;border-radius:50%;background:var(--em);box-shadow:0 0 0 3px rgba(31,174,116,.25);flex:none}
.fx-a.s2 .nt{transform:none;opacity:1}
.fx-a .ph{position:relative;flex:none;width:98px;height:200px;border-radius:20px;border:4px solid #2a312d;background:var(--in);overflow:hidden}
.fx-a .pt{margin:8px auto 0;width:60px;text-align:center;font-size:10px;line-height:14px;border-radius:99px;background:var(--pill);color:var(--soft)}
.fx-a .pm{position:absolute;left:8px;right:8px;top:36px;height:92px;border-radius:8px;background:#0f1411;border:1px solid var(--line)}
.fx-a .pm .ln{height:4px;margin:8px 8px 0}
.fx-a .pm .bt{left:8px;top:48px;padding:3px 7px;font-size:10px;line-height:12px;border-radius:6px}
.fx-a .tp{position:absolute;left:26px;top:70px;width:22px;height:22px;border-radius:50%;background:rgba(142,197,171,.35);border:2px solid var(--mint);opacity:0;transform:scale(.4)}
.fx-a.s1 .tp{opacity:.9;transform:scale(1);transition:opacity var(--pop),transform var(--pop) 560ms}
.fx-a.s2 .tp{opacity:0;transform:scale(1.7);transition:opacity .6s,transform .6s}
.fx-a .ct{position:absolute;left:8px;right:8px;bottom:10px;text-align:center;font-size:10px;color:var(--mut)}
.fx-a .chips{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap}
.fx-a .chips span{padding:3px 9px;border-radius:99px;background:var(--pill);color:var(--mut)}
.fx-a .chips em{font-style:normal;color:#3a423e}

/* b: helpers in parallel */
.fx-b .rq{position:absolute;right:0;top:0;padding:8px 12px;border-radius:14px 14px 4px 14px;background:var(--pill);color:#fff}
.fx-b.s1 .rq{opacity:1;transform:none}
.fx-b .rg{position:absolute;left:0;right:0;top:52px;height:178px}
.fx-b .sp{position:absolute;inset:0 0 auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;transition:opacity var(--fade),transform var(--fade)}
.fx-b .hc{padding:10px 9px;min-width:0}
.fx-b .hc b{display:block;font-size:12px}
.fx-b .hc small{display:block;margin:2px 0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fx-b .pbar{height:4px;border-radius:2px;background:var(--pill);overflow:hidden}
.fx-b .pbar i{display:block;height:100%;width:0;background:var(--mint);border-radius:2px}
.fx-b .ck{display:flex;align-items:center;gap:4px;margin-top:8px;opacity:0;transform:scale(.8);transform-origin:left;transition:opacity var(--pop),transform var(--pop);color:var(--em)}
.fx-b .hc:nth-child(1){transition-delay:0ms}.fx-b .hc:nth-child(2){transition-delay:90ms}.fx-b .hc:nth-child(3){transition-delay:180ms}
.fx-b.s2 .hc{opacity:1;transform:none}
.fx-b .hc.mi{transition:opacity var(--pop),transform var(--pop)}
.fx-b.s3 .pbar i{transition-property:width;transition-timing-function:linear}
.fx-b.s3 .hc:nth-child(1) .pbar i{width:100%;transition-duration:1.8s}
.fx-b.s3 .hc:nth-child(2) .pbar i{width:100%;transition-duration:2.4s}
.fx-b.s3 .hc:nth-child(3) .pbar i{width:100%;transition-duration:1.3s}
.fx-b.s4 .ck{opacity:1;transform:none}
.fx-b.s5 .sp{opacity:0;transform:translateY(16px) scale(.92)}
.fx-b .an{position:absolute;left:0;right:0;top:0;padding:12px 14px;opacity:0;transform:translateY(10px) scale(.97);transition:opacity var(--pop),transform var(--pop);border-color:rgba(142,197,171,.35)}
.fx-b.s5 .an{opacity:1;transform:none;transition-delay:240ms}
.fx-b .an p{display:flex;justify-content:space-between;gap:8px;margin-top:7px}
.fx-b .an p span:last-child{color:var(--mut);text-align:right}

/* c: needs-you queue */
.fx-c .hd{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.fx-c .hd b{font-size:13px}
.fx-c .cn{position:relative;min-width:20px;height:20px;border-radius:99px;background:#2a1f10;color:#f0b25a;text-align:center;line-height:20px;font-size:11px}
.fx-c .cn span{position:absolute;inset:0;transition:opacity var(--pop)}
.fx-c .cn .n1{opacity:0}.fx-c.s3 .cn .n1{opacity:1}.fx-c.s3 .cn .n2{opacity:0}
.fx-c .q{padding:0 14px;overflow:hidden}
.fx-c .qm{max-height:150px;padding:14px 0;transition:max-height var(--fade),padding var(--fade),opacity 400ms}
.fx-c .qm p{font-size:14px;line-height:20px;color:#fff;margin-bottom:3px}
.fx-c .ac{display:flex;gap:8px;margin-top:14px}
.fx-c .ac span{padding:7px 14px;border-radius:99px;background:var(--pill);color:var(--soft);transition:transform 160ms,background 160ms,color 160ms}
.fx-c .ac .ap{background:#fff;color:#0a0d0b}
.fx-c.s1 .qm .ac .ap{transform:scale(.92);background:var(--em);color:#04120b}
.fx-c.s2 .qm{max-height:0;padding-top:0;padding-bottom:0;opacity:0}
.fx-c .qd{max-height:0;opacity:0;display:flex;align-items:center;gap:8px;overflow:hidden;transition:max-height var(--fade),opacity var(--pop),padding var(--fade)}
.fx-c.s3 .qd{max-height:40px;opacity:1;padding:11px 0}
.fx-c .q2{margin-top:10px;padding:12px 14px;opacity:.55}
.fx-c .q2 p{color:var(--soft)}
.fx-c .q2 .ac{margin-top:10px}

/* d: to-do that researches */
.fx-d .in{display:flex;align-items:center;gap:8px;padding:11px 12px;font-size:13px;line-height:18px;color:#fff;flex-wrap:wrap}
.fx-d .in>i{font-style:normal;color:var(--mut);font-size:16px;line-height:18px}
.fx-d .cr{display:inline-block;width:1px;height:14px;background:var(--mint);vertical-align:-2px;margin-left:1px;animation:fxbl 1s steps(2) infinite}
.fx-d.s2 .cr,.fx-d.s3 .cr,.fx-d.s4 .cr{display:none}
@keyframes fxbl{50%{opacity:0}}
.fx-d .chp{padding:2px 8px;border-radius:99px;background:#10231a;color:#9fe0bf;font-size:11px}
.fx-d .chp.g{background:var(--pill);color:var(--mut)}
.fx-d.s2 .chp{opacity:1;transform:none}
.fx-d .chp+.chp{transition-delay:120ms}
.fx-d .rs{position:relative;height:26px;margin:12px 2px 6px}
.fx-d .rs>span{position:absolute;left:0;top:0;display:flex;align-items:center;gap:6px;color:var(--mut)}
.fx-d .rs clover-cloud{display:block}
.fx-d .rs .fd{color:var(--soft)}
.fx-d.s3 .rs .th{opacity:1;transform:none}
.fx-d.s4 .rs .th{opacity:0}
.fx-d.s4 .rs .fd{opacity:1;transform:none}
.fx-d .op{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 11px;margin-top:6px}
.fx-d .op small{white-space:nowrap}
.fx-d.s4 .op{opacity:1;transform:none}
.fx-d .op+.op{transition-delay:100ms}.fx-d .op+.op+.op{transition-delay:200ms}

/* e: night shift */
.fx-e .ax{display:flex;justify-content:space-between;font-size:11px;color:var(--mut)}
.fx-e .tr{position:relative;height:4px;border-radius:2px;background:var(--pill);margin:7px 0 14px}
.fx-e .tr i{position:absolute;left:0;top:0;height:100%;width:0;border-radius:2px;background:var(--mint)}
.fx-e.s1 .tr i{width:100%;transition:width 5.2s linear}
.fx-e .sc{position:relative;height:176px}
.fx-e .jlist{position:absolute;inset:0;transition:opacity var(--fade),transform var(--fade)}
.fx-e .jb{display:flex;align-items:center;gap:9px;padding:7px 11px;margin-bottom:6px}
.fx-e .jb time{color:var(--mut);width:34px;flex:none}
.fx-e .jb span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fx-e .jb em{font-style:normal;width:18px;height:18px;border-radius:50%;border:1.5px solid #2a312d;flex:none;display:flex;align-items:center;justify-content:center;font-size:11px;color:transparent;transition:background var(--pop),border-color var(--pop),color var(--pop)}
.fx-e .jb:nth-child(1) em{}.fx-e.s2 .jb:nth-child(1) em,.fx-e.s3 .jb:nth-child(2) em,.fx-e.s4 .jb:nth-child(3) em{background:var(--em);border-color:var(--em);color:#04120b}
.fx-e.s5 .jb:nth-child(4) em{background:#3a2a12;border-color:#f0b25a;color:#f0b25a}
.fx-e.s6 .jlist{opacity:0;transform:translateY(-10px) scale(.97)}
.fx-e .mbrf{position:absolute;inset:0 0 auto 0;padding:14px;opacity:0;transform:translateY(12px) scale(.96);transition:opacity var(--pop),transform var(--pop);border-color:rgba(142,197,171,.35)}
.fx-e.s6 .mbrf{opacity:1;transform:none;transition-delay:260ms}
.fx-e .mbrf strong{display:block;font-size:20px;line-height:26px;font-weight:500;color:#fff;margin:4px 0 8px}
.fx-e .mbrf strong i{font-style:normal;color:#f0b25a}
.fx-e .mbrf p{color:var(--soft)}

/* f: keys, any model, your machine */
.fx-f .ky{display:flex;align-items:center;gap:10px;padding:11px 12px}
.fx-f .ky svg{flex:none;color:var(--mint)}
.fx-f .ky div{flex:1;min-width:0}
.fx-f .ky code{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:#fff;letter-spacing:.02em}
.fx-f .ky span{padding:2px 8px;border-radius:99px;background:#10231a;color:#9fe0bf;font-size:11px}
.fx-f ul{list-style:none;margin:10px 0 0;padding:6px}
.fx-f li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--mut);transition:background var(--pop),color var(--pop)}
.fx-f li i{width:12px;height:12px;border-radius:50%;border:1.5px solid #3a423e;flex:none;transition:border-color var(--pop),box-shadow var(--pop)}
.fx-f li small{margin-left:auto}
.fx-f[data-s="1"] li:nth-child(1),.fx-f[data-s="2"] li:nth-child(2),.fx-f[data-s="3"] li:nth-child(3),.fx-f[data-s="4"] li:nth-child(4){background:var(--pill);color:#fff}
.fx-f[data-s="1"] li:nth-child(1) i,.fx-f[data-s="2"] li:nth-child(2) i,.fx-f[data-s="3"] li:nth-child(3) i,.fx-f[data-s="4"] li:nth-child(4) i{border-color:var(--em);box-shadow:inset 0 0 0 3px var(--pill),inset 0 0 0 9px var(--em)}
.fx-f .bd{display:flex;align-items:center;gap:7px;width:max-content;margin:12px auto 0;padding:5px 11px;border-radius:99px;background:var(--pill);color:var(--soft);transition:box-shadow var(--fade),color var(--fade)}
.fx-f .bd svg{color:var(--em)}
.fx-f.s4 .bd{box-shadow:0 0 0 1px rgba(31,174,116,.55),0 0 18px rgba(31,174,116,.2);color:#fff}

@media(max-width:560px){
.fx{font-size:11.5px}
.fx-a .ph{width:90px}
.fx-b .hc{padding:9px 7px}
}
@media (prefers-reduced-motion: reduce){
.fx *,.fx *::before,.fx *::after{transition:none!important;animation:none!important}
}
