:where(:root){--ffh-grad:linear-gradient(120deg,#0a2466,#1a47c9 48%,#0d6b64);--ffh-grad-hover:linear-gradient(120deg,#071b4d,#163ba8 48%,#0a5550);--ffh-dark:linear-gradient(160deg,#08122b,#0d2459 55%,#0a4552);--ffh-ink:#0b1b3a;--ffh-text:#111317;--ffh-muted:#50545c;--ffh-muted-2:#6c717a;--ffh-n100:#f7f8fa;--ffh-n200:#e6e8ec;--ffh-n300:#d3d6dc;--ffh-n400:#b4b8c0;--ffh-n500:#8f949d;--ffh-accent:#2358e0;--ffh-accent-100:#eef4ff;--ffh-accent-300:#b4ccff;--ffh-accent-500:#3b76f6;--ffh-accent-700:#1c45b8;--ffh-accent-800:#17368c;--ffh-bg:#eef0f3;--ffh-green:#10b981;--ffh-mint:#6ee7b7;--ffh-mint-2:#a7f3d0;--ffh-sky:#7dd3fc;--ffh-font:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;--ffh-mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--ffh-max:1760px;--ffh-gutter:clamp(16px,3vw,120px);--ffh-ease:cubic-bezier(.2,.7,.2,1)}:where(.ffh-agents){color:var(--ffh-text);font-family:var(--ffh-font);-webkit-font-smoothing:antialiased}.ffh-agents,.ffh-agents *,.ffh-agents :after,.ffh-agents :before,.ffh-agents:after,.ffh-agents:before{box-sizing:border-box}:where(.ffh-agents) :is(h1,h2,h3,h4,p){font-family:var(--ffh-font);margin:0}:where(.ffh-agents) img{max-width:100%}:where(.ffh-agents) a{color:inherit;text-decoration:none}.ffh-agents :focus-visible{outline:2px solid var(--ffh-accent);outline-offset:2px}.ffh-agents ::selection{background:#dbe7ff}:where(.ffh-agents) button{color:inherit;font:inherit}.ffh-sec:where(.ffh-agents),:where(.ffh-agents) .ffh-sec{background:var(--ffh-sec-bg,transparent);padding:var(--ffh-pt,110px) 0 var(--ffh-pb,0);position:relative;z-index:1}:where(.ffh-agents) .ffh-wrap{margin:0 auto;max-width:calc(var(--ffh-max, 1760px) + var(--ffh-gutter)*2);padding:0 var(--ffh-gutter);position:relative;width:100%}@media (max-width:767px){.ffh-sec:where(.ffh-agents),:where(.ffh-agents) .ffh-sec{padding-top:var(--ffh-ptm,72px)}}:where(.ffh-agents) .ffh-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between}:where(.ffh-agents) .ffh-head__main{display:flex;flex:1 1 420px;flex-direction:column;gap:18px;min-width:0}:where(.ffh-agents) .ffh-head__side{display:flex;flex:0 1 380px;flex-direction:column;gap:16px}:where(.ffh-agents) .ffh-h2{color:var(--ffh-ink);font-size:clamp(34px,4.4vw,52px);font-weight:500;letter-spacing:-.04em;line-height:1.04;max-width:680px;text-wrap:balance}:where(.ffh-agents) .ffh-lead{color:var(--ffh-muted);font-size:15px;line-height:1.6;text-wrap:pretty}:where(.ffh-agents) .ffh-badge{align-items:center;align-self:flex-start;background:#fff;border:1px solid var(--ffh-n200);border-radius:999px;color:var(--ffh-text);display:inline-flex;flex-shrink:0;font-size:12px;font-weight:500;gap:8px;padding:4px 12px 4px 4px;white-space:nowrap}:where(.ffh-agents) .ffh-badge__ic{align-items:center;background:var(--ffh-grad);border-radius:50%;color:#fff;display:flex;font-size:11px;height:20px;justify-content:center;width:20px}:where(.ffh-agents) .ffh-btn{align-items:center;align-self:flex-start;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:14px;font-weight:500;gap:10px;line-height:1;transition:background .25s,border-color .25s,filter .25s,transform .25s;white-space:nowrap}:where(.ffh-agents) .ffh-btn--outline{background:#fff;border:1px solid var(--ffh-n200);border-radius:999px;color:var(--ffh-text);font-size:13.5px;gap:8px;height:40px;padding:0 16px}:where(.ffh-agents) .ffh-btn--outline:hover{border-color:var(--ffh-n400)}:where(.ffh-agents) .ffh-btn--ghost{background:rgba(17,19,23,.06);border:1px solid rgba(17,19,23,.06);border-radius:999px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.8);color:var(--ffh-ink);gap:12px;height:46px;padding:0 6px 0 20px}:where(.ffh-agents) .ffh-btn--ghost:hover{background:rgba(17,19,23,.1)}:where(.ffh-agents) .ffh-btn--primary{background:var(--ffh-grad);border-radius:999px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.25),0 12px 28px -10px rgba(10,36,102,.65);color:#fff;height:46px;padding:0 10px 0 20px}:where(.ffh-agents) .ffh-btn--primary:hover{color:#fff;filter:brightness(1.08)}:where(.ffh-agents) .ffh-btn--white{background:#fff;border-radius:999px;color:var(--ffh-ink);font-size:13px;gap:8px;height:40px;padding:0 6px 0 16px}:where(.ffh-agents) .ffh-btn--white:hover{filter:brightness(.96)}:where(.ffh-agents) .ffh-btn__ic{align-items:center;background:var(--ffh-grad);border-radius:50%;box-shadow:0 6px 14px -6px rgba(10,36,102,.75);color:#fff;display:flex;font-size:15px;height:34px;justify-content:center;width:34px}:where(.ffh-agents) .ffh-btn--primary .ffh-btn__ic{background:hsla(0,0%,100%,.18);box-shadow:none;font-size:14px;height:28px;width:28px}:where(.ffh-agents) .ffh-btn--white .ffh-btn__ic{box-shadow:none;font-size:13px;height:28px;width:28px}:where(.ffh-agents) .ffh-btn__i{font-size:14px}:where(.ffh-agents) [data-ffh-glow]{--mx:-600px;--my:-600px}.ffh-js :where(.ffh-agents) [data-ffh-reveal-scope] [data-ffh-reveal].ffh-pre,.ffh-js [data-ffh-reveal-scope]:where(.ffh-agents) [data-ffh-reveal].ffh-pre{opacity:0;transform:translateY(32px)}.ffh-js :where(.ffh-agents) [data-ffh-reveal-scope] [data-ffh-reveal],.ffh-js [data-ffh-reveal-scope]:where(.ffh-agents) [data-ffh-reveal]{transition:opacity 1s var(--ffh-ease),transform 1s var(--ffh-ease)}.ffh-no-reveal :where(.ffh-agents) [data-ffh-reveal].ffh-pre{opacity:1!important;transform:none!important}@media (prefers-reduced-motion:reduce){.ffh-agents,.ffh-agents *,.ffh-agents :after,.ffh-agents :before,.ffh-agents:after,.ffh-agents:before{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}@keyframes ffh-spin{to{transform:rotate(1turn)}}@keyframes ffh-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes ffh-bars{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@keyframes ffh-dash{to{stroke-dashoffset:-20}}.ffh-agents .ffh-wrap{display:flex;flex-direction:column;gap:40px}.ffh-agents .ffh-h2{max-width:560px}.ffh-bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.ffh-acard,.ffh-bento{gap:14px;position:relative}.ffh-acard{background:radial-gradient(420px circle at var(--mx) var(--my),hsla(0,0%,100%,.7),transparent 45%),var(--bg);border:1px solid rgba(17,19,23,.05);border-radius:26px;display:flex;flex-direction:column;overflow:hidden;padding:30px;transition:transform .5s var(--ffh-ease),box-shadow .5s}.ffh-acard:hover{box-shadow:0 30px 60px -36px rgba(11,27,58,.35);transform:translateY(-3px)}.ffh-acard--s2{grid-column:span 2}.ffh-acard--s3{grid-column:1/-1}.ffh-acard__top{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.ffh-acard__eb{color:var(--eb);font-family:var(--ffh-mono);font-size:11px;letter-spacing:.12em}.ffh-apill{align-items:center;background:hsla(0,0%,100%,.85);border:1px solid rgba(11,27,58,.07);border-radius:999px;box-shadow:0 8px 18px -14px rgba(11,27,58,.5);color:var(--ffh-ink);display:flex;gap:10px;padding:4px 14px 4px 4px;transition:border-color .3s}.ffh-apill:hover{border-color:rgba(26,71,201,.4)}.ffh-apill__ring{background:var(--ffh-grad);border-radius:50%;flex-shrink:0;height:38px;padding:2px;width:38px}.ffh-apill__ring img{background:#12306e;border:2px solid #fff;border-radius:50%;display:block;height:100%;object-fit:cover;object-position:center 14%;width:100%}.ffh-apill__t{display:flex;flex-direction:column;line-height:1.2}.ffh-apill__t span:first-child{font-size:13px;font-weight:600}.ffh-apill__t span:last-child{color:var(--ffh-muted-2);font-size:11px}.ffh-acard__h{color:var(--ffh-ink);font-size:clamp(26px,2.6vw,36px);font-weight:500;letter-spacing:-.045em;line-height:1.02;text-wrap:balance}.ffh-acard__p{color:var(--ffh-muted);font-size:14px;line-height:1.55;max-width:420px;text-wrap:pretty}.ffh-bento__star{background:var(--ffh-bg);height:48px;left:calc(66.66667% - 11.66667px);position:absolute;top:427px;transform:translate(-50%,-50%);width:48px;z-index:3}.ffh-bento__star,.ffh-bento__star span{align-items:center;border-radius:50%;display:flex;justify-content:center}.ffh-bento__star span{background:var(--ffh-grad);box-shadow:0 8px 18px -8px rgba(10,36,102,.75);color:#fff;font-size:16px;height:36px;width:36px}.ffh-viz-badges,.ffh-viz-bars__chip,.ffh-viz-bars__flag,.ffh-viz-bars__main,.ffh-viz-card,.ffh-viz-check li,.ffh-wcard{background:#fff;border-radius:18px;box-shadow:0 1px 2px rgba(11,27,58,.05),0 18px 40px -24px rgba(11,27,58,.3)}.ffh-viz-bars{height:220px;margin-top:auto;position:relative}.ffh-viz-bars__main{bottom:0;display:flex;flex-direction:column;height:200px;padding:16px 18px;position:absolute;right:0;width:min(360px,70%)}.ffh-viz-bars__stat{align-items:baseline;display:flex;gap:6px}.ffh-viz-bars__stat b{color:var(--ffh-ink);font-size:24px;font-weight:600;letter-spacing:-.03em}.ffh-viz-bars__stat span{color:var(--ffh-n500);font-size:12px}.ffh-viz-bars__cols{align-items:flex-end;display:flex;flex:1;gap:7px;padding-top:12px}.ffh-viz-bars__cols span{animation:ffh-bars 2s ease-in-out infinite;background:var(--ffh-n200);border-radius:6px;flex:1;transform-origin:bottom}.ffh-viz-bars__cols span.is-hl{background:var(--bar,var(--ffh-grad))}.ffh-viz-bars__flag{animation:ffh-float 7s ease-in-out infinite;bottom:92px;padding:12px 14px;position:absolute;right:calc(min(360px, 70%) + 16px);width:150px}.ffh-viz-bars__flag .l{align-items:center;color:var(--ffh-n500);display:flex;font-size:11px;gap:6px}.ffh-viz-bars__flag .l i{background:#ef4444;border-radius:50%;height:8px;width:8px}.ffh-viz-bars__flag .v{color:var(--ffh-ink);font-size:19px;font-weight:600;margin-top:4px}.ffh-viz-bars__flag .s{color:#059669;font-size:10.5px}.ffh-viz-bars__chip{align-items:center;animation:ffh-float 8s ease-in-out -3s infinite;bottom:14px;display:flex;gap:10px;padding:10px 12px;position:absolute;right:calc(min(360px, 70%) + 16px)}.ffh-viz-bars__chip>span{align-items:center;background:var(--ffh-grad);border-radius:9px;color:#fff;display:flex;font-size:14px;height:28px;justify-content:center;width:28px}.ffh-viz-bars__chip .l{color:var(--ffh-n500);font-size:10.5px;line-height:1.25}.ffh-viz-bars__chip .v{color:var(--ffh-ink);font-size:13px;font-weight:600;line-height:1.25}.ffh-viz-card{margin-top:auto;padding:14px 16px}.ffh-viz-card__hd{align-items:center;color:var(--ffh-ink);display:flex;font-size:12px;font-weight:600;justify-content:space-between}.ffh-viz-card__hd span{background:var(--ffh-ink);border-radius:8px;color:#fff;font-size:10.5px;padding:3px 8px}.ffh-viz-area{display:block;height:90px;margin-top:8px;overflow:visible;width:100%}.ffh-viz-area__line{animation:ffh-dash 6s linear infinite}.ffh-viz-card__ax{color:var(--ffh-n500);display:flex;font-family:var(--ffh-mono);font-size:10px;justify-content:space-between}.ffh-viz-card__lg{color:var(--ffh-n500);display:flex;font-size:10.5px;gap:12px;margin:6px 0 4px}.ffh-viz-card__lg span{align-items:center;display:flex;gap:4px}.ffh-viz-card__lg i{background:var(--ffh-accent);border-radius:50%;height:7px;width:7px}.ffh-viz-card__lg i.g{background:var(--ffh-green)}.ffh-viz-lines{display:block;height:70px;width:100%}.ffh-viz-lines .d{animation:ffh-dash 1.6s linear infinite}.ffh-viz-check{display:flex;flex-direction:column;gap:8px;list-style:none;margin:auto 0 0;padding:0}.ffh-viz-check li{align-items:center;color:var(--ffh-ink);display:flex;font-size:13px;gap:10px;padding:10px 14px}.ffh-viz-check li>i:first-child{color:var(--ffh-accent);font-size:16px}.ffh-viz-check li span{flex:1}.ffh-viz-check .ok{color:var(--ffh-green);font-size:15px}.ffh-viz-check .spin{animation:ffh-spin 1.4s linear infinite;color:#0ea5e9;font-size:15px}.ffh-viz-badges{align-items:center;display:flex;gap:14px;margin-top:auto;padding:14px 16px}.ffh-viz-badges__ics{display:flex}.ffh-viz-badges__ics span{align-items:center;background:var(--ffh-ink);border:2px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:14px;height:34px;justify-content:center;margin-left:-8px;width:34px}.ffh-viz-badges__ics span:first-child{margin-left:0}.ffh-viz-badges__ics .b2{background:var(--ffh-accent)}.ffh-viz-badges__ics .b3{background:var(--ffh-green)}.ffh-viz-badges .t{color:var(--ffh-ink);font-size:18px;font-weight:600;letter-spacing:-.02em;line-height:1.25}.ffh-viz-badges .s{color:var(--ffh-muted-2);font-size:12px}.ffh-viz-img{margin-top:auto}.ffh-viz-img img{border-radius:18px;display:block;height:auto;width:100%}@media (max-width:1099px){.ffh-bento{grid-template-columns:1fr}.ffh-acard--s2,.ffh-acard--s3{grid-column:auto}.ffh-bento__star{display:none}}@media (max-width:560px){.ffh-acard{padding:22px}.ffh-viz-bars__chip,.ffh-viz-bars__flag{display:none}.ffh-viz-bars__main{width:100%}}.ffh-rot{display:grid}.ffh-rot__w{background:var(--hl,var(--ffh-grad,linear-gradient(120deg,#0a2466,#1a47c9 48%,#0d6b64)));-webkit-background-clip:text;background-clip:text;color:transparent;grid-area:1/1;-webkit-text-fill-color:transparent;filter:blur(8px);opacity:0;padding-bottom:.08em;transform:translateY(.45em);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1),filter .8s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}.ffh-rot__w.is-in{filter:none;opacity:1;transform:none}.ffh-rot__w.is-out{filter:blur(8px);opacity:0;transform:translateY(-.45em)}.ffh-rot__sr{height:1px;overflow:hidden;position:absolute;width:1px;clip:rect(0 0 0 0);white-space:nowrap}@media (prefers-reduced-motion:reduce){.ffh-rot__w{filter:none;transform:none}}.ffh-agtabs{display:flex;gap:10px;height:540px}.ffh-agtab{background:radial-gradient(460px circle at var(--mx) var(--my),rgba(35,88,224,.1),transparent 45%),hsla(0,0%,100%,.55);border:1px solid var(--ffh-n200);border-radius:24px;cursor:pointer;flex:0 0 74px;min-width:64px;overflow:hidden;position:relative;transition:flex .8s var(--ffh-ease),background .5s,box-shadow .5s,border-color .5s}.ffh-agtab:hover{border-color:var(--ffh-n300)}.ffh-agtab.is-on{background:radial-gradient(460px circle at var(--mx) var(--my),rgba(35,88,224,.1),transparent 45%),#fff;border-color:var(--ffh-accent-300);box-shadow:0 1px 2px rgba(11,27,58,.04),0 40px 80px -40px rgba(35,88,224,.35);cursor:default;flex:6 1 0}.ffh-agtab:nth-of-type(5n+1){--abg:linear-gradient(180deg,#fff9f8,#fffdf7)}.ffh-agtab:nth-of-type(5n+2){--abg:linear-gradient(180deg,#fafbff,#fff7fb)}.ffh-agtab:nth-of-type(5n+3){--abg:linear-gradient(180deg,#fffded,#f2fbff)}.ffh-agtab:nth-of-type(5n+4){--abg:linear-gradient(180deg,#e9fdff,#9dd1ff)}.ffh-agtab:nth-of-type(5n+5){--abg:linear-gradient(180deg,#fafbff,#e0e9ff)}.ffh-agtab,.ffh-agtab.is-on{background:radial-gradient(460px circle at var(--mx) var(--my),rgba(35,88,224,.1),transparent 45%),var(--abg,#fff)}.ffh-agtab__line{background:var(--bar,var(--ffh-grad));height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .5s;z-index:2}.ffh-agtab.is-on>.ffh-agtab__line{opacity:1}.ffh-agtab__tab{align-items:center;background:none;border:0;cursor:pointer;display:flex;flex-direction:column;gap:14px;inset:0;justify-content:space-between;margin:0;opacity:1;padding:18px;position:absolute;text-align:left;transition:opacity .35s .3s,visibility 0s;visibility:visible;width:100%;z-index:1}.ffh-agtab.is-on>.ffh-agtab__tab{opacity:0;pointer-events:none;transition:opacity .2s,visibility 0s .2s;visibility:hidden}.ffh-agtab__n{color:var(--ffh-n500)}.ffh-agtab__lbl,.ffh-agtab__n{font-family:var(--ffh-mono);font-size:12px}.ffh-agtab__lbl{color:var(--ffh-ink);letter-spacing:.12em;transform:rotate(180deg);white-space:nowrap;writing-mode:vertical-rl}.ffh-agtab__ic{align-items:center;background:var(--ffh-grad);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:16px;height:38px;justify-content:center;padding:2px;width:38px}.ffh-agtab__ic img{background:#12306e;border:2px solid #fff;border-radius:50%;display:block;height:100%;object-fit:cover;object-position:center 14%;width:100%}.ffh-agtab__body{display:flex;gap:28px;inset:0;opacity:0;padding:30px;pointer-events:none;position:absolute;transform:translateY(12px);transition:opacity .3s,transform .3s,visibility 0s .3s;visibility:hidden}.ffh-agtab.is-on>.ffh-agtab__body{opacity:1;pointer-events:auto;transform:none;transition:opacity .6s .15s,transform .7s .1s var(--ffh-ease),visibility 0s;visibility:visible}.ffh-agtab__copy{display:flex;flex:1 1 0;flex-direction:column;gap:18px;min-width:0}.ffh-agtab__copy .ffh-acard__h{font-size:clamp(24px,2.4vw,34px);letter-spacing:-.04em;line-height:1.08}.ffh-agtab__copy .ffh-acard__p{font-size:15px;line-height:1.6;max-width:460px}.ffh-agtab__copy .ffh-btn{margin-top:auto}.ffh-agtab__viz{background:var(--bg);border:1px solid rgba(17,19,23,.05);border-radius:18px;display:flex;flex:1.15 1 0;flex-direction:column;justify-content:center;margin-bottom:12px;min-height:240px;min-width:0;overflow:hidden;padding:18px;position:relative}.ffh-agtab__viz>*{margin-top:0}.ffh-agtab .ffh-viz-bars__main{width:min(360px,calc(100% - 152px))}.ffh-agtab .ffh-viz-bars__chip,.ffh-agtab .ffh-viz-bars__flag{left:0;right:auto}.ffh-agtab .ffh-viz-bars__flag{width:140px}.ffh-agtab__bar{background:var(--ffh-n200);border-radius:2px;bottom:14px;height:2px;left:30px;overflow:hidden;position:absolute;right:30px}.ffh-agtab__bar span{background:var(--bar,var(--ffh-grad));display:block;height:100%;transform:scaleX(0);transform-origin:left}@keyframes ffh-agin{0%{opacity:0;transform:translateY(12px)}}@media (max-width:1099px){.ffh-agtabs{flex-direction:column;height:auto}.ffh-agtab,.ffh-agtab.is-on{flex:0 0 auto}.ffh-agtab__tab{flex-direction:row;inset:auto;min-height:64px;padding:12px 14px 12px 18px;position:relative}.ffh-agtab__lbl{flex:1;transform:none;white-space:normal;writing-mode:horizontal-tb}.ffh-agtab.is-on>.ffh-agtab__tab{display:none}.ffh-agtab__body{display:none;flex-direction:column;inset:auto;padding:26px 24px 36px;position:relative}.ffh-agtab.is-on>.ffh-agtab__body{animation:ffh-agin .6s var(--ffh-ease);display:flex}.ffh-agtab__bar{left:24px;right:24px}}@media (max-width:560px){.ffh-agtab__body{padding:22px 20px 34px}.ffh-agtab .ffh-viz-bars__main{width:100%}}.ffh-agtab__lbl{color:#2a2e36;font-family:var(--ffh-font);font-size:15px;font-weight:500;letter-spacing:-.01em;text-transform:none}.ffh-agtab__ic{background:#fff;border:1px solid var(--ffh-n200);border-radius:11px;color:var(--ffh-ink);padding:0}.ffh-agtab .ffh-acard__top{justify-content:flex-start;row-gap:14px}.ffh-agtab .ffh-apill{margin-left:0}.ffh-agtab__tile{align-items:center;background:var(--ffh-grad);border-radius:15px;box-shadow:0 12px 24px -10px rgba(35,88,224,.6);color:#fff;display:flex;flex-shrink:0;font-size:21px;height:48px;justify-content:center;width:48px}.ffh-agtab__viz.ffh-agv{background:var(--ffh-bg);border:1px solid var(--ffh-n200);border-radius:16px;gap:8px;padding:14px}.ffh-agv i{font-style:normal}.ffh-agv .a-in{animation:ffh-ag-in 8s var(--ffh-ease) var(--d,0s) infinite backwards}.ffh-agv .a-pop{animation:ffh-ag-pop 8s var(--ffh-ease) var(--d,0s) infinite backwards}.ffh-agv .a-fill{animation:ffh-ag-fill 8s var(--ffh-ease) var(--d,0s) infinite backwards;transform-origin:left center}.ffh-agv .a-y{animation:ffh-ag-grow-y 8s var(--ffh-ease) var(--d,0s) infinite backwards;transform-origin:top center}.ffh-agv--1{justify-content:flex-start}.ffh-agv__chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}.ffh-agv__chips span{background:#fff;border:1px solid var(--ffh-n200);border-radius:999px;color:var(--ffh-text);font-size:11.5px;padding:4px 10px}.ffh-agv__chips b{font-weight:600}.ffh-agv__row{align-items:center;background:#fff;border-radius:10px;color:var(--ffh-text);display:flex;font-size:12px;gap:10px;padding:9px 11px}.ffh-agv__row>i{color:var(--ffh-n500);font-size:14px}.ffh-agv__row span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ffh-agv__row em{background:var(--ffh-n200);border-radius:4px;flex-shrink:0;height:4px;width:56px}.ffh-agv__row em i{background:var(--ffh-n500);border-radius:4px;display:block;height:100%}.ffh-agv__row.is-hl{border:1px solid #7aa2f8;box-shadow:0 0 0 4px var(--ffh-accent-100)}.ffh-agv__row.is-hl>i{color:var(--ffh-accent)}.ffh-agv__row.is-hl span{font-weight:500}.ffh-agv__row.is-hl em i{background:var(--ffh-accent)}.ffh-agv__st{background:var(--ffh-n100);border-radius:999px;color:var(--ffh-muted);flex-shrink:0;font-size:10.5px;font-weight:600;padding:3px 8px;white-space:nowrap}.ffh-agv__st.is-esc{background:var(--ffh-accent);color:#fff}.ffh-agv__scan{animation:ffh-ag-scan 3.2s cubic-bezier(.6,0,.4,1) infinite alternate;background:linear-gradient(180deg,rgba(35,88,224,0),rgba(35,88,224,.14));border-bottom:1px solid #7aa2f8;height:40px;left:0;pointer-events:none;position:absolute;right:0}.ffh-agv--2{justify-content:flex-start}.ffh-agv__q{align-items:center;background:var(--ffh-ink);border-radius:10px;color:#fff;display:flex;font-size:12px;gap:8px;margin-bottom:2px;padding:9px 12px}.ffh-agv__q>i{color:var(--ffh-accent-300);font-size:14px}.ffh-agv__q span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ffh-agv__q b{font-weight:600}.ffh-agv__q em{font-family:var(--ffh-mono);font-size:10.5px;font-style:normal;opacity:.7;white-space:nowrap}.ffh-agv__m{align-items:center;background:#fff;border:1px solid var(--ffh-n200);border-radius:10px;color:var(--ffh-text);display:flex;font-size:12px;gap:10px;padding:7px 11px}.ffh-agv__m .nm{display:flex;flex:1;flex-direction:column;line-height:1.35;min-width:0;white-space:nowrap}.ffh-agv__m .nm,.ffh-agv__m .nm small{overflow:hidden;text-overflow:ellipsis}.ffh-agv__m .nm small{color:var(--ffh-muted);font-size:10.5px}.ffh-agv__m em{background:var(--ffh-n200);border-radius:4px;flex-shrink:0;height:4px;width:48px}.ffh-agv__m em i{background:var(--ffh-n500);border-radius:4px;display:block;height:100%}.ffh-agv__m b{background:var(--ffh-n100);border-radius:999px;color:var(--ffh-muted);flex-shrink:0;font-size:10.5px;font-weight:600;padding:3px 8px;white-space:nowrap}.ffh-agv__m.is-hit{border-color:#f3a39b;box-shadow:0 0 0 4px rgba(220,60,50,.08)}.ffh-agv__m.is-hit .nm{font-weight:500}.ffh-agv__m.is-hit b,.ffh-agv__m.is-hit em i{background:#dc3c32}.ffh-agv__m.is-hit b{color:#fff}.ffh-agv--3{align-items:center;background:radial-gradient(circle,var(--ffh-n300) 1px,transparent 1.2px) 0 0 /14px 14px,var(--ffh-bg)!important;flex-direction:row;gap:0;padding:16px}.ffh-agv__srcs{display:flex;flex:1 1 0;flex-direction:column;gap:14px;min-width:0}.ffh-agv__srcs .s,.ffh-agv__srcs .s>span{align-items:center;display:flex}.ffh-agv__srcs .s>span{background:#fff;border:1px solid var(--ffh-n200);border-radius:9px;color:var(--ffh-text);flex-shrink:0;font-size:11.5px;gap:6px;padding:6px 10px;white-space:nowrap}.ffh-agv__srcs .s>span i{color:var(--ffh-accent);font-size:13px}.ffh-agv__srcs .s>em{border-top:1px dashed var(--ffh-n400);flex:1;min-width:18px;position:relative}.ffh-agv__srcs .s>em i{animation:ffh-ag-travel 2.4s ease-in-out var(--d,0s) infinite backwards;background:var(--ffh-accent);border-radius:50%;box-shadow:0 0 0 3px var(--ffh-accent-100);height:7px;left:0;position:absolute;top:-4px;width:7px}.ffh-agv__case{background:#fff;border:1px solid var(--ffh-n200);border-radius:12px;box-shadow:0 14px 30px -18px rgba(11,27,58,.45);display:flex;flex:0 0 auto;flex-direction:column;gap:6px;max-width:60%;padding:10px;width:220px}.ffh-agv__case .hd{align-items:center;border-bottom:1px solid var(--ffh-n200);color:var(--ffh-ink);display:flex;font-size:12px;gap:7px;padding-bottom:7px}.ffh-agv__case .hd i{color:var(--ffh-accent);font-size:14px}.ffh-agv__case .hd b{flex:1;font-weight:600}.ffh-agv__case .hd span{background:var(--ffh-accent-100);border-radius:999px;color:var(--ffh-accent-700);font-family:var(--ffh-mono);font-size:10px;padding:2px 7px}.ffh-agv__case .ev{align-items:center;background:var(--ffh-bg);border-radius:7px;color:var(--ffh-text);display:flex;font-size:11px;gap:7px;padding:5px 7px}.ffh-agv__case .ev i{color:var(--ffh-n500);font-size:12px}.ffh-agv__case .ev span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ffh-agv__case .ev time{color:var(--ffh-muted);font-family:var(--ffh-mono);font-size:10px}.ffh-agv__case .tl{align-items:center;color:var(--ffh-muted);display:flex;font-size:10.5px;gap:7px;margin-top:2px}.ffh-agv__case .tl i{color:var(--ffh-accent);font-size:12px}.ffh-agv__case .tl .bar{background:var(--ffh-n200);border-radius:3px;flex:1;height:3px;overflow:hidden;position:relative}.ffh-agv__case .tl .bar span{animation:ffh-ag-fill 8s linear infinite backwards;background:var(--ffh-accent);inset:0;position:absolute;transform-origin:left center}.ffh-agv--4{align-items:center;flex-direction:row;gap:18px;justify-content:center;padding:16px}.ffh-agv__checks{display:flex;flex-direction:column;flex-shrink:0;gap:8px}.ffh-agv__checks span{align-items:center;background:#fff;border-radius:9px;color:var(--ffh-text);display:flex;font-size:12px;gap:8px;padding:6px 11px;white-space:nowrap}.ffh-agv__checks i{color:var(--ffh-green);font-size:14px}.ffh-agv__tree{align-items:center;display:flex;flex:0 1 320px;flex-direction:column;min-width:0}.ffh-agv__tree .nd{align-items:center;background:#fff;border:1px solid var(--ffh-n200);border-radius:9px;color:var(--ffh-text);display:inline-flex;font-size:11.5px;gap:6px;padding:6px 10px;position:relative;white-space:nowrap;z-index:1}.ffh-agv__tree .nd i{color:var(--ffh-n500);font-size:13px}.ffh-agv__tree .nd.co{background:var(--ffh-ink);border-color:transparent;color:#fff}.ffh-agv__tree .nd.co i{color:var(--ffh-accent-300)}.ffh-agv__tree .nd.is-ubo{border-color:#7aa2f8;box-shadow:0 0 0 4px var(--ffh-accent-100);font-weight:500}.ffh-agv__tree .nd.is-ubo i{color:var(--ffh-accent)}.ffh-agv__tree .nd.is-ubo b{background:var(--ffh-accent);border-radius:999px;color:#fff;font-size:9.5px;font-weight:700;letter-spacing:.06em;padding:2px 6px}.ffh-agv__tree .vl{background:var(--ffh-n400);display:block;height:14px;width:1px}.ffh-agv__tree .br{display:flex;position:relative;width:100%}.ffh-agv__tree .br:before{animation:ffh-ag-fill 8s var(--ffh-ease) 1.35s infinite backwards;background:var(--ffh-n400);content:"";height:1px;left:25%;position:absolute;right:25%;top:0}.ffh-agv__tree .col{align-items:center;display:flex;flex:1 1 0;flex-direction:column;min-width:0}.ffh-agv--5{align-items:center;flex-direction:row;gap:22px;justify-content:center;padding:16px 16px 22px}.ffh-agv__doc{background:#fff;border:1px solid var(--ffh-n200);border-radius:12px;box-shadow:0 14px 30px -18px rgba(11,27,58,.45);display:flex;flex-direction:column;gap:7px;min-width:0;padding:12px;position:relative;width:190px}.ffh-agv__doc .hd{align-items:center;border-bottom:1px solid var(--ffh-n200);display:flex;gap:8px;justify-content:space-between;padding-bottom:7px}.ffh-agv__doc .hd b{align-items:center;color:var(--ffh-ink);display:flex;font-size:12px;font-weight:700;gap:6px;letter-spacing:.06em}.ffh-agv__doc .hd b i{color:var(--ffh-accent);font-size:14px}.ffh-agv__doc .hd span{color:var(--ffh-muted);font-family:var(--ffh-mono);font-size:10px}.ffh-agv__doc .f{align-items:center;display:flex;gap:8px}.ffh-agv__doc .f small{color:var(--ffh-muted);flex-shrink:0;font-size:10px;width:48px}.ffh-agv__doc .f i{background:var(--ffh-accent-300);height:6px}.ffh-agv__doc .f i,.ffh-agv__doc .ln{animation:ffh-ag-fill 8s var(--ffh-ease) var(--d,0s) infinite backwards;border-radius:3px;display:block;transform-origin:left center}.ffh-agv__doc .ln{background:var(--ffh-n200);height:5px}.ffh-agv__doc .ln.s{width:78%}.ffh-agv__doc .stamp{align-items:center;background:var(--ffh-ink);border-radius:9px;bottom:-14px;box-shadow:0 12px 24px -10px rgba(11,27,58,.6);color:#fff;display:flex;font-size:11px;font-weight:600;gap:6px;padding:6px 10px;position:absolute;right:-14px;white-space:nowrap}.ffh-agv__doc .stamp i{color:var(--ffh-mint);font-size:13px}.ffh-agv__steps{display:flex;flex-direction:column;gap:8px}.ffh-agv__steps span{align-items:center;background:#fff;border-radius:9px;color:var(--ffh-text);display:flex;font-size:12px;gap:8px;padding:6px 11px;white-space:nowrap}.ffh-agv__steps i{color:var(--ffh-green);font-size:14px}.ffh-agv__steps .is-run{background:var(--ffh-ink);color:#fff}.ffh-agv__steps .is-run i{animation:ffh-spin 1.4s linear infinite;color:#fff}@keyframes ffh-ag-scan{0%{top:0}to{top:100%}}@keyframes ffh-ag-in{0%{opacity:0;transform:translateY(6px)}8%,90%{opacity:1;transform:none}to{opacity:0;transform:none}}@keyframes ffh-ag-pop{0%{opacity:0;transform:scale(.6)}5%{opacity:1;transform:scale(1.08)}9%,90%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}@keyframes ffh-ag-fill{0%{transform:scaleX(0)}12%,90%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes ffh-ag-grow-y{0%{transform:scaleY(0)}6%,90%{transform:scaleY(1)}to{transform:scaleY(0)}}@keyframes ffh-ag-travel{0%{left:0;opacity:0}15%{opacity:1}75%{left:calc(100% - 7px);opacity:1}to{left:calc(100% - 7px);opacity:0}}@media (max-width:1099px){.ffh-agtab__lbl{font-size:14px}}@media (max-width:560px){.ffh-agv--3{align-items:stretch;flex-direction:column;gap:12px}.ffh-agv__srcs{flex-direction:row;flex-wrap:wrap;gap:6px}.ffh-agv__srcs .s>em{display:none}.ffh-agv__case{max-width:none;width:auto}.ffh-agv--4,.ffh-agv--5{flex-direction:column;gap:14px}.ffh-agv__checks{flex-direction:row;flex-wrap:wrap;gap:6px;justify-content:center}.ffh-agv__tree{flex:none;width:100%}.ffh-agv__tree .nd{font-size:10.5px;padding:5px 8px}.ffh-agv__m em,.ffh-agv__q em,.ffh-agv__row em{display:none}}