<!DOCTYPE html><html lang="en" translate="no"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/brand/light.svg?v=20260909"/><link rel="preload" as="image" href="https://aihubmix.com/blog-media/images/2026/10/d06f19303079d08e.png" fetchPriority="high"/><meta name="google" content="notranslate"/><link rel="icon" href="/favicon.ico?v=2"/><link rel="apple-touch-icon" href="/apple-touch-icon.png"/><meta name="theme-color" content="#ffffff"/><meta name="referrer" content="strict-origin-when-cross-origin"/><title>x402 Tutorial: Let Your AI Agent Top Up AIHubMix with USDC | AIHubMix Blog</title><meta name="description" content="AIHubMix now accepts USDC top-ups. Your AI agent can add credit to its own account with the USDC in its wallet: no web page to open, and no one has to click…"/><meta name="keywords" content="Tutorial, AIHubMix, AIHubMix Blog"/><link rel="canonical" href="https://aihubmix.com/blog/x402-tutorial-let-your-ai-agent-top-up-aihubmix-with-usdc"/><link rel="alternate" type="text/markdown" href="https://aihubmix.com/llms.txt"/><meta name="robots" content="index, follow"/><meta property="og:site_name" content="AIHubMix"/><meta property="og:type" content="article"/><meta property="og:title" content="x402 Tutorial: Let Your AI Agent Top Up AIHubMix with USDC | AIHubMix Blog"/><meta property="og:description" content="AIHubMix now accepts USDC top-ups. Your AI agent can add credit to its own account with the USDC in its wallet: no web page…"/><meta property="og:url" content="https://aihubmix.com/blog/x402-tutorial-let-your-ai-agent-top-up-aihubmix-with-usdc"/><meta property="og:image" content="https://aihubmix.com/blog-media/images/2026/10/d06f19303079d08e.png"/><meta property="og:image:alt" content="x402 Tutorial: Let Your AI Agent Top Up AIHubMix with USDC | AIHubMix Blog"/><meta property="og:locale" content="en_US"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@aihubmix"/><meta name="twitter:creator" content="@aihubmix"/><meta name="twitter:title" content="x402 Tutorial: Let Your AI Agent Top Up AIHubMix with USDC | AIHubMix Blog"/><meta name="twitter:description" content="AIHubMix now accepts USDC top-ups. Your AI agent can add credit to its own account with the USDC in its wallet: no web page…"/><meta name="twitter:image" content="https://aihubmix.com/blog-media/images/2026/10/d06f19303079d08e.png"/><meta property="article:published_time" content="2026-10-15T08:15:50.000+00:00"/><meta property="article:modified_time" content="2026-10-15T08:44:58.000+00:00"/><link rel="alternate" hrefLang="en" href="https://aihubmix.com/blog/x402-tutorial-let-your-ai-agent-top-up-aihubmix-with-usdc"/><link rel="alternate" hrefLang="zh-CN" href="https://aihubmix.com/blog/zh-CN/x402-tutorial-let-your-ai-agent-top-up-aihubmix-with-usdc"/><link rel="alternate" hrefLang="zh-TW" href="https://aihubmix.com/blog/zh-TW/x402-tutorial-let-your-ai-agent-top-up-aihubmix-with-usdc"/><link rel="alternate" hrefLang="ja" href="https://aihubmix.com/blog/ja/x402-tutorial-let-your-ai-agent-top-up-aihubmix-with-usdc"/><link rel="alternate" hrefLang="ko" href="https://aihubmix.com/blog/ko/x402-tutorial-let-your-ai-agent-top-up-aihubmix-with-usdc"/><link rel="alternate" hrefLang="de" href="https://aihubmix.com/blog/de/x402-tutorial-let-your-ai-agent-top-up-aihubmix-with-usdc"/><link rel="alternate" hrefLang="es" href="https://aihubmix.com/blog/es/x402-tutorial-let-your-ai-agent-top-up-aihubmix-with-usdc"/><link rel="alternate" hrefLang="fr" href="https://aihubmix.com/blog/fr/x402-tutorial-let-your-ai-agent-top-up-aihubmix-with-usdc"/><link rel="alternate" hrefLang="pt" href="https://aihubmix.com/blog/pt/x402-tutorial-let-your-ai-agent-top-up-aihubmix-with-usdc"/><link rel="alternate" hrefLang="ru" href="https://aihubmix.com/blog/ru/x402-tutorial-let-your-ai-agent-top-up-aihubmix-with-usdc"/><link rel="alternate" hrefLang="tr" href="https://aihubmix.com/blog/tr/x402-tutorial-let-your-ai-agent-top-up-aihubmix-with-usdc"/><link rel="alternate" hrefLang="pl" href="https://aihubmix.com/blog/pl/x402-tutorial-let-your-ai-agent-top-up-aihubmix-with-usdc"/><link rel="alternate" hrefLang="nl" href="https://aihubmix.com/blog/nl/x402-tutorial-let-your-ai-agent-top-up-aihubmix-with-usdc"/><link rel="alternate" hrefLang="it" href="https://aihubmix.com/blog/it/x402-tutorial-let-your-ai-agent-top-up-aihubmix-with-usdc"/><link rel="alternate" hrefLang="vi" href="https://aihubmix.com/blog/vi/x402-tutorial-let-your-ai-agent-top-up-aihubmix-with-usdc"/><link rel="alternate" hrefLang="uk" href="https://aihubmix.com/blog/uk/x402-tutorial-let-your-ai-agent-top-up-aihubmix-with-usdc"/><link rel="alternate" hrefLang="bg" href="https://aihubmix.com/blog/bg/x402-tutorial-let-your-ai-agent-top-up-aihubmix-with-usdc"/><link rel="alternate" hrefLang="x-default" href="https://aihubmix.com/blog/x402-tutorial-let-your-ai-agent-top-up-aihubmix-with-usdc"/><link rel="modulepreload" href="/static/manifest-b20be33c.js"/><link rel="modulepreload" href="/static/entry.client-D3GyZyxc.js"/><link rel="modulepreload" href="/static/jsx-runtime-CgWCn3gT.js"/><link rel="modulepreload" href="/static/i18nInstance-C_7vXBXC.js"/><link rel="modulepreload" href="/static/index-ao6ir_VS.js"/><link rel="modulepreload" href="/static/preload-helper-BXl3LOEh.js"/><link rel="modulepreload" href="/static/root-Dl-AuaVW.js"/><link rel="modulepreload" href="/static/useTranslation-CksCcIr-.js"/><link rel="modulepreload" href="/static/error-page-Bt0s4Oe9.js"/><link rel="modulepreload" href="/static/blog-BzQtJgIa.js"/><link rel="modulepreload" href="/static/legacy-shell-D4JdMu14.js"/><link rel="modulepreload" href="/static/index-DXVaY-vM.js"/><link rel="modulepreload" href="/static/seo-meta-Bpqygpx8.js"/><link rel="modulepreload" href="/static/tokens-BZ4Gg0Cj.js"/><link rel="modulepreload" href="/static/controls-B5mJZGsg.js"/><link rel="modulepreload" href="/static/index-Bl0f4fRW.js"/><link rel="modulepreload" href="/static/styled-components.browser.esm-CQ4IZagM.js"/><link rel="modulepreload" href="/static/blogColumn-BobpY0f9.js"/><link rel="modulepreload" href="/static/SearchOutlined-4CAPyJbl.js"/><link rel="modulepreload" href="/static/ArrowLeftOutlined-PEnSNofW.js"/><link rel="modulepreload" href="/static/modelCount-CKhxfxhQ.js"/><link rel="modulepreload" href="/static/seoDom-D06K2jw6.js"/><link rel="modulepreload" href="/static/index-NPPpTHXJ.js"/><link rel="modulepreload" href="/static/index-DKjRcP81.js"/><script>(function () {
  try {
    var h = location.hostname;
    if (!h) return;
    if (/(^|\.)(aihubmix\.com|inferera\.com|shkq\.org)$/.test(h)) return;
    if (h === 'localhost' || h === '127.0.0.1' || h === '[::1]' || /\.local$/.test(h)) return;
    if (/^(10\.|127\.|192\.168\.|172\.(1[6-9]|2[0-9]|3[01])\.)/.test(h)) return;
    var esc = /[?&]__noguard=1/.test(location.search);
    try {
      if (esc) sessionStorage.setItem('__noguard', '1');
      if (esc || sessionStorage.getItem('__noguard') === '1') return;
    } catch (e) { if (esc) return; }
    var q = location.search ? location.search + '&' : '?';
    location.replace('https://aihubmix.com' + location.pathname.replace(/^\/+/, '/') + q + '__mfrom=' + encodeURIComponent(h) + location.hash);
  } catch (e) {}
})();</script><style id="ssr-antd">a:where(.css-1xohofr){color:#1677ff;text-decoration:none;background-color:transparent;outline:none;cursor:pointer;transition:color 0.3s;-webkit-text-decoration-skip:objects;}a:where(.css-1xohofr):hover{color:#69b1ff;}a:where(.css-1xohofr):active{color:#0958d9;}a:where(.css-1xohofr):active,a:where(.css-1xohofr):hover{text-decoration:none;outline:0;}a:where(.css-1xohofr):focus{text-decoration:none;outline:0;}a:where(.css-1xohofr)[disabled]{color:rgba(0,0,0,0.25);cursor:not-allowed;}:where(.css-1xohofr) a{color:#1677ff;text-decoration:none;background-color:transparent;outline:none;cursor:pointer;transition:color 0.3s;-webkit-text-decoration-skip:objects;}:where(.css-1xohofr) a:hover{color:#69b1ff;}:where(.css-1xohofr) a:active{color:#0958d9;}:where(.css-1xohofr) a:active,:where(.css-1xohofr) a:hover{text-decoration:none;outline:0;}:where(.css-1xohofr) a:focus{text-decoration:none;outline:0;}:where(.css-1xohofr) a[disabled]{color:rgba(0,0,0,0.25);cursor:not-allowed;}:where(.css-1xohofr).anticon{display:inline-flex;align-items:center;color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}:where(.css-1xohofr).anticon >*{line-height:1;}:where(.css-1xohofr).anticon svg{display:inline-block;}:where(.css-1xohofr).anticon .anticon .anticon-icon{display:block;}:where(.css-1xohofr).ant-layout{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-size:14px;box-sizing:border-box;}:where(.css-1xohofr).ant-layout::before,:where(.css-1xohofr).ant-layout::after{box-sizing:border-box;}:where(.css-1xohofr).ant-layout [class^="ant-layout"],:where(.css-1xohofr).ant-layout [class*=" ant-layout"]{box-sizing:border-box;}:where(.css-1xohofr).ant-layout [class^="ant-layout"]::before,:where(.css-1xohofr).ant-layout [class*=" ant-layout"]::before,:where(.css-1xohofr).ant-layout [class^="ant-layout"]::after,:where(.css-1xohofr).ant-layout [class*=" ant-layout"]::after{box-sizing:border-box;}:where(.css-1xohofr).ant-layout{display:flex;flex:auto;flex-direction:column;min-height:0;background:#f5f5f5;}:where(.css-1xohofr).ant-layout,:where(.css-1xohofr).ant-layout *{box-sizing:border-box;}:where(.css-1xohofr).ant-layout.ant-layout-has-sider{flex-direction:row;}:where(.css-1xohofr).ant-layout.ant-layout-has-sider >.ant-layout,:where(.css-1xohofr).ant-layout.ant-layout-has-sider >.ant-layout-content{width:0;}:where(.css-1xohofr).ant-layout .ant-layout-header,:where(.css-1xohofr).ant-layout.ant-layout-footer{flex:0 0 auto;}:where(.css-1xohofr).ant-layout-rtl{direction:rtl;}:where(.css-1xohofr).ant-layout-header{height:64px;padding:0 50px;color:rgba(0,0,0,0.88);line-height:64px;background:#001529;}:where(.css-1xohofr).ant-layout-header .ant-menu{line-height:inherit;}:where(.css-1xohofr).ant-layout-footer{padding:24px 50px;color:rgba(0,0,0,0.88);font-size:14px;background:#f5f5f5;}:where(.css-1xohofr).ant-layout-content{flex:auto;color:rgba(0,0,0,0.88);min-height:0;}a:where(.css-18nm6z4){color:#1677ff;text-decoration:none;background-color:transparent;outline:none;cursor:pointer;transition:color 0.3s;-webkit-text-decoration-skip:objects;}a:where(.css-18nm6z4):hover{color:#69b1ff;}a:where(.css-18nm6z4):active{color:#0958d9;}a:where(.css-18nm6z4):active,a:where(.css-18nm6z4):hover{text-decoration:none;outline:0;}a:where(.css-18nm6z4):focus{text-decoration:none;outline:0;}a:where(.css-18nm6z4)[disabled]{color:rgba(0,0,0,0.25);cursor:not-allowed;}:where(.css-18nm6z4) a{color:#1677ff;text-decoration:none;background-color:transparent;outline:none;cursor:pointer;transition:color 0.3s;-webkit-text-decoration-skip:objects;}:where(.css-18nm6z4) a:hover{color:#69b1ff;}:where(.css-18nm6z4) a:active{color:#0958d9;}:where(.css-18nm6z4) a:active,:where(.css-18nm6z4) a:hover{text-decoration:none;outline:0;}:where(.css-18nm6z4) a:focus{text-decoration:none;outline:0;}:where(.css-18nm6z4) a[disabled]{color:rgba(0,0,0,0.25);cursor:not-allowed;}:where(.css-18nm6z4).anticon{display:inline-flex;align-items:center;color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}:where(.css-18nm6z4).anticon >*{line-height:1;}:where(.css-18nm6z4).anticon svg{display:inline-block;}:where(.css-18nm6z4).anticon .anticon .anticon-icon{display:block;}:where(.css-18nm6z4).ant-layout{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-size:14px;box-sizing:border-box;}:where(.css-18nm6z4).ant-layout::before,:where(.css-18nm6z4).ant-layout::after{box-sizing:border-box;}:where(.css-18nm6z4).ant-layout [class^="ant-layout"],:where(.css-18nm6z4).ant-layout [class*=" ant-layout"]{box-sizing:border-box;}:where(.css-18nm6z4).ant-layout [class^="ant-layout"]::before,:where(.css-18nm6z4).ant-layout [class*=" ant-layout"]::before,:where(.css-18nm6z4).ant-layout [class^="ant-layout"]::after,:where(.css-18nm6z4).ant-layout [class*=" ant-layout"]::after{box-sizing:border-box;}:where(.css-18nm6z4).ant-layout{display:flex;flex:auto;flex-direction:column;min-height:0;background:transparent;}:where(.css-18nm6z4).ant-layout,:where(.css-18nm6z4).ant-layout *{box-sizing:border-box;}:where(.css-18nm6z4).ant-layout.ant-layout-has-sider{flex-direction:row;}:where(.css-18nm6z4).ant-layout.ant-layout-has-sider >.ant-layout,:where(.css-18nm6z4).ant-layout.ant-layout-has-sider >.ant-layout-content{width:0;}:where(.css-18nm6z4).ant-layout .ant-layout-header,:where(.css-18nm6z4).ant-layout.ant-layout-footer{flex:0 0 auto;}:where(.css-18nm6z4).ant-layout-rtl{direction:rtl;}:where(.css-18nm6z4).ant-layout-header{height:64px;padding:0 50px;color:rgba(0,0,0,0.88);line-height:64px;background:transparent;}:where(.css-18nm6z4).ant-layout-header .ant-menu{line-height:inherit;}:where(.css-18nm6z4).ant-layout-footer{padding:24px 50px;color:rgba(0,0,0,0.88);font-size:14px;background:#f5f5f5;}:where(.css-18nm6z4).ant-layout-content{flex:auto;color:rgba(0,0,0,0.88);min-height:0;}:where(.css-18nm6z4).ant-dropdown{position:absolute;top:-9999px;left:-9999px;z-index:1050;display:block;}:where(.css-18nm6z4).ant-dropdown::before{position:absolute;inset-block:-4px;z-index:-9999;opacity:0.0001;content:"";}:where(.css-18nm6z4).ant-dropdown-menu-vertical{max-height:100vh;overflow-y:auto;}:where(.css-18nm6z4).ant-dropdown-trigger.ant-btn>.anticon-down,:where(.css-18nm6z4).ant-dropdown-trigger.ant-btn>.ant-btn-icon>.anticon-down{font-size:12px;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-wrap{position:relative;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-wrap .ant-btn>.anticon-down{font-size:12px;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-wrap .anticon-down::before{transition:transform 0.2s;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-wrap-open .anticon-down::before{transform:rotate(180deg);}:where(.css-18nm6z4).ant-dropdown-hidden,:where(.css-18nm6z4).ant-dropdown-menu-hidden,:where(.css-18nm6z4).ant-dropdown-menu-submenu-hidden{display:none;}:where(.css-18nm6z4).ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomLeft,:where(.css-18nm6z4).ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomLeft,:where(.css-18nm6z4).ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottom,:where(.css-18nm6z4).ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottom,:where(.css-18nm6z4).ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomRight,:where(.css-18nm6z4).ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomRight{animation-name:css-18nm6z4-antSlideUpIn;}:where(.css-18nm6z4).ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topLeft,:where(.css-18nm6z4).ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topLeft,:where(.css-18nm6z4).ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-top,:where(.css-18nm6z4).ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-top,:where(.css-18nm6z4).ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topRight,:where(.css-18nm6z4).ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topRight{animation-name:css-18nm6z4-antSlideDownIn;}:where(.css-18nm6z4).ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomLeft,:where(.css-18nm6z4).ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottom,:where(.css-18nm6z4).ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomRight{animation-name:css-18nm6z4-antSlideUpOut;}:where(.css-18nm6z4).ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topLeft,:where(.css-18nm6z4).ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-top,:where(.css-18nm6z4).ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topRight{animation-name:css-18nm6z4-antSlideDownOut;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-arrow{position:absolute;z-index:1;display:block;pointer-events:none;width:16px;height:16px;overflow:hidden;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-arrow::before{position:absolute;bottom:0;inset-inline-start:0;width:16px;height:8px;background:#ffffff;clip-path:polygon(1.6568542494923806px 100%, 50% 1.6568542494923806px, 14.34314575050762px 100%, 1.6568542494923806px 100%);clip-path:path('M 0 8 A 4 4 0 0 0 2.82842712474619 6.82842712474619 L 6.585786437626905 3.0710678118654755 A 2 2 0 0 1 9.414213562373096 3.0710678118654755 L 13.17157287525381 6.82842712474619 A 4 4 0 0 0 16 8 Z');content:"";}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-arrow::after{content:"";position:absolute;width:8.970562748477143px;height:8.970562748477143px;bottom:0;inset-inline:0;margin:auto;border-radius:0 0 2px 0;transform:translateY(50%) rotate(-135deg);box-shadow:2px 2px 5px rgba(0, 0, 0, 0.05);z-index:0;background:transparent;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-arrow:before{background:#ffffff;}:where(.css-18nm6z4).ant-dropdown-placement-top>.ant-dropdown-arrow,:where(.css-18nm6z4).ant-dropdown-placement-topLeft>.ant-dropdown-arrow,:where(.css-18nm6z4).ant-dropdown-placement-topRight>.ant-dropdown-arrow{bottom:0;transform:translateY(100%) rotate(180deg);}:where(.css-18nm6z4).ant-dropdown-placement-top>.ant-dropdown-arrow{left:50%;transform:translateX(-50%) translateY(100%) rotate(180deg);}:where(.css-18nm6z4).ant-dropdown-placement-topLeft{--arrow-offset-horizontal:12px;}:where(.css-18nm6z4).ant-dropdown-placement-topLeft >.ant-dropdown-arrow{left:12px;}:where(.css-18nm6z4).ant-dropdown-placement-topRight{--arrow-offset-horizontal:calc(100% - 12px);}:where(.css-18nm6z4).ant-dropdown-placement-topRight >.ant-dropdown-arrow{right:12px;}:where(.css-18nm6z4).ant-dropdown-placement-bottom>.ant-dropdown-arrow,:where(.css-18nm6z4).ant-dropdown-placement-bottomLeft>.ant-dropdown-arrow,:where(.css-18nm6z4).ant-dropdown-placement-bottomRight>.ant-dropdown-arrow{top:0;transform:translateY(-100%);}:where(.css-18nm6z4).ant-dropdown-placement-bottom>.ant-dropdown-arrow{left:50%;transform:translateX(-50%) translateY(-100%);}:where(.css-18nm6z4).ant-dropdown-placement-bottomLeft{--arrow-offset-horizontal:12px;}:where(.css-18nm6z4).ant-dropdown-placement-bottomLeft >.ant-dropdown-arrow{left:12px;}:where(.css-18nm6z4).ant-dropdown-placement-bottomRight{--arrow-offset-horizontal:calc(100% - 12px);}:where(.css-18nm6z4).ant-dropdown-placement-bottomRight >.ant-dropdown-arrow{right:12px;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu{position:relative;margin:0;}:where(.css-18nm6z4).ant-dropdown-menu-submenu-popup{position:absolute;z-index:1050;background:transparent;box-shadow:none;transform-origin:0 0;}:where(.css-18nm6z4).ant-dropdown-menu-submenu-popup ul,:where(.css-18nm6z4).ant-dropdown-menu-submenu-popup li{list-style:none;margin:0;}:where(.css-18nm6z4).ant-dropdown,:where(.css-18nm6z4).ant-dropdown-menu-submenu{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,0.88);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu{padding:4px;list-style-type:none;background-color:#ffffff;background-clip:padding-box;border-radius:8px;outline:none;box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu:focus-visible,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu:focus-visible{outline:3px solid #0049DF;outline-offset:1px;transition:outline-offset 0s,outline 0s;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu:empty,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu:empty{padding:0;box-shadow:none;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-group-title,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-group-title{padding:5px 12px;color:rgba(0,0,0,0.45);transition:all 0.2s;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item{position:relative;display:flex;align-items:center;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-icon,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-icon{min-width:14px;margin-inline-end:8px;font-size:12px;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-title-content,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-title-content{flex:auto;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-title-content-with-extra,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-title-content-with-extra{display:inline-flex;align-items:center;width:100%;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-title-content >a,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-title-content >a{color:inherit;transition:all 0.2s;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-title-content >a:hover,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-title-content >a:hover{color:inherit;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-title-content >a::after,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-title-content >a::after{position:absolute;inset:0;content:"";}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-title-content .ant-dropdown-menu-item-extra,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-title-content .ant-dropdown-menu-item-extra{padding-inline-start:16px;margin-inline-start:auto;font-size:12px;color:rgba(0,0,0,0.45);}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item,:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title{display:flex;margin:0;padding:5px 12px;color:rgba(0,0,0,0.88);font-weight:normal;font-size:14px;line-height:1.5714285714285714;cursor:pointer;transition:all 0.2s;border-radius:4px;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item:hover,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item:hover,:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title:hover,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title:hover,:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-active,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-active,:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title-active,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title-active{background-color:rgba(0,0,0,0.04);}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item:focus-visible,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item:focus-visible,:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title:focus-visible,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title:focus-visible{outline:3px solid #0049DF;outline-offset:1px;transition:outline-offset 0s,outline 0s;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-selected,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-selected,:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title-selected,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title-selected{color:#2563eb;background-color:#f0f7ff;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-selected:hover,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-selected:hover,:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title-selected:hover,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title-selected:hover,:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-selected-active,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-selected-active,:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title-selected-active,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title-selected-active{background-color:#cce3ff;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-disabled,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-disabled,:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title-disabled,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title-disabled{color:rgba(0,0,0,0.25);cursor:not-allowed;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-disabled:hover,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-disabled:hover,:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title-disabled:hover,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title-disabled:hover{color:rgba(0,0,0,0.25);background-color:#ffffff;cursor:not-allowed;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-disabled a,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-disabled a,:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title-disabled a,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title-disabled a{pointer-events:none;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-divider,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-divider,:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title-divider,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title-divider{height:1px;margin:4px 0;overflow:hidden;line-height:0;background-color:rgba(5,5,5,0.06);}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon,:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon{position:absolute;inset-inline-end:8px;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon,:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon{margin-inline-end:0!important;color:rgba(0,0,0,0.45);font-size:12px;font-style:normal;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-group-list,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-group-list{margin:0 8px;padding:0;list-style:none;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title{padding-inline-end:24px;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-vertical,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-vertical{position:relative;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title,:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon{color:rgba(0,0,0,0.25);background-color:#ffffff;cursor:not-allowed;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-selected .ant-dropdown-menu-submenu-title,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-selected .ant-dropdown-menu-submenu-title{color:#2563eb;}:where(.css-18nm6z4).ant-slide-up-enter,:where(.css-18nm6z4).ant-slide-up-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-18nm6z4).ant-slide-up-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-18nm6z4).ant-slide-up-enter.ant-slide-up-enter-active,:where(.css-18nm6z4).ant-slide-up-appear.ant-slide-up-appear-active{animation-name:css-18nm6z4-antSlideUpIn;animation-play-state:running;}:where(.css-18nm6z4).ant-slide-up-leave.ant-slide-up-leave-active{animation-name:css-18nm6z4-antSlideUpOut;animation-play-state:running;pointer-events:none;}:where(.css-18nm6z4).ant-slide-up-enter,:where(.css-18nm6z4).ant-slide-up-appear{transform:scale(0);transform-origin:0% 0%;opacity:0;animation-timing-function:cubic-bezier(0.23, 1, 0.32, 1);}:where(.css-18nm6z4).ant-slide-up-enter-prepare,:where(.css-18nm6z4).ant-slide-up-appear-prepare{transform:scale(1);}:where(.css-18nm6z4).ant-slide-up-leave{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);}:where(.css-18nm6z4).ant-slide-down-enter,:where(.css-18nm6z4).ant-slide-down-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-18nm6z4).ant-slide-down-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-18nm6z4).ant-slide-down-enter.ant-slide-down-enter-active,:where(.css-18nm6z4).ant-slide-down-appear.ant-slide-down-appear-active{animation-name:css-18nm6z4-antSlideDownIn;animation-play-state:running;}:where(.css-18nm6z4).ant-slide-down-leave.ant-slide-down-leave-active{animation-name:css-18nm6z4-antSlideDownOut;animation-play-state:running;pointer-events:none;}:where(.css-18nm6z4).ant-slide-down-enter,:where(.css-18nm6z4).ant-slide-down-appear{transform:scale(0);transform-origin:0% 0%;opacity:0;animation-timing-function:cubic-bezier(0.23, 1, 0.32, 1);}:where(.css-18nm6z4).ant-slide-down-enter-prepare,:where(.css-18nm6z4).ant-slide-down-appear-prepare{transform:scale(1);}:where(.css-18nm6z4).ant-slide-down-leave{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);}:where(.css-18nm6z4).ant-move-up-enter,:where(.css-18nm6z4).ant-move-up-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-18nm6z4).ant-move-up-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-18nm6z4).ant-move-up-enter.ant-move-up-enter-active,:where(.css-18nm6z4).ant-move-up-appear.ant-move-up-appear-active{animation-name:css-18nm6z4-antMoveUpIn;animation-play-state:running;}:where(.css-18nm6z4).ant-move-up-leave.ant-move-up-leave-active{animation-name:css-18nm6z4-antMoveUpOut;animation-play-state:running;pointer-events:none;}:where(.css-18nm6z4).ant-move-up-enter,:where(.css-18nm6z4).ant-move-up-appear{opacity:0;animation-timing-function:cubic-bezier(0.08, 0.82, 0.17, 1);}:where(.css-18nm6z4).ant-move-up-leave{animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}:where(.css-18nm6z4).ant-move-down-enter,:where(.css-18nm6z4).ant-move-down-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-18nm6z4).ant-move-down-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-18nm6z4).ant-move-down-enter.ant-move-down-enter-active,:where(.css-18nm6z4).ant-move-down-appear.ant-move-down-appear-active{animation-name:css-18nm6z4-antMoveDownIn;animation-play-state:running;}:where(.css-18nm6z4).ant-move-down-leave.ant-move-down-leave-active{animation-name:css-18nm6z4-antMoveDownOut;animation-play-state:running;pointer-events:none;}:where(.css-18nm6z4).ant-move-down-enter,:where(.css-18nm6z4).ant-move-down-appear{opacity:0;animation-timing-function:cubic-bezier(0.08, 0.82, 0.17, 1);}:where(.css-18nm6z4).ant-move-down-leave{animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}:where(.css-18nm6z4).ant-zoom-big-enter,:where(.css-18nm6z4).ant-zoom-big-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-18nm6z4).ant-zoom-big-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-18nm6z4).ant-zoom-big-enter.ant-zoom-big-enter-active,:where(.css-18nm6z4).ant-zoom-big-appear.ant-zoom-big-appear-active{animation-name:css-18nm6z4-antZoomBigIn;animation-play-state:running;}:where(.css-18nm6z4).ant-zoom-big-leave.ant-zoom-big-leave-active{animation-name:css-18nm6z4-antZoomBigOut;animation-play-state:running;pointer-events:none;}:where(.css-18nm6z4).ant-zoom-big-enter,:where(.css-18nm6z4).ant-zoom-big-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(0.08, 0.82, 0.17, 1);}:where(.css-18nm6z4).ant-zoom-big-enter-prepare,:where(.css-18nm6z4).ant-zoom-big-appear-prepare{transform:none;}:where(.css-18nm6z4).ant-zoom-big-leave{animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item.ant-dropdown-menu-item-danger:not(.ant-dropdown-menu-item-disabled),:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item.ant-dropdown-menu-item-danger:not(.ant-dropdown-menu-item-disabled){color:#ff4d4f;}:where(.css-18nm6z4).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item.ant-dropdown-menu-item-danger:not(.ant-dropdown-menu-item-disabled):hover,:where(.css-18nm6z4).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item.ant-dropdown-menu-item-danger:not(.ant-dropdown-menu-item-disabled):hover{color:#fff;background-color:#ff4d4f;}@keyframes css-18nm6z4-antSlideUpIn{0%{transform:scaleY(0.8);transform-origin:0% 0%;opacity:0;}100%{transform:scaleY(1);transform-origin:0% 0%;opacity:1;}}@keyframes css-18nm6z4-antSlideDownIn{0%{transform:scaleY(0.8);transform-origin:100% 100%;opacity:0;}100%{transform:scaleY(1);transform-origin:100% 100%;opacity:1;}}@keyframes css-18nm6z4-antSlideUpOut{0%{transform:scaleY(1);transform-origin:0% 0%;opacity:1;}100%{transform:scaleY(0.8);transform-origin:0% 0%;opacity:0;}}@keyframes css-18nm6z4-antSlideDownOut{0%{transform:scaleY(1);transform-origin:100% 100%;opacity:1;}100%{transform:scaleY(0.8);transform-origin:100% 100%;opacity:0;}}@keyframes css-18nm6z4-antMoveUpIn{0%{transform:translate3d(0, -100%, 0);transform-origin:0 0;opacity:0;}100%{transform:translate3d(0, 0, 0);transform-origin:0 0;opacity:1;}}@keyframes css-18nm6z4-antMoveUpOut{0%{transform:translate3d(0, 0, 0);transform-origin:0 0;opacity:1;}100%{transform:translate3d(0, -100%, 0);transform-origin:0 0;opacity:0;}}@keyframes css-18nm6z4-antMoveDownIn{0%{transform:translate3d(0, 100%, 0);transform-origin:0 0;opacity:0;}100%{transform:translate3d(0, 0, 0);transform-origin:0 0;opacity:1;}}@keyframes css-18nm6z4-antMoveDownOut{0%{transform:translate3d(0, 0, 0);transform-origin:0 0;opacity:1;}100%{transform:translate3d(0, 100%, 0);transform-origin:0 0;opacity:0;}}@keyframes css-18nm6z4-antZoomBigIn{0%{transform:scale(0.8);opacity:0;}100%{transform:scale(1);opacity:1;}}@keyframes css-18nm6z4-antZoomBigOut{0%{transform:scale(1);}100%{transform:scale(0.8);opacity:0;}}:where(.css-18nm6z4).ant-tooltip{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,0.88);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;position:absolute;z-index:1070;display:block;width:max-content;max-width:250px;visibility:visible;--valid-offset-x:var(--arrow-offset-horizontal, var(--arrow-x));transform-origin:var(--valid-offset-x, 50%) var(--arrow-y, 50%);--antd-arrow-background-color:rgba(0,0,0,0.85);}:where(.css-18nm6z4).ant-tooltip-hidden{display:none;}:where(.css-18nm6z4).ant-tooltip .ant-tooltip-inner{min-width:28px;min-height:32px;padding:6px 8px;color:var(--ant-tooltip-color, #fff);text-align:start;text-decoration:none;word-wrap:break-word;background-color:rgba(0,0,0,0.85);border-radius:6px;box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);box-sizing:border-box;}:where(.css-18nm6z4).ant-tooltip-placement-topLeft,:where(.css-18nm6z4).ant-tooltip-placement-topRight,:where(.css-18nm6z4).ant-tooltip-placement-bottomLeft,:where(.css-18nm6z4).ant-tooltip-placement-bottomRight{min-width:34px;}:where(.css-18nm6z4).ant-tooltip-placement-left .ant-tooltip-inner,:where(.css-18nm6z4).ant-tooltip-placement-leftTop .ant-tooltip-inner,:where(.css-18nm6z4).ant-tooltip-placement-leftBottom .ant-tooltip-inner,:where(.css-18nm6z4).ant-tooltip-placement-right .ant-tooltip-inner,:where(.css-18nm6z4).ant-tooltip-placement-rightTop .ant-tooltip-inner,:where(.css-18nm6z4).ant-tooltip-placement-rightBottom .ant-tooltip-inner{border-radius:6px;}:where(.css-18nm6z4).ant-tooltip .ant-tooltip-content{position:relative;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-blue .ant-tooltip-inner{background-color:#1677ff;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-blue .ant-tooltip-arrow{--antd-arrow-background-color:#1677ff;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-purple .ant-tooltip-inner{background-color:#722ed1;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-purple .ant-tooltip-arrow{--antd-arrow-background-color:#722ed1;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-cyan .ant-tooltip-inner{background-color:#13c2c2;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-cyan .ant-tooltip-arrow{--antd-arrow-background-color:#13c2c2;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-green .ant-tooltip-inner{background-color:#52c41a;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-green .ant-tooltip-arrow{--antd-arrow-background-color:#52c41a;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-magenta .ant-tooltip-inner{background-color:#eb2f96;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-magenta .ant-tooltip-arrow{--antd-arrow-background-color:#eb2f96;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-pink .ant-tooltip-inner{background-color:#eb2f96;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-pink .ant-tooltip-arrow{--antd-arrow-background-color:#eb2f96;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-red .ant-tooltip-inner{background-color:#f5222d;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-red .ant-tooltip-arrow{--antd-arrow-background-color:#f5222d;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-orange .ant-tooltip-inner{background-color:#fa8c16;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-orange .ant-tooltip-arrow{--antd-arrow-background-color:#fa8c16;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-yellow .ant-tooltip-inner{background-color:#fadb14;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-yellow .ant-tooltip-arrow{--antd-arrow-background-color:#fadb14;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-volcano .ant-tooltip-inner{background-color:#fa541c;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-volcano .ant-tooltip-arrow{--antd-arrow-background-color:#fa541c;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-geekblue .ant-tooltip-inner{background-color:#2f54eb;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-geekblue .ant-tooltip-arrow{--antd-arrow-background-color:#2f54eb;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-lime .ant-tooltip-inner{background-color:#a0d911;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-lime .ant-tooltip-arrow{--antd-arrow-background-color:#a0d911;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-gold .ant-tooltip-inner{background-color:#faad14;}:where(.css-18nm6z4).ant-tooltip.ant-tooltip-gold .ant-tooltip-arrow{--antd-arrow-background-color:#faad14;}:where(.css-18nm6z4).ant-tooltip-rtl{direction:rtl;}:where(.css-18nm6z4).ant-tooltip .ant-tooltip-arrow{position:absolute;z-index:1;display:block;pointer-events:none;width:16px;height:16px;overflow:hidden;}:where(.css-18nm6z4).ant-tooltip .ant-tooltip-arrow::before{position:absolute;bottom:0;inset-inline-start:0;width:16px;height:8px;background:var(--antd-arrow-background-color);clip-path:polygon(1.6568542494923806px 100%, 50% 1.6568542494923806px, 14.34314575050762px 100%, 1.6568542494923806px 100%);clip-path:path('M 0 8 A 4 4 0 0 0 2.82842712474619 6.82842712474619 L 6.585786437626905 3.0710678118654755 A 2 2 0 0 1 9.414213562373096 3.0710678118654755 L 13.17157287525381 6.82842712474619 A 4 4 0 0 0 16 8 Z');content:"";}:where(.css-18nm6z4).ant-tooltip .ant-tooltip-arrow::after{content:"";position:absolute;width:8.970562748477143px;height:8.970562748477143px;bottom:0;inset-inline:0;margin:auto;border-radius:0 0 2px 0;transform:translateY(50%) rotate(-135deg);box-shadow:2px 2px 5px rgba(0, 0, 0, 0.05);z-index:0;background:transparent;}:where(.css-18nm6z4).ant-tooltip .ant-tooltip-arrow:before{background:var(--antd-arrow-background-color);}:where(.css-18nm6z4).ant-tooltip-placement-top>.ant-tooltip-arrow,:where(.css-18nm6z4).ant-tooltip-placement-topLeft>.ant-tooltip-arrow,:where(.css-18nm6z4).ant-tooltip-placement-topRight>.ant-tooltip-arrow{bottom:0;transform:translateY(100%) rotate(180deg);}:where(.css-18nm6z4).ant-tooltip-placement-top>.ant-tooltip-arrow{left:50%;transform:translateX(-50%) translateY(100%) rotate(180deg);}:where(.css-18nm6z4).ant-tooltip-placement-topLeft{--arrow-offset-horizontal:12px;}:where(.css-18nm6z4).ant-tooltip-placement-topLeft >.ant-tooltip-arrow{left:12px;}:where(.css-18nm6z4).ant-tooltip-placement-topRight{--arrow-offset-horizontal:calc(100% - 12px);}:where(.css-18nm6z4).ant-tooltip-placement-topRight >.ant-tooltip-arrow{right:12px;}:where(.css-18nm6z4).ant-tooltip-placement-bottom>.ant-tooltip-arrow,:where(.css-18nm6z4).ant-tooltip-placement-bottomLeft>.ant-tooltip-arrow,:where(.css-18nm6z4).ant-tooltip-placement-bottomRight>.ant-tooltip-arrow{top:0;transform:translateY(-100%);}:where(.css-18nm6z4).ant-tooltip-placement-bottom>.ant-tooltip-arrow{left:50%;transform:translateX(-50%) translateY(-100%);}:where(.css-18nm6z4).ant-tooltip-placement-bottomLeft{--arrow-offset-horizontal:12px;}:where(.css-18nm6z4).ant-tooltip-placement-bottomLeft >.ant-tooltip-arrow{left:12px;}:where(.css-18nm6z4).ant-tooltip-placement-bottomRight{--arrow-offset-horizontal:calc(100% - 12px);}:where(.css-18nm6z4).ant-tooltip-placement-bottomRight >.ant-tooltip-arrow{right:12px;}:where(.css-18nm6z4).ant-tooltip-placement-left>.ant-tooltip-arrow,:where(.css-18nm6z4).ant-tooltip-placement-leftTop>.ant-tooltip-arrow,:where(.css-18nm6z4).ant-tooltip-placement-leftBottom>.ant-tooltip-arrow{right:0;transform:translateX(100%) rotate(90deg);}:where(.css-18nm6z4).ant-tooltip-placement-left>.ant-tooltip-arrow{top:50%;transform:translateY(-50%) translateX(100%) rotate(90deg);}:where(.css-18nm6z4).ant-tooltip-placement-leftTop>.ant-tooltip-arrow{top:8px;}:where(.css-18nm6z4).ant-tooltip-placement-leftBottom>.ant-tooltip-arrow{bottom:8px;}:where(.css-18nm6z4).ant-tooltip-placement-right>.ant-tooltip-arrow,:where(.css-18nm6z4).ant-tooltip-placement-rightTop>.ant-tooltip-arrow,:where(.css-18nm6z4).ant-tooltip-placement-rightBottom>.ant-tooltip-arrow{left:0;transform:translateX(-100%) rotate(-90deg);}:where(.css-18nm6z4).ant-tooltip-placement-right>.ant-tooltip-arrow{top:50%;transform:translateY(-50%) translateX(-100%) rotate(-90deg);}:where(.css-18nm6z4).ant-tooltip-placement-rightTop>.ant-tooltip-arrow{top:8px;}:where(.css-18nm6z4).ant-tooltip-placement-rightBottom>.ant-tooltip-arrow{bottom:8px;}:where(.css-18nm6z4).ant-tooltip-pure{position:relative;max-width:none;margin:16px;}:where(.css-18nm6z4).ant-zoom-big-fast-enter,:where(.css-18nm6z4).ant-zoom-big-fast-appear{animation-duration:0.1s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-18nm6z4).ant-zoom-big-fast-leave{animation-duration:0.1s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-18nm6z4).ant-zoom-big-fast-enter.ant-zoom-big-fast-enter-active,:where(.css-18nm6z4).ant-zoom-big-fast-appear.ant-zoom-big-fast-appear-active{animation-name:css-18nm6z4-antZoomBigIn;animation-play-state:running;}:where(.css-18nm6z4).ant-zoom-big-fast-leave.ant-zoom-big-fast-leave-active{animation-name:css-18nm6z4-antZoomBigOut;animation-play-state:running;pointer-events:none;}:where(.css-18nm6z4).ant-zoom-big-fast-enter,:where(.css-18nm6z4).ant-zoom-big-fast-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(0.08, 0.82, 0.17, 1);}:where(.css-18nm6z4).ant-zoom-big-fast-enter-prepare,:where(.css-18nm6z4).ant-zoom-big-fast-appear-prepare{transform:none;}:where(.css-18nm6z4).ant-zoom-big-fast-leave{animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}:where(.css-18nm6z4).ant-drawer{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-size:14px;box-sizing:border-box;}:where(.css-18nm6z4).ant-drawer::before,:where(.css-18nm6z4).ant-drawer::after{box-sizing:border-box;}:where(.css-18nm6z4).ant-drawer [class^="ant-drawer"],:where(.css-18nm6z4).ant-drawer [class*=" ant-drawer"]{box-sizing:border-box;}:where(.css-18nm6z4).ant-drawer [class^="ant-drawer"]::before,:where(.css-18nm6z4).ant-drawer [class*=" ant-drawer"]::before,:where(.css-18nm6z4).ant-drawer [class^="ant-drawer"]::after,:where(.css-18nm6z4).ant-drawer [class*=" ant-drawer"]::after{box-sizing:border-box;}:where(.css-18nm6z4).ant-drawer{position:fixed;inset:0;z-index:1000;pointer-events:none;color:rgba(0,0,0,0.88);}:where(.css-18nm6z4).ant-drawer-pure{position:relative;background:#FCFCFC;display:flex;flex-direction:column;}:where(.css-18nm6z4).ant-drawer-pure.ant-drawer-left{box-shadow:6px 0 16px 0 rgba(0, 0, 0, 0.08),3px 0 6px -4px rgba(0, 0, 0, 0.12),9px 0 28px 8px rgba(0, 0, 0, 0.05);}:where(.css-18nm6z4).ant-drawer-pure.ant-drawer-right{box-shadow:-6px 0 16px 0 rgba(0, 0, 0, 0.08),-3px 0 6px -4px rgba(0, 0, 0, 0.12),-9px 0 28px 8px rgba(0, 0, 0, 0.05);}:where(.css-18nm6z4).ant-drawer-pure.ant-drawer-top{box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);}:where(.css-18nm6z4).ant-drawer-pure.ant-drawer-bottom{box-shadow:0 -6px 16px 0 rgba(0, 0, 0, 0.08),0 -3px 6px -4px rgba(0, 0, 0, 0.12),0 -9px 28px 8px rgba(0, 0, 0, 0.05);}:where(.css-18nm6z4).ant-drawer-inline{position:absolute;}:where(.css-18nm6z4).ant-drawer .ant-drawer-mask{position:absolute;inset:0;z-index:1000;background:rgba(0,0,0,0.45);pointer-events:auto;}:where(.css-18nm6z4).ant-drawer .ant-drawer-content-wrapper{position:absolute;z-index:1000;max-width:100vw;transition:all 0.3s;}:where(.css-18nm6z4).ant-drawer .ant-drawer-content-wrapper-hidden{display:none;}:where(.css-18nm6z4).ant-drawer-left>.ant-drawer-content-wrapper{top:0;bottom:0;left:0;box-shadow:6px 0 16px 0 rgba(0, 0, 0, 0.08),3px 0 6px -4px rgba(0, 0, 0, 0.12),9px 0 28px 8px rgba(0, 0, 0, 0.05);}:where(.css-18nm6z4).ant-drawer-right>.ant-drawer-content-wrapper{top:0;right:0;bottom:0;box-shadow:-6px 0 16px 0 rgba(0, 0, 0, 0.08),-3px 0 6px -4px rgba(0, 0, 0, 0.12),-9px 0 28px 8px rgba(0, 0, 0, 0.05);}:where(.css-18nm6z4).ant-drawer-top>.ant-drawer-content-wrapper{top:0;inset-inline:0;box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);}:where(.css-18nm6z4).ant-drawer-bottom>.ant-drawer-content-wrapper{bottom:0;inset-inline:0;box-shadow:0 -6px 16px 0 rgba(0, 0, 0, 0.08),0 -3px 6px -4px rgba(0, 0, 0, 0.12),0 -9px 28px 8px rgba(0, 0, 0, 0.05);}:where(.css-18nm6z4).ant-drawer .ant-drawer-content{display:flex;flex-direction:column;width:100%;height:100%;overflow:auto;background:#FCFCFC;pointer-events:auto;}:where(.css-18nm6z4).ant-drawer .ant-drawer-header{display:flex;flex:0;align-items:center;padding:16px 24px;font-size:16px;line-height:1.5;border-bottom:1px solid rgba(5,5,5,0.06);}:where(.css-18nm6z4).ant-drawer .ant-drawer-header-title{display:flex;flex:1;align-items:center;min-width:0;min-height:0;}:where(.css-18nm6z4).ant-drawer .ant-drawer-extra{flex:none;}:where(.css-18nm6z4).ant-drawer .ant-drawer-close{display:inline-flex;width:24px;height:24px;border-radius:4px;justify-content:center;align-items:center;color:rgba(0,0,0,0.45);font-weight:600;font-size:16px;font-style:normal;line-height:1;text-align:center;text-transform:none;text-decoration:none;background:transparent;border:0;cursor:pointer;transition:all 0.2s;text-rendering:auto;}:where(.css-18nm6z4).ant-drawer .ant-drawer-close.ant-drawer-close-end{margin-inline-start:8px;}:where(.css-18nm6z4).ant-drawer .ant-drawer-close:not(.ant-drawer-close-end){margin-inline-end:8px;}:where(.css-18nm6z4).ant-drawer .ant-drawer-close:hover{color:rgba(0,0,0,0.88);background-color:rgba(0,0,0,0.06);text-decoration:none;}:where(.css-18nm6z4).ant-drawer .ant-drawer-close:active{background-color:rgba(0,0,0,0.15);}:where(.css-18nm6z4).ant-drawer .ant-drawer-close:focus-visible{outline:3px solid #0049DF;outline-offset:1px;transition:outline-offset 0s,outline 0s;}:where(.css-18nm6z4).ant-drawer .ant-drawer-title{flex:1;margin:0;font-weight:600;font-size:16px;line-height:1.5;}:where(.css-18nm6z4).ant-drawer .ant-drawer-body{flex:1;min-width:0;min-height:0;padding:24px;overflow:auto;}:where(.css-18nm6z4).ant-drawer .ant-drawer-body .ant-drawer-body-skeleton{width:100%;height:100%;display:flex;justify-content:center;}:where(.css-18nm6z4).ant-drawer .ant-drawer-footer{flex-shrink:0;padding:8px 16px;border-top:1px solid rgba(5,5,5,0.06);}:where(.css-18nm6z4).ant-drawer-rtl{direction:rtl;}:where(.css-18nm6z4).ant-drawer .ant-drawer-mask-motion-enter-start,:where(.css-18nm6z4).ant-drawer .ant-drawer-mask-motion-appear-start,:where(.css-18nm6z4).ant-drawer .ant-drawer-mask-motion-leave-start{transition:none;}:where(.css-18nm6z4).ant-drawer .ant-drawer-mask-motion-enter-active,:where(.css-18nm6z4).ant-drawer .ant-drawer-mask-motion-appear-active,:where(.css-18nm6z4).ant-drawer .ant-drawer-mask-motion-leave-active{transition:all 0.3s;}:where(.css-18nm6z4).ant-drawer .ant-drawer-mask-motion-enter,:where(.css-18nm6z4).ant-drawer .ant-drawer-mask-motion-appear{opacity:0;}:where(.css-18nm6z4).ant-drawer .ant-drawer-mask-motion-enter-active,:where(.css-18nm6z4).ant-drawer .ant-drawer-mask-motion-appear-active{opacity:1;}:where(.css-18nm6z4).ant-drawer .ant-drawer-mask-motion-leave{opacity:1;}:where(.css-18nm6z4).ant-drawer .ant-drawer-mask-motion-leave-active{opacity:0;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-left-enter-start,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-left-appear-start,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-left-leave-start{transition:none;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-left-enter-active,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-left-appear-active,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-left-leave-active{transition:all 0.3s;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-left-enter,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-left-appear{opacity:0.7;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-left-enter-active,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-left-appear-active{opacity:1;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-left-leave{opacity:1;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-left-leave-active{opacity:0.7;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-left-enter,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-left-appear{transform:translateX(-100%);}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-left-enter-active,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-left-appear-active{transform:none;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-left-leave{transform:none;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-left-leave-active{transform:translateX(-100%);}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-right-enter-start,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-right-appear-start,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-right-leave-start{transition:none;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-right-enter-active,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-right-appear-active,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-right-leave-active{transition:all 0.3s;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-right-enter,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-right-appear{opacity:0.7;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-right-enter-active,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-right-appear-active{opacity:1;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-right-leave{opacity:1;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-right-leave-active{opacity:0.7;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-right-enter,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-right-appear{transform:translateX(100%);}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-right-enter-active,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-right-appear-active{transform:none;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-right-leave{transform:none;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-right-leave-active{transform:translateX(100%);}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-top-enter-start,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-top-appear-start,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-top-leave-start{transition:none;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-top-enter-active,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-top-appear-active,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-top-leave-active{transition:all 0.3s;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-top-enter,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-top-appear{opacity:0.7;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-top-enter-active,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-top-appear-active{opacity:1;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-top-leave{opacity:1;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-top-leave-active{opacity:0.7;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-top-enter,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-top-appear{transform:translateY(-100%);}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-top-enter-active,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-top-appear-active{transform:none;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-top-leave{transform:none;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-top-leave-active{transform:translateY(-100%);}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-bottom-enter-start,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-bottom-appear-start,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-bottom-leave-start{transition:none;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-bottom-enter-active,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-bottom-appear-active,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-bottom-leave-active{transition:all 0.3s;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-bottom-enter,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-bottom-appear{opacity:0.7;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-bottom-enter-active,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-bottom-appear-active{opacity:1;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-bottom-leave{opacity:1;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-bottom-leave-active{opacity:0.7;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-bottom-enter,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-bottom-appear{transform:translateY(100%);}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-bottom-enter-active,:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-bottom-appear-active{transform:none;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-bottom-leave{transform:none;}:where(.css-18nm6z4).ant-drawer .ant-drawer-panel-motion-bottom-leave-active{transform:translateY(100%);}:where(.css-18nm6z4).ant-btn{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-size:14px;box-sizing:border-box;}:where(.css-18nm6z4).ant-btn::before,:where(.css-18nm6z4).ant-btn::after{box-sizing:border-box;}:where(.css-18nm6z4).ant-btn [class^="ant-btn"],:where(.css-18nm6z4).ant-btn [class*=" ant-btn"]{box-sizing:border-box;}:where(.css-18nm6z4).ant-btn [class^="ant-btn"]::before,:where(.css-18nm6z4).ant-btn [class*=" ant-btn"]::before,:where(.css-18nm6z4).ant-btn [class^="ant-btn"]::after,:where(.css-18nm6z4).ant-btn [class*=" ant-btn"]::after{box-sizing:border-box;}:where(.css-18nm6z4).ant-btn{outline:none;position:relative;display:inline-flex;gap:8px;align-items:center;justify-content:center;font-weight:400;white-space:nowrap;text-align:center;background-image:none;background:transparent;border:1px solid transparent;cursor:pointer;transition:all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);user-select:none;touch-action:manipulation;color:rgba(0,0,0,0.88);}:where(.css-18nm6z4).ant-btn:disabled>*{pointer-events:none;}:where(.css-18nm6z4).ant-btn .ant-btn-icon>svg{display:inline-flex;align-items:center;color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}:where(.css-18nm6z4).ant-btn .ant-btn-icon>svg >*{line-height:1;}:where(.css-18nm6z4).ant-btn .ant-btn-icon>svg svg{display:inline-block;}:where(.css-18nm6z4).ant-btn >a{color:currentColor;}:where(.css-18nm6z4).ant-btn:not(:disabled):focus-visible{outline:3px solid #0049DF;outline-offset:1px;transition:outline-offset 0s,outline 0s;}:where(.css-18nm6z4).ant-btn.ant-btn-two-chinese-chars::first-letter{letter-spacing:0.34em;}:where(.css-18nm6z4).ant-btn.ant-btn-two-chinese-chars>*:not(.anticon){margin-inline-end:-0.34em;letter-spacing:0.34em;}:where(.css-18nm6z4).ant-btn.ant-btn-icon-only{padding-inline:0;}:where(.css-18nm6z4).ant-btn.ant-btn-icon-only.ant-btn-compact-item{flex:none;}:where(.css-18nm6z4).ant-btn.ant-btn-loading{opacity:0.65;cursor:default;}:where(.css-18nm6z4).ant-btn .ant-btn-loading-icon{transition:width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),margin 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);}:where(.css-18nm6z4).ant-btn:not(.ant-btn-icon-end) .ant-btn-loading-icon-motion-appear-start,:where(.css-18nm6z4).ant-btn:not(.ant-btn-icon-end) .ant-btn-loading-icon-motion-enter-start{margin-inline-end:-8px;}:where(.css-18nm6z4).ant-btn:not(.ant-btn-icon-end) .ant-btn-loading-icon-motion-appear-active,:where(.css-18nm6z4).ant-btn:not(.ant-btn-icon-end) .ant-btn-loading-icon-motion-enter-active{margin-inline-end:0;}:where(.css-18nm6z4).ant-btn:not(.ant-btn-icon-end) .ant-btn-loading-icon-motion-leave-start{margin-inline-end:0;}:where(.css-18nm6z4).ant-btn:not(.ant-btn-icon-end) .ant-btn-loading-icon-motion-leave-active{margin-inline-end:-8px;}:where(.css-18nm6z4).ant-btn-icon-end{flex-direction:row-reverse;}:where(.css-18nm6z4).ant-btn-icon-end .ant-btn-loading-icon-motion-appear-start,:where(.css-18nm6z4).ant-btn-icon-end .ant-btn-loading-icon-motion-enter-start{margin-inline-start:-8px;}:where(.css-18nm6z4).ant-btn-icon-end .ant-btn-loading-icon-motion-appear-active,:where(.css-18nm6z4).ant-btn-icon-end .ant-btn-loading-icon-motion-enter-active{margin-inline-start:0;}:where(.css-18nm6z4).ant-btn-icon-end .ant-btn-loading-icon-motion-leave-start{margin-inline-start:0;}:where(.css-18nm6z4).ant-btn-icon-end .ant-btn-loading-icon-motion-leave-active{margin-inline-start:-8px;}:where(.css-18nm6z4).ant-btn{font-size:14px;height:32px;padding:0px 15px;border-radius:16px;}:where(.css-18nm6z4).ant-btn.ant-btn-icon-only{width:32px;}:where(.css-18nm6z4).ant-btn.ant-btn-icon-only .anticon{font-size:inherit;}:where(.css-18nm6z4).ant-btn.ant-btn-circle.ant-btn{min-width:32px;padding-inline:0;border-radius:50%;}:where(.css-18nm6z4).ant-btn.ant-btn-round.ant-btn{border-radius:32px;}:where(.css-18nm6z4).ant-btn.ant-btn-round.ant-btn:not(.ant-btn-icon-only){padding-inline:15px;}:where(.css-18nm6z4).ant-btn-sm{font-size:14px;height:24px;padding:0px 7px;border-radius:4px;}:where(.css-18nm6z4).ant-btn-sm.ant-btn-icon-only{width:24px;}:where(.css-18nm6z4).ant-btn-sm.ant-btn-icon-only .anticon{font-size:inherit;}:where(.css-18nm6z4).ant-btn.ant-btn-circle.ant-btn-sm{min-width:24px;padding-inline:0;border-radius:50%;}:where(.css-18nm6z4).ant-btn.ant-btn-round.ant-btn-sm{border-radius:24px;}:where(.css-18nm6z4).ant-btn.ant-btn-round.ant-btn-sm:not(.ant-btn-icon-only){padding-inline:7px;}:where(.css-18nm6z4).ant-btn-lg{font-size:16px;height:48px;padding:0px 15px;border-radius:24px;}:where(.css-18nm6z4).ant-btn-lg.ant-btn-icon-only{width:48px;}:where(.css-18nm6z4).ant-btn-lg.ant-btn-icon-only .anticon{font-size:inherit;}:where(.css-18nm6z4).ant-btn.ant-btn-circle.ant-btn-lg{min-width:48px;padding-inline:0;border-radius:50%;}:where(.css-18nm6z4).ant-btn.ant-btn-round.ant-btn-lg{border-radius:48px;}:where(.css-18nm6z4).ant-btn.ant-btn-round.ant-btn-lg:not(.ant-btn-icon-only){padding-inline:15px;}:where(.css-18nm6z4).ant-btn.ant-btn-block{width:100%;}:where(.css-18nm6z4).ant-btn-color-default{color:rgba(0,0,0,0.88);box-shadow:0 2px 0 rgba(0,0,0,0.02);}:where(.css-18nm6z4).ant-btn-color-default.ant-btn-variant-solid{color:#fff;background:rgb(0,0,0);}:where(.css-18nm6z4).ant-btn-color-default.ant-btn-variant-solid:disabled,:where(.css-18nm6z4).ant-btn-color-default.ant-btn-variant-solid.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-default.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):hover{color:#fff;background:rgba(0,0,0,0.75);}:where(.css-18nm6z4).ant-btn-color-default.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):active{color:#fff;background:rgba(0,0,0,0.95);}:where(.css-18nm6z4).ant-btn-color-default.ant-btn-variant-dashed{border-style:dashed;}:where(.css-18nm6z4).ant-btn-color-default.ant-btn-variant-filled{box-shadow:none;background:rgba(0,0,0,0.04);}:where(.css-18nm6z4).ant-btn-color-default.ant-btn-variant-filled:disabled,:where(.css-18nm6z4).ant-btn-color-default.ant-btn-variant-filled.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-default.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):hover{color:rgba(0,0,0,0.88);background:rgba(0,0,0,0.06);}:where(.css-18nm6z4).ant-btn-color-default.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):active{color:rgba(0,0,0,0.88);background:rgba(0,0,0,0.15);}:where(.css-18nm6z4).ant-btn-color-default.ant-btn-background-ghost{color:#ffffff;background:transparent;border-color:#ffffff;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-default.ant-btn-background-ghost:not(:disabled):not(.ant-btn-disabled):hover{background:transparent;}:where(.css-18nm6z4).ant-btn-color-default.ant-btn-background-ghost:not(:disabled):not(.ant-btn-disabled):active{background:transparent;}:where(.css-18nm6z4).ant-btn-color-default.ant-btn-background-ghost:disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);border-color:#d9d9d9;}:where(.css-18nm6z4).ant-btn-color-default.ant-btn-variant-link{color:rgba(0,0,0,0.88);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-default.ant-btn-variant-link:disabled,:where(.css-18nm6z4).ant-btn-color-default.ant-btn-variant-link.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-default.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):hover{color:#69b1ff;background:transparent;}:where(.css-18nm6z4).ant-btn-color-default.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):active{color:#0958d9;}:where(.css-18nm6z4).ant-btn-color-primary{color:#2563eb;box-shadow:0 2px 0 rgba(5,122,255,0.06);}:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-outlined,:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-dashed{border-color:#2563eb;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-outlined:disabled,:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-dashed:disabled,:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-outlined.ant-btn-disabled,:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-dashed.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):hover,:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):hover{color:#4f8af7;border-color:#6180F9;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):active,:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):active{color:#1647c4;border-color:#0049DF;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-dashed{border-style:dashed;}:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-filled{box-shadow:none;background:#f0f7ff;}:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-filled:disabled,:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-filled.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):hover{color:#2563eb;background:#cce3ff;}:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):active{color:#2563eb;background:#0049DF;}:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-text{color:#2563eb;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-text:disabled,:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-text.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):hover{color:#4f8af7;background:#f0f7ff;}:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):active{color:#1647c4;background:#0049DF;}:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-link{color:#2563eb;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-link:disabled,:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-link.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):hover{color:#4f8af7;background:transparent;}:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):active{color:#1647c4;}:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-background-ghost{color:#2563eb;background:transparent;border-color:#2563eb;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-background-ghost:not(:disabled):not(.ant-btn-disabled):hover{background:transparent;color:#6180F9;border-color:#6180F9;}:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-background-ghost:not(:disabled):not(.ant-btn-disabled):active{background:transparent;color:#0049DF;border-color:#0049DF;}:where(.css-18nm6z4).ant-btn-color-primary.ant-btn-background-ghost:disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);border-color:#d9d9d9;}:where(.css-18nm6z4).ant-btn-color-dangerous{color:#ff4d4f;box-shadow:0 2px 0 rgba(255,38,5,0.06);}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-solid{color:#fff;background:#ff4d4f;}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-solid:disabled,:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-solid.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):hover{background:#ff7875;}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):active{background:#d9363e;}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-outlined,:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-dashed{border-color:#ff4d4f;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-outlined:disabled,:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-dashed:disabled,:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-outlined.ant-btn-disabled,:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-dashed.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):hover,:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):hover{color:#ff7875;border-color:#ffa39e;}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):active,:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):active{color:#d9363e;border-color:#d9363e;}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-dashed{border-style:dashed;}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-filled{box-shadow:none;background:#fff2f0;}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-filled:disabled,:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-filled.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):hover{color:#ff4d4f;background:#ffdfdc;}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):active{color:#ff4d4f;background:#ffccc7;}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-text{color:#ff4d4f;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-text:disabled,:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-text.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):hover{color:#ff7875;background:#fff2f0;}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):active{color:#ff7875;background:#ffccc7;}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-link{color:#ff4d4f;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-link:disabled,:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-link.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):hover{color:#ff7875;}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):active{color:#d9363e;}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-background-ghost{color:#ff4d4f;background:transparent;border-color:#ff4d4f;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-background-ghost:not(:disabled):not(.ant-btn-disabled):hover{background:transparent;color:#ff7875;border-color:#ff7875;}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-background-ghost:not(:disabled):not(.ant-btn-disabled):active{background:transparent;color:#d9363e;border-color:#d9363e;}:where(.css-18nm6z4).ant-btn-color-dangerous.ant-btn-background-ghost:disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);border-color:#d9d9d9;}:where(.css-18nm6z4).ant-btn-color-link.ant-btn-variant-link{color:#1677ff;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-link.ant-btn-variant-link:disabled,:where(.css-18nm6z4).ant-btn-color-link.ant-btn-variant-link.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-link.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):hover{color:#69b1ff;}:where(.css-18nm6z4).ant-btn-color-link.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):active{color:#0958d9;}:where(.css-18nm6z4).ant-btn-color-link.ant-btn-background-ghost{color:#1677ff;background:transparent;border-color:#1677ff;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-link.ant-btn-background-ghost:not(:disabled):not(.ant-btn-disabled):hover{background:transparent;color:#69b1ff;border-color:#69b1ff;}:where(.css-18nm6z4).ant-btn-color-link.ant-btn-background-ghost:not(:disabled):not(.ant-btn-disabled):active{background:transparent;color:#0958d9;border-color:#0958d9;}:where(.css-18nm6z4).ant-btn-color-link.ant-btn-background-ghost:disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);border-color:#d9d9d9;}:where(.css-18nm6z4).ant-btn-color-blue{color:#1677ff;box-shadow:0 2px 0 rgba(5,145,255,0.1);}:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-solid{color:#fff;background:#1677ff;}:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-solid:disabled,:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-solid.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):hover{background:#4096ff;}:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):active{background:#0958d9;}:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-outlined,:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-dashed{border-color:#1677ff;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-outlined:disabled,:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-dashed:disabled,:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-outlined.ant-btn-disabled,:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-dashed.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):hover,:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):hover{color:#4096ff;border-color:#4096ff;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):active,:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):active{color:#0958d9;border-color:#0958d9;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-dashed{border-style:dashed;}:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-filled{box-shadow:none;background:#e6f4ff;}:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-filled:disabled,:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-filled.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):hover{color:#1677ff;background:#bae0ff;}:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):active{color:#1677ff;background:#91caff;}:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-link{color:#1677ff;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-link:disabled,:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-link.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):hover{color:#4096ff;}:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):active{color:#0958d9;}:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-text{color:#1677ff;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-text:disabled,:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-text.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):hover{color:#4096ff;background:#e6f4ff;}:where(.css-18nm6z4).ant-btn-color-blue.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):active{color:#0958d9;background:#91caff;}:where(.css-18nm6z4).ant-btn-color-purple{color:#722ed1;box-shadow:0 2px 0 rgba(155,5,255,0.06);}:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-solid{color:#fff;background:#722ed1;}:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-solid:disabled,:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-solid.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):hover{background:#9254de;}:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):active{background:#531dab;}:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-outlined,:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-dashed{border-color:#722ed1;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-outlined:disabled,:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-dashed:disabled,:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-outlined.ant-btn-disabled,:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-dashed.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):hover,:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):hover{color:#9254de;border-color:#9254de;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):active,:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):active{color:#531dab;border-color:#531dab;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-dashed{border-style:dashed;}:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-filled{box-shadow:none;background:#f9f0ff;}:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-filled:disabled,:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-filled.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):hover{color:#722ed1;background:#efdbff;}:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):active{color:#722ed1;background:#d3adf7;}:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-link{color:#722ed1;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-link:disabled,:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-link.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):hover{color:#9254de;}:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):active{color:#531dab;}:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-text{color:#722ed1;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-text:disabled,:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-text.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):hover{color:#9254de;background:#f9f0ff;}:where(.css-18nm6z4).ant-btn-color-purple.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):active{color:#531dab;background:#d3adf7;}:where(.css-18nm6z4).ant-btn-color-cyan{color:#13c2c2;box-shadow:0 2px 0 rgba(5,255,215,0.1);}:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-solid{color:#fff;background:#13c2c2;}:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-solid:disabled,:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-solid.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):hover{background:#36cfc9;}:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):active{background:#08979c;}:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-outlined,:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-dashed{border-color:#13c2c2;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-outlined:disabled,:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-dashed:disabled,:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-outlined.ant-btn-disabled,:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-dashed.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):hover,:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):hover{color:#36cfc9;border-color:#36cfc9;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):active,:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):active{color:#08979c;border-color:#08979c;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-dashed{border-style:dashed;}:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-filled{box-shadow:none;background:#e6fffb;}:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-filled:disabled,:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-filled.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):hover{color:#13c2c2;background:#b5f5ec;}:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):active{color:#13c2c2;background:#87e8de;}:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-link{color:#13c2c2;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-link:disabled,:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-link.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):hover{color:#36cfc9;}:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):active{color:#08979c;}:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-text{color:#13c2c2;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-text:disabled,:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-text.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):hover{color:#36cfc9;background:#e6fffb;}:where(.css-18nm6z4).ant-btn-color-cyan.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):active{color:#08979c;background:#87e8de;}:where(.css-18nm6z4).ant-btn-color-green{color:#52c41a;box-shadow:0 2px 0 rgba(142,255,30,0.08);}:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-solid{color:#fff;background:#52c41a;}:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-solid:disabled,:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-solid.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):hover{background:#73d13d;}:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):active{background:#389e0d;}:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-outlined,:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-dashed{border-color:#52c41a;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-outlined:disabled,:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-dashed:disabled,:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-outlined.ant-btn-disabled,:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-dashed.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):hover,:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):hover{color:#73d13d;border-color:#73d13d;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):active,:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):active{color:#389e0d;border-color:#389e0d;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-dashed{border-style:dashed;}:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-filled{box-shadow:none;background:#f6ffed;}:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-filled:disabled,:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-filled.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):hover{color:#52c41a;background:#d9f7be;}:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):active{color:#52c41a;background:#b7eb8f;}:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-link{color:#52c41a;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-link:disabled,:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-link.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):hover{color:#73d13d;}:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):active{color:#389e0d;}:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-text{color:#52c41a;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-text:disabled,:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-text.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):hover{color:#73d13d;background:#f6ffed;}:where(.css-18nm6z4).ant-btn-color-green.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):active{color:#389e0d;background:#b7eb8f;}:where(.css-18nm6z4).ant-btn-color-magenta{color:#eb2f96;box-shadow:0 2px 0 rgba(255,5,105,0.06);}:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-solid{color:#fff;background:#eb2f96;}:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-solid:disabled,:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-solid.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):hover{background:#f759ab;}:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):active{background:#c41d7f;}:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-outlined,:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-dashed{border-color:#eb2f96;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-outlined:disabled,:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-dashed:disabled,:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-outlined.ant-btn-disabled,:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-dashed.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):hover,:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):hover{color:#f759ab;border-color:#f759ab;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):active,:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):active{color:#c41d7f;border-color:#c41d7f;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-dashed{border-style:dashed;}:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-filled{box-shadow:none;background:#fff0f6;}:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-filled:disabled,:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-filled.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):hover{color:#eb2f96;background:#ffd6e7;}:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):active{color:#eb2f96;background:#ffadd2;}:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-link{color:#eb2f96;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-link:disabled,:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-link.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):hover{color:#f759ab;}:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):active{color:#c41d7f;}:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-text{color:#eb2f96;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-text:disabled,:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-text.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):hover{color:#f759ab;background:#fff0f6;}:where(.css-18nm6z4).ant-btn-color-magenta.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):active{color:#c41d7f;background:#ffadd2;}:where(.css-18nm6z4).ant-btn-color-pink{color:#eb2f96;box-shadow:0 2px 0 rgba(255,5,105,0.06);}:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-solid{color:#fff;background:#eb2f96;}:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-solid:disabled,:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-solid.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):hover{background:#f759ab;}:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):active{background:#c41d7f;}:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-outlined,:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-dashed{border-color:#eb2f96;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-outlined:disabled,:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-dashed:disabled,:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-outlined.ant-btn-disabled,:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-dashed.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):hover,:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):hover{color:#f759ab;border-color:#f759ab;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):active,:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):active{color:#c41d7f;border-color:#c41d7f;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-dashed{border-style:dashed;}:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-filled{box-shadow:none;background:#fff0f6;}:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-filled:disabled,:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-filled.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):hover{color:#eb2f96;background:#ffd6e7;}:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):active{color:#eb2f96;background:#ffadd2;}:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-link{color:#eb2f96;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-link:disabled,:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-link.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):hover{color:#f759ab;}:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):active{color:#c41d7f;}:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-text{color:#eb2f96;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-text:disabled,:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-text.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):hover{color:#f759ab;background:#fff0f6;}:where(.css-18nm6z4).ant-btn-color-pink.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):active{color:#c41d7f;background:#ffadd2;}:where(.css-18nm6z4).ant-btn-color-red{color:#f5222d;box-shadow:0 2px 0 rgba(255,22,5,0.06);}:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-solid{color:#fff;background:#f5222d;}:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-solid:disabled,:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-solid.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):hover{background:#ff4d4f;}:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):active{background:#cf1322;}:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-outlined,:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-dashed{border-color:#f5222d;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-outlined:disabled,:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-dashed:disabled,:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-outlined.ant-btn-disabled,:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-dashed.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):hover,:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):hover{color:#ff4d4f;border-color:#ff4d4f;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):active,:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):active{color:#cf1322;border-color:#cf1322;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-dashed{border-style:dashed;}:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-filled{box-shadow:none;background:#fff1f0;}:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-filled:disabled,:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-filled.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):hover{color:#f5222d;background:#ffccc7;}:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):active{color:#f5222d;background:#ffa39e;}:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-link{color:#f5222d;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-link:disabled,:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-link.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):hover{color:#ff4d4f;}:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):active{color:#cf1322;}:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-text{color:#f5222d;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-text:disabled,:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-text.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):hover{color:#ff4d4f;background:#fff1f0;}:where(.css-18nm6z4).ant-btn-color-red.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):active{color:#cf1322;background:#ffa39e;}:where(.css-18nm6z4).ant-btn-color-orange{color:#fa8c16;box-shadow:0 2px 0 rgba(255,175,5,0.1);}:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-solid{color:#fff;background:#fa8c16;}:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-solid:disabled,:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-solid.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):hover{background:#ffa940;}:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):active{background:#d46b08;}:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-outlined,:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-dashed{border-color:#fa8c16;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-outlined:disabled,:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-dashed:disabled,:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-outlined.ant-btn-disabled,:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-dashed.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):hover,:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):hover{color:#ffa940;border-color:#ffa940;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):active,:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):active{color:#d46b08;border-color:#d46b08;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-dashed{border-style:dashed;}:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-filled{box-shadow:none;background:#fff7e6;}:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-filled:disabled,:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-filled.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):hover{color:#fa8c16;background:#ffe7ba;}:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):active{color:#fa8c16;background:#ffd591;}:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-link{color:#fa8c16;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-link:disabled,:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-link.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):hover{color:#ffa940;}:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):active{color:#d46b08;}:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-text{color:#fa8c16;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-text:disabled,:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-text.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):hover{color:#ffa940;background:#fff7e6;}:where(.css-18nm6z4).ant-btn-color-orange.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):active{color:#d46b08;background:#ffd591;}:where(.css-18nm6z4).ant-btn-color-yellow{color:#fadb14;box-shadow:0 2px 0 rgba(245,255,5,0.1);}:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-solid{color:#fff;background:#fadb14;}:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-solid:disabled,:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-solid.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):hover{background:#ffec3d;}:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):active{background:#d4b106;}:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-outlined,:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-dashed{border-color:#fadb14;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-outlined:disabled,:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-dashed:disabled,:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-outlined.ant-btn-disabled,:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-dashed.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):hover,:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):hover{color:#ffec3d;border-color:#ffec3d;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):active,:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):active{color:#d4b106;border-color:#d4b106;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-dashed{border-style:dashed;}:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-filled{box-shadow:none;background:#feffe6;}:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-filled:disabled,:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-filled.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):hover{color:#fadb14;background:#ffffb8;}:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):active{color:#fadb14;background:#fffb8f;}:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-link{color:#fadb14;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-link:disabled,:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-link.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):hover{color:#ffec3d;}:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):active{color:#d4b106;}:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-text{color:#fadb14;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-text:disabled,:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-text.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):hover{color:#ffec3d;background:#feffe6;}:where(.css-18nm6z4).ant-btn-color-yellow.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):active{color:#d4b106;background:#fffb8f;}:where(.css-18nm6z4).ant-btn-color-volcano{color:#fa541c;box-shadow:0 2px 0 rgba(255,125,25,0.1);}:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-solid{color:#fff;background:#fa541c;}:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-solid:disabled,:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-solid.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):hover{background:#ff7a45;}:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):active{background:#d4380d;}:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-outlined,:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-dashed{border-color:#fa541c;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-outlined:disabled,:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-dashed:disabled,:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-outlined.ant-btn-disabled,:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-dashed.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):hover,:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):hover{color:#ff7a45;border-color:#ff7a45;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):active,:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):active{color:#d4380d;border-color:#d4380d;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-dashed{border-style:dashed;}:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-filled{box-shadow:none;background:#fff2e8;}:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-filled:disabled,:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-filled.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):hover{color:#fa541c;background:#ffd8bf;}:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):active{color:#fa541c;background:#ffbb96;}:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-link{color:#fa541c;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-link:disabled,:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-link.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):hover{color:#ff7a45;}:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):active{color:#d4380d;}:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-text{color:#fa541c;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-text:disabled,:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-text.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):hover{color:#ff7a45;background:#fff2e8;}:where(.css-18nm6z4).ant-btn-color-volcano.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):active{color:#d4380d;background:#ffbb96;}:where(.css-18nm6z4).ant-btn-color-geekblue{color:#2f54eb;box-shadow:0 2px 0 rgba(5,88,255,0.06);}:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-solid{color:#fff;background:#2f54eb;}:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-solid:disabled,:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-solid.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):hover{background:#597ef7;}:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):active{background:#1d39c4;}:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-outlined,:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-dashed{border-color:#2f54eb;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-outlined:disabled,:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-dashed:disabled,:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-outlined.ant-btn-disabled,:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-dashed.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):hover,:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):hover{color:#597ef7;border-color:#597ef7;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):active,:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):active{color:#1d39c4;border-color:#1d39c4;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-dashed{border-style:dashed;}:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-filled{box-shadow:none;background:#f0f5ff;}:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-filled:disabled,:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-filled.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):hover{color:#2f54eb;background:#d6e4ff;}:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):active{color:#2f54eb;background:#adc6ff;}:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-link{color:#2f54eb;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-link:disabled,:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-link.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):hover{color:#597ef7;}:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):active{color:#1d39c4;}:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-text{color:#2f54eb;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-text:disabled,:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-text.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):hover{color:#597ef7;background:#f0f5ff;}:where(.css-18nm6z4).ant-btn-color-geekblue.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):active{color:#1d39c4;background:#adc6ff;}:where(.css-18nm6z4).ant-btn-color-lime{color:#a0d911;box-shadow:0 2px 0 rgba(225,255,5,0.1);}:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-solid{color:#fff;background:#a0d911;}:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-solid:disabled,:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-solid.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):hover{background:#bae637;}:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):active{background:#7cb305;}:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-outlined,:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-dashed{border-color:#a0d911;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-outlined:disabled,:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-dashed:disabled,:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-outlined.ant-btn-disabled,:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-dashed.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):hover,:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):hover{color:#bae637;border-color:#bae637;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):active,:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):active{color:#7cb305;border-color:#7cb305;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-dashed{border-style:dashed;}:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-filled{box-shadow:none;background:#fcffe6;}:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-filled:disabled,:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-filled.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):hover{color:#a0d911;background:#f4ffb8;}:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):active{color:#a0d911;background:#eaff8f;}:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-link{color:#a0d911;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-link:disabled,:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-link.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):hover{color:#bae637;}:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):active{color:#7cb305;}:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-text{color:#a0d911;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-text:disabled,:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-text.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):hover{color:#bae637;background:#fcffe6;}:where(.css-18nm6z4).ant-btn-color-lime.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):active{color:#7cb305;background:#eaff8f;}:where(.css-18nm6z4).ant-btn-color-gold{color:#faad14;box-shadow:0 2px 0 rgba(255,215,5,0.1);}:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-solid{color:#fff;background:#faad14;}:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-solid:disabled,:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-solid.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):hover{background:#ffc53d;}:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):active{background:#d48806;}:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-outlined,:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-dashed{border-color:#faad14;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-outlined:disabled,:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-dashed:disabled,:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-outlined.ant-btn-disabled,:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-dashed.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):hover,:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):hover{color:#ffc53d;border-color:#ffc53d;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):active,:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):active{color:#d48806;border-color:#d48806;background:#ffffff;}:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-dashed{border-style:dashed;}:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-filled{box-shadow:none;background:#fffbe6;}:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-filled:disabled,:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-filled.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):hover{color:#faad14;background:#fff1b8;}:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-filled:not(:disabled):not(.ant-btn-disabled):active{color:#faad14;background:#ffe58f;}:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-link{color:#faad14;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-link:disabled,:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-link.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):hover{color:#ffc53d;}:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):active{color:#d48806;}:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-text{color:#faad14;box-shadow:none;}:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-text:disabled,:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-text.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):hover{color:#ffc53d;background:#fffbe6;}:where(.css-18nm6z4).ant-btn-color-gold.ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):active{color:#d48806;background:#ffe58f;}:where(.css-18nm6z4).ant-btn-variant-outlined,:where(.css-18nm6z4).ant-btn-variant-dashed{border-color:#d9d9d9;background:#ffffff;}:where(.css-18nm6z4).ant-btn-variant-outlined:disabled,:where(.css-18nm6z4).ant-btn-variant-dashed:disabled,:where(.css-18nm6z4).ant-btn-variant-outlined.ant-btn-disabled,:where(.css-18nm6z4).ant-btn-variant-dashed.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):hover,:where(.css-18nm6z4).ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):hover{color:#6180F9;border-color:#6180F9;background:#ffffff;}:where(.css-18nm6z4).ant-btn-variant-outlined:not(:disabled):not(.ant-btn-disabled):active,:where(.css-18nm6z4).ant-btn-variant-dashed:not(:disabled):not(.ant-btn-disabled):active{color:#0049DF;border-color:#0049DF;background:#ffffff;}:where(.css-18nm6z4).ant-btn-variant-text{color:rgba(0,0,0,0.88);box-shadow:none;}:where(.css-18nm6z4).ant-btn-variant-text:disabled,:where(.css-18nm6z4).ant-btn-variant-text.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):hover{color:rgba(0,0,0,0.88);background:rgba(0,0,0,0.04);}:where(.css-18nm6z4).ant-btn-variant-text:not(:disabled):not(.ant-btn-disabled):active{color:rgba(0,0,0,0.88);background:rgba(0,0,0,0.15);}:where(.css-18nm6z4).ant-btn-variant-solid{color:#fff;background:#2563eb;}:where(.css-18nm6z4).ant-btn-variant-solid:disabled,:where(.css-18nm6z4).ant-btn-variant-solid.ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0,0,0,0.25);background:rgba(0,0,0,0.04);box-shadow:none;}:where(.css-18nm6z4).ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):hover{background:#6180F9;color:#fff;}:where(.css-18nm6z4).ant-btn-variant-solid:not(:disabled):not(.ant-btn-disabled):active{background:#0049DF;color:#fff;}:where(.css-18nm6z4).ant-btn-variant-link{color:#1677ff;box-shadow:none;}:where(.css-18nm6z4).ant-btn-variant-link:disabled,:where(.css-18nm6z4).ant-btn-variant-link.ant-btn-disabled{cursor:not-allowed;color:rgba(0,0,0,0.25);}:where(.css-18nm6z4).ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):hover{color:#69b1ff;background:transparent;}:where(.css-18nm6z4).ant-btn-variant-link:not(:disabled):not(.ant-btn-disabled):active{color:#0958d9;}:where(.css-18nm6z4).ant-btn-group{position:relative;display:inline-flex;}:where(.css-18nm6z4).ant-btn-group >span:not(:last-child),:where(.css-18nm6z4).ant-btn-group >.ant-btn:not(:last-child),:where(.css-18nm6z4).ant-btn-group >span:not(:last-child)>.ant-btn,:where(.css-18nm6z4).ant-btn-group >.ant-btn:not(:last-child)>.ant-btn{border-start-end-radius:0;border-end-end-radius:0;}:where(.css-18nm6z4).ant-btn-group >span:not(:first-child),:where(.css-18nm6z4).ant-btn-group >.ant-btn:not(:first-child){margin-inline-start:-1px;}:where(.css-18nm6z4).ant-btn-group >span:not(:first-child),:where(.css-18nm6z4).ant-btn-group >.ant-btn:not(:first-child),:where(.css-18nm6z4).ant-btn-group >span:not(:first-child)>.ant-btn,:where(.css-18nm6z4).ant-btn-group >.ant-btn:not(:first-child)>.ant-btn{border-start-start-radius:0;border-end-start-radius:0;}:where(.css-18nm6z4).ant-btn-group .ant-btn{position:relative;z-index:1;}:where(.css-18nm6z4).ant-btn-group .ant-btn:hover,:where(.css-18nm6z4).ant-btn-group .ant-btn:focus,:where(.css-18nm6z4).ant-btn-group .ant-btn:active{z-index:2;}:where(.css-18nm6z4).ant-btn-group .ant-btn[disabled]{z-index:0;}:where(.css-18nm6z4).ant-btn-group .ant-btn-icon-only{font-size:14px;}:where(.css-18nm6z4).ant-btn-group >span:not(:last-child):not(:disabled),:where(.css-18nm6z4).ant-btn-group >.ant-btn-primary:not(:last-child):not(:disabled),:where(.css-18nm6z4).ant-btn-group >span:not(:last-child)>.ant-btn-primary:not(:disabled),:where(.css-18nm6z4).ant-btn-group >.ant-btn-primary:not(:last-child)>.ant-btn-primary:not(:disabled){border-inline-end-color:#6180F9;}:where(.css-18nm6z4).ant-btn-group >span:not(:first-child):not(:disabled),:where(.css-18nm6z4).ant-btn-group >.ant-btn-primary:not(:first-child):not(:disabled),:where(.css-18nm6z4).ant-btn-group >span:not(:first-child)>.ant-btn-primary:not(:disabled),:where(.css-18nm6z4).ant-btn-group >.ant-btn-primary:not(:first-child)>.ant-btn-primary:not(:disabled){border-inline-start-color:#6180F9;}:where(.css-18nm6z4).ant-btn-group >span:not(:last-child):not(:disabled),:where(.css-18nm6z4).ant-btn-group >.ant-btn-danger:not(:last-child):not(:disabled),:where(.css-18nm6z4).ant-btn-group >span:not(:last-child)>.ant-btn-danger:not(:disabled),:where(.css-18nm6z4).ant-btn-group >.ant-btn-danger:not(:last-child)>.ant-btn-danger:not(:disabled){border-inline-end-color:#ff7875;}:where(.css-18nm6z4).ant-btn-group >span:not(:first-child):not(:disabled),:where(.css-18nm6z4).ant-btn-group >.ant-btn-danger:not(:first-child):not(:disabled),:where(.css-18nm6z4).ant-btn-group >span:not(:first-child)>.ant-btn-danger:not(:disabled),:where(.css-18nm6z4).ant-btn-group >.ant-btn-danger:not(:first-child)>.ant-btn-danger:not(:disabled){border-inline-start-color:#ff7875;}:where(.css-1xohofr)[class^="ant-anchor"],:where(.css-1xohofr)[class*=" ant-anchor"]{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-size:14px;box-sizing:border-box;}:where(.css-1xohofr)[class^="ant-anchor"]::before,:where(.css-1xohofr)[class*=" ant-anchor"]::before,:where(.css-1xohofr)[class^="ant-anchor"]::after,:where(.css-1xohofr)[class*=" ant-anchor"]::after{box-sizing:border-box;}:where(.css-1xohofr)[class^="ant-anchor"] [class^="ant-anchor"],:where(.css-1xohofr)[class*=" ant-anchor"] [class^="ant-anchor"],:where(.css-1xohofr)[class^="ant-anchor"] [class*=" ant-anchor"],:where(.css-1xohofr)[class*=" ant-anchor"] [class*=" ant-anchor"]{box-sizing:border-box;}:where(.css-1xohofr)[class^="ant-anchor"] [class^="ant-anchor"]::before,:where(.css-1xohofr)[class*=" ant-anchor"] [class^="ant-anchor"]::before,:where(.css-1xohofr)[class^="ant-anchor"] [class*=" ant-anchor"]::before,:where(.css-1xohofr)[class*=" ant-anchor"] [class*=" ant-anchor"]::before,:where(.css-1xohofr)[class^="ant-anchor"] [class^="ant-anchor"]::after,:where(.css-1xohofr)[class*=" ant-anchor"] [class^="ant-anchor"]::after,:where(.css-1xohofr)[class^="ant-anchor"] [class*=" ant-anchor"]::after,:where(.css-1xohofr)[class*=" ant-anchor"] [class*=" ant-anchor"]::after{box-sizing:border-box;}:where(.css-1xohofr).ant-anchor-wrapper{margin-block-start:-4px;padding-block-start:4px;}:where(.css-1xohofr).ant-anchor-wrapper .ant-anchor{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,0.88);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;position:relative;padding-inline-start:2px;}:where(.css-1xohofr).ant-anchor-wrapper .ant-anchor .ant-anchor-link{padding-block:4px;padding-inline:16px 0;}:where(.css-1xohofr).ant-anchor-wrapper .ant-anchor .ant-anchor-link-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;position:relative;display:block;margin-block-end:3px;color:rgba(0,0,0,0.88);transition:all 0.3s;}:where(.css-1xohofr).ant-anchor-wrapper .ant-anchor .ant-anchor-link-title:only-child{margin-block-end:0;}:where(.css-1xohofr).ant-anchor-wrapper .ant-anchor .ant-anchor-link-active>.ant-anchor-link-title{color:#2563eb;}:where(.css-1xohofr).ant-anchor-wrapper .ant-anchor .ant-anchor-link .ant-anchor-link{padding-block:2px;}:where(.css-1xohofr).ant-anchor-wrapper:not(.ant-anchor-wrapper-horizontal) .ant-anchor::before{position:absolute;inset-inline-start:0;top:0;height:100%;border-inline-start:2px solid rgba(5,5,5,0.06);content:" ";}:where(.css-1xohofr).ant-anchor-wrapper:not(.ant-anchor-wrapper-horizontal) .ant-anchor .ant-anchor-ink{position:absolute;inset-inline-start:0;display:none;transform:translateY(-50%);transition:top 0.3s ease-in-out;width:2px;background-color:#2563eb;}:where(.css-1xohofr).ant-anchor-wrapper:not(.ant-anchor-wrapper-horizontal) .ant-anchor .ant-anchor-ink.ant-anchor-ink-visible{display:inline-block;}:where(.css-1xohofr).ant-anchor-wrapper .ant-anchor-fixed .ant-anchor-ink .ant-anchor-ink{display:none;}:where(.css-1xohofr).ant-anchor-wrapper-horizontal{position:relative;}:where(.css-1xohofr).ant-anchor-wrapper-horizontal::before{position:absolute;left:0;right:0;bottom:0;border-bottom:1px solid rgba(5,5,5,0.06);content:" ";}:where(.css-1xohofr).ant-anchor-wrapper-horizontal .ant-anchor{overflow-x:scroll;position:relative;display:flex;scrollbar-width:none;}:where(.css-1xohofr).ant-anchor-wrapper-horizontal .ant-anchor::-webkit-scrollbar{display:none;}:where(.css-1xohofr).ant-anchor-wrapper-horizontal .ant-anchor .ant-anchor-link:first-of-type{padding-inline:0;}:where(.css-1xohofr).ant-anchor-wrapper-horizontal .ant-anchor .ant-anchor-ink{position:absolute;bottom:0;transition:left 0.3s ease-in-out,width 0.3s ease-in-out;height:2px;background-color:#2563eb;}:where(.css-1xohofr)[class^="ant-modal"],:where(.css-1xohofr)[class*=" ant-modal"]{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-size:14px;box-sizing:border-box;}:where(.css-1xohofr)[class^="ant-modal"]::before,:where(.css-1xohofr)[class*=" ant-modal"]::before,:where(.css-1xohofr)[class^="ant-modal"]::after,:where(.css-1xohofr)[class*=" ant-modal"]::after{box-sizing:border-box;}:where(.css-1xohofr)[class^="ant-modal"] [class^="ant-modal"],:where(.css-1xohofr)[class*=" ant-modal"] [class^="ant-modal"],:where(.css-1xohofr)[class^="ant-modal"] [class*=" ant-modal"],:where(.css-1xohofr)[class*=" ant-modal"] [class*=" ant-modal"]{box-sizing:border-box;}:where(.css-1xohofr)[class^="ant-modal"] [class^="ant-modal"]::before,:where(.css-1xohofr)[class*=" ant-modal"] [class^="ant-modal"]::before,:where(.css-1xohofr)[class^="ant-modal"] [class*=" ant-modal"]::before,:where(.css-1xohofr)[class*=" ant-modal"] [class*=" ant-modal"]::before,:where(.css-1xohofr)[class^="ant-modal"] [class^="ant-modal"]::after,:where(.css-1xohofr)[class*=" ant-modal"] [class^="ant-modal"]::after,:where(.css-1xohofr)[class^="ant-modal"] [class*=" ant-modal"]::after,:where(.css-1xohofr)[class*=" ant-modal"] [class*=" ant-modal"]::after{box-sizing:border-box;}:where(.css-1xohofr).ant-modal-root .ant-modal-wrap-rtl{direction:rtl;}:where(.css-1xohofr).ant-modal-root .ant-modal-centered{text-align:center;}:where(.css-1xohofr).ant-modal-root .ant-modal-centered::before{display:inline-block;width:0;height:100%;vertical-align:middle;content:"";}:where(.css-1xohofr).ant-modal-root .ant-modal-centered .ant-modal{top:0;display:inline-block;padding-bottom:0;text-align:start;vertical-align:middle;}@media (max-width: 767px){:where(.css-1xohofr).ant-modal-root .ant-modal{max-width:calc(100vw - 16px);margin:8px auto;}:where(.css-1xohofr).ant-modal-root .ant-modal-centered .ant-modal{flex:1;}}:where(.css-1xohofr).ant-modal{box-sizing:border-box;margin:0 auto;padding:0;color:rgba(0,0,0,0.88);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;pointer-events:none;position:relative;top:100px;width:auto;max-width:calc(100vw - 32px);padding-bottom:24px;}:where(.css-1xohofr).ant-modal .ant-modal-title{margin:0;color:rgba(0,0,0,0.88);font-weight:600;font-size:16px;line-height:1.5;word-wrap:break-word;}:where(.css-1xohofr).ant-modal .ant-modal-content{position:relative;background-color:#ffffff;background-clip:padding-box;border:0;border-radius:8px;box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);pointer-events:auto;padding:20px 24px;}:where(.css-1xohofr).ant-modal .ant-modal-close{position:absolute;top:12px;inset-inline-end:12px;z-index:1010;padding:0;color:rgba(0,0,0,0.45);font-weight:600;line-height:1;text-decoration:none;background:transparent;border-radius:4px;width:32px;height:32px;border:0;outline:0;cursor:pointer;transition:color 0.2s,background-color 0.2s;}:where(.css-1xohofr).ant-modal .ant-modal-close-x{display:flex;font-size:16px;font-style:normal;line-height:32px;justify-content:center;text-transform:none;text-rendering:auto;}:where(.css-1xohofr).ant-modal .ant-modal-close:disabled{pointer-events:none;}:where(.css-1xohofr).ant-modal .ant-modal-close:hover{color:rgba(0,0,0,0.88);background-color:rgba(0,0,0,0.06);text-decoration:none;}:where(.css-1xohofr).ant-modal .ant-modal-close:active{background-color:rgba(0,0,0,0.15);}:where(.css-1xohofr).ant-modal .ant-modal-close:focus-visible{outline:3px solid #0049DF;outline-offset:1px;transition:outline-offset 0s,outline 0s;}:where(.css-1xohofr).ant-modal .ant-modal-header{color:rgba(0,0,0,0.88);background:#ffffff;border-radius:8px 8px 0 0;margin-bottom:8px;padding:0;border-bottom:none;}:where(.css-1xohofr).ant-modal .ant-modal-body{font-size:14px;line-height:1.5714285714285714;word-wrap:break-word;padding:0;}:where(.css-1xohofr).ant-modal .ant-modal-body .ant-modal-body-skeleton{width:100%;height:100%;display:flex;justify-content:center;align-items:center;margin:16px auto;}:where(.css-1xohofr).ant-modal .ant-modal-footer{text-align:end;background:transparent;margin-top:12px;padding:0;border-top:none;border-radius:0;}:where(.css-1xohofr).ant-modal .ant-modal-footer >.ant-btn+.ant-btn{margin-inline-start:8px;}:where(.css-1xohofr).ant-modal .ant-modal-open{overflow:hidden;}:where(.css-1xohofr).ant-modal-pure-panel{top:auto;padding:0;display:flex;flex-direction:column;}:where(.css-1xohofr).ant-modal-pure-panel .ant-modal-content,:where(.css-1xohofr).ant-modal-pure-panel .ant-modal-body,:where(.css-1xohofr).ant-modal-pure-panel .ant-modal-confirm-body-wrapper{display:flex;flex-direction:column;flex:auto;}:where(.css-1xohofr).ant-modal-pure-panel .ant-modal-confirm-body{margin-bottom:auto;}:where(.css-1xohofr).ant-modal-root .ant-modal-wrap-rtl{direction:rtl;}:where(.css-1xohofr).ant-modal-root .ant-modal-wrap-rtl .ant-modal-confirm-body{direction:rtl;}:where(.css-1xohofr).ant-modal-root .ant-modal.ant-zoom-enter,:where(.css-1xohofr).ant-modal-root .ant-modal.ant-zoom-appear{transform:none;opacity:0;animation-duration:0.3s;user-select:none;}:where(.css-1xohofr).ant-modal-root .ant-modal.ant-zoom-leave .ant-modal-content{pointer-events:none;}:where(.css-1xohofr).ant-modal-root .ant-modal-mask{position:fixed;inset:0;z-index:1000;height:100%;background-color:rgba(0,0,0,0.45);pointer-events:none;}:where(.css-1xohofr).ant-modal-root .ant-modal-mask .ant-modal-hidden{display:none;}:where(.css-1xohofr).ant-modal-root .ant-modal-wrap{position:fixed;inset:0;z-index:1000;overflow:auto;outline:0;-webkit-overflow-scrolling:touch;}:where(.css-1xohofr).ant-modal-root .ant-fade-enter,:where(.css-1xohofr).ant-modal-root .ant-fade-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-1xohofr).ant-modal-root .ant-fade-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-1xohofr).ant-modal-root .ant-fade-enter.ant-fade-enter-active,:where(.css-1xohofr).ant-modal-root .ant-fade-appear.ant-fade-appear-active{animation-name:css-1xohofr-antFadeIn;animation-play-state:running;}:where(.css-1xohofr).ant-modal-root .ant-fade-leave.ant-fade-leave-active{animation-name:css-1xohofr-antFadeOut;animation-play-state:running;pointer-events:none;}:where(.css-1xohofr).ant-modal-root .ant-fade-enter,:where(.css-1xohofr).ant-modal-root .ant-fade-appear{opacity:0;animation-timing-function:linear;}:where(.css-1xohofr).ant-modal-root .ant-fade-leave{animation-timing-function:linear;}:where(.css-1xohofr).ant-zoom-enter,:where(.css-1xohofr).ant-zoom-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-1xohofr).ant-zoom-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-1xohofr).ant-zoom-enter.ant-zoom-enter-active,:where(.css-1xohofr).ant-zoom-appear.ant-zoom-appear-active{animation-name:css-1xohofr-antZoomIn;animation-play-state:running;}:where(.css-1xohofr).ant-zoom-leave.ant-zoom-leave-active{animation-name:css-1xohofr-antZoomOut;animation-play-state:running;pointer-events:none;}:where(.css-1xohofr).ant-zoom-enter,:where(.css-1xohofr).ant-zoom-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(0.08, 0.82, 0.17, 1);}:where(.css-1xohofr).ant-zoom-enter-prepare,:where(.css-1xohofr).ant-zoom-appear-prepare{transform:none;}:where(.css-1xohofr).ant-zoom-leave{animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}:where(.css-1xohofr).ant-modal-root .ant-modal{--ant-modal-sm-width:var(--ant-modal-xs-width);--ant-modal-md-width:var(--ant-modal-sm-width);--ant-modal-lg-width:var(--ant-modal-md-width);--ant-modal-xl-width:var(--ant-modal-lg-width);--ant-modal-xxl-width:var(--ant-modal-xl-width);width:var(--ant-modal-xs-width);}@media (min-width: 576px){:where(.css-1xohofr).ant-modal-root .ant-modal{width:var(--ant-modal-sm-width);}}@media (min-width: 768px){:where(.css-1xohofr).ant-modal-root .ant-modal{width:var(--ant-modal-md-width);}}@media (min-width: 992px){:where(.css-1xohofr).ant-modal-root .ant-modal{width:var(--ant-modal-lg-width);}}@media (min-width: 1200px){:where(.css-1xohofr).ant-modal-root .ant-modal{width:var(--ant-modal-xl-width);}}@media (min-width: 1600px){:where(.css-1xohofr).ant-modal-root .ant-modal{width:var(--ant-modal-xxl-width);}}@keyframes css-1xohofr-antFadeIn{0%{opacity:0;}100%{opacity:1;}}@keyframes css-1xohofr-antFadeOut{0%{opacity:1;}100%{opacity:0;}}@keyframes css-1xohofr-antZoomIn{0%{transform:scale(0.2);opacity:0;}100%{transform:scale(1);opacity:1;}}@keyframes css-1xohofr-antZoomOut{0%{transform:scale(1);}100%{transform:scale(0.2);opacity:0;}}.anticon{display:inline-flex;align-items:center;color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}.anticon >*{line-height:1;}.anticon svg{display:inline-block;}.anticon .anticon .anticon-icon{display:block;}.anticon{display:inline-flex;align-items:center;color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}.anticon >*{line-height:1;}.anticon svg{display:inline-block;}.anticon .anticon .anticon-icon{display:block;}.ant-layout{background-color:transparent!important;}.ant-pro-layout .ant-layout{display:flex;background-color:transparent;width:100%;}.ant-pro-layout .ant-pro-layout-content{display:flex;flex-direction:column;width:100%;background-color:transparent;position:relative;padding-block:32px;padding-inline:40px;}.ant-pro-layout .ant-pro-layout-content-has-page-container{padding:0;}.ant-pro-layout .ant-pro-layout-container{width:100%;display:flex;flex-direction:column;min-width:0;min-height:0;background-color:transparent;}.ant-pro-layout .ant-pro-layout-bg-list{pointer-events:none;position:fixed;overflow:hidden;inset-block-start:0;inset-inline-start:0;z-index:0;height:100%;width:100%;background:linear-gradient(#ffffff, #f5f5f5 28%);}.ant-pro-layout .ant-layout-header.ant-pro-layout-header{height:56px;line-height:56px;z-index:19;width:100%;padding-block:0;padding-inline:0;border-block-end:1px solid rgba(5,5,5,0.06);background-color:rgba(255, 255, 255, 0.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background-color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);}.ant-pro-layout .ant-layout-header.ant-pro-layout-header-fixed-header{position:fixed;inset-block-start:0;width:100%;z-index:100;inset-inline-end:0;}.ant-pro-layout .ant-layout-header.ant-pro-layout-header-fixed-header-scroll{background-color:rgba(255, 255, 255, 0.8);}.ant-pro-layout .ant-layout-header.ant-pro-layout-header-header-actions{display:flex;align-items:center;font-size:16;cursor:pointer;}.ant-pro-layout .ant-layout-header.ant-pro-layout-header-header-actions .ant-pro-layout .ant-layout-header.ant-pro-layout-header-header-actions-item{padding-block:0;padding-inline:8px;}.ant-pro-layout .ant-layout-header.ant-pro-layout-header-header-actions .ant-pro-layout .ant-layout-header.ant-pro-layout-header-header-actions-item:hover{color:rgba(0,0,0,0.88);}.ant-pro-layout .ant-layout-header.ant-pro-layout-header-header-realDark{box-shadow:0 2px 8px 0 rgba(0, 0, 0, 65%);}.ant-pro-layout .ant-layout-header.ant-pro-layout-header-header-actions-header-action{transition:width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);}.ant-pro-top-nav-header{position:relative;width:100%;height:100%;background-color:transparent;}.ant-pro-top-nav-header .anticon{color:inherit;}.ant-pro-top-nav-header-main{display:flex;height:100%;padding-inline-start:16px;}.ant-pro-top-nav-header-main-left{display:flex;align-items:center;}.ant-pro-top-nav-header-main-left .ant-pro-layout-apps-icon{margin-inline-end:16px;margin-inline-start:-8px;}.ant-pro-top-nav-header-wide{max-width:1152px;margin:0 auto;}.ant-pro-top-nav-header-logo{position:relative;display:flex;height:100%;align-items:center;overflow:hidden;}.ant-pro-top-nav-header-logo >*:first-child{display:flex;align-items:center;min-height:22px;font-size:22px;}.ant-pro-top-nav-header-logo >*:first-child>img{display:inline-block;height:32px;vertical-align:middle;}.ant-pro-top-nav-header-logo >*:first-child>h1{display:inline-block;margin-block:0;margin-inline:0;line-height:24px;margin-inline-start:6px;font-weight:600;font-size:16px;color:rgba(0,0,0,0.88);vertical-align:top;}.ant-pro-top-nav-header-menu{min-width:0;display:flex;align-items:center;padding-inline:6px;padding-block:6px;line-height:44px;}.ant-pro-global-header-header-actions{display:flex;height:100%;align-items:center;}.ant-pro-global-header-header-actions-item{display:inline-flex;align-items:center;justify-content:center;padding-block:0;padding-inline:2px;color:rgba(0,0,0,0.45);font-size:16px;cursor:pointer;border-radius:6px;}.ant-pro-global-header-header-actions-item >*{padding-inline:6px;padding-block:6px;border-radius:6px;}.ant-pro-global-header-header-actions-item >*:hover{background-color:rgba(0, 0, 0, 0.03);}.ant-pro-global-header-header-actions-avatar{display:inline-flex;align-items:center;justify-content:center;padding-inline-start:16px;padding-inline-end:16px;cursor:pointer;color:rgba(0,0,0,0.45);}.ant-pro-global-header-header-actions-avatar >div{height:44px;color:rgba(0,0,0,0.45);padding-inline:8px;padding-block:8px;cursor:pointer;display:flex;align-items:center;line-height:44px;border-radius:6px;}.ant-pro-global-header-header-actions-avatar >div:hover{background-color:rgba(0, 0, 0, 0.03);}.ant-pro-page-container{position:relative;}.ant-pro-page-container-children-container{padding-block-start:0;padding-block-end:32px;padding-inline:40px;}.ant-pro-page-container-children-container-no-header{padding-block-start:32px;}.ant-pro-page-container-affix .ant-affix .ant-pro-page-container-warp{background-color:#ffffff;transition:background-color 0.3s;box-shadow:0 2px 8px #f0f1f2;}.ant-pro-page-container .ant-pro-page-container-warp-page-header{padding-block-start:8px;padding-block-end:16px;padding-inline-start:40px;padding-inline-end:40px;}.ant-pro-page-container .ant-pro-page-container-warp-page-header~.ant-pro-grid-content .ant-pro-page-container-children-content{padding-block:10.666666666666666px;}.ant-pro-page-container .ant-pro-page-container-warp-page-header .ant-page-header-breadcrumb{padding-block-start:18px;}.ant-pro-page-container .ant-pro-page-container-warp-page-header .ant-page-header-heading{padding-block-start:8px;}.ant-pro-page-container .ant-pro-page-container-warp-page-header .ant-page-header-footer{margin-block-start:8px;}.ant-pro-page-container-detail{display:flex;}@media (max-width: 576px){.ant-pro-page-container-detail{display:block;}}.ant-pro-page-container-main{width:100%;}.ant-pro-page-container-row{display:flex;width:100%;}@media (max-width: 768px){.ant-pro-page-container-row{display:block;}}.ant-pro-page-container-content{flex:auto;width:100%;}.ant-pro-page-container-extraContent{flex:0 1 auto;min-width:242px;margin-inline-start:88px;text-align:end;}@media (max-width: 1200px){.ant-pro-page-container-extraContent{margin-inline-start:44px;}}@media (max-width: 992px){.ant-pro-page-container-extraContent{margin-inline-start:20px;}}@media (max-width: 768px){.ant-pro-page-container-extraContent{margin-inline-start:0;text-align:start;}}@media (max-width: 576px){.ant-pro-page-container-extraContent{margin-inline-start:0;}}.ant-page-header{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,0.88);font-size:14px;line-height:1.5714285714285714;list-style:none;position:relative;background-color:#fff;padding-block:6px;padding-inline:16px;}.ant-page-header.ant-page-header-ghost{background-color:transparent;}.ant-page-header-no-children{height:32px;}.ant-page-header.ant-page-header-has-breadcrumb{padding-block-start:12px;}.ant-page-header.ant-page-header-has-footer{padding-block-end:0;}.ant-page-header .ant-page-header-back{margin-inline-end:16px;font-size:16px;line-height:1;}.ant-page-header .ant-page-header-back-button{font-size:16px;color:rgba(0,0,0,0.88);outline:none;cursor:pointer;transition:color 0.3s;}.ant-page-header .ant-page-header-back-button:focus,.ant-page-header .ant-page-header-back-button:hover{color:#69b1ff;}.ant-page-header .ant-page-header-back-button:active{color:#0958d9;}.ant-page-header-rlt .ant-page-header .ant-page-header-back{float:right;margin-inline-end:0;margin-inline-start:0;}.ant-page-header ant-divider-vertical{height:14px;margin-block:0;margin-inline:12px;vertical-align:middle;}.ant-page-header .ant-page-header-breadcrumb+.ant-page-header-heading{margin-block-start:8px;}.ant-page-header .ant-page-header-heading{display:flex;justify-content:space-between;}.ant-page-header .ant-page-header-heading-left{display:flex;align-items:center;margin-block:4px;margin-inline-end:0;margin-inline-start:0;overflow:hidden;}.ant-page-header .ant-page-header-heading-title{margin-inline-end:12px;margin-block-end:0;color:rgba(0,0,0,0.88);font-weight:600;font-size:20px;line-height:32px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.ant-page-header-rlt .ant-page-header .ant-page-header-heading-title{margin-inline-end:0;margin-inline-start:12px;}.ant-page-header .ant-page-header-heading-avatar{margin-inline-end:12px;}.ant-page-header-rlt .ant-page-header .ant-page-header-heading-avatar{float:right;margin-inline-end:0;margin-inline-start:12px;}.ant-page-header-rlt .ant-page-header .ant-page-header-heading-tags{float:right;}.ant-page-header .ant-page-header-heading-sub-title{margin-inline-end:12px;color:rgba(0,0,0,0.65);font-size:14px;line-height:1.5714285714285714;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}.ant-page-header-rlt .ant-page-header .ant-page-header-heading-sub-title{float:right;margin-inline-end:0;margin-inline-start:12px;}.ant-page-header .ant-page-header-heading-extra{margin-block:4px;margin-inline-end:0;margin-inline-start:0;white-space:nowrap;}.ant-page-header .ant-page-header-heading-extra >*{white-space:unset;}.ant-page-header-rlt .ant-page-header .ant-page-header-heading-extra >*{margin-inline-end:12px;margin-inline-start:0;}.ant-page-header-rlt .ant-page-header .ant-page-header-heading-extra{float:left;}.ant-page-header-rlt .ant-page-header .ant-page-header-heading-extra *:first-child{margin-inline-end:0;}.ant-page-header-content{padding-block-start:12px;}.ant-page-header-footer{margin-block-start:16px;}.ant-page-header-compact .ant-page-header-heading{flex-wrap:wrap;}.ant-page-header-wide{max-width:1152px;margin:0 auto;}.ant-page-header-rtl{direction:rtl;}.ant-pro-grid-content{width:100%;}.ant-pro-grid-content-wide{max-width:1152px;margin:0 auto;}.data-ant-cssinjs-cache-path{content:"1g3r1lh|ant-design-icons|anticon:c2pd8u;11bn5ll|ant-design-icons|anticon:1i10n6t;133kysn|ProLayout:1u2alug;11bn5ll|Shared|ant:fadq2n;11bn5ll|Layout-Layout|ant-layout|anticon:16bu78o;133kysn|ProLayoutHeader:1jwyogm;133kysn|ProLayoutHeaderStylish:1wjgkr2;1jqs50c|Shared|ant:4ferfz;1jqs50c|Layout-Layout|ant-layout|anticon:f9x9n8;133kysn|ProLayoutTopNavHeader:1yhtjle;133kysn|ProLayoutRightContent:o9daay;1jqs50c|Dropdown-Dropdown|ant-dropdown|anticon:nsl0x1;1jqs50c|Tooltip-Tooltip|ant-tooltip|anticon:1yy8bak;1jqs50c|Drawer-Drawer|ant-drawer|anticon:dsubtk;1jqs50c|Button-Button|ant-btn|anticon:i50biy;133kysn|ProLayoutPageContainer:1g12r2f;133kysn|ProLayoutPageContainerStylish:e1q26s;133kysn|ProLayoutPageHeader:1gpntmz;133kysn|ProLayoutGridContent:110sobs;11bn5ll|Anchor-Anchor|ant-anchor|anticon:1cxga8i;11bn5ll|Modal-Modal|ant-modal|anticon:2ortok";}</style><style>* { box-sizing: border-box; }
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; }
.app-loading { display: flex; justify-content: center; align-items: center; min-height: 100vh; background: #fcfcfc; }
.app-loading-spinner { width: 40px; height: 40px; border: 3px solid #f3f3f3; border-top: 3px solid #1890ff; border-radius: 50%; animation: spin 1s linear infinite; }
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
@keyframes ssr-nav-progress { 0% { transform: translateX(-100%); } 100% { transform: translateX(350%); } }
.ant-pro-layout { min-height: 100vh; }</style><style>@font-face{font-family:OldStandardTT-Bold;src:url(/static/OldStandardTT-Bold-QrSDH864.woff2) format("woff2"),url(/static/OldStandardTT-Bold-DX0388vX.woff) format("woff");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:OldStandardTT-Bold-Fallback;src:local("Georgia Bold"),local("Georgia-Bold"),local("Georgia");font-weight:400;size-adjust:91.76%;ascent-override:83.05%;descent-override:25.94%;line-gap-override:25.72%}@font-face{font-family:OldStandardTT-Regular;src:url(/static/OldStandardTT-Regular-DeGJQNzL.woff2) format("woff2"),url(/static/OldStandardTT-Regular-BfD33lbI.woff) format("woff");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:OldStandardTT-Regular-Fallback;src:local("Georgia");font-weight:400;size-adjust:103.67%;ascent-override:73.5%;descent-override:22.96%;line-gap-override:22.76%}body{margin:0;overflow-y:scroll;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-width:none;position:relative;background:#fcfcfc}ul{padding:0;margin:0}li{list-style-type:none}pre{border-radius:16px;margin:0!important;background:#f5f5f5!important}#root{height:100vh;display:flex;flex-direction:column;align-items:center}body::-webkit-scrollbar{display:none}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.main-content{padding:4px}.small-icon .icon{font-size:1em!important}.custom-footer{font-size:1.1em}@media only screen and (max-width:600px){.hide-on-mobile{display:none!important}}.ant-pro-layout .ant-pro-layout-bg-list{background:#fcfcfc}div.ant-pro-checkcard-title{align-items:flex-start}.ant-menu-item-selected{color:#1668dc!important}.ant-modal-content .ant-modal-body{padding-top:16px}a{color:#4096ff}.ant-design-pro{width:100%}.ant-input-affix-wrapper>input.ant-input,.ant-input-affix-wrapper>textarea.ant-input{font-size:14px}.ant-pro-form-login-logo{height:40px}.ant-pro-checkcard{margin-block-end:0}.ant-page-header-no-children{height:0px}.echarts-tooltip{height:500px;overflow-y:auto}.ant-pro-layout .ant-layout-header:first-child{height:64px!important}.ant-pro-layout .ant-layout-header.ant-pro-layout-header-fixed-header{position:fixed;inset-inline:0;left:0;transform:none;margin:0;width:100%;max-width:none;height:64px;line-height:normal;--ahm-header-p: var(--ahm-header-progress, 0);background:rgb(255 255 255 / calc(.8 * var(--ahm-header-p)));backdrop-filter:saturate(calc(100% + 80% * var(--ahm-header-p))) blur(calc(16px * var(--ahm-header-p)));-webkit-backdrop-filter:saturate(calc(100% + 80% * var(--ahm-header-p))) blur(calc(16px * var(--ahm-header-p)));border-bottom:0;border-radius:0;box-shadow:0 .5px rgb(17 17 17 / calc(.08 * var(--ahm-header-p)));transition-property:background-color,backdrop-filter,-webkit-backdrop-filter,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(.22,1,.36,1)}@media(prefers-reduced-motion:reduce){.ant-pro-layout .ant-layout-header.ant-pro-layout-header-fixed-header{transition:none}}.ant-pro-top-nav-header-main.ant-pro-top-nav-header-wide{--ahm-shell-gutter: 24px;box-sizing:border-box;width:100%;max-width:none!important;margin-inline:0;padding-inline:var(--ahm-shell-gutter)}.ant-pro-top-nav-header-main .ant-pro-top-nav-header-menu{padding:0!important}.ant-pro-grid-content.ant-pro-grid-content-wide,.ant-pro-page-header.ant-pro-page-header-wide{max-width:1280px!important}.ahm-topbar{display:flex;align-items:center;gap:24px;width:100%;min-width:0}.brand-logo{--brand-logo-width: 110px;--brand-logo-height: 24px;display:inline-block;width:var(--brand-logo-width);height:var(--brand-logo-height);flex:0 0 var(--brand-logo-width);vertical-align:middle;line-height:0}.brand-logo img{width:100%;height:100%;object-fit:contain;object-position:left center}.brand-logo .brand-logo-light{display:block}.ahm-brand{display:flex;align-items:center;gap:9px;cursor:pointer;flex-shrink:0;color:#111;text-decoration:none}.ahm-brand:hover{color:#111}.ahm-brand:focus-visible{outline:none;border-radius:10px;box-shadow:0 0 0 3px #2563eb4d}.ahm-topnav{display:flex;align-items:center;gap:2px;min-width:0;margin-inline-start:auto;overflow-x:auto;scrollbar-width:none}.ahm-topnav::-webkit-scrollbar{display:none}.ahm-topnav a{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:10px;color:#353941;font-size:14px;font-weight:500;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .15s cubic-bezier(.2,0,0,1),color .15s cubic-bezier(.2,0,0,1)}.ahm-topnav a:hover{background:#1111110a;color:#111}.ahm-topnav a:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb4d}@media only screen and (max-width:767px){.ant-pro-top-nav-header-main.ant-pro-top-nav-header-wide{--ahm-shell-gutter: 12px;padding-inline:12px}.ahm-topnav{display:none}}.ant-pro-global-header .ant-pro-global-header-collapsed-button{display:none}body.ahm-menu-open .ant-pro-layout .ant-layout-header.ant-pro-layout-header-fixed-header{--ahm-header-p: 1;box-shadow:none}body.ahm-menu-open .ahm-cookie-banner{display:none}@media only screen and (max-width:767px){.ant-pro-global-header .ant-pro-global-header-header-actions-avatar{display:none}}.ahm-header-auth.ant-btn{min-width:60px;padding-inline:8px}.ahm-header-auth .ahm-auth-icon{display:none}@media only screen and (max-width:479px){.ahm-header-auth.ant-btn{min-width:32px;width:32px;padding-inline:4px}.ahm-header-auth .ahm-auth-label{display:none}.ahm-header-auth .ahm-auth-icon{display:inline-flex}}.ant-pro-table-list-toolbar-container{padding-block:24px}.ant-alert .ant-alert-close-icon{margin-top:4px}.ant-pro-checkcard,.ant-card{box-shadow:0 2px 8px #0000000f;border:.5px solid rgba(0,0,0,.1)}.ant-pro-checkcard-header{align-items:flex-start}div.ant-pro-checkcard-content{padding-inline:16px;padding-block:16px 8px}.ant-pro-checkcard-header-left,.ant-pro-list-row-header{width:100%;display:block}.ant-tag-checkable{background:#ffffff1a;border-radius:8px;border:1px solid rgba(0,0,0,.1);margin-right:16px;margin-bottom:8px}.ant-table-container{border:1px solid #EEEEEE;border-radius:8px}.ant-tag-checkable-checked{background:#2563eb;border-radius:8px}.ant-pro-list-row-card .ant-list-item-meta-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.ant-drawer .ant-drawer-header{border-bottom:0px solid #EEEEEE}.ant-tag.ant-tag-cyan{color:#16bad9;background:#26cceb1a;border-color:#26cceb}.ant-tag.ant-tag-magenta{color:#eb267b;background:#eb267b1a;border-color:#eb267b}.ant-pro-global-header-header-actions-avatar{padding-inline-start:0}.ant-pro-global-header-header-actions-avatar .ant-dropdown-trigger span:not(.ant-avatar){max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ant-back-top{inset-inline-end:24px!important;inset-block-end:24px!important}.ant-float-btn .ant-float-btn-body .ant-float-btn-content .ant-float-btn-icon{width:auto}.footer{display:flex;flex-direction:column;gap:32px;max-width:1280px;margin-inline:auto;padding-block:48px;color:#626773}.footer-brand{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.footer-brand-name{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:800;color:#1a1a1a}.footer-copyright{font-size:14px;line-height:20px;color:#9ca3af;margin:0}.footer-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.footer-column-title{font-size:14px;line-height:22px;font-weight:600;color:#1a1a1a;margin:0 0 12px}.footer-column-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.footer-column-list li a{display:inline-block;overflow-wrap:anywhere;font-size:14px;line-height:22px;color:#626773;text-decoration:none;transition:color .15s}.footer-column-list li a:hover{color:#1a1a1a}.footer-social{display:flex;flex-wrap:wrap;gap:4px;list-style:none;margin:2px 0 0 -8px;padding:0}.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;color:#626773;transition:color var(--ah-duration-fast, .15s) var(--ah-ease-standard, ease),background-color var(--ah-duration-fast, .15s) var(--ah-ease-standard, ease)}.footer-social a:hover{color:#1a1a1a;background:#3539410f}.footer-social a:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.footer-column{min-width:0}.footer-privacy-choices{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:0;border:0;background:none;color:#626773;font:inherit;font-size:14px;line-height:22px;text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer;overflow-wrap:anywhere}.footer-privacy-choices:hover{color:#1a1a1a}.footer-privacy-choices:focus-visible{outline:2px solid #2563eb;outline-offset:4px}.footer-privacy-choices .anticon{flex-shrink:0}.footer-column-title{overflow-wrap:anywhere}.footer-column-list a:focus-visible{outline:2px solid #2563eb;outline-offset:4px}@media(min-width:768px){.footer-columns{grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);grid-template-columns:none;gap:32px}}@media(min-width:1024px){.footer{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:64px}.footer-brand{flex:0 0 220px;min-width:0}.footer-columns{flex:0 1 820px;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(180px,1.25fr);grid-auto-flow:row}}@media(max-width:767px){.footer{padding-block:48px}.footer-columns{display:block;columns:2;column-gap:24px}.footer-column{break-inside:avoid;margin-bottom:32px}.footer-column-list{gap:0}.footer-column-list a,.footer-privacy-choices{padding-block:10px;min-height:44px}.footer-social a{width:44px;height:44px}.footer-social{margin-left:-13px}}</style><style id="ssr-styled">.kMgEVL{width:100%;max-width:calc(1040px + 2 * var(--ah-space-6,24px));margin-inline:auto;padding-inline:var(--ah-space-6,24px);padding-block:16px 80px;color:#1a1a1a;}/*!sc*/
@media (max-width:639px){.kMgEVL{padding-inline:var(--ah-space-4,16px);}}/*!sc*/
data-styled.g368[id="sc-1c0xtl9-0"]{content:"kMgEVL,"}/*!sc*/
.jpnGFj{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;}/*!sc*/
data-styled.g369[id="sc-1c0xtl9-1"]{content:"jpnGFj,"}/*!sc*/
.feFHco{font-size:14px;color:#888;}/*!sc*/
.feFHco a{color:#888;cursor:pointer;}/*!sc*/
.feFHco a:hover{color:#2563eb;}/*!sc*/
data-styled.g370[id="sc-1c0xtl9-2"]{content:"feFHco,"}/*!sc*/
.Bwa-Do{font-size:clamp(32px,3.4vw,44px);font-weight:700;line-height:1.15;letter-spacing:-0.02em;margin:0 0 16px;text-wrap:balance;}/*!sc*/
@media (max-width:560px){.Bwa-Do{font-size:28px;}}/*!sc*/
data-styled.g371[id="sc-1c0xtl9-3"]{content:"Bwa-Do,"}/*!sc*/
.gGIGKA{font-size:14px;color:#888;margin-bottom:28px;}/*!sc*/
.gGIGKA>*+*::before{content:'·';margin:0 6px;}/*!sc*/
data-styled.g373[id="sc-1c0xtl9-5"]{content:"gGIGKA,"}/*!sc*/
.dHXlSg{width:100%;aspect-ratio:1.9/1;object-fit:cover;border-radius:16px;border:1px solid #f0f0f0;margin-bottom:36px;}/*!sc*/
data-styled.g374[id="sc-1c0xtl9-6"]{content:"dHXlSg,"}/*!sc*/
.jonNQo{font-size:16px;line-height:1.75;color:#2a2a2a;overflow-wrap:break-word;}/*!sc*/
.jonNQo >*:first-child{margin-top:0;}/*!sc*/
.jonNQo h2{font-size:24px;font-weight:650;color:#1a1a1a;margin:40px 0 14px;letter-spacing:-0.01em;}/*!sc*/
.jonNQo h3{font-size:19px;font-weight:600;color:#1a1a1a;margin:32px 0 10px;}/*!sc*/
.jonNQo p{margin:0 0 18px;}/*!sc*/
.jonNQo a{color:#2563eb;text-decoration:none;border-bottom:1px solid rgba(37,99,235,0.25);transition:border-color 0.15s ease-out;}/*!sc*/
.jonNQo a:hover{border-bottom-color:#2563eb;}/*!sc*/
.jonNQo strong{font-weight:600;color:#1a1a1a;}/*!sc*/
.jonNQo ul,.jonNQo ol{padding-left:24px;margin:0 0 18px;}/*!sc*/
.jonNQo li{margin:6px 0;list-style-type:inherit;}/*!sc*/
.jonNQo li::marker{color:#94a3b8;}/*!sc*/
.jonNQo blockquote{margin:24px 0;padding:8px 20px;border-left:3px solid #2563eb;background:rgba(37,99,235,0.04);border-radius:0 8px 8px 0;color:#444;}/*!sc*/
.jonNQo blockquote p:last-child{margin-bottom:0;}/*!sc*/
.jonNQo hr{border:none;border-top:1px solid #eee;margin:36px 0;}/*!sc*/
.jonNQo code{font-family:'SF Mono',SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;background:#f3f4f6;color:#334155;padding:2px 6px;border-radius:4px;overflow-wrap:anywhere;}/*!sc*/
.jonNQo.jonNQo pre{background:#ffffff!important;color:#1f2937;border:1px solid #e5e7eb;border-radius:10px;padding:18px 20px;overflow-x:auto;margin:0 0 22px!important;}/*!sc*/
.jonNQo.jonNQo pre code{background:transparent;color:#334155;padding:0;border-radius:0;font-size:13.5px;line-height:1.65;}/*!sc*/
.jonNQo .blog-table-scroll{max-width:100%;overflow-x:auto;margin:0 0 22px;}/*!sc*/
.jonNQo table{border-collapse:collapse;width:100%;margin:0 0 22px;font-size:15px;}/*!sc*/
.jonNQo .blog-table-scroll>table{margin:0;}/*!sc*/
.jonNQo th,.jonNQo td{border:1px solid #e5e7eb;padding:9px 14px;text-align:left;}/*!sc*/
.jonNQo th{background:#f9fafb;font-weight:600;color:#1a1a1a;}/*!sc*/
.jonNQo tr:nth-child(even) td{background:#fcfcfd;}/*!sc*/
.jonNQo img{max-width:100%;height:auto;border-radius:10px;}/*!sc*/
.jonNQo figure{margin:28px 0;}/*!sc*/
.jonNQo .kg-image-card img,.jonNQo .kg-gallery-image img{border:1px solid #f0f0f0;}/*!sc*/
.jonNQo figcaption{font-size:13px;color:#888;text-align:center;margin-top:10px;}/*!sc*/
.jonNQo .kg-embed-card{position:relative;}/*!sc*/
.jonNQo .kg-embed-card iframe{width:100%;aspect-ratio:16/9;height:auto;border:none;border-radius:10px;}/*!sc*/
.jonNQo .kg-video-card video{width:100%;border-radius:10px;}/*!sc*/
.jonNQo .kg-bookmark-card a{display:block;border:1px solid #e5e7eb;border-radius:10px;padding:14px 16px;color:#1a1a1a;border-bottom-width:1px;transition:border-color 0.2s ease-out,box-shadow 0.2s ease-out;}/*!sc*/
.jonNQo .kg-bookmark-card a:hover{border-color:rgba(37,99,235,0.35);box-shadow:0 6px 20px rgba(37,99,235,0.08);}/*!sc*/
.jonNQo .kg-callout-card{display:flex;gap:10px;border-radius:10px;padding:14px 16px;margin:24px 0;background:#f8fafc;}/*!sc*/
data-styled.g375[id="sc-1c0xtl9-7"]{content:"jonNQo,"}/*!sc*/
.jsOPmD{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:72px;}/*!sc*/
@media (max-width:1024px){.jsOPmD{grid-template-columns:minmax(0,1fr);gap:0;}}/*!sc*/
.jsOPmD [id]{scroll-margin-top:88px;}/*!sc*/
data-styled.g376[id="sc-1c0xtl9-8"]{content:"jsOPmD,"}/*!sc*/
.cslRFF{min-width:0;}/*!sc*/
data-styled.g377[id="sc-1c0xtl9-9"]{content:"cslRFF,"}/*!sc*/
.cpcDux{position:sticky;top:88px;display:flex;flex-direction:column;max-height:calc(100vh - 120px - 24px);}/*!sc*/
@media (max-width:1024px){.cpcDux{display:none;}}/*!sc*/
.cpcDux.cpcDux .ant-anchor::before,.cpcDux.cpcDux .ant-anchor-ink{display:none!important;}/*!sc*/
.cpcDux.cpcDux .ant-anchor-link{padding:0;}/*!sc*/
.cpcDux.cpcDux .ant-anchor-link-title{display:block;padding:5px 10px;border-radius:8px;color:#626773;font-size:13.5px;line-height:1.45;white-space:normal;transition:background-color 0.15s ease,color 0.15s ease;}/*!sc*/
.cpcDux.cpcDux .ant-anchor-link .ant-anchor-link .ant-anchor-link-title{padding-left:24px;font-size:13px;}/*!sc*/
.cpcDux.cpcDux .ant-anchor-link-title:hover{background:rgba(17,17,17,0.05);color:#111111;}/*!sc*/
.cpcDux.cpcDux .ant-anchor-link-active>.ant-anchor-link-title{color:#111111;font-weight:600;}/*!sc*/
data-styled.g378[id="sc-1c0xtl9-10"]{content:"cpcDux,"}/*!sc*/
.hxUGEH{font-size:12.5px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:#999;padding:0 10px;margin-bottom:8px;}/*!sc*/
data-styled.g379[id="sc-1c0xtl9-11"]{content:"hxUGEH,"}/*!sc*/
.dmMZCQ{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin;}/*!sc*/
data-styled.g380[id="sc-1c0xtl9-12"]{content:"dmMZCQ,"}/*!sc*/
.ifprbj{flex:none;margin-top:16px;padding:20px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;}/*!sc*/
.ifprbj:first-child{margin-top:0;}/*!sc*/
.ifprbj .brand-logo{display:block;margin-bottom:14px;}/*!sc*/
data-styled.g381[id="sc-1c0xtl9-13"]{content:"ifprbj,"}/*!sc*/
.gijIP{font-size:15px;font-weight:600;line-height:1.4;color:#1a1a1a;margin:0 0 16px;}/*!sc*/
data-styled.g382[id="sc-1c0xtl9-14"]{content:"gijIP,"}/*!sc*/
.czYpSp{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:36px;padding:7px 12px;border:none;border-radius:8px;background:#2563eb;color:#fff;font:inherit;font-size:14px;font-weight:500;line-height:20px;text-decoration:none;cursor:pointer;transition:background-color 0.15s ease;}/*!sc*/
.czYpSp:hover{background:#1d4ed8;color:#fff;}/*!sc*/
.czYpSp:active{background:#0049df;color:#fff;}/*!sc*/
.czYpSp:focus-visible{outline:2px solid #2563eb;outline-offset:2px;}/*!sc*/
data-styled.g383[id="sc-1c0xtl9-15"]{content:"czYpSp,"}/*!sc*/
.hUosnH{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:48px;padding:24px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;}/*!sc*/
.hUosnH .brand-logo{display:block;margin-bottom:10px;}/*!sc*/
@media (max-width:560px){.hUosnH{flex-direction:column;align-items:stretch;gap:16px;}}/*!sc*/
data-styled.g384[id="sc-1c0xtl9-16"]{content:"hUosnH,"}/*!sc*/
.cebqkZ{margin:0;font-size:16px;font-weight:600;line-height:1.45;color:#1a1a1a;white-space:pre-line;text-wrap:pretty;}/*!sc*/
data-styled.g385[id="sc-1c0xtl9-17"]{content:"cebqkZ,"}/*!sc*/
.cMkKAz{width:auto;flex:none;padding:7px 16px;}/*!sc*/
@media (max-width:560px){.cMkKAz{width:100%;}}/*!sc*/
data-styled.g386[id="sc-1c0xtl9-18"]{content:"cMkKAz,"}/*!sc*/
.DWxSg{margin-top:56px;padding-top:28px;border-top:1px solid #f0f0f0;}/*!sc*/
data-styled.g387[id="sc-1c0xtl9-19"]{content:"DWxSg,"}/*!sc*/
.bdVRff{font-size:18px;font-weight:650;margin:0 0 18px;}/*!sc*/
data-styled.g388[id="sc-1c0xtl9-20"]{content:"bdVRff,"}/*!sc*/
.bXzQsu{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;}/*!sc*/
data-styled.g389[id="sc-1c0xtl9-21"]{content:"bXzQsu,"}/*!sc*/
.jlSeMr{display:block;background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;cursor:pointer;transition:box-shadow 0.2s ease-out,border-color 0.2s ease-out;}/*!sc*/
.jlSeMr:hover{border-color:rgba(37,99,235,0.35);box-shadow:0 8px 24px rgba(37,99,235,0.1);}/*!sc*/
.jlSeMr:hover h3{color:#2563eb;}/*!sc*/
data-styled.g390[id="sc-1c0xtl9-22"]{content:"jlSeMr,"}/*!sc*/
.kdkCIq{aspect-ratio:16/9;background:linear-gradient(135deg,rgba(37,99,235,0.08),rgba(37,99,235,0.02));overflow:hidden;}/*!sc*/
.kdkCIq img{width:100%;height:100%;object-fit:cover;}/*!sc*/
data-styled.g391[id="sc-1c0xtl9-23"]{content:"kdkCIq,"}/*!sc*/
.jiOOqg{padding:12px 14px 14px;}/*!sc*/
.jiOOqg h3{font-size:14.5px;font-weight:600;line-height:1.4;color:#1a1a1a;margin:0 0 6px;transition:color 0.15s ease-out;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}/*!sc*/
.jiOOqg time{font-size:12.5px;color:#888;}/*!sc*/
data-styled.g392[id="sc-1c0xtl9-24"]{content:"jiOOqg,"}/*!sc*/
</style><link rel="stylesheet" href="/static/legacy-shell-D_FsbdFd.css#"/></head><body><div aria-hidden="true" style="position:fixed;top:0;left:0;right:0;height:2px;z-index:9999;pointer-events:none;opacity:0;transition:opacity .25s;overflow:hidden"><div style="height:100%;width:30%;background:#2563EB;border-radius:2px;animation:none"></div></div><div class="css-1xohofr ant-design-pro ant-pro-layout ant-pro-layout-top-menu ant-pro-layout-fix-siderbar ant-pro-layout-top"><div class="ant-pro-layout-bg-list css-1xohofr"></div><div class="ant-layout css-1xohofr" style="min-height:100%"><div style="position:relative" class="ant-pro-layout-container css-1xohofr"><header class="ant-layout-header css-18nm6z4" style="height:56px;line-height:56px;background-color:transparent;z-index:19"></header><header class="ant-layout-header css-1xohofr ant-pro-layout-header ant-pro-layout-header-fixed-header ant-pro-layout-header-fixed-header-action ant-pro-layout-header-top-menu ant-pro-layout-header-header css-18nm6z4"><div class="ant-pro-top-nav-header css-18nm6z4 ant-pro-top-nav-header-light"><div class="ant-pro-top-nav-header-main css-18nm6z4 ant-pro-top-nav-header-wide"><div style="flex:1" class="ant-pro-top-nav-header-menu css-18nm6z4"><div class="ahm-topbar"><a class="ahm-brand" href="/" aria-label="AIHubMix"><span class="brand-logo"><img class="brand-logo-light" src="/brand/light.svg?v=20260909" width="110" height="24" alt="AIHubMix"/></span></a><nav class="ahm-topnav"><a href="/models">Models</a><a href="https://aihubmix.com/playground" target="_blank" rel="noopener noreferrer">Playground</a><a href="/ecosystem">Ecosystem</a><a href="https://enterprise.aihubmix.com" target="_blank" rel="noopener noreferrer">Enterprise</a><a href="https://docs.aihubmix.com/en" target="_blank" rel="noopener noreferrer">Docs</a><a href="https://console.aihubmix.com/statistics" target="_blank" rel="noopener noreferrer nofollow">Dashboard</a></nav></div></div><div class="ant-pro-global-header-right-content css-18nm6z4" style="min-width:auto;height:100%"><div style="height:100%"><div style="display:flex;align-items:center;height:100%;justify-content:flex-end"><div class="ant-pro-global-header-header-actions css-18nm6z4"><div class="ant-pro-global-header-header-actions-item css-18nm6z4 ant-pro-global-header-header-actions-hover"><button type="button" class="ant-dropdown-trigger ahm-language-trigger ahm-header-icon-button" aria-label="Language"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" class="remixicon ahm-header-icon"><path d="M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM9.71002 19.6674C8.74743 17.6259 8.15732 15.3742 8.02731 13H4.06189C4.458 16.1765 6.71639 18.7747 9.71002 19.6674ZM10.0307 13C10.1811 15.4388 10.8778 17.7297 12 19.752C13.1222 17.7297 13.8189 15.4388 13.9693 13H10.0307ZM19.9381 13H15.9727C15.8427 15.3742 15.2526 17.6259 14.29 19.6674C17.2836 18.7747 19.542 16.1765 19.9381 13ZM4.06189 11H8.02731C8.15732 8.62577 8.74743 6.37407 9.71002 4.33256C6.71639 5.22533 4.458 7.8235 4.06189 11ZM10.0307 11H13.9693C13.8189 8.56122 13.1222 6.27025 12 4.24799C10.8778 6.27025 10.1811 8.56122 10.0307 11ZM14.29 4.33256C15.2526 6.37407 15.8427 8.62577 15.9727 11H19.9381C19.542 7.8235 17.2836 5.22533 14.29 4.33256Z"></path></svg></button></div><div class="ant-pro-global-header-header-actions-item css-18nm6z4 ant-pro-global-header-header-actions-hover"><button type="button" class="ahm-notification-trigger ahm-header-icon-button" aria-label="Inbox" aria-haspopup="dialog" aria-expanded="false" aria-describedby="_R_3jfaq6lbddlr5_"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" focusable="false" class="remixicon ahm-header-icon"><path d="M22 20H2V18H3V11.0314C3 6.04348 7.02944 2 12 2C16.9706 2 21 6.04348 21 11.0314V18H22V20ZM5 18H19V11.0314C19 7.14806 15.866 4 12 4C8.13401 4 5 7.14806 5 11.0314V18ZM9.5 21H14.5C14.5 22.3807 13.3807 23.5 12 23.5C10.6193 23.5 9.5 22.3807 9.5 21Z"></path></svg></button></div><div class="ant-pro-global-header-header-actions-item css-18nm6z4 ant-pro-global-header-header-actions-hover"><button aria-label="Sign in" title="Sign in" type="button" class="ant-btn css-18nm6z4 ant-btn-link ant-btn-color-link ant-btn-variant-link ahm-header-auth"><span role="img" aria-label="login" class="anticon anticon-login ahm-auth-icon"><svg viewBox="64 64 896 896" focusable="false" data-icon="login" width="1em" height="1em" fill="currentColor" aria-hidden="true"><defs><style></style></defs><path d="M521.7 82c-152.5-.4-286.7 78.5-363.4 197.7-3.4 5.3.4 12.3 6.7 12.3h70.3c4.8 0 9.3-2.1 12.3-5.8 7-8.5 14.5-16.7 22.4-24.5 32.6-32.5 70.5-58.1 112.7-75.9 43.6-18.4 90-27.8 137.9-27.8 47.9 0 94.3 9.3 137.9 27.8 42.2 17.8 80.1 43.4 112.7 75.9 32.6 32.5 58.1 70.4 76 112.5C865.7 417.8 875 464.1 875 512c0 47.9-9.4 94.2-27.8 137.8-17.8 42.1-43.4 80-76 112.5s-70.5 58.1-112.7 75.9A352.8 352.8 0 01520.6 866c-47.9 0-94.3-9.4-137.9-27.8A353.84 353.84 0 01270 762.3c-7.9-7.9-15.3-16.1-22.4-24.5-3-3.7-7.6-5.8-12.3-5.8H165c-6.3 0-10.2 7-6.7 12.3C234.9 863.2 368.5 942 520.6 942c236.2 0 428-190.1 430.4-425.6C953.4 277.1 761.3 82.6 521.7 82zM395.02 624v-76h-314c-4.4 0-8-3.6-8-8v-56c0-4.4 3.6-8 8-8h314v-76c0-6.7 7.8-10.5 13-6.3l141.9 112a8 8 0 010 12.6l-141.9 112c-5.2 4.1-13 .4-13-6.3z"></path></svg></span><span class="ahm-auth-label">Sign in</span></button></div></div></div></div></div></div></div></header><main class="ant-layout-content ant-pro-layout-content css-1xohofr ant-pro-layout-has-header css-1xohofr" style="padding:0"><div class="ant-pro-page-container css-1xohofr"><div class="css-1xohofr ant-page-header-no-children"></div><div class="ant-pro-grid-content css-1xohofr ant-pro-grid-content-wide"><div class="ant-pro-grid-content-children css-1xohofr"><div class="css-1xohofr ant-pro-page-container-children-container" style="padding-inline:0;padding-block-end:0;padding-block-start:40px"><div class="sc-1c0xtl9-0 kMgEVL"><div class="sc-1c0xtl9-8 jsOPmD"><div class="sc-1c0xtl9-9 cslRFF"><div class="sc-1c0xtl9-1 jpnGFj"><nav class="sc-1c0xtl9-2 feFHco"><a href="/blog" data-discover="true">Blog</a> › <a href="/blog/tag/tutorial" data-discover="true">Tutorial</a></nav></div><h1 class="sc-1c0xtl9-3 Bwa-Do">x402 Tutorial: Let Your AI Agent Top Up AIHubMix with USDC</h1><div class="sc-1c0xtl9-5 gGIGKA"><span>AIHubMix</span><time dateTime="2026-10-15T08:15:50.000+00:00">October 15, 2026</time><span>7 min read</span></div><img src="https://aihubmix.com/blog-media/images/2026/10/d06f19303079d08e.png" alt="x402 Tutorial: Let Your AI Agent Top Up AIHubMix with USDC" fetchPriority="high" class="sc-1c0xtl9-6 dHXlSg"/><article data-blog-article="true" class="sc-1c0xtl9-7 jonNQo"><p>AIHubMix now accepts USDC top-ups. Your AI agent can add credit to its own account with the USDC in its wallet: no web page to open, and no one has to click a button.</p>
<p>With x402, <strong>a top-up can be as small as $1</strong>. The agent tops up as it goes, so you don't have to load a large balance in advance.</p>
<p>It takes two steps: get a token, a wallet, and some USDC ready on the web and in an app, then run our ready-made top-up script with one command. About 20 seconds after payment, the credit shows up in your account.</p>
<p>If it helps, you can follow along with this <a href="https://youtu.be/VUnxuslgD1Y">30-second video</a>:</p>
<iframe src="https://www.youtube.com/embed/VUnxuslgD1Y" title="x402 payments on AIHubMix" style="width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 6px;" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""></iframe>
<p><strong>The easiest way:</strong> if you use an AI tool that can run terminal commands, such as Claude Code, Cursor, or Codex, finish step 1, then send it the link to this post and say "set this up for me". It will follow the "Instructions for AI assistants" at the end of this post. You only fill in the token and private key yourself, once, without sending them to the AI.</p>
<h2 id="before-you-start">Before you start</h2>
<ul>
<li>Amounts are <strong>whole dollars</strong> only, $1 to $10 per top-up by default</li>
<li>Each account can <strong>create up to 3 orders per day</strong> (UTC)</li>
<li>Only USDC on <strong>Base mainnet</strong> is supported, and there is <strong>no testnet</strong>, so start with $1</li>
<li>This channel is built for programs; a person can't pay in the browser. For manual top-ups, keep using Alipay or Stripe</li>
</ul>
<h2 id="step-1-get-a-token-a-wallet-and-usdc">Step 1: Get a token, a wallet, and USDC</h2>
<p>Everything in this step happens on the web or in a phone app.</p>
<h3 id="1-get-your-system-access-token">1. Get your system access token</h3>
<p>Log in to <a href="https://aihubmix.com/">aihubmix.com</a>, open your personal settings, and generate a system access token (a 32-character string).</p>
<p>Note that this is <strong>not</strong> the API key that starts with <code>sk-</code>. The two aren't interchangeable.</p>
<h3 id="2-create-a-paying-wallet">2. Create a paying wallet</h3>
<p>In <a href="https://metamask.io/">MetaMask</a> or a similar wallet app, create a new account just for the agent's payments. Don't use your main wallet. Then:</p>
<ul>
<li>Copy the account's <strong>address</strong> (it starts with 0x); you'll send USDC to it in the next step</li>
<li>Export its <strong>private key</strong> from the account details and store it in a password manager. Anyone who has the private key can move the money in the wallet</li>
</ul>
<h3 id="3-buy-usdc-and-send-it-to-this-wallet">3. Buy USDC and send it to this wallet</h3>
<p>MetaMask is a wallet: you hold the private key, and the script needs it to sign. Coinbase is an exchange, where you buy crypto. Funds in an exchange account don't come with a private key, so the script can't use them. That's why you buy on the exchange first, then send the USDC to the wallet from the previous step.</p>
<p>Using the Coinbase exchange as an example (not Coinbase Wallet):</p>
<ol>
<li>Buy USDC on Coinbase</li>
<li>Send the USDC to the address you copied, and <strong>choose the Base network</strong></li>
<li>Send a little more than you plan to top up, for example 1.5 to 2 USDC for a $1 top-up</li>
</ol>
<p>Wait a moment, then open <code>https://basescan.org/address/your-wallet-address</code>. Once you see a USDC balance, it has arrived. Other exchanges that support USDC withdrawals on Base work too; see the <a href="https://docs.base.org/get-started/get-funds">Base docs</a> for more options.</p>
<p>The wallet <strong>doesn't need any ETH</strong>: FluxA pays the network fee for the payment.</p>
<h2 id="step-2-run-the-top-up-script">Step 2: Run the top-up script</h2>
<p>There's nothing to download and no file to create: uv fetches the script from the web and runs it. Open Terminal (PowerShell on Windows) and copy-paste the commands below.</p>
<h3 id="1-install-uv-once">1. Install uv (once)</h3>
<p>uv is a Python tool that sets up everything the script needs to run.</p>
<p>macOS / Linux:</p>
<pre><code class="language-bash">curl -LsSf https://astral.sh/uv/install.sh | sh
</code></pre>
<p>Windows (PowerShell):</p>
<pre><code class="language-powershell">powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
</code></pre>
<p>When it's done, close the terminal and open it again.</p>
<h3 id="2-check-your-setup-spends-nothing">2. Check your setup (spends nothing)</h3>
<pre><code class="language-bash">uv run https://raw.githubusercontent.com/zch456/public_resource/main/aihubmix-x402-topup/topup.py check
</code></pre>
<p>On the first run, the script asks for your system access token (<code>System access token</code>) and wallet private key (<code>Wallet private key</code>). What you type isn't shown on screen; paste it and press Enter. Then it asks whether to save them (<code>Save to ...? [Y/n]</code>). Press Enter to save, and you won't have to type them again. The first run takes a moment while uv sets things up.</p>
<p>When you see this, you're set up:</p>
<pre><code class="language-text">Wallet: 0x... (USDC balance 2.0)
Access token and private key are fine. Ready to top up.
</code></pre>
<h3 id="3-top-up">3. Top up</h3>
<pre><code class="language-bash">uv run https://raw.githubusercontent.com/zch456/public_resource/main/aihubmix-x402-topup/topup.py 1
</code></pre>
<p>The <code>1</code> at the end is the amount in dollars. If all goes well, you'll see:</p>
<pre><code class="language-text">Wallet: 0x... (USDC balance 2.0)
tradeNo: pl_XXXXXXXX
txHash: 0x...
result: credited
</code></pre>
<p><code>result: credited</code> means the credit has arrived. Log in to aihubmix.com and you'll see your balance go up; $1 adds 500,000 quota.</p>
<p>If the last line says something else:</p>
<ul>
<li><code>failed</code>: the order was closed or has expired. Run it again if you need to; that uses another of today's orders.</li>
<li><code>pending</code>: the credit wasn't confirmed within 10 minutes. This isn't a failure, and the credit will arrive later on its own. <strong>Don't run it again.</strong></li>
</ul>
<h2 id="troubleshooting">Troubleshooting</h2>
<div class="blog-table-scroll"><table style="display: table; margin-left: auto; margin-right: auto; border-collapse: collapse; background-color: #ffffff; color: #333333;">
  <thead>
    <tr>
      <th style="text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">What you see</th>
      <th style="text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">What to do</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Missing access token or private key...</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Open the config file named in the message, fill in the token and private key, save, and run again</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Invalid private key...</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Check that you copied the whole private key, fix the config file, and run again</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">USDC balance is below...</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Send USDC to the address shown, and make sure you chose the Base network</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">command not found: uv</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Close and reopen the terminal; if that doesn't help, reinstall uv</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Usage: topup.py AMOUNT...</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">The amount must be whole dollars, such as 1, not 1.5</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Error: Unauthorized...</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">The token is wrong or expired, or it's the sk- API key. Put your system access token in the config file</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Error: Account suspended.</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">The account is suspended; contact support</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Error: Stablecoin top-up is not available on this site</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">The channel is temporarily unavailable; contact us</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Error: Invalid amount...</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">The amount is above the per-top-up limit</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Error: Daily stablecoin top-up limit reached...</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">You've used today's 3 orders; try again after midnight UTC</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Error: Failed to create payment link...</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">A temporary failure; just run it again. It doesn't count toward today's orders</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Error: 402 challenge check failed...</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">The payment request didn't match what was expected, so the script refused to pay; contact us</td>
    </tr>
  </tbody>
</table></div>
<p>If you see a timeout or network error after <code>tradeNo</code> is printed, the money may already have been paid. <strong>Don't run it again right away.</strong> Check your balance after a few minutes; if nothing arrived, contact us with the <code>tradeNo</code>.</p>
<p>The token and private key are saved in <code>~/.aihubmix-topup.env</code> on your computer (in your user folder on Windows). On macOS and Linux, only your own account can read it. To change the token or private key, edit this file.</p>
<h2 id="hooking-it-into-your-agent">Hooking it into your agent</h2>
<ul>
<li>Once the setup is saved, your agent can top up by running <code>uv run https://raw.githubusercontent.com/zch456/public_resource/main/aihubmix-x402-topup/topup.py 1</code> whenever it needs credit, with no one around</li>
<li>Only 3 orders a day are allowed, so cap how often the agent tops up and never retry order creation in a loop</li>
<li>Save the <code>tradeNo</code> and <code>txHash</code> from the output in a database or log for reconciliation</li>
<li>For long-term use, download the script and pin a version before running it; you can <a href="https://github.com/zch456/public_resource/blob/main/aihubmix-x402-topup/topup.py">read the source</a> first</li>
<li>If $10 per top-up or 3 a day isn't enough, contact us to raise the limits</li>
</ul>
<h2 id="instructions-for-ai-assistants">Instructions for AI assistants</h2>
<p>If you're an AI assistant helping a user set up AIHubMix USDC top-ups, follow these steps in order:</p>
<ol>
<li>Confirm the user has finished step 1: they have a system access token, plus a wallet holding Base mainnet USDC and its private key. If not, walk them through step 1 first.</li>
<li>Run <code>uv --version</code> to check that uv is installed. If it isn't, install it with the commands in step 2.</li>
<li>Run <code>uv run https://raw.githubusercontent.com/zch456/public_resource/main/aihubmix-x402-topup/topup.py check</code>.</li>
<li>If it reports a missing token or private key (<code>Missing access token or private key</code>), the script has created the config file <code>~/.aihubmix-topup.env</code>. Ask the user to open it in a text editor and fill it in themselves (on macOS, run <code>open -e ~/.aihubmix-topup.env</code>; on Windows, run <code>notepad $HOME\.aihubmix-topup.env</code>). <strong>Don't read this file, don't put the token or private key in any command, and don't ask the user to send them to you.</strong></li>
<li>Once the user has filled it in, run <code>check</code> again until you see <code>Access token and private key are fine. Ready to top up.</code> If there's an error, handle it with the Troubleshooting table above.</li>
<li>A top-up spends real money. Confirm the amount with the user before running <code>uv run https://raw.githubusercontent.com/zch456/public_resource/main/aihubmix-x402-topup/topup.py &lt;amount&gt;</code>.</li>
</ol>
<h2 id="under-the-hood-what-the-script-does">Under the hood: what the script does</h2>
<p>The script does five things in order:</p>
<ol>
<li><strong>Checks the balance</strong>: creating an order uses up one of today's orders, so it first makes sure the private key is valid and there's enough USDC.</li>
<li><strong>Creates an order</strong>: it calls <code>POST /api/pay/fluxa/crt</code> and gets a payment link and an order number, <code>tradeNo</code>. The token goes into the <code>Authorization</code> header as is, without <code>Bearer</code>. Business errors also come back as HTTP 200, so it checks the <code>success</code> field in the response.</li>
<li><strong>Checks the payment request</strong>: a GET on the payment link returns HTTP 402 with the payment requirements. Before signing, it checks four things: <code>scheme</code> is <code>exact</code>, <code>network</code> is <code>eip155:8453</code>, <code>asset</code> is the USDC contract on Base mainnet, and <code>maxAmountRequired</code> equals the amount × 1,000,000. If any of them is off, it stops.</li>
<li><strong>Signs and pays</strong>: it signs a USDC transfer authorization with the private key, puts it in the <code>X-PAYMENT</code> header, and sends the GET to the payment link again. A 200 or 202 means the payment was submitted; the <code>txHash</code> in the response is the on-chain receipt for this payment. Neither request carries the AIHubMix token.</li>
<li><strong>Waits for the credit</strong>: it calls <code>GET /api/pay/fluxa/qry?trade_no=...</code> every 8 seconds until the status becomes <code>TRADE_SUCCESS</code>. The server only refreshes every 5 seconds, so polling faster doesn't help.</li>
</ol>
<p>Each payment link is also valid for 30 minutes and can be paid only once.</p>
<h3 id="implementing-it-in-another-language">Implementing it in another language</h3>
<p>The 402 response from the payment link looks like this:</p>
<pre><code class="language-json">{
  "x402Version": 1,
  "accepts": [{
    "scheme": "exact",
    "network": "eip155:8453",
    "maxAmountRequired": "1000000",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "payTo": "0x....",
    "maxTimeoutSeconds": 600,
    "extra": {"name": "USD Coin", "version": "2"}
  }]
}
</code></pre>
<p>The signature uses the <a href="https://eips.ethereum.org/EIPS/eip-712">EIP-712</a> format, over the <code>TransferWithAuthorization</code> struct from <a href="https://eips.ethereum.org/EIPS/eip-3009">EIP-3009</a>:</p>
<div class="blog-table-scroll"><table style="display: table; margin-left: auto; margin-right: auto; border-collapse: collapse; background-color: #ffffff; color: #333333;">
  <thead>
    <tr>
      <th style="text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Field</th>
      <th style="text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Value</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">from</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Your wallet address</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">to</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">payTo from the 402 response</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">value</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">maxAmountRequired from the 402 response</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">validAfter</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Current time minus 60 seconds</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">validBefore</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Current time plus max(maxTimeoutSeconds, 600) seconds</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">nonce</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">32 random bytes, new every time</td>
    </tr>
  </tbody>
</table></div>
<p>Signing domain: <code>name</code> = <code>USD Coin</code>, <code>version</code> = <code>2</code> (use the values in the 402 response's <code>extra</code> if present), <code>chainId</code> = 8453, <code>verifyingContract</code> = <code>0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913</code>.</p>
<p>The value of the <code>X-PAYMENT</code> header is the base64 encoding of this JSON:</p>
<pre><code class="language-json">{
  "x402Version": 1,
  "scheme": "exact",
  "network": "eip155:8453",
  "payload": {
    "signature": "0x...",
    "authorization": {
      "from": "0x...", "to": "0x...", "value": "1000000",
      "validAfter": "...", "validBefore": "...", "nonce": "0x..."
    }
  }
}
</code></pre>
<p><strong>Sources</strong></p>
<ul>
<li><a href="https://docs.x402.org/">x402 documentation</a></li>
<li><a href="https://eips.ethereum.org/EIPS/eip-3009">EIP-3009: Transfer With Authorization</a></li>
<li><a href="https://eips.ethereum.org/EIPS/eip-712">EIP-712: Typed structured data hashing and signing</a></li>
<li><a href="https://developers.circle.com/stablecoins/usdc-contract-addresses">Circle: USDC contract addresses</a></li>
<li><a href="https://docs.astral.sh/uv/getting-started/installation/">uv installation guide</a></li>
</ul>
</article><div class="sc-1c0xtl9-16 hUosnH"><div><span class="brand-logo"><img class="brand-logo-light" src="/brand/light.svg?v=20260909" width="110" height="24" alt="AIHubMix"/></span><p class="sc-1c0xtl9-17 cebqkZ">One gateway to multiple AI providers.
Built for production.</p></div><a href="/" class="sc-1c0xtl9-15 sc-1c0xtl9-18 czYpSp cMkKAz">Visit AIHubMix<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" aria-hidden="true" class="remixicon "><path d="M16.1716 10.9999L10.8076 5.63589L12.2218 4.22168L20 11.9999L12.2218 19.778L10.8076 18.3638L16.1716 12.9999H4V10.9999H16.1716Z"></path></svg></a></div><div class="sc-1c0xtl9-19 DWxSg"><h2 class="sc-1c0xtl9-20 bdVRff">More from the blog</h2><div class="sc-1c0xtl9-21 bXzQsu"><a class="sc-1c0xtl9-22 jlSeMr" href="/blog/gpt-image-2-6-api-tutorial-drafts-finals-and-migration-gotchas" data-discover="true"><div class="sc-1c0xtl9-23 kdkCIq"><img src="https://aihubmix.com/blog-media/images/2026/11/c53fbd60a3eef465.png" alt="GPT Image 2.6 API tutorial: drafts, finals, and migration gotchas" loading="lazy"/></div><div class="sc-1c0xtl9-24 jiOOqg"><h3>GPT Image 2.6 API tutorial: drafts, finals, and migration gotchas</h3><time dateTime="2026-11-05T08:59:05.000+00:00">November 5, 2026</time></div></a><a class="sc-1c0xtl9-22 jlSeMr" href="/blog/nowdex-your-ai-subscription-quotas-on-the-screen-youre-already-holding" data-discover="true"><div class="sc-1c0xtl9-23 kdkCIq"><img src="https://aihubmix.com/blog-media/images/2026/10/417a311fe11d8d19.png" alt="Nowdex: your AI subscription quotas, on the screen you&#x27;re already holding" loading="lazy"/></div><div class="sc-1c0xtl9-24 jiOOqg"><h3>Nowdex: your AI subscription quotas, on the screen you&#x27;re already holding</h3><time dateTime="2026-10-29T07:22:37.000+00:00">October 29, 2026</time></div></a><a class="sc-1c0xtl9-22 jlSeMr" href="/blog/migrating-to-gpt-6-1-terra-fix-the-temperature-400s-move-tools-to-responses-and-set-up-codex" data-discover="true"><div class="sc-1c0xtl9-23 kdkCIq"><img src="https://aihubmix.com/blog-media/images/2026/10/4458c8e0277baec3.png" alt="Migrating to GPT-6.1 Terra: Fix the temperature 400s, Move Tools to Responses, and Set Up Codex" loading="lazy"/></div><div class="sc-1c0xtl9-24 jiOOqg"><h3>Migrating to GPT-6.1 Terra: Fix the temperature 400s, Move Tools to Responses, and Set Up Codex</h3><time dateTime="2026-10-27T06:48:15.000+00:00">October 27, 2026</time></div></a></div></div></div><aside class="sc-1c0xtl9-10 cpcDux"><div class="sc-1c0xtl9-11 hxUGEH">On this page</div><div class="sc-1c0xtl9-12 dmMZCQ"><div class="css-1xohofr ant-anchor-wrapper" style="max-height:100vh"><div class="ant-anchor ant-anchor-fixed"><span class="ant-anchor-ink"></span><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#before-you-start" title="Before you start">Before you start</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#step-1-get-a-token-a-wallet-and-usdc" title="Step 1: Get a token, a wallet, and USDC">Step 1: Get a token, a wallet, and USDC</a><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#1-get-your-system-access-token" title="1. Get your system access token">1. Get your system access token</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#2-create-a-paying-wallet" title="2. Create a paying wallet">2. Create a paying wallet</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#3-buy-usdc-and-send-it-to-this-wallet" title="3. Buy USDC and send it to this wallet">3. Buy USDC and send it to this wallet</a></div></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#step-2-run-the-top-up-script" title="Step 2: Run the top-up script">Step 2: Run the top-up script</a><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#1-install-uv-once" title="1. Install uv (once)">1. Install uv (once)</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#2-check-your-setup-spends-nothing" title="2. Check your setup (spends nothing)">2. Check your setup (spends nothing)</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#3-top-up" title="3. Top up">3. Top up</a></div></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#troubleshooting" title="Troubleshooting">Troubleshooting</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#hooking-it-into-your-agent" title="Hooking it into your agent">Hooking it into your agent</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#instructions-for-ai-assistants" title="Instructions for AI assistants">Instructions for AI assistants</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#under-the-hood-what-the-script-does" title="Under the hood: what the script does">Under the hood: what the script does</a><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#implementing-it-in-another-language" title="Implementing it in another language">Implementing it in another language</a></div></div></div></div></div><div class="sc-1c0xtl9-13 ifprbj"><span class="brand-logo"><img class="brand-logo-light" src="/brand/light.svg?v=20260909" width="110" height="24" alt="AIHubMix"/></span><p id="blog-cta-headline" class="sc-1c0xtl9-14 gijIP">710+ models, one API key</p><button type="button" class="sc-1c0xtl9-15 czYpSp">Get API Key<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" aria-hidden="true" class="remixicon "><path d="M16.1716 10.9999L10.8076 5.63589L12.2218 4.22168L20 11.9999L12.2218 19.778L10.8076 18.3638L16.1716 12.9999H4V10.9999H16.1716Z"></path></svg></button></div></aside></div></div><script id="seo-jsonld-page" type="application/ld+json">{"@context":"https://schema.org","@type":"BlogPosting","headline":"x402 Tutorial: Let Your AI Agent Top Up AIHubMix with USDC","description":"AIHubMix now accepts USDC top-ups. Your AI agent can add credit to its own account with the USDC in its wallet: no web page to open, and no one has to click…","url":"https://aihubmix.com/blog/x402-tutorial-let-your-ai-agent-top-up-aihubmix-with-usdc","mainEntityOfPage":{"@type":"WebPage","@id":"https://aihubmix.com/blog/x402-tutorial-let-your-ai-agent-top-up-aihubmix-with-usdc"},"image":"https://aihubmix.com/blog-media/images/2026/10/d06f19303079d08e.png","inLanguage":"en","publisher":{"@type":"Organization","name":"AIHubMix","url":"https://aihubmix.com","logo":{"@type":"ImageObject","url":"https://aihubmix.com/logo.png"}},"datePublished":"2026-10-15T08:15:50.000+00:00","dateModified":"2026-10-15T08:44:58.000+00:00","author":{"@type":"Organization","name":"AIHubMix","url":"https://aihubmix.com"},"keywords":"Tutorial"}</script><div class="ant-pro-page-container css-1xohofr"><div class="css-1xohofr ant-page-header-no-children"></div><div class="ant-pro-grid-content css-1xohofr ant-pro-grid-content-wide"><div class="ant-pro-grid-content-children css-1xohofr"><div class="css-1xohofr ant-pro-page-container-children-container" style="padding-inline:24px;padding-block:0"><div class="footer"><div class="footer-brand"><div class="footer-brand-name"><span class="brand-logo"><img class="brand-logo-light" src="/brand/light.svg?v=20260909" width="110" height="24" alt="AIHubMix"/></span></div><p class="footer-copyright">© 2023 - 2026 AIHubMix, LLC</p><ul class="footer-social" aria-label="Connect"><li><a href="https://x.com/AiHubMix" target="_blank" rel="noopener noreferrer" aria-label="X" title="X"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" class="remixicon "><path d="M17.6874 3.0625L12.6907 8.77425L8.37045 3.0625H2.11328L9.58961 12.8387L2.50378 20.9375H5.53795L11.0068 14.6886L15.7863 20.9375H21.8885L14.095 10.6342L20.7198 3.0625H17.6874ZM16.6232 19.1225L5.65436 4.78217H7.45745L18.3034 19.1225H16.6232Z"></path></svg></a></li><li><a href="https://github.com/AIhubmix" target="_blank" rel="noopener noreferrer" aria-label="GitHub" title="GitHub"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" class="remixicon "><path d="M12.001 2C6.47598 2 2.00098 6.475 2.00098 12C2.00098 16.425 4.86348 20.1625 8.83848 21.4875C9.33848 21.575 9.52598 21.275 9.52598 21.0125C9.52598 20.775 9.51348 19.9875 9.51348 19.15C7.00098 19.6125 6.35098 18.5375 6.15098 17.975C6.03848 17.6875 5.55098 16.8 5.12598 16.5625C4.77598 16.375 4.27598 15.9125 5.11348 15.9C5.90098 15.8875 6.46348 16.625 6.65098 16.925C7.55098 18.4375 8.98848 18.0125 9.56348 17.75C9.65098 17.1 9.91348 16.6625 10.201 16.4125C7.97598 16.1625 5.65098 15.3 5.65098 11.475C5.65098 10.3875 6.03848 9.4875 6.67598 8.7875C6.57598 8.5375 6.22598 7.5125 6.77598 6.1375C6.77598 6.1375 7.61348 5.875 9.52598 7.1625C10.326 6.9375 11.176 6.825 12.026 6.825C12.876 6.825 13.726 6.9375 14.526 7.1625C16.4385 5.8625 17.276 6.1375 17.276 6.1375C17.826 7.5125 17.476 8.5375 17.376 8.7875C18.0135 9.4875 18.401 10.375 18.401 11.475C18.401 15.3125 16.0635 16.1625 13.8385 16.4125C14.201 16.725 14.5135 17.325 14.5135 18.2625C14.5135 19.6 14.501 20.675 14.501 21.0125C14.501 21.275 14.6885 21.5875 15.1885 21.4875C19.259 20.1133 21.9999 16.2963 22.001 12C22.001 6.475 17.526 2 12.001 2Z"></path></svg></a></li><li><a href="https://www.linkedin.com/company/aihubmix/" target="_blank" rel="noopener noreferrer" aria-label="LinkedIn" title="LinkedIn"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" class="remixicon "><path d="M18.3362 18.339H15.6707V14.1622C15.6707 13.1662 15.6505 11.8845 14.2817 11.8845C12.892 11.8845 12.6797 12.9683 12.6797 14.0887V18.339H10.0142V9.75H12.5747V10.9207H12.6092C12.967 10.2457 13.837 9.53325 15.1367 9.53325C17.8375 9.53325 18.337 11.3108 18.337 13.6245V18.339H18.3362ZM7.00373 8.57475C6.14573 8.57475 5.45648 7.88025 5.45648 7.026C5.45648 6.1725 6.14648 5.47875 7.00373 5.47875C7.85873 5.47875 8.55173 6.1725 8.55173 7.026C8.55173 7.88025 7.85798 8.57475 7.00373 8.57475ZM8.34023 18.339H5.66723V9.75H8.34023V18.339ZM19.6697 3H4.32923C3.59498 3 3.00098 3.5805 3.00098 4.29675V19.7033C3.00098 20.4202 3.59498 21 4.32923 21H19.6675C20.401 21 21.001 20.4202 21.001 19.7033V4.29675C21.001 3.5805 20.401 3 19.6675 3H19.6697Z"></path></svg></a></li><li><a href="https://discord.gg/chAc9ZFcxR" target="_blank" rel="noopener noreferrer" aria-label="Discord" title="Discord"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" class="remixicon "><path d="M19.3034 5.33716C17.9344 4.71103 16.4805 4.2547 14.9629 4C14.7719 4.32899 14.5596 4.77471 14.411 5.12492C12.7969 4.89144 11.1944 4.89144 9.60255 5.12492C9.45397 4.77471 9.2311 4.32899 9.05068 4C7.52251 4.2547 6.06861 4.71103 4.70915 5.33716C1.96053 9.39111 1.21766 13.3495 1.5891 17.2549C3.41443 18.5815 5.17612 19.388 6.90701 19.9187C7.33151 19.3456 7.71356 18.73 8.04255 18.0827C7.41641 17.8492 6.82211 17.5627 6.24904 17.2231C6.39762 17.117 6.5462 17.0003 6.68416 16.8835C10.1438 18.4648 13.8911 18.4648 17.3082 16.8835C17.4568 17.0003 17.5948 17.117 17.7434 17.2231C17.1703 17.5627 16.576 17.8492 15.9499 18.0827C16.2789 18.73 16.6609 19.3456 17.0854 19.9187C18.8152 19.388 20.5875 18.5815 22.4033 17.2549C22.8596 12.7341 21.6806 8.80747 19.3034 5.33716ZM8.5201 14.8459C7.48007 14.8459 6.63107 13.9014 6.63107 12.7447C6.63107 11.5879 7.45884 10.6434 8.5201 10.6434C9.57071 10.6434 10.4303 11.5879 10.4091 12.7447C10.4091 13.9014 9.57071 14.8459 8.5201 14.8459ZM15.4936 14.8459C14.4535 14.8459 13.6034 13.9014 13.6034 12.7447C13.6034 11.5879 14.4323 10.6434 15.4936 10.6434C16.5442 10.6434 17.4038 11.5879 17.3825 12.7447C17.3825 13.9014 16.5548 14.8459 15.4936 14.8459Z"></path></svg></a></li><li><a href="https://www.youtube.com/@AiHubMixcom" target="_blank" rel="noopener noreferrer" aria-label="YouTube" title="YouTube"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" class="remixicon "><path d="M12.2439 4C12.778 4.00294 14.1143 4.01586 15.5341 4.07273L16.0375 4.09468C17.467 4.16236 18.8953 4.27798 19.6037 4.4755C20.5486 4.74095 21.2913 5.5155 21.5423 6.49732C21.942 8.05641 21.992 11.0994 21.9982 11.8358L21.9991 11.9884L21.9991 11.9991C21.9991 11.9991 21.9991 12.0028 21.9991 12.0099L21.9982 12.1625C21.992 12.8989 21.942 15.9419 21.5423 17.501C21.2878 18.4864 20.5451 19.261 19.6037 19.5228C18.8953 19.7203 17.467 19.8359 16.0375 19.9036L15.5341 19.9255C14.1143 19.9824 12.778 19.9953 12.2439 19.9983L12.0095 19.9991L11.9991 19.9991C11.9991 19.9991 11.9956 19.9991 11.9887 19.9991L11.7545 19.9983C10.6241 19.9921 5.89772 19.941 4.39451 19.5228C3.4496 19.2573 2.70692 18.4828 2.45587 17.501C2.0562 15.9419 2.00624 12.8989 2 12.1625V11.8358C2.00624 11.0994 2.0562 8.05641 2.45587 6.49732C2.7104 5.51186 3.45308 4.73732 4.39451 4.4755C5.89772 4.05723 10.6241 4.00622 11.7545 4H12.2439ZM9.99911 8.49914V15.4991L15.9991 11.9991L9.99911 8.49914Z"></path></svg></a></li><li><a href="https://aihubmix.medium.com/" target="_blank" rel="noopener noreferrer" aria-label="Medium" title="Medium"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" class="remixicon "><path d="M6.15789 3H17.8421C19.5862 3 21 4.41384 21 6.15789V9.52368C20.9185 9.51825 20.8369 9.51611 20.7552 9.51611C20.3527 9.51611 19.8589 9.61374 19.5076 9.79063C19.1075 9.97583 18.7548 10.2528 18.4613 10.6162C17.9888 11.2018 17.7025 11.9931 17.6329 12.8824C17.618 13.059 17.6131 13.2366 17.6163 13.4138C17.6632 15.4279 18.7512 17.0376 20.6837 17.0376C20.7919 17.0376 20.8974 17.0325 21 17.0226V17.8421C21 19.5862 19.5862 21 17.8421 21H6.15789C4.41384 21 3 19.5862 3 17.8421V6.15789C3 4.41384 4.41384 3 6.15789 3ZM21 15.3878V12.6621H19.3473C19.2728 13.9784 19.9927 15.0913 21 15.3878ZM21 12.2813V9.97343C20.92 9.95153 20.8345 9.93978 20.7435 9.93827C19.9294 9.95506 19.4442 10.9302 19.3838 12.2813H21ZM17.6973 7.30004L17.7115 7.29693V7.18701H14.8127L12.1211 13.5132L9.42952 7.18701H6.30572V7.29693L6.31975 7.30004C6.84885 7.41946 7.11748 7.59757 7.11748 8.23987V15.7595C7.11748 16.4018 6.84782 16.5799 6.31871 16.6993L6.30469 16.7024V16.8127H8.42408V16.7028L8.41007 16.6996C7.88095 16.5802 7.61232 16.4021 7.61232 15.7598V8.67605L11.07 16.8127H11.2661L14.8245 8.44914V15.9455C14.7792 16.4528 14.513 16.6095 14.0339 16.7176L14.0197 16.7209V16.83H17.7115V16.7209L17.6973 16.7176C17.2177 16.6095 16.9451 16.4528 16.8998 15.9455L16.8974 8.23987H16.8998C16.8998 7.59757 17.1684 7.41946 17.6973 7.30004Z"></path></svg></a></li></ul></div><div class="footer-columns"><div class="footer-column"><h2 class="footer-column-title">Product</h2><ul class="footer-column-list"><li><a href="/models">Models</a></li><li><a href="/llm-router/auto">LLM Router</a></li><li><a href="/compare">Compare</a></li><li><a href="/authors">Model Authors</a></li><li><a href="/ecosystem">Apps</a></li><li><a href="https://aihubmix.com/playground" target="_blank" rel="noopener noreferrer">Playground</a></li><li><a href="https://skills.aihubmix.com/en/" target="_blank" rel="noopener noreferrer">Skills</a></li><li><a href="https://enterprise.aihubmix.com" target="_blank" rel="noopener noreferrer">Enterprise</a></li></ul></div><div class="footer-column"><h2 class="footer-column-title">Developer</h2><ul class="footer-column-list"><li><a href="https://docs.aihubmix.com/en">Documentation</a></li><li><a href="https://docs.aihubmix.com/en/quick-start">API Reference</a></li><li><a href="/developers">Integration Guide</a></li><li><a href="https://docs.aihubmix.com/en/agents" target="_blank" rel="noopener noreferrer">For AI Agents</a></li><li><a href="https://console.aihubmix.com" target="_blank" rel="noopener noreferrer">Dashboard</a></li><li><a href="/models/retirements">Model Retirements</a></li><li><a href="https://status.aihubmix.com">Status</a></li></ul></div><div class="footer-column"><h2 class="footer-column-title">Company</h2><ul class="footer-column-list"><li><a href="/about">About</a></li><li><a href="/blog">Blog</a></li><li><a href="https://console.aihubmix.com/support">Support</a></li><li><a href="/contact">Contact</a></li></ul></div><div class="footer-column"><h2 class="footer-column-title">Terms &amp; Policies</h2><ul class="footer-column-list"><li><a href="/legal/terms">Terms of Service</a></li><li><a href="/legal/privacy">Privacy Policy</a></li><li><a href="/legal/cookies">Cookie Policy</a></li><li><a href="https://docs.aihubmix.com/en/api/Data-Pravicy">Data Policy</a></li><li><a href="/legal/payment">Payment Notice</a></li><li><a href="/legal/zdr">ZDR Terms</a></li><li><a href="/legal/asynchronous-generation">Async Generation Terms</a></li><li><button type="button" class="footer-privacy-choices">Your privacy choices<span role="img" aria-label="safety-certificate" aria-hidden="true" class="anticon anticon-safety-certificate"><svg viewBox="64 64 896 896" focusable="false" data-icon="safety-certificate" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6zm-405.8-201c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0026 0l212.6-292.7c3.8-5.3 0-12.7-6.5-12.7h-55.2c-5.1 0-10 2.5-13 6.6L468.9 542.4l-64.7-89.1z"></path></svg></span></button></li></ul></div></div></div></div></div></div></div></div></div></div></div></main></div></div></div><div id="ahm-mobile-menu" class="ahm-mobile-menu" data-open="false" data-view="root" inert=""><nav class="ahm-mobile-menu-nav" aria-label="Site"><a href="/models" class="ahm-mobile-menu-item" style="--ah-stagger-index:0"><span>Models</span></a><a href="https://aihubmix.com/playground" class="ahm-mobile-menu-item" style="--ah-stagger-index:1" target="_blank" rel="noopener noreferrer"><span>Playground</span></a><a href="/ecosystem" class="ahm-mobile-menu-item" style="--ah-stagger-index:2"><span>Ecosystem</span></a><a href="https://enterprise.aihubmix.com" class="ahm-mobile-menu-item" style="--ah-stagger-index:3" target="_blank" rel="noopener noreferrer"><span>Enterprise</span></a><a href="https://docs.aihubmix.com/en" class="ahm-mobile-menu-item" style="--ah-stagger-index:4" target="_blank" rel="noopener noreferrer"><span>Docs</span></a><a href="https://console.aihubmix.com/statistics" class="ahm-mobile-menu-item" style="--ah-stagger-index:5" target="_blank" rel="noopener noreferrer nofollow"><span>Dashboard</span></a><button type="button" class="ahm-mobile-menu-item ahm-mobile-menu-entry" style="--ah-stagger-index:6"><span>Language</span><span class="ahm-mobile-menu-entry-value">English<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" aria-hidden="true" class="remixicon "><path d="M13.1717 12.0007L8.22192 7.05093L9.63614 5.63672L16.0001 12.0007L9.63614 18.3646L8.22192 16.9504L13.1717 12.0007Z"></path></svg></span></button></nav><div class="ahm-mobile-menu-footer"><button type="button" class="ds-button ds-button-primary ahm-mobile-menu-signin">Sign in</button></div></div><script>((storageKey2, restoreKey) => {
    if (!window.history.state || !window.history.state.key) {
      let key = Math.random().toString(32).slice(2);
      window.history.replaceState({ key }, "");
    }
    try {
      let positions = JSON.parse(sessionStorage.getItem(storageKey2) || "{}");
      let storedY = positions[restoreKey || window.history.state.key];
      if (typeof storedY === "number") {
        window.scrollTo(0, storedY);
      }
    } catch (error) {
      console.error(error);
      sessionStorage.removeItem(storageKey2);
    }
  })("react-router-scroll-positions", null)</script><script>window.__reactRouterContext = {"basename":"/","future":{"unstable_optimizeDeps":false,"v8_passThroughRequests":false,"v8_trailingSlashAwareDataRequests":false,"unstable_previewServerPrerendering":false,"v8_middleware":false,"v8_splitRouteModules":false,"v8_viteEnvironmentApi":false},"routeDiscovery":{"mode":"initial"},"ssr":true,"isSpaMode":false};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());</script><script type="module" async="">import "/static/manifest-b20be33c.js";
import * as route0 from "/static/root-Dl-AuaVW.js";
import * as route1 from "/static/blog-BzQtJgIa.js";
  
  window.__reactRouterRouteModules = {"root":route0,"blog":route1};

import("/static/entry.client-D3GyZyxc.js");</script><!--$--><script>window.__reactRouterContext.streamController.enqueue("[{\"_1\":2,\"_3\":-5,\"_4\":-5},\"loaderData\",{\"_5\":6},\"actionData\",\"errors\",\"blog\",{\"_7\":8,\"_9\":10,\"_11\":12,\"_8\":13,\"_14\":15,\"_16\":17,\"_18\":-5,\"_19\":10},\"kind\",\"post\",\"locale\",\"en\",\"slug\",\"x402-tutorial-let-your-ai-agent-top-up-aihubmix-with-usdc\",{\"_11\":12,\"_24\":64,\"_26\":65,\"_28\":29,\"_66\":67,\"_30\":68,\"_32\":-5,\"_33\":29,\"_34\":69,\"_36\":70,\"_37\":71,\"_39\":40,\"_41\":72},\"related\",[20,21,22],\"modelCount\",714,\"ctaModel\",\"htmlLang\",{\"_11\":56,\"_24\":57,\"_26\":58,\"_28\":29,\"_30\":59,\"_32\":-5,\"_33\":29,\"_34\":60,\"_36\":61,\"_37\":53,\"_39\":40,\"_41\":62},{\"_11\":47,\"_24\":48,\"_26\":49,\"_28\":29,\"_30\":50,\"_32\":-5,\"_33\":29,\"_34\":51,\"_36\":52,\"_37\":53,\"_39\":40,\"_41\":54},{\"_11\":23,\"_24\":25,\"_26\":27,\"_28\":29,\"_30\":31,\"_32\":-5,\"_33\":29,\"_34\":35,\"_36\":35,\"_37\":38,\"_39\":40,\"_41\":42},\"migrating-to-gpt-6-1-terra-fix-the-temperature-400s-move-tools-to-responses-and-set-up-codex\",\"title\",\"Migrating to GPT-6.1 Terra: Fix the temperature 400s, Move Tools to Responses, and Set Up Codex\",\"excerpt\",\"Switching to GPT-6.1 Terra is a one-line change: set the model to gpt-6.1-terra. What happens next depends on which API route the request takes. On the Responses API, Terra follows OpenAI's rules: reasoning effort works, and temperature or top_p return HTTP 400. On AIHubMix's Chat Completions route, the same temperature is accepted without complaint, and in AIHubMix's checks on 27 October 2026, reasoning_effort made no measurable difference on small prompts.\\n\\n\\nSo the short answer for most teams:\",\"has_custom_excerpt\",false,\"feature_image\",\"https://aihubmix.com/blog-media/images/2026/10/4458c8e0277baec3.png\",\"og_image\",\"featured\",\"published_at\",\"2026-10-27T06:48:15.000+00:00\",\"updated_at\",\"reading_time\",13,\"author\",\"AIHubMix\",\"tags\",[43],{\"_44\":45,\"_11\":46},\"name\",\"Tutorial\",\"tutorial\",\"nowdex-your-ai-subscription-quotas-on-the-screen-youre-already-holding\",\"Nowdex: your AI subscription quotas, on the screen you're already holding\",\"If you pay for more than one coding agent, you already know the shape of the problem. Claude has a five-hour window and a weekly one. Codex has a weekly quota with reset credits, and a session window on some plans. Cursor counts usage and spend limits. Each of them reports on a different dashboard, each resets on its own schedule, and none of them is on the phone in your pocket.\\n\\n\\nNowdex is an app built around that gap. It collects the remaining usage and reset times of the services you already \",\"https://aihubmix.com/blog-media/images/2026/10/417a311fe11d8d19.png\",\"2026-10-29T07:22:37.000+00:00\",\"2026-10-29T09:44:16.000+00:00\",8,[55],{\"_44\":45,\"_11\":46},\"gpt-image-2-6-api-tutorial-drafts-finals-and-migration-gotchas\",\"GPT Image 2.6 API tutorial: drafts, finals, and migration gotchas\",\"Moving a basic image call from GPT Image 2.5 to 2.6 is a model-ID change. The endpoints are the same, the token rates are the same, and the three recommended sizes are the same. The parts that need attention are Batch, which 2.5 has and 2.6 does not; the Responses image tool, which OpenAI's 2.5 and 2.6 materials describe differently; and the controls — complexity, SVG, GIF, and markup — which are documented for OpenAI's Image API but are not in AIHubMix's published parameter schema yet.\\n\\n\\nThis t\",\"https://aihubmix.com/blog-media/images/2026/11/c53fbd60a3eef465.png\",\"2026-11-05T08:59:05.000+00:00\",\"2026-11-05T10:14:48.000+00:00\",[63],{\"_44\":45,\"_11\":46},\"x402 Tutorial: Let Your AI Agent Top Up AIHubMix with USDC\",\"AIHubMix now accepts USDC top-ups. Your AI agent can add credit to its own account with the USDC in its wallet: no web page to open, and no one has to click a button.\\n\\n\\nWith x402, a top-up can be as small as $1. The agent tops up as it goes, so you don't have to load a large balance in advance.\\n\\n\\nIt takes two steps: get a token, a wallet, and some USDC ready on the web and in an app, then run our ready-made top-up script with one command. About 20 seconds after payment, the credit shows up in yo\",\"html\",\"\u003cp\u003eAIHubMix now accepts USDC top-ups. Your AI agent can add credit to its own account with the USDC in its wallet: no web page to open, and no one has to click a button.\u003c/p\u003e\\n\u003cp\u003eWith x402, \u003cstrong\u003ea top-up can be as small as $1\u003c/strong\u003e. The agent tops up as it goes, so you don't have to load a large balance in advance.\u003c/p\u003e\\n\u003cp\u003eIt takes two steps: get a token, a wallet, and some USDC ready on the web and in an app, then run our ready-made top-up script with one command. About 20 seconds after payment, the credit shows up in your account.\u003c/p\u003e\\n\u003cp\u003eIf it helps, you can follow along with this \u003ca href=\\\"https://youtu.be/VUnxuslgD1Y\\\"\u003e30-second video\u003c/a\u003e:\u003c/p\u003e\\n\u003ciframe src=\\\"https://www.youtube.com/embed/VUnxuslgD1Y\\\" title=\\\"x402 payments on AIHubMix\\\" style=\\\"width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 6px;\\\" allow=\\\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\\\" referrerpolicy=\\\"strict-origin-when-cross-origin\\\" allowfullscreen=\\\"\\\"\u003e\u003c/iframe\u003e\\n\u003cp\u003e\u003cstrong\u003eThe easiest way:\u003c/strong\u003e if you use an AI tool that can run terminal commands, such as Claude Code, Cursor, or Codex, finish step 1, then send it the link to this post and say \\\"set this up for me\\\". It will follow the \\\"Instructions for AI assistants\\\" at the end of this post. You only fill in the token and private key yourself, once, without sending them to the AI.\u003c/p\u003e\\n\u003ch2 id=\\\"before-you-start\\\"\u003eBefore you start\u003c/h2\u003e\\n\u003cul\u003e\\n\u003cli\u003eAmounts are \u003cstrong\u003ewhole dollars\u003c/strong\u003e only, $1 to $10 per top-up by default\u003c/li\u003e\\n\u003cli\u003eEach account can \u003cstrong\u003ecreate up to 3 orders per day\u003c/strong\u003e (UTC)\u003c/li\u003e\\n\u003cli\u003eOnly USDC on \u003cstrong\u003eBase mainnet\u003c/strong\u003e is supported, and there is \u003cstrong\u003eno testnet\u003c/strong\u003e, so start with $1\u003c/li\u003e\\n\u003cli\u003eThis channel is built for programs; a person can't pay in the browser. For manual top-ups, keep using Alipay or Stripe\u003c/li\u003e\\n\u003c/ul\u003e\\n\u003ch2 id=\\\"step-1-get-a-token-a-wallet-and-usdc\\\"\u003eStep 1: Get a token, a wallet, and USDC\u003c/h2\u003e\\n\u003cp\u003eEverything in this step happens on the web or in a phone app.\u003c/p\u003e\\n\u003ch3 id=\\\"1-get-your-system-access-token\\\"\u003e1. Get your system access token\u003c/h3\u003e\\n\u003cp\u003eLog in to \u003ca href=\\\"https://aihubmix.com/\\\"\u003eaihubmix.com\u003c/a\u003e, open your personal settings, and generate a system access token (a 32-character string).\u003c/p\u003e\\n\u003cp\u003eNote that this is \u003cstrong\u003enot\u003c/strong\u003e the API key that starts with \u003ccode\u003esk-\u003c/code\u003e. The two aren't interchangeable.\u003c/p\u003e\\n\u003ch3 id=\\\"2-create-a-paying-wallet\\\"\u003e2. Create a paying wallet\u003c/h3\u003e\\n\u003cp\u003eIn \u003ca href=\\\"https://metamask.io/\\\"\u003eMetaMask\u003c/a\u003e or a similar wallet app, create a new account just for the agent's payments. Don't use your main wallet. Then:\u003c/p\u003e\\n\u003cul\u003e\\n\u003cli\u003eCopy the account's \u003cstrong\u003eaddress\u003c/strong\u003e (it starts with 0x); you'll send USDC to it in the next step\u003c/li\u003e\\n\u003cli\u003eExport its \u003cstrong\u003eprivate key\u003c/strong\u003e from the account details and store it in a password manager. Anyone who has the private key can move the money in the wallet\u003c/li\u003e\\n\u003c/ul\u003e\\n\u003ch3 id=\\\"3-buy-usdc-and-send-it-to-this-wallet\\\"\u003e3. Buy USDC and send it to this wallet\u003c/h3\u003e\\n\u003cp\u003eMetaMask is a wallet: you hold the private key, and the script needs it to sign. Coinbase is an exchange, where you buy crypto. Funds in an exchange account don't come with a private key, so the script can't use them. That's why you buy on the exchange first, then send the USDC to the wallet from the previous step.\u003c/p\u003e\\n\u003cp\u003eUsing the Coinbase exchange as an example (not Coinbase Wallet):\u003c/p\u003e\\n\u003col\u003e\\n\u003cli\u003eBuy USDC on Coinbase\u003c/li\u003e\\n\u003cli\u003eSend the USDC to the address you copied, and \u003cstrong\u003echoose the Base network\u003c/strong\u003e\u003c/li\u003e\\n\u003cli\u003eSend a little more than you plan to top up, for example 1.5 to 2 USDC for a $1 top-up\u003c/li\u003e\\n\u003c/ol\u003e\\n\u003cp\u003eWait a moment, then open \u003ccode\u003ehttps://basescan.org/address/your-wallet-address\u003c/code\u003e. Once you see a USDC balance, it has arrived. Other exchanges that support USDC withdrawals on Base work too; see the \u003ca href=\\\"https://docs.base.org/get-started/get-funds\\\"\u003eBase docs\u003c/a\u003e for more options.\u003c/p\u003e\\n\u003cp\u003eThe wallet \u003cstrong\u003edoesn't need any ETH\u003c/strong\u003e: FluxA pays the network fee for the payment.\u003c/p\u003e\\n\u003ch2 id=\\\"step-2-run-the-top-up-script\\\"\u003eStep 2: Run the top-up script\u003c/h2\u003e\\n\u003cp\u003eThere's nothing to download and no file to create: uv fetches the script from the web and runs it. Open Terminal (PowerShell on Windows) and copy-paste the commands below.\u003c/p\u003e\\n\u003ch3 id=\\\"1-install-uv-once\\\"\u003e1. Install uv (once)\u003c/h3\u003e\\n\u003cp\u003euv is a Python tool that sets up everything the script needs to run.\u003c/p\u003e\\n\u003cp\u003emacOS / Linux:\u003c/p\u003e\\n\u003cpre\u003e\u003ccode class=\\\"language-bash\\\"\u003ecurl -LsSf https://astral.sh/uv/install.sh | sh\\n\u003c/code\u003e\u003c/pre\u003e\\n\u003cp\u003eWindows (PowerShell):\u003c/p\u003e\\n\u003cpre\u003e\u003ccode class=\\\"language-powershell\\\"\u003epowershell -ExecutionPolicy ByPass -c \\\"irm https://astral.sh/uv/install.ps1 | iex\\\"\\n\u003c/code\u003e\u003c/pre\u003e\\n\u003cp\u003eWhen it's done, close the terminal and open it again.\u003c/p\u003e\\n\u003ch3 id=\\\"2-check-your-setup-spends-nothing\\\"\u003e2. Check your setup (spends nothing)\u003c/h3\u003e\\n\u003cpre\u003e\u003ccode class=\\\"language-bash\\\"\u003euv run https://raw.githubusercontent.com/zch456/public_resource/main/aihubmix-x402-topup/topup.py check\\n\u003c/code\u003e\u003c/pre\u003e\\n\u003cp\u003eOn the first run, the script asks for your system access token (\u003ccode\u003eSystem access token\u003c/code\u003e) and wallet private key (\u003ccode\u003eWallet private key\u003c/code\u003e). What you type isn't shown on screen; paste it and press Enter. Then it asks whether to save them (\u003ccode\u003eSave to ...? [Y/n]\u003c/code\u003e). Press Enter to save, and you won't have to type them again. The first run takes a moment while uv sets things up.\u003c/p\u003e\\n\u003cp\u003eWhen you see this, you're set up:\u003c/p\u003e\\n\u003cpre\u003e\u003ccode class=\\\"language-text\\\"\u003eWallet: 0x... (USDC balance 2.0)\\nAccess token and private key are fine. Ready to top up.\\n\u003c/code\u003e\u003c/pre\u003e\\n\u003ch3 id=\\\"3-top-up\\\"\u003e3. Top up\u003c/h3\u003e\\n\u003cpre\u003e\u003ccode class=\\\"language-bash\\\"\u003euv run https://raw.githubusercontent.com/zch456/public_resource/main/aihubmix-x402-topup/topup.py 1\\n\u003c/code\u003e\u003c/pre\u003e\\n\u003cp\u003eThe \u003ccode\u003e1\u003c/code\u003e at the end is the amount in dollars. If all goes well, you'll see:\u003c/p\u003e\\n\u003cpre\u003e\u003ccode class=\\\"language-text\\\"\u003eWallet: 0x... (USDC balance 2.0)\\ntradeNo: pl_XXXXXXXX\\ntxHash: 0x...\\nresult: credited\\n\u003c/code\u003e\u003c/pre\u003e\\n\u003cp\u003e\u003ccode\u003eresult: credited\u003c/code\u003e means the credit has arrived. Log in to aihubmix.com and you'll see your balance go up; $1 adds 500,000 quota.\u003c/p\u003e\\n\u003cp\u003eIf the last line says something else:\u003c/p\u003e\\n\u003cul\u003e\\n\u003cli\u003e\u003ccode\u003efailed\u003c/code\u003e: the order was closed or has expired. Run it again if you need to; that uses another of today's orders.\u003c/li\u003e\\n\u003cli\u003e\u003ccode\u003epending\u003c/code\u003e: the credit wasn't confirmed within 10 minutes. This isn't a failure, and the credit will arrive later on its own. \u003cstrong\u003eDon't run it again.\u003c/strong\u003e\u003c/li\u003e\\n\u003c/ul\u003e\\n\u003ch2 id=\\\"troubleshooting\\\"\u003eTroubleshooting\u003c/h2\u003e\\n\u003ctable style=\\\"display: table; margin-left: auto; margin-right: auto; border-collapse: collapse; background-color: #ffffff; color: #333333;\\\"\u003e\\n  \u003cthead\u003e\\n    \u003ctr\u003e\\n      \u003cth style=\\\"text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eWhat you see\u003c/th\u003e\\n      \u003cth style=\\\"text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eWhat to do\u003c/th\u003e\\n    \u003c/tr\u003e\\n  \u003c/thead\u003e\\n  \u003ctbody\u003e\\n    \u003ctr\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eMissing access token or private key...\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eOpen the config file named in the message, fill in the token and private key, save, and run again\u003c/td\u003e\\n    \u003c/tr\u003e\\n    \u003ctr\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eInvalid private key...\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eCheck that you copied the whole private key, fix the config file, and run again\u003c/td\u003e\\n    \u003c/tr\u003e\\n    \u003ctr\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eUSDC balance is below...\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eSend USDC to the address shown, and make sure you chose the Base network\u003c/td\u003e\\n    \u003c/tr\u003e\\n    \u003ctr\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003ecommand not found: uv\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eClose and reopen the terminal; if that doesn't help, reinstall uv\u003c/td\u003e\\n    \u003c/tr\u003e\\n    \u003ctr\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eUsage: topup.py AMOUNT...\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eThe amount must be whole dollars, such as 1, not 1.5\u003c/td\u003e\\n    \u003c/tr\u003e\\n    \u003ctr\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eError: Unauthorized...\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eThe token is wrong or expired, or it's the sk- API key. Put your system access token in the config file\u003c/td\u003e\\n    \u003c/tr\u003e\\n    \u003ctr\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eError: Account suspended.\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eThe account is suspended; contact support\u003c/td\u003e\\n    \u003c/tr\u003e\\n    \u003ctr\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eError: Stablecoin top-up is not available on this site\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eThe channel is temporarily unavailable; contact us\u003c/td\u003e\\n    \u003c/tr\u003e\\n    \u003ctr\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eError: Invalid amount...\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eThe amount is above the per-top-up limit\u003c/td\u003e\\n    \u003c/tr\u003e\\n    \u003ctr\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eError: Daily stablecoin top-up limit reached...\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eYou've used today's 3 orders; try again after midnight UTC\u003c/td\u003e\\n    \u003c/tr\u003e\\n    \u003ctr\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eError: Failed to create payment link...\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eA temporary failure; just run it again. It doesn't count toward today's orders\u003c/td\u003e\\n    \u003c/tr\u003e\\n    \u003ctr\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eError: 402 challenge check failed...\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eThe payment request didn't match what was expected, so the script refused to pay; contact us\u003c/td\u003e\\n    \u003c/tr\u003e\\n  \u003c/tbody\u003e\\n\u003c/table\u003e\\n\u003cp\u003eIf you see a timeout or network error after \u003ccode\u003etradeNo\u003c/code\u003e is printed, the money may already have been paid. \u003cstrong\u003eDon't run it again right away.\u003c/strong\u003e Check your balance after a few minutes; if nothing arrived, contact us with the \u003ccode\u003etradeNo\u003c/code\u003e.\u003c/p\u003e\\n\u003cp\u003eThe token and private key are saved in \u003ccode\u003e~/.aihubmix-topup.env\u003c/code\u003e on your computer (in your user folder on Windows). On macOS and Linux, only your own account can read it. To change the token or private key, edit this file.\u003c/p\u003e\\n\u003ch2 id=\\\"hooking-it-into-your-agent\\\"\u003eHooking it into your agent\u003c/h2\u003e\\n\u003cul\u003e\\n\u003cli\u003eOnce the setup is saved, your agent can top up by running \u003ccode\u003euv run https://raw.githubusercontent.com/zch456/public_resource/main/aihubmix-x402-topup/topup.py 1\u003c/code\u003e whenever it needs credit, with no one around\u003c/li\u003e\\n\u003cli\u003eOnly 3 orders a day are allowed, so cap how often the agent tops up and never retry order creation in a loop\u003c/li\u003e\\n\u003cli\u003eSave the \u003ccode\u003etradeNo\u003c/code\u003e and \u003ccode\u003etxHash\u003c/code\u003e from the output in a database or log for reconciliation\u003c/li\u003e\\n\u003cli\u003eFor long-term use, download the script and pin a version before running it; you can \u003ca href=\\\"https://github.com/zch456/public_resource/blob/main/aihubmix-x402-topup/topup.py\\\"\u003eread the source\u003c/a\u003e first\u003c/li\u003e\\n\u003cli\u003eIf $10 per top-up or 3 a day isn't enough, contact us to raise the limits\u003c/li\u003e\\n\u003c/ul\u003e\\n\u003ch2 id=\\\"instructions-for-ai-assistants\\\"\u003eInstructions for AI assistants\u003c/h2\u003e\\n\u003cp\u003eIf you're an AI assistant helping a user set up AIHubMix USDC top-ups, follow these steps in order:\u003c/p\u003e\\n\u003col\u003e\\n\u003cli\u003eConfirm the user has finished step 1: they have a system access token, plus a wallet holding Base mainnet USDC and its private key. If not, walk them through step 1 first.\u003c/li\u003e\\n\u003cli\u003eRun \u003ccode\u003euv --version\u003c/code\u003e to check that uv is installed. If it isn't, install it with the commands in step 2.\u003c/li\u003e\\n\u003cli\u003eRun \u003ccode\u003euv run https://raw.githubusercontent.com/zch456/public_resource/main/aihubmix-x402-topup/topup.py check\u003c/code\u003e.\u003c/li\u003e\\n\u003cli\u003eIf it reports a missing token or private key (\u003ccode\u003eMissing access token or private key\u003c/code\u003e), the script has created the config file \u003ccode\u003e~/.aihubmix-topup.env\u003c/code\u003e. Ask the user to open it in a text editor and fill it in themselves (on macOS, run \u003ccode\u003eopen -e ~/.aihubmix-topup.env\u003c/code\u003e; on Windows, run \u003ccode\u003enotepad $HOME\\\\.aihubmix-topup.env\u003c/code\u003e). \u003cstrong\u003eDon't read this file, don't put the token or private key in any command, and don't ask the user to send them to you.\u003c/strong\u003e\u003c/li\u003e\\n\u003cli\u003eOnce the user has filled it in, run \u003ccode\u003echeck\u003c/code\u003e again until you see \u003ccode\u003eAccess token and private key are fine. Ready to top up.\u003c/code\u003e If there's an error, handle it with the Troubleshooting table above.\u003c/li\u003e\\n\u003cli\u003eA top-up spends real money. Confirm the amount with the user before running \u003ccode\u003euv run https://raw.githubusercontent.com/zch456/public_resource/main/aihubmix-x402-topup/topup.py \u0026lt;amount\u0026gt;\u003c/code\u003e.\u003c/li\u003e\\n\u003c/ol\u003e\\n\u003ch2 id=\\\"under-the-hood-what-the-script-does\\\"\u003eUnder the hood: what the script does\u003c/h2\u003e\\n\u003cp\u003eThe script does five things in order:\u003c/p\u003e\\n\u003col\u003e\\n\u003cli\u003e\u003cstrong\u003eChecks the balance\u003c/strong\u003e: creating an order uses up one of today's orders, so it first makes sure the private key is valid and there's enough USDC.\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eCreates an order\u003c/strong\u003e: it calls \u003ccode\u003ePOST /api/pay/fluxa/crt\u003c/code\u003e and gets a payment link and an order number, \u003ccode\u003etradeNo\u003c/code\u003e. The token goes into the \u003ccode\u003eAuthorization\u003c/code\u003e header as is, without \u003ccode\u003eBearer\u003c/code\u003e. Business errors also come back as HTTP 200, so it checks the \u003ccode\u003esuccess\u003c/code\u003e field in the response.\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eChecks the payment request\u003c/strong\u003e: a GET on the payment link returns HTTP 402 with the payment requirements. Before signing, it checks four things: \u003ccode\u003escheme\u003c/code\u003e is \u003ccode\u003eexact\u003c/code\u003e, \u003ccode\u003enetwork\u003c/code\u003e is \u003ccode\u003eeip155:8453\u003c/code\u003e, \u003ccode\u003easset\u003c/code\u003e is the USDC contract on Base mainnet, and \u003ccode\u003emaxAmountRequired\u003c/code\u003e equals the amount × 1,000,000. If any of them is off, it stops.\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eSigns and pays\u003c/strong\u003e: it signs a USDC transfer authorization with the private key, puts it in the \u003ccode\u003eX-PAYMENT\u003c/code\u003e header, and sends the GET to the payment link again. A 200 or 202 means the payment was submitted; the \u003ccode\u003etxHash\u003c/code\u003e in the response is the on-chain receipt for this payment. Neither request carries the AIHubMix token.\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eWaits for the credit\u003c/strong\u003e: it calls \u003ccode\u003eGET /api/pay/fluxa/qry?trade_no=...\u003c/code\u003e every 8 seconds until the status becomes \u003ccode\u003eTRADE_SUCCESS\u003c/code\u003e. The server only refreshes every 5 seconds, so polling faster doesn't help.\u003c/li\u003e\\n\u003c/ol\u003e\\n\u003cp\u003eEach payment link is also valid for 30 minutes and can be paid only once.\u003c/p\u003e\\n\u003ch3 id=\\\"implementing-it-in-another-language\\\"\u003eImplementing it in another language\u003c/h3\u003e\\n\u003cp\u003eThe 402 response from the payment link looks like this:\u003c/p\u003e\\n\u003cpre\u003e\u003ccode class=\\\"language-json\\\"\u003e{\\n  \\\"x402Version\\\": 1,\\n  \\\"accepts\\\": [{\\n    \\\"scheme\\\": \\\"exact\\\",\\n    \\\"network\\\": \\\"eip155:8453\\\",\\n    \\\"maxAmountRequired\\\": \\\"1000000\\\",\\n    \\\"asset\\\": \\\"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\\\",\\n    \\\"payTo\\\": \\\"0x....\\\",\\n    \\\"maxTimeoutSeconds\\\": 600,\\n    \\\"extra\\\": {\\\"name\\\": \\\"USD Coin\\\", \\\"version\\\": \\\"2\\\"}\\n  }]\\n}\\n\u003c/code\u003e\u003c/pre\u003e\\n\u003cp\u003eThe signature uses the \u003ca href=\\\"https://eips.ethereum.org/EIPS/eip-712\\\"\u003eEIP-712\u003c/a\u003e format, over the \u003ccode\u003eTransferWithAuthorization\u003c/code\u003e struct from \u003ca href=\\\"https://eips.ethereum.org/EIPS/eip-3009\\\"\u003eEIP-3009\u003c/a\u003e:\u003c/p\u003e\\n\u003ctable style=\\\"display: table; margin-left: auto; margin-right: auto; border-collapse: collapse; background-color: #ffffff; color: #333333;\\\"\u003e\\n  \u003cthead\u003e\\n    \u003ctr\u003e\\n      \u003cth style=\\\"text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eField\u003c/th\u003e\\n      \u003cth style=\\\"text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eValue\u003c/th\u003e\\n    \u003c/tr\u003e\\n  \u003c/thead\u003e\\n  \u003ctbody\u003e\\n    \u003ctr\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003efrom\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eYour wallet address\u003c/td\u003e\\n    \u003c/tr\u003e\\n    \u003ctr\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eto\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003epayTo from the 402 response\u003c/td\u003e\\n    \u003c/tr\u003e\\n    \u003ctr\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003evalue\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003emaxAmountRequired from the 402 response\u003c/td\u003e\\n    \u003c/tr\u003e\\n    \u003ctr\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003evalidAfter\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eCurrent time minus 60 seconds\u003c/td\u003e\\n    \u003c/tr\u003e\\n    \u003ctr\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003evalidBefore\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eCurrent time plus max(maxTimeoutSeconds, 600) seconds\u003c/td\u003e\\n    \u003c/tr\u003e\\n    \u003ctr\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003enonce\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003e32 random bytes, new every time\u003c/td\u003e\\n    \u003c/tr\u003e\\n  \u003c/tbody\u003e\\n\u003c/table\u003e\\n\u003cp\u003eSigning domain: \u003ccode\u003ename\u003c/code\u003e = \u003ccode\u003eUSD Coin\u003c/code\u003e, \u003ccode\u003eversion\u003c/code\u003e = \u003ccode\u003e2\u003c/code\u003e (use the values in the 402 response's \u003ccode\u003eextra\u003c/code\u003e if present), \u003ccode\u003echainId\u003c/code\u003e = 8453, \u003ccode\u003everifyingContract\u003c/code\u003e = \u003ccode\u003e0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\u003c/code\u003e.\u003c/p\u003e\\n\u003cp\u003eThe value of the \u003ccode\u003eX-PAYMENT\u003c/code\u003e header is the base64 encoding of this JSON:\u003c/p\u003e\\n\u003cpre\u003e\u003ccode class=\\\"language-json\\\"\u003e{\\n  \\\"x402Version\\\": 1,\\n  \\\"scheme\\\": \\\"exact\\\",\\n  \\\"network\\\": \\\"eip155:8453\\\",\\n  \\\"payload\\\": {\\n    \\\"signature\\\": \\\"0x...\\\",\\n    \\\"authorization\\\": {\\n      \\\"from\\\": \\\"0x...\\\", \\\"to\\\": \\\"0x...\\\", \\\"value\\\": \\\"1000000\\\",\\n      \\\"validAfter\\\": \\\"...\\\", \\\"validBefore\\\": \\\"...\\\", \\\"nonce\\\": \\\"0x...\\\"\\n    }\\n  }\\n}\\n\u003c/code\u003e\u003c/pre\u003e\\n\u003cp\u003e\u003cstrong\u003eSources\u003c/strong\u003e\u003c/p\u003e\\n\u003cul\u003e\\n\u003cli\u003e\u003ca href=\\\"https://docs.x402.org/\\\"\u003ex402 documentation\u003c/a\u003e\u003c/li\u003e\\n\u003cli\u003e\u003ca href=\\\"https://eips.ethereum.org/EIPS/eip-3009\\\"\u003eEIP-3009: Transfer With Authorization\u003c/a\u003e\u003c/li\u003e\\n\u003cli\u003e\u003ca href=\\\"https://eips.ethereum.org/EIPS/eip-712\\\"\u003eEIP-712: Typed structured data hashing and signing\u003c/a\u003e\u003c/li\u003e\\n\u003cli\u003e\u003ca href=\\\"https://developers.circle.com/stablecoins/usdc-contract-addresses\\\"\u003eCircle: USDC contract addresses\u003c/a\u003e\u003c/li\u003e\\n\u003cli\u003e\u003ca href=\\\"https://docs.astral.sh/uv/getting-started/installation/\\\"\u003euv installation guide\u003c/a\u003e\u003c/li\u003e\\n\u003c/ul\u003e\\n\",\"https://aihubmix.com/blog-media/images/2026/10/d06f19303079d08e.png\",\"2026-10-15T08:15:50.000+00:00\",\"2026-10-15T08:44:58.000+00:00\",7,[73],{\"_44\":45,\"_11\":46}]\n");</script><!--$--><script>window.__reactRouterContext.streamController.close();</script><!--/$--><!--/$--></body></html>