<!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/15648b136974296f.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>Migrating to Kimi K3.1 Pro: Fix the 400s, Mind the Max-Effort Default, and Don&#x27;t Mistype Highspeed | AIHubMix Blog</title><meta name="description" content="Kimi K3.1 Pro is live in Kimi Code, on Moonshot&#x27;s API as kimi-k3.1-pro, and on AIHubMix under the same ID. Moonshot gives it the same parameter constraints…"/><meta name="keywords" content="Tutorial, AIHubMix, AIHubMix Blog"/><link rel="canonical" href="https://aihubmix.com/blog/migrating-to-kimi-k3-1-pro-fix-the-400s-mind-the-max-effort-default-and-dont-mistype-highspeed"/><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="Migrating to Kimi K3.1 Pro: Fix the 400s, Mind the Max-Effort Default, and Don&#x27;t Mistype Highspeed | AIHubMix Blog"/><meta property="og:description" content="Kimi K3.1 Pro is live in Kimi Code, on Moonshot&#x27;s API as kimi-k3.1-pro, and on AIHubMix under the same ID. Moonshot gives it…"/><meta property="og:url" content="https://aihubmix.com/blog/migrating-to-kimi-k3-1-pro-fix-the-400s-mind-the-max-effort-default-and-dont-mistype-highspeed"/><meta property="og:image" content="https://aihubmix.com/blog-media/images/2026/10/15648b136974296f.png"/><meta property="og:image:alt" content="Migrating to Kimi K3.1 Pro: Fix the 400s, Mind the Max-Effort Default, and Don&#x27;t Mistype Highspeed | 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="Migrating to Kimi K3.1 Pro: Fix the 400s, Mind the Max-Effort Default, and Don&#x27;t Mistype Highspeed | AIHubMix Blog"/><meta name="twitter:description" content="Kimi K3.1 Pro is live in Kimi Code, on Moonshot&#x27;s API as kimi-k3.1-pro, and on AIHubMix under the same ID. Moonshot gives it…"/><meta name="twitter:image" content="https://aihubmix.com/blog-media/images/2026/10/15648b136974296f.png"/><meta property="article:published_time" content="2026-10-23T17:29:32.000+00:00"/><meta property="article:modified_time" content="2026-10-27T05:58:48.000+00:00"/><link rel="alternate" hrefLang="en" href="https://aihubmix.com/blog/migrating-to-kimi-k3-1-pro-fix-the-400s-mind-the-max-effort-default-and-dont-mistype-highspeed"/><link rel="alternate" hrefLang="zh-CN" href="https://aihubmix.com/blog/zh-CN/migrating-to-kimi-k3-1-pro-fix-the-400s-mind-the-max-effort-default-and-dont-mistype-highspeed"/><link rel="alternate" hrefLang="zh-TW" href="https://aihubmix.com/blog/zh-TW/migrating-to-kimi-k3-1-pro-fix-the-400s-mind-the-max-effort-default-and-dont-mistype-highspeed"/><link rel="alternate" hrefLang="ja" href="https://aihubmix.com/blog/ja/migrating-to-kimi-k3-1-pro-fix-the-400s-mind-the-max-effort-default-and-dont-mistype-highspeed"/><link rel="alternate" hrefLang="ko" href="https://aihubmix.com/blog/ko/migrating-to-kimi-k3-1-pro-fix-the-400s-mind-the-max-effort-default-and-dont-mistype-highspeed"/><link rel="alternate" hrefLang="de" href="https://aihubmix.com/blog/de/migrating-to-kimi-k3-1-pro-fix-the-400s-mind-the-max-effort-default-and-dont-mistype-highspeed"/><link rel="alternate" hrefLang="es" href="https://aihubmix.com/blog/es/migrating-to-kimi-k3-1-pro-fix-the-400s-mind-the-max-effort-default-and-dont-mistype-highspeed"/><link rel="alternate" hrefLang="fr" href="https://aihubmix.com/blog/fr/migrating-to-kimi-k3-1-pro-fix-the-400s-mind-the-max-effort-default-and-dont-mistype-highspeed"/><link rel="alternate" hrefLang="pt" href="https://aihubmix.com/blog/pt/migrating-to-kimi-k3-1-pro-fix-the-400s-mind-the-max-effort-default-and-dont-mistype-highspeed"/><link rel="alternate" hrefLang="ru" href="https://aihubmix.com/blog/ru/migrating-to-kimi-k3-1-pro-fix-the-400s-mind-the-max-effort-default-and-dont-mistype-highspeed"/><link rel="alternate" hrefLang="tr" href="https://aihubmix.com/blog/tr/migrating-to-kimi-k3-1-pro-fix-the-400s-mind-the-max-effort-default-and-dont-mistype-highspeed"/><link rel="alternate" hrefLang="pl" href="https://aihubmix.com/blog/pl/migrating-to-kimi-k3-1-pro-fix-the-400s-mind-the-max-effort-default-and-dont-mistype-highspeed"/><link rel="alternate" hrefLang="nl" href="https://aihubmix.com/blog/nl/migrating-to-kimi-k3-1-pro-fix-the-400s-mind-the-max-effort-default-and-dont-mistype-highspeed"/><link rel="alternate" hrefLang="it" href="https://aihubmix.com/blog/it/migrating-to-kimi-k3-1-pro-fix-the-400s-mind-the-max-effort-default-and-dont-mistype-highspeed"/><link rel="alternate" hrefLang="vi" href="https://aihubmix.com/blog/vi/migrating-to-kimi-k3-1-pro-fix-the-400s-mind-the-max-effort-default-and-dont-mistype-highspeed"/><link rel="alternate" hrefLang="uk" href="https://aihubmix.com/blog/uk/migrating-to-kimi-k3-1-pro-fix-the-400s-mind-the-max-effort-default-and-dont-mistype-highspeed"/><link rel="alternate" hrefLang="bg" href="https://aihubmix.com/blog/bg/migrating-to-kimi-k3-1-pro-fix-the-400s-mind-the-max-effort-default-and-dont-mistype-highspeed"/><link rel="alternate" hrefLang="x-default" href="https://aihubmix.com/blog/migrating-to-kimi-k3-1-pro-fix-the-400s-mind-the-max-effort-default-and-dont-mistype-highspeed"/><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">Migrating to Kimi K3.1 Pro: Fix the 400s, Mind the Max-Effort Default, and Don&#x27;t Mistype Highspeed</h1><div class="sc-1c0xtl9-5 gGIGKA"><span>AIHubMix</span><time dateTime="2026-10-23T17:29:32.000+00:00">October 23, 2026</time><span>18 min read</span></div><img src="https://aihubmix.com/blog-media/images/2026/10/15648b136974296f.png" alt="Migrating to Kimi K3.1 Pro: Fix the 400s, Mind the Max-Effort Default, and Don&#x27;t Mistype Highspeed" fetchPriority="high" class="sc-1c0xtl9-6 dHXlSg"/><article data-blog-article="true" class="sc-1c0xtl9-7 jonNQo"><p>Kimi K3.1 Pro is live in Kimi Code, on Moonshot's API as <code>kimi-k3.1-pro</code>, and on <a href="https://aihubmix.com/model/kimi-k3.1-pro">AIHubMix</a> under the same ID. Moonshot gives it the same parameter constraints as Kimi K3, so code that already runs on K3 should move with a model-ID change and a fresh session. Code written for K2.x now has a deadline on Moonshot's platform: Moonshot closes the K2 series to newly registered users there on 31 October 2026 and plans to retire it by the end of December. That code is also the most likely to break, because it tends to send a temperature or switch thinking off, and neither works on K3.1 Pro. And code that never set an effort level runs at max, which costs more tokens than you may expect and, in Kimi Code, more quota than K3 did.</p>
<p>This post lists what breaks loudly (the 400s), what breaks quietly (the bill, the cache, the Highspeed ID), and how to set up Claude Code and Codex for K3.1 Pro through AIHubMix. K3.1 Pro's rules come from Moonshot's <a href="https://www.kimi.com/code/docs/en/kimi-code/models.html">Kimi Code model docs</a> and its <a href="https://platform.kimi.ai/docs/api/models-overview">model parameter reference</a>, which gives both K3.1 Pro IDs "the same parameter constraints as <code>kimi-k3</code>". Rules labelled as K3's come from Moonshot's K3 guides and haven't been re-checked on K3.1 Pro. Error texts are quoted from the docs, from public reports, from <a href="https://docs.aihubmix.com/en/blogs/kimi-k3-guide">AIHubMix's July test of K3</a>, and from AIHubMix's K3.1 Pro checks on 24 October 2026. Those checks covered the main IDs and the coding-channel IDs <code>coding-kimi-k3.1-pro</code> and <code>coding-kimi-k3.1-pro-highspeed</code>. Each claim says where it comes from.</p>
<h2 id="which-path-are-you-on">Which path are you on?</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;">You call Kimi through</th>
      <th style="text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Status on 24 October</th>
      <th style="text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">What you change</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Kimi Code (subscription)</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">k3.1-pro is live</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Pick the ID; new session</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Moonshot API, kimi-k3</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">kimi-k3.1-pro is live</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Model ID</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Moonshot API, K2.x</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Retires by end of 2026</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">ID, thinking, sampling</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">AIHubMix, kimi-k3</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">kimi-k3.1-pro is live</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Model ID</td>
    </tr>
  </tbody>
</table></div>
<p>On Moonshot's API and on AIHubMix, the IDs are <code>kimi-k3.1-pro</code> and <code>kimi-k3.1-pro-highspeed</code>. In Kimi Code they're <code>k3.1-pro</code> and <code>k3.1-pro-highspeed</code>. A client config seen on 21 October mapped <code>k3</code> and <code>kimi-for-coding</code> to a <code>k3.1</code> model, but the Kimi Code docs now list <code>k3</code> as K3 and <code>kimi-for-coding</code> as K2.8 Preview, so pick K3.1 Pro explicitly. Your plan matters too: in Kimi Code, K3.1 Pro needs Plus or above (Pro for the 1M context), and Highspeed needs Pro or above. On legacy plans that's Moderato and above, and Allegretto for the 1M context and for Highspeed.</p>
<p>The K2 dates are Moonshot's. From 31 October 2026, K2 series models are no longer available to newly registered users, and all of them are due to retire by the end of December 2026. Moonshot hasn't announced a retirement date for K3. AIHubMix still listed K2.6 and K2.7 Code on 24 October, with no retirement date.</p>
<h2 id="the-loud-failures">The loud failures</h2>
<h3 id="thinking-switched-off-http-400-or-no-reasoning-at-all">Thinking switched off: HTTP 400, or no reasoning at all</h3>
<p><strong>What you'll see:</strong> an HTTP 400 in Kimi Code. Moonshot's Kimi Code docs say K3.1 Pro models "only support thinking mode. Requests with thinking disabled are rejected." The docs don't quote the error body. On Moonshot's API, K3.1 Pro takes K3's constraints, and K3 always reasons. Through AIHubMix there's no 400: on 24 October, <code>thinking: {"type": "disabled"}</code> returned 200 with no reasoning in the response, on both main IDs over Chat Completions and on <code>kimi-k3.1-pro</code> over Messages. There it's a quiet failure, so check responses for missing reasoning.</p>
<p><strong>Where it comes from:</strong> K2.x code that turned thinking off to answer faster, for example with <code>extra_body={"thinking": {"type": "disabled"}}</code>, and tools that send an effort of <code>off</code>, <code>none</code> or <code>disabled</code> (next section).</p>
<p><strong>Fix:</strong> remove the switch. To keep thinking short, send <code>reasoning_effort: "low"</code> instead.</p>
<p><strong>A leftover "enabled" block is a different case.</strong> AIHubMix's 24 October check sent K2.x's <code>thinking: {"type": "enabled"}</code> to K3.1 Pro and got 200, on the main IDs and on the coding channel. Moonshot's docs call <code>thinking</code> "a K2.x-only request parameter", and a third-party troubleshooting guide names a leftover block as a cause of 400s after a K2.x to K3 switch, so delete it anyway.</p>
<p>If you keep K2.7 Code as a fallback tier until it retires, keep its thinking on. Moonshot's Claude Code guide documents <code>400 invalid thinking: only type=enabled is allowed for this model</code> for K2.7 Code with thinking turned off.</p>
<h3 id="effort-values-off-none-and-unknown-values-return-400-in-kimi-code">Effort values: off, none and unknown values return 400 in Kimi Code</h3>
<p><strong>What you'll see:</strong> in Kimi Code, an HTTP 400 when the effort is <code>off</code>, <code>none</code>, <code>disabled</code> or a value Kimi Code doesn't recognise. K3.1 Pro has three levels, <code>low</code>, <code>high</code> and <code>max</code>. Moonshot's Kimi Code docs map what third-party tools send onto them:</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;">Your tool sends</th>
      <th style="text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">K3.1 Pro runs at</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Nothing</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">max (the default)</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">ultra, max or xhigh</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">max</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">high or medium</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">high</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">low, minimum or light</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">low</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">off, none or disabled</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">HTTP 400</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Any other value</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">HTTP 400</td>
    </tr>
  </tbody>
</table></div>
<p>Moonshot's API documents only <code>low</code>, <code>high</code> and <code>max</code> for K3.1 Pro, with <code>max</code> as the default, and doesn't describe a mapping. On AIHubMix, <code>low</code>, <code>medium</code>, <code>high</code>, <code>max</code> and <code>xhigh</code> all returned 200 on all four K3.1 Pro IDs on 24 October. On <code>kimi-k3.1-pro</code>, <code>off</code> and an unknown value returned 200 too, with reasoning, and <code>none</code> returned 200 with no reasoning at all. On AIHubMix these fail quietly, not with a 400.</p>
<p><strong>The quiet half:</strong> there is no medium level. A tool set to <code>medium</code> gets <code>high</code>, and one set to <code>xhigh</code> gets <code>max</code>, the most expensive level.</p>
<p><strong>Fix:</strong> send <code>low</code>, <code>high</code> or <code>max</code> explicitly, and check what your tool actually puts on the wire.</p>
<h3 id="invalid-temperature-only-1-is-allowed-for-this-model">"invalid temperature: only 1 is allowed for this model"</h3>
<p><strong>What you'll see:</strong> <code>400 invalid temperature: only 1 is allowed for this model</code>. AIHubMix's 24 October check got exactly this from <code>kimi-k3.1-pro</code> and <code>kimi-k3.1-pro-highspeed</code> when it sent <code>temperature: 0.2</code>. The same text had been reported against Moonshot's API for K3 on 3 October 2026, and against the Kimi Code endpoint for <code>k3</code> on 21 October.</p>
<p><strong>Why:</strong> Moonshot's parameter reference gives K3.1 Pro K3's constraints: temperature fixed at 1.0, top_p at 0.95, n at 1 and both penalties at 0, and other values return an error. K2.6 had a fixed value too, 0.6 with thinking off, so code that still sends 0.6 is the usual suspect.</p>
<p><strong>The exception that hides it:</strong> AIHubMix's coding channel accepted <code>temperature: 0.2</code> in the same check. Code tested only there can still break on the main IDs or on Moonshot's API.</p>
<p><strong>The trap that hides it further:</strong> many frameworks spot Kimi models by a <code>kimi-</code> prefix and strip temperature for them. Kimi Code's <code>k3.1-pro</code> and <code>k3.1-pro-highspeed</code> don't carry that prefix, and neither do AIHubMix's coding-channel IDs, which start with <code>coding-</code>. A <a href="https://github.com/NousResearch/hermes-agent/issues/142365">Hermes Agent issue</a> found exactly this on K3. The main chat path omitted temperature, but a helper call to <code>k3</code> still sent one and got the 400 every time.</p>
<p><strong>Fix:</strong> don't send <code>temperature</code>, <code>top_p</code>, <code>n</code>, <code>presence_penalty</code> or <code>frequency_penalty</code> at all. Match on the model family, not on a name prefix.</p>
<p>To check a route, send one request with a temperature:</p>
<pre><code class="language-bash">curl https://aihubmix.com/v1/chat/completions \
  -H "Authorization: Bearer $AIHUBMIX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "kimi-k3.1-pro", "temperature": 0.2, "messages": [{"role": "user", "content": "hi"}]}'
</code></pre>
<p>On 24 October this returned the 400 above. Run it against every model ID your code uses: the coding channel answered the same request with 200.</p>
<h3 id="stop-limits"><code>stop</code> limits</h3>
<p><strong>What you'll see:</strong> AIHubMix's July test of K3 returned these two messages:</p>
<ul>
<li><code>Invalid request: stop array too long. Expected an array with maximum length 5, but got an array with length 6 instead</code></li>
<li><code>Invalid request: stop sequence must not be longer than 32, but got 33 instead</code></li>
</ul>
<p><strong>Why:</strong> K3 accepts at most five stop sequences, each up to 32 bytes, and the Messages API applies the same checks to <code>stop_sequences</code>. Moonshot gives K3.1 Pro the same parameter constraints, so expect the same limits.</p>
<p><strong>Fix:</strong> trim the list. Note that 32 <em>bytes</em> is fewer than 32 characters in Chinese or Japanese.</p>
<h3 id="codex-on-moonshots-api-websearchsearchcontextsize-is-not-supported">Codex on Moonshot's API: "web_search.search_context_size is not supported"</h3>
<p><strong>What you'll see:</strong> <code>400 web_search.search_context_size is not supported</code>, quoted from Moonshot's Codex guide for K3.1 Pro. Through AIHubMix's coding channel, a Responses request with that field returned 200 on 24 October, so this error comes from Moonshot's own endpoint.</p>
<p><strong>Fix:</strong> remove <code>search_context_size</code> from your Codex config or tool definition. Codex doesn't send it by default.</p>
<h2 id="the-quiet-failures">The quiet failures</h2>
<p>These don't return errors. They show up later, on the bill, in your plan's quota, or in the output quality.</p>
<h3 id="effort-and-sessions">Effort and sessions</h3>
<ul>
<li><strong>The default is max, and in Kimi Code that's new.</strong> K3.1 Pro defaults to <code>max</code>. In Kimi Code, K3 defaulted to <code>high</code>, so a session that never sets an effort now thinks harder, uses more tokens and spends quota faster. On Moonshot's API, both K3 and K3.1 Pro default to <code>max</code>. Thinking bills as output: in AIHubMix's July one-prompt game build on K3, 73% of the 74,994 completion tokens were thinking.</li>
<li><strong>Low effort can still mean thousands of thinking tokens.</strong> In an AIHubMix spot check on 24 October, a prompt asking for a 600-word explanation made K3.1 Pro reason for 5,561 to 7,356 tokens at <code>low</code> before it answered, and one run hit the 8,192-token cap. K3 reasoned for 3,013 to 7,051 tokens on the same prompt, so this isn't new with K3.1 Pro, but <code>low</code> isn't a cheap mode on either; leave <code>max_completion_tokens</code> generous. That's one prompt and three runs per model on AIHubMix's main IDs, so measure on your own workload.</li>
<li><strong>Switching to K3.1 Pro inside an old session costs quality.</strong> Moonshot's Kimi Code docs advise against switching to the new models "within an existing K3 series, K2.8 Preview, or K2.7 Code Highspeed session": it degrades output quality and reduces cache hits. Start a new session.</li>
<li><strong>Changing model or effort invalidates the cache.</strong> Moonshot's Kimi Code docs say so for both, and K3's docs said switching effort "invalidates prefix-cache hits". Pick the model and the level when the session starts.</li>
</ul>
<h3 id="highspeed">Highspeed</h3>
<ul>
<li><strong>A mistyped Highspeed ID buys you a slower model.</strong> In Kimi Code, a wrong Highspeed ID "silently falls back to K2.8 Preview without thinking — no speedup." Copy the ID exactly, and check which model your logs show.</li>
<li><strong>Highspeed only speeds up model output.</strong> Moonshot puts K3.1 Pro Highspeed at about 2–3× the speed of K3.1 Pro, with identical capabilities. In AIHubMix's spot check on the main IDs (effort <code>low</code>, three runs each), its output ran about 1.6–1.75× Pro's speed. Tool calls and scripts don't get faster at all, so in a turn dominated by reading files and running tests the gain is small, while Kimi Code plans count about twice the quota.</li>
</ul>
<h3 id="protocols">Protocols</h3>
<ul>
<li><strong>Proxies can change behaviour.</strong> Moonshot's Kimi Code docs warn: "Protocol translation through proxy tools may cause model behavior to vary." Give each tool the protocol it speaks: Messages for Claude Code, Responses for Codex. AIHubMix serves both K3.1 Pro IDs on Chat Completions and Messages. Responses is the gap: on 27 October it returned <code>404 The model kimi-k3.1-pro is not available on this endpoint</code> for the main IDs, and only the coding channel answers there. In its 24 October checks the reasoning came back on each protocol tested, as <code>reasoning_content</code>, as a <code>reasoning</code> item and as <code>thinking</code> blocks.</li>
<li><strong>Structured output on the Messages API changed for the better.</strong> In AIHubMix's July test on K3, <code>/v1/messages</code> ignored a schema and returned free text. On 24 October, the same kind of request to K3.1 Pro, with a JSON schema in <code>output_config.format</code> and a prompt that didn't ask for JSON, returned <code>{"city":"Paris"}</code> on all four IDs. That's a one-field schema, so validate the output before you move JSON back to Messages. July's other Messages quirk, a stop-sequence hit returned as <code>end_turn</code> with <code>stop_sequence: null</code>, wasn't re-tested.</li>
</ul>
<h3 id="long-requests">Long requests</h3>
<ul>
<li><strong>Short timeouts fail even modest requests.</strong> In the spot check, K3.1 Pro's full answers at <code>low</code> took 80 to 99 seconds. A non-streaming client with a 60-second timeout would have failed every run, and a retry would pay for the same thinking again. On Moonshot's API, K3.1 Pro's default output limit is 131,072 tokens, up to 1,048,576, and AIHubMix's July game build on K3 ran 2,541 seconds in one request. Stream, and set timeouts in minutes.</li>
</ul>
<h3 id="carried-over-from-k3s-guides">Carried over from K3's guides</h3>
<p>These come from K3's guides:</p>
<ul>
<li><strong>Dropping <code>reasoning_content</code> degrades multi-turn quality.</strong> The full assistant message, including <code>reasoning_content</code> and <code>tool_calls</code>, has to go back unchanged. Code that keeps only <code>content</code> still runs, but Moonshot warns of unstable output quality.</li>
<li><strong>Dynamic tools vanish if you drop their message.</strong> K3 lets you load tools mid-conversation through a system message with no content. The server doesn't keep it, so it has to be resent with every request. On AIHubMix this works over Chat Completions: on 24 October, <code>kimi-k3.1-pro</code> called a tool injected this way. In AIHubMix's July K3 test, the Messages API ignored an injected tool.</li>
</ul>
<h2 id="billing-rules-that-are-easy-to-miss">Billing rules that are easy to miss</h2>
<p>The prices below are from Moonshot's official <a href="https://platform.kimi.ai/docs/pricing/chat">price list</a>, per million tokens. Cache writes are billed by TTL: 5 minutes by default, or 1 hour.</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;">Moonshot model ID</th>
      <th style="text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Input</th>
      <th style="text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Output</th>
      <th style="text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Cached input</th>
      <th style="text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Write, 5 min</th>
      <th style="text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Write, 1 hour</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">kimi-k3.1-pro</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">$2.00</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">$10.00</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">$0.20</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">$2.00</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">$4.00</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">kimi-k3.1-pro-highspeed</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">$4.00</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">$20.00</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">$0.20</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">$4.00</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">$8.00</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">kimi-k3</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">$3.00</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">$15.00</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">$0.30</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">$3.00</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">$6.00</td>
    </tr>
  </tbody>
</table></div>
<p>K3.1 Pro is a third cheaper than K3 on every line, and Highspeed costs exactly twice as much as Pro on everything except cached input. As with K3, a 5-minute write costs the same as uncached input: Moonshot says the write cost was already part of the input price, so requests on the default TTL cost no more than before.</p>
<p>A lower rate doesn't guarantee a smaller bill. Take AIHubMix's July one-prompt game build on K3: 74,994 output tokens, with 5,000 input tokens assumed. At the same token counts, it costs about $1.14 on K3, about $0.76 on K3.1 Pro (5,000 × $2.00 + 74,994 × $10.00, per million), and about $1.52 on Highspeed. Token counts vary with the prompt (the spot check put K3.1 Pro and K3 in the same range at <code>low</code>), so measure before you budget.</p>
<p>AIHubMix passes the cache TTL through: on 24 October, a Messages request with a top-level <code>cache_control</code> TTL of <code>1h</code> reported its write as 1-hour cache tokens, and a Chat Completions request with <code>prompt_cache_options</code> was accepted.</p>
<ul>
<li><strong>Caching is automatic.</strong> On K3 the default TTL is 5 minutes. In AIHubMix's 24 October checks, a repeated 93-token prompt came back fully cached on the coding channel but not on the main IDs. With a 7,658-token prompt, the second call to <code>kimi-k3.1-pro</code> came back with 7,424 cached tokens, over both Chat Completions and Messages.</li>
<li><strong>The 1-hour TTL</strong> costs $2.00 more per million tokens to write on K3.1 Pro ($4.00 against $2.00). Each hit saves $1.80 against uncached input, so by the arithmetic in Moonshot's caching guide, it pays off from the second hit.</li>
<li><strong>The TTL is locked at first write (K3).</strong> You can't upgrade an entry from 5 minutes to an hour. It has to expire first.</li>
<li><strong>Cost dashboards need a new field (K3).</strong> Cache writes appear as <code>prompt_tokens_details.cache_write_tokens</code> in Chat Completions, <code>input_tokens_details.cache_write_tokens</code> in Responses, and <code>cache_creation_input_tokens</code> in Messages.</li>
<li><strong>Reasoning is output.</strong> On K3, thinking tokens bill at the output rate at every effort level. Moonshot's price list shows no separate reasoning price for K3.1 Pro.</li>
</ul>
<p>Steps that lower the bill:</p>
<ol>
<li>Set <code>reasoning_effort</code> per workload instead of inheriting <code>max</code>. Try <code>low</code> for lookups and classification, and <code>high</code> for routine coding.</li>
<li>Keep the model and the effort fixed per session, and start a new session when you change either.</li>
<li>Put the stable parts first: system prompt, tool definitions, repository context. Then the changing turn.</li>
<li>Use Highspeed where waiting on model output is the bottleneck, not for loops dominated by tool calls.</li>
<li>Watch the share of thinking in completion tokens. If it stays above half on simple tasks, lower the effort.</li>
</ol>
<h2 id="agents-with-real-permissions">Agents with real permissions</h2>
<p>The Hermes Agent issue shows how a migration bug becomes a safety bug. Its "smart approval" classifier called <code>k3</code> with a temperature, and every call returned 400. In the reporter's words, the classifier "escalates (fail-open) on every call": the safety check stopped doing its job, and nothing in the main chat looked wrong.</p>
<p>K3.1 Pro keeps that trigger and adds one. Classifier calls are exactly the ones teams make fast and cheap by setting a low temperature or switching thinking off, and on K3.1 Pro neither works: a temperature can return a 400 on every call, and on AIHubMix a thinking-off request came back with no reasoning. If a safety check runs on K3.1 Pro, use <code>reasoning_effort: "low"</code> for speed, decide what an API error does, and make it fail closed.</p>
<p>A few more things matter for agents that act on their own:</p>
<ul>
<li><strong>Forced tool calls work.</strong> K3.1 Pro supports <code>tool_choice: "required"</code>, which K2.x rejected, so a K2.x workaround for forcing a tool call can go.</li>
<li><strong>Built-in web search isn't production-ready (K3).</strong> Moonshot's K3 guide says its web search "is being updated and is not recommended for production workflows in the near term". Treat it the same way on K3.1 Pro until Moonshot says otherwise. Through AIHubMix, a K3.1 Pro search loop didn't complete on 24 October: the model asked for <code>$web_search</code>, and sending the result back returned <code>400 Invalid request: tokenization failed</code>.</li>
<li><strong>Image inputs need base64.</strong> K3 doesn't fetch public image URLs, and on 24 October <code>kimi-k3.1-pro</code> on AIHubMix rejected one with <code>400 Invalid request: unsupported image url</code>, so an agent passing screenshot links gets an error. Moonshot's other option, a file ID from its own file upload, isn't served by AIHubMix: an <code>ms://</code> reference returned 404. A base64 image worked. K3.1 Pro also takes video input in Kimi Code.</li>
</ul>
<h2 id="coding-tools-claude-code-and-codex">Coding tools: Claude Code and Codex</h2>
<p>Claude Code uses the Anthropic Messages API and Codex uses the Responses API. AIHubMix serves <code>kimi-k3.1-pro</code> on Messages; on Responses it still returned 404 for that ID on 27 October, so the Codex section below points at <code>coding-kimi-k3.1-pro</code>. Moonshot's own Codex guide also connects Codex to K3.1 Pro over Responses. Install and base configuration are covered in AIHubMix's evergreen guides. Below is only what changes for K3.1 Pro.</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;"></th>
      <th style="text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Claude Code</th>
      <th style="text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Codex</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Protocol</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Anthropic Messages</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Responses</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Model ID to use</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">kimi-k3.1-pro</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">coding-kimi-k3.1-pro</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Base URL</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">https://aihubmix.com</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">https://aihubmix.com/v1</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Context to declare</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">1M</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">1048576</td>
    </tr>
    <tr>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">Effort to set</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">low, high or max</td>
      <td style="padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;">low, high or max</td>
    </tr>
  </tbody>
</table></div>
<p>Any effort value a tool sends beyond the three is mapped as in the effort table above.</p>
<h3 id="claude-code">Claude Code</h3>
<p>Follow the <a href="https://aihubmix.com/blog/claude-code-settings-json-and-environment-variables-base-url-auth-token-and-model">Claude Code settings.json guide</a>. Then set every model tier, not just the main one:</p>
<pre><code class="language-json">{
  "env": {
    "ANTHROPIC_BASE_URL": "https://aihubmix.com",
    "ANTHROPIC_AUTH_TOKEN": "sk-your-aihubmix-key",
    "ANTHROPIC_MODEL": "kimi-k3.1-pro",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "kimi-k3.1-pro",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "kimi-k3.1-pro",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "kimi-k3.1-pro",
    "ANTHROPIC_DEFAULT_FABLE_MODEL": "kimi-k3.1-pro",
    "CLAUDE_CODE_SUBAGENT_MODEL": "kimi-k3.1-pro"
  }
}
</code></pre>
<p>Known issues, from Moonshot's Kimi Code docs, its Claude Code guide (written for K3) and AIHubMix's tests:</p>
<ul>
<li><strong>Start a new session.</strong> Don't switch a running K3 session to K3.1 Pro. Open a new one, so the cache and the output quality start clean.</li>
<li><strong>Unset tiers fail silently.</strong> Claude Code uses different tiers for the main chat, summaries and sub-agents. Moonshot warns that configuring only some of them makes the rest "fail silently". You can point the Haiku tier at a cheaper model for background work.</li>
<li><strong>Stale settings win.</strong> Old values in the <code>env</code> block of <code>~/.claude/settings.json</code> override variables exported in your shell.</li>
<li><strong>1M context.</strong> Moonshot's K3 guide uses <code>kimi-k3[1m]</code> so Claude Code treats the window as 1M. <code>kimi-k3.1-pro[1m]</code> works the same way through AIHubMix: Claude Code drops the suffix before sending, and AIHubMix answered the resulting request, 1M-context header included, on 24 October. Only Claude Code understands the suffix. Sent as a model ID from any other client, <code>kimi-k3.1-pro[1m]</code> returns a 400.</li>
<li><strong>Effort.</strong> K3.1 Pro already defaults to <code>max</code>, the level Moonshot's K3 guide recommended with <code>CLAUDE_CODE_EFFORT_LEVEL=max</code>. For routine work, <code>high</code> spends fewer tokens. Whatever level Claude Code sends is mapped as in the effort table, and AIHubMix accepted all five tested values.</li>
<li><strong>Highspeed tiers.</strong> If you point a tier at <code>kimi-k3.1-pro-highspeed</code>, copy the ID exactly. On Kimi Code, a typo falls back silently; on AIHubMix, a mistyped ID returns a 400.</li>
</ul>
<h3 id="codex">Codex</h3>
<p>Codex only speaks the Responses API, so <code>wire_api = "responses"</code> is required. The <a href="https://aihubmix.com/blog/codex-config-toml-setup">Codex config.toml guide</a> covers the rest. Because <code>kimi-k3.1-pro</code> still returns 404 on <code>/v1/responses</code> (checked 27 October), point Codex at the coding-channel ID, which AIHubMix labels an evaluation preview rather than a production route:</p>
<pre><code class="language-toml">model = "coding-kimi-k3.1-pro"
model_provider = "aihubmix"
model_context_window = 1048576
model_reasoning_effort = "high"

[model_providers.aihubmix]
name = "AIHubMix"
base_url = "https://aihubmix.com/v1"
env_key = "AIHUBMIX_API_KEY"
wire_api = "responses"
</code></pre>
<ul>
<li><strong>Declare the context window.</strong> Without <code>model_context_window</code>, Codex falls back to default metadata for a model it doesn't know. Moonshot's Codex guide calls the resulting <code>Model metadata for coding-kimi-k3.1-pro not found</code> warning expected and harmless.</li>
<li><strong>Effort.</strong> Codex's own levels include <code>medium</code> and <code>xhigh</code>. Per the Kimi Code mapping they run as <code>high</code> and <code>max</code>, and AIHubMix accepted both on 24 October. Set <code>low</code>, <code>high</code> or <code>max</code> so you know which level you pay for.</li>
<li><strong>No <code>search_context_size</code>.</strong> If your config sets it, remove it (see the loud failures).</li>
<li><strong>Restart after edits.</strong> Codex reads config.toml only at startup. If CC Switch manages your Codex config, it may overwrite your edits.</li>
</ul>
<h3 id="a-15-minute-smoke-test">A 15-minute smoke test</h3>
<p>Run this once per tool, in a small repository with a test suite:</p>
<ol>
<li>Start a fresh session on K3.1 Pro. Don't continue one that ran on K3 or another model.</li>
<li>Ask: "Add a unit test for one function in this repo, run the tests, and fix anything that fails."</li>
<li><strong>Success looks like this:</strong> the model reads files and runs the tests (tool calls work). It continues after seeing the results, which shows reasoning and tool results are being passed back. It ends with green tests, and there's no 400 anywhere in the session.</li>
<li>In your AIHubMix usage log, check that the model ID is the one you set, and that later requests show cached input tokens for the stable prefix. If they never do, something in your prefix changes every turn.</li>
<li>Note the turn time and completion tokens. They're your baseline for choosing an effort level, and for judging whether Highspeed is worth it.</li>
</ol>
<h2 id="migration-checklist">Migration checklist</h2>
<ul>
<li>Use K3.1 Pro's ID: kimi-k3.1-pro on Moonshot's API and AIHubMix, for Codex too, and k3.1-pro in Kimi Code.</li>
<li>Move K2.x code before Moonshot retires the K2 series at the end of December 2026; new Moonshot accounts lose K2 access from 31 October.</li>
<li>Start a new session for K3.1 Pro instead of switching an old one.</li>
<li>Remove temperature, top_p, n and both penalties from every call path, including helper calls.</li>
<li>Remove every thinking-off switch, including effort values off, none and disabled, and delete leftover K2.x thinking blocks.</li>
<li>Send effort as low, high or max; medium runs as high, and xhigh as max.</li>
<li>Keep the model and the effort fixed within a session.</li>
<li>Copy the Highspeed ID exactly, and check the model in your usage log.</li>
<li>Keep stop lists to five entries of 32 bytes or less.</li>
<li>Pass back the full assistant message, including reasoning_content and tool_calls, and resend dynamic tool messages.</li>
<li>Stream long requests and set timeouts in minutes.</li>
<li>Validate structured output before moving JSON back to the Messages API.</li>
<li>Update cost tracking for the separate cache-write field.</li>
<li>Make safety checks fail closed on API errors.</li>
<li>Run the smoke test in each coding tool.</li>
</ul>
<h2 id="faq">FAQ</h2>
<p><strong>Why does K3.1 Pro return HTTP 400?</strong><br>
The usual causes are a temperature other than 1, thinking switched off, or an effort of off, none, disabled or an unknown value. The first comes from K3's fixed sampling rules, which K3.1 Pro keeps; the others are documented in Moonshot's Kimi Code docs. On AIHubMix's main IDs, only the temperature returned a 400 on 24 October; the others returned 200, and thinking off or none came back with no reasoning.</p>
<p><strong>Can I turn thinking off?</strong><br>
No. K3.1 Pro only runs in thinking mode. Set reasoning_effort to low to keep thinking short.</p>
<p><strong>Is temperature still rejected?</strong><br>
Yes on Moonshot's API and on AIHubMix's main IDs, which returned "invalid temperature: only 1 is allowed for this model" on 24 October 2026. AIHubMix's coding channel accepted a temperature of 0.2 in the same check. Leave temperature out on every route.</p>
<p><strong>When do the K2 models go away?</strong><br>
From 31 October 2026, newly registered Moonshot users can't use K2 series models, and Moonshot plans to retire all of them by the end of December 2026. AIHubMix still listed K2.6 and K2.7 Code on 24 October, with no retirement date.</p>
<p><strong>Why is my Kimi Code quota running out faster?</strong><br>
K3.1 Pro defaults to max effort, where K3 defaulted to high in Kimi Code, and Highspeed counts about twice the quota of the regular model. Set a lower effort for routine work and keep it fixed within a session.</p>
<p><strong>Why isn't Highspeed faster?</strong><br>
Either the ID is mistyped, which in Kimi Code silently falls back to K2.8 Preview without thinking, or tool calls dominate the turn. Highspeed only speeds up model output.</p>
<p><strong>Which AIHubMix endpoint should Codex use?</strong><br>
The Responses API at aihubmix.com/v1, with wire_api set to responses and the model set to coding-kimi-k3.1-pro: the main IDs still return 404 there, and only the coding channel answers. Under the main IDs, AIHubMix serves K3.1 Pro on Chat Completions and Messages.</p>
<h2 id="keep-reading-the-kimi-k31-pro-series">Keep reading: the Kimi K3.1 Pro series</h2>
<ul>
<li>Before you migrate, check whether the upgrade is worth it at all, from what changed to what one real task costs: <a href="https://aihubmix.com/blog/kimi-k3-1-pro-vs-k3-what-changed-what-it-costs-and-who-should-switch">Kimi K3.1 Pro vs K3: What Changed, What It Costs, and Who Should Switch</a></li>
<li>If the migration has you weighing alternatives, here is K3.1 Pro against Qwen 4 and Claude Fable 5.5, with what one front-end build costs on each: <a href="https://aihubmix.com/blog/kimi-k3-1-pro-vs-qwen-4-vs-claude-fable-5-5-front-end-quality-cost-per-task-and-the-hype-checked">Kimi K3.1 Pro vs Qwen 4 vs Claude Fable 5.5: Front-End Quality, Cost per Task, and the Hype Checked</a></li>
<li>If the Highspeed quota and price have you wondering whether the fast variant pays off, the speed-versus-price question gets its own post: <a href="https://aihubmix.com/blog/kimi-k3-1-pro-vs-k3-1-pro-highspeed-is-2-3x-the-speed-worth-2x-the-price">Kimi K3.1 Pro vs K3.1 Pro Highspeed: Is 2–3× the Speed Worth 2× the Price?</a></li>
</ul>
<h2 id="sources">Sources</h2>
<ul>
<li><a href="https://www.kimi.com/code/docs/en/kimi-code/models.html">Kimi Code: Model configuration</a></li>
<li><a href="https://platform.kimi.ai/docs/api/models-overview">Moonshot AI: Model parameter reference</a></li>
<li><a href="https://aihubmix.com/model/kimi-k3.1-pro">AIHubMix: Kimi K3.1 Pro model page</a></li>
<li><a href="https://docs.aihubmix.com/en/blogs/kimi-k3-guide">AIHubMix: Kimi K3 hands-on guide</a></li>
<li><a href="https://github.com/NousResearch/hermes-agent/issues/142365">Hermes Agent issue #142365: Kimi Code endpoint profile drift</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="#which-path-are-you-on" title="Which path are you on?">Which path are you on?</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#the-loud-failures" title="The loud failures">The loud failures</a><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#thinking-switched-off-http-400-or-no-reasoning-at-all" title="Thinking switched off: HTTP 400, or no reasoning at all">Thinking switched off: HTTP 400, or no reasoning at all</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#effort-values-off-none-and-unknown-values-return-400-in-kimi-code" title="Effort values: off, none and unknown values return 400 in Kimi Code">Effort values: off, none and unknown values return 400 in Kimi Code</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#invalid-temperature-only-1-is-allowed-for-this-model" title="&quot;invalid temperature: only 1 is allowed for this model&quot;">&quot;invalid temperature: only 1 is allowed for this model&quot;</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#stop-limits" title="stop limits">stop limits</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#codex-on-moonshots-api-websearchsearchcontextsize-is-not-supported" title="Codex on Moonshot&#x27;s API: &quot;web_search.search_context_size is not supported&quot;">Codex on Moonshot&#x27;s API: &quot;web_search.search_context_size is not supported&quot;</a></div></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#the-quiet-failures" title="The quiet failures">The quiet failures</a><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#effort-and-sessions" title="Effort and sessions">Effort and sessions</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#highspeed" title="Highspeed">Highspeed</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#protocols" title="Protocols">Protocols</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#long-requests" title="Long requests">Long requests</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#carried-over-from-k3s-guides" title="Carried over from K3&#x27;s guides">Carried over from K3&#x27;s guides</a></div></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#billing-rules-that-are-easy-to-miss" title="Billing rules that are easy to miss">Billing rules that are easy to miss</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#agents-with-real-permissions" title="Agents with real permissions">Agents with real permissions</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#coding-tools-claude-code-and-codex" title="Coding tools: Claude Code and Codex">Coding tools: Claude Code and Codex</a><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#claude-code" title="Claude Code">Claude Code</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#codex" title="Codex">Codex</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#a-15-minute-smoke-test" title="A 15-minute smoke test">A 15-minute smoke test</a></div></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#migration-checklist" title="Migration checklist">Migration checklist</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#faq" title="FAQ">FAQ</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#keep-reading-the-kimi-k31-pro-series" title="Keep reading: the Kimi K3.1 Pro series">Keep reading: the Kimi K3.1 Pro series</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#sources" title="Sources">Sources</a></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">Use Kimi K3.1 Pro on AIHubMix</p><a href="/model/kimi-k3.1-pro" aria-describedby="blog-cta-headline" class="sc-1c0xtl9-15 czYpSp">View model &amp; pricing<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></aside></div></div><script id="seo-jsonld-page" type="application/ld+json">{"@context":"https://schema.org","@type":"BlogPosting","headline":"Migrating to Kimi K3.1 Pro: Fix the 400s, Mind the Max-Effort Default, and Don't Mistype Highspeed","description":"Kimi K3.1 Pro is live in Kimi Code, on Moonshot's API as kimi-k3.1-pro, and on AIHubMix under the same ID. Moonshot gives it the same parameter constraints…","url":"https://aihubmix.com/blog/migrating-to-kimi-k3-1-pro-fix-the-400s-mind-the-max-effort-default-and-dont-mistype-highspeed","mainEntityOfPage":{"@type":"WebPage","@id":"https://aihubmix.com/blog/migrating-to-kimi-k3-1-pro-fix-the-400s-mind-the-max-effort-default-and-dont-mistype-highspeed"},"image":"https://aihubmix.com/blog-media/images/2026/10/15648b136974296f.png","inLanguage":"en","publisher":{"@type":"Organization","name":"AIHubMix","url":"https://aihubmix.com","logo":{"@type":"ImageObject","url":"https://aihubmix.com/logo.png"}},"datePublished":"2026-10-23T17:29:32.000+00:00","dateModified":"2026-10-27T05:58:48.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\":19,\"_20\":10},\"kind\",\"post\",\"locale\",\"en\",\"slug\",\"migrating-to-kimi-k3-1-pro-fix-the-400s-mind-the-max-effort-default-and-dont-mistype-highspeed\",{\"_11\":12,\"_29\":68,\"_31\":69,\"_33\":34,\"_70\":71,\"_35\":72,\"_37\":-5,\"_38\":34,\"_39\":73,\"_41\":74,\"_42\":75,\"_44\":45,\"_46\":76},\"related\",[25,26,27],\"modelCount\",714,\"ctaModel\",{\"_21\":22,\"_23\":24},\"htmlLang\",\"id\",\"kimi-k3.1-pro\",\"name\",\"Kimi K3.1 Pro\",{\"_11\":60,\"_29\":61,\"_31\":62,\"_33\":34,\"_35\":63,\"_37\":-5,\"_38\":34,\"_39\":64,\"_41\":65,\"_42\":57,\"_44\":45,\"_46\":66},{\"_11\":51,\"_29\":52,\"_31\":53,\"_33\":34,\"_35\":54,\"_37\":-5,\"_38\":34,\"_39\":55,\"_41\":56,\"_42\":57,\"_44\":45,\"_46\":58},{\"_11\":28,\"_29\":30,\"_31\":32,\"_33\":34,\"_35\":36,\"_37\":-5,\"_38\":34,\"_39\":40,\"_41\":40,\"_42\":43,\"_44\":45,\"_46\":47},\"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\",[48],{\"_23\":49,\"_11\":50},\"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,[59],{\"_23\":49,\"_11\":50},\"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\",[67],{\"_23\":49,\"_11\":50},\"Migrating to Kimi K3.1 Pro: Fix the 400s, Mind the Max-Effort Default, and Don't Mistype Highspeed\",\"Kimi K3.1 Pro is live in Kimi Code, on Moonshot's API as kimi-k3.1-pro, and on AIHubMix under the same ID. Moonshot gives it the same parameter constraints as Kimi K3, so code that already runs on K3 should move with a model-ID change and a fresh session. Code written for K2.x now has a deadline on Moonshot's platform: Moonshot closes the K2 series to newly registered users there on 31 October 2026 and plans to retire it by the end of December. That code is also the most likely to break, because\",\"html\",\"\u003cp\u003eKimi K3.1 Pro is live in Kimi Code, on Moonshot's API as \u003ccode\u003ekimi-k3.1-pro\u003c/code\u003e, and on \u003ca href=\\\"https://aihubmix.com/model/kimi-k3.1-pro\\\"\u003eAIHubMix\u003c/a\u003e under the same ID. Moonshot gives it the same parameter constraints as Kimi K3, so code that already runs on K3 should move with a model-ID change and a fresh session. Code written for K2.x now has a deadline on Moonshot's platform: Moonshot closes the K2 series to newly registered users there on 31 October 2026 and plans to retire it by the end of December. That code is also the most likely to break, because it tends to send a temperature or switch thinking off, and neither works on K3.1 Pro. And code that never set an effort level runs at max, which costs more tokens than you may expect and, in Kimi Code, more quota than K3 did.\u003c/p\u003e\\n\u003cp\u003eThis post lists what breaks loudly (the 400s), what breaks quietly (the bill, the cache, the Highspeed ID), and how to set up Claude Code and Codex for K3.1 Pro through AIHubMix. K3.1 Pro's rules come from Moonshot's \u003ca href=\\\"https://www.kimi.com/code/docs/en/kimi-code/models.html\\\"\u003eKimi Code model docs\u003c/a\u003e and its \u003ca href=\\\"https://platform.kimi.ai/docs/api/models-overview\\\"\u003emodel parameter reference\u003c/a\u003e, which gives both K3.1 Pro IDs \\\"the same parameter constraints as \u003ccode\u003ekimi-k3\u003c/code\u003e\\\". Rules labelled as K3's come from Moonshot's K3 guides and haven't been re-checked on K3.1 Pro. Error texts are quoted from the docs, from public reports, from \u003ca href=\\\"https://docs.aihubmix.com/en/blogs/kimi-k3-guide\\\"\u003eAIHubMix's July test of K3\u003c/a\u003e, and from AIHubMix's K3.1 Pro checks on 24 October 2026. Those checks covered the main IDs and the coding-channel IDs \u003ccode\u003ecoding-kimi-k3.1-pro\u003c/code\u003e and \u003ccode\u003ecoding-kimi-k3.1-pro-highspeed\u003c/code\u003e. Each claim says where it comes from.\u003c/p\u003e\\n\u003ch2 id=\\\"which-path-are-you-on\\\"\u003eWhich path are you on?\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;\\\"\u003eYou call Kimi through\u003c/th\u003e\\n      \u003cth style=\\\"text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eStatus on 24 October\u003c/th\u003e\\n      \u003cth style=\\\"text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eWhat you change\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;\\\"\u003eKimi Code (subscription)\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003ek3.1-pro is live\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003ePick the ID; new session\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;\\\"\u003eMoonshot API, kimi-k3\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003ekimi-k3.1-pro is live\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eModel ID\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;\\\"\u003eMoonshot API, K2.x\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eRetires by end of 2026\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eID, thinking, sampling\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;\\\"\u003eAIHubMix, kimi-k3\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003ekimi-k3.1-pro is live\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eModel ID\u003c/td\u003e\\n    \u003c/tr\u003e\\n  \u003c/tbody\u003e\\n\u003c/table\u003e\\n\u003cp\u003eOn Moonshot's API and on AIHubMix, the IDs are \u003ccode\u003ekimi-k3.1-pro\u003c/code\u003e and \u003ccode\u003ekimi-k3.1-pro-highspeed\u003c/code\u003e. In Kimi Code they're \u003ccode\u003ek3.1-pro\u003c/code\u003e and \u003ccode\u003ek3.1-pro-highspeed\u003c/code\u003e. A client config seen on 21 October mapped \u003ccode\u003ek3\u003c/code\u003e and \u003ccode\u003ekimi-for-coding\u003c/code\u003e to a \u003ccode\u003ek3.1\u003c/code\u003e model, but the Kimi Code docs now list \u003ccode\u003ek3\u003c/code\u003e as K3 and \u003ccode\u003ekimi-for-coding\u003c/code\u003e as K2.8 Preview, so pick K3.1 Pro explicitly. Your plan matters too: in Kimi Code, K3.1 Pro needs Plus or above (Pro for the 1M context), and Highspeed needs Pro or above. On legacy plans that's Moderato and above, and Allegretto for the 1M context and for Highspeed.\u003c/p\u003e\\n\u003cp\u003eThe K2 dates are Moonshot's. From 31 October 2026, K2 series models are no longer available to newly registered users, and all of them are due to retire by the end of December 2026. Moonshot hasn't announced a retirement date for K3. AIHubMix still listed K2.6 and K2.7 Code on 24 October, with no retirement date.\u003c/p\u003e\\n\u003ch2 id=\\\"the-loud-failures\\\"\u003eThe loud failures\u003c/h2\u003e\\n\u003ch3 id=\\\"thinking-switched-off-http-400-or-no-reasoning-at-all\\\"\u003eThinking switched off: HTTP 400, or no reasoning at all\u003c/h3\u003e\\n\u003cp\u003e\u003cstrong\u003eWhat you'll see:\u003c/strong\u003e an HTTP 400 in Kimi Code. Moonshot's Kimi Code docs say K3.1 Pro models \\\"only support thinking mode. Requests with thinking disabled are rejected.\\\" The docs don't quote the error body. On Moonshot's API, K3.1 Pro takes K3's constraints, and K3 always reasons. Through AIHubMix there's no 400: on 24 October, \u003ccode\u003ethinking: {\\\"type\\\": \\\"disabled\\\"}\u003c/code\u003e returned 200 with no reasoning in the response, on both main IDs over Chat Completions and on \u003ccode\u003ekimi-k3.1-pro\u003c/code\u003e over Messages. There it's a quiet failure, so check responses for missing reasoning.\u003c/p\u003e\\n\u003cp\u003e\u003cstrong\u003eWhere it comes from:\u003c/strong\u003e K2.x code that turned thinking off to answer faster, for example with \u003ccode\u003eextra_body={\\\"thinking\\\": {\\\"type\\\": \\\"disabled\\\"}}\u003c/code\u003e, and tools that send an effort of \u003ccode\u003eoff\u003c/code\u003e, \u003ccode\u003enone\u003c/code\u003e or \u003ccode\u003edisabled\u003c/code\u003e (next section).\u003c/p\u003e\\n\u003cp\u003e\u003cstrong\u003eFix:\u003c/strong\u003e remove the switch. To keep thinking short, send \u003ccode\u003ereasoning_effort: \\\"low\\\"\u003c/code\u003e instead.\u003c/p\u003e\\n\u003cp\u003e\u003cstrong\u003eA leftover \\\"enabled\\\" block is a different case.\u003c/strong\u003e AIHubMix's 24 October check sent K2.x's \u003ccode\u003ethinking: {\\\"type\\\": \\\"enabled\\\"}\u003c/code\u003e to K3.1 Pro and got 200, on the main IDs and on the coding channel. Moonshot's docs call \u003ccode\u003ethinking\u003c/code\u003e \\\"a K2.x-only request parameter\\\", and a third-party troubleshooting guide names a leftover block as a cause of 400s after a K2.x to K3 switch, so delete it anyway.\u003c/p\u003e\\n\u003cp\u003eIf you keep K2.7 Code as a fallback tier until it retires, keep its thinking on. Moonshot's Claude Code guide documents \u003ccode\u003e400 invalid thinking: only type=enabled is allowed for this model\u003c/code\u003e for K2.7 Code with thinking turned off.\u003c/p\u003e\\n\u003ch3 id=\\\"effort-values-off-none-and-unknown-values-return-400-in-kimi-code\\\"\u003eEffort values: off, none and unknown values return 400 in Kimi Code\u003c/h3\u003e\\n\u003cp\u003e\u003cstrong\u003eWhat you'll see:\u003c/strong\u003e in Kimi Code, an HTTP 400 when the effort is \u003ccode\u003eoff\u003c/code\u003e, \u003ccode\u003enone\u003c/code\u003e, \u003ccode\u003edisabled\u003c/code\u003e or a value Kimi Code doesn't recognise. K3.1 Pro has three levels, \u003ccode\u003elow\u003c/code\u003e, \u003ccode\u003ehigh\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e. Moonshot's Kimi Code docs map what third-party tools send onto them:\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;\\\"\u003eYour tool sends\u003c/th\u003e\\n      \u003cth style=\\\"text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eK3.1 Pro runs at\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;\\\"\u003eNothing\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003emax (the default)\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;\\\"\u003eultra, max or xhigh\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003emax\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;\\\"\u003ehigh or medium\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003ehigh\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;\\\"\u003elow, minimum or light\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003elow\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;\\\"\u003eoff, none or disabled\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eHTTP 400\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;\\\"\u003eAny other value\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eHTTP 400\u003c/td\u003e\\n    \u003c/tr\u003e\\n  \u003c/tbody\u003e\\n\u003c/table\u003e\\n\u003cp\u003eMoonshot's API documents only \u003ccode\u003elow\u003c/code\u003e, \u003ccode\u003ehigh\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e for K3.1 Pro, with \u003ccode\u003emax\u003c/code\u003e as the default, and doesn't describe a mapping. On AIHubMix, \u003ccode\u003elow\u003c/code\u003e, \u003ccode\u003emedium\u003c/code\u003e, \u003ccode\u003ehigh\u003c/code\u003e, \u003ccode\u003emax\u003c/code\u003e and \u003ccode\u003exhigh\u003c/code\u003e all returned 200 on all four K3.1 Pro IDs on 24 October. On \u003ccode\u003ekimi-k3.1-pro\u003c/code\u003e, \u003ccode\u003eoff\u003c/code\u003e and an unknown value returned 200 too, with reasoning, and \u003ccode\u003enone\u003c/code\u003e returned 200 with no reasoning at all. On AIHubMix these fail quietly, not with a 400.\u003c/p\u003e\\n\u003cp\u003e\u003cstrong\u003eThe quiet half:\u003c/strong\u003e there is no medium level. A tool set to \u003ccode\u003emedium\u003c/code\u003e gets \u003ccode\u003ehigh\u003c/code\u003e, and one set to \u003ccode\u003exhigh\u003c/code\u003e gets \u003ccode\u003emax\u003c/code\u003e, the most expensive level.\u003c/p\u003e\\n\u003cp\u003e\u003cstrong\u003eFix:\u003c/strong\u003e send \u003ccode\u003elow\u003c/code\u003e, \u003ccode\u003ehigh\u003c/code\u003e or \u003ccode\u003emax\u003c/code\u003e explicitly, and check what your tool actually puts on the wire.\u003c/p\u003e\\n\u003ch3 id=\\\"invalid-temperature-only-1-is-allowed-for-this-model\\\"\u003e\\\"invalid temperature: only 1 is allowed for this model\\\"\u003c/h3\u003e\\n\u003cp\u003e\u003cstrong\u003eWhat you'll see:\u003c/strong\u003e \u003ccode\u003e400 invalid temperature: only 1 is allowed for this model\u003c/code\u003e. AIHubMix's 24 October check got exactly this from \u003ccode\u003ekimi-k3.1-pro\u003c/code\u003e and \u003ccode\u003ekimi-k3.1-pro-highspeed\u003c/code\u003e when it sent \u003ccode\u003etemperature: 0.2\u003c/code\u003e. The same text had been reported against Moonshot's API for K3 on 3 October 2026, and against the Kimi Code endpoint for \u003ccode\u003ek3\u003c/code\u003e on 21 October.\u003c/p\u003e\\n\u003cp\u003e\u003cstrong\u003eWhy:\u003c/strong\u003e Moonshot's parameter reference gives K3.1 Pro K3's constraints: temperature fixed at 1.0, top_p at 0.95, n at 1 and both penalties at 0, and other values return an error. K2.6 had a fixed value too, 0.6 with thinking off, so code that still sends 0.6 is the usual suspect.\u003c/p\u003e\\n\u003cp\u003e\u003cstrong\u003eThe exception that hides it:\u003c/strong\u003e AIHubMix's coding channel accepted \u003ccode\u003etemperature: 0.2\u003c/code\u003e in the same check. Code tested only there can still break on the main IDs or on Moonshot's API.\u003c/p\u003e\\n\u003cp\u003e\u003cstrong\u003eThe trap that hides it further:\u003c/strong\u003e many frameworks spot Kimi models by a \u003ccode\u003ekimi-\u003c/code\u003e prefix and strip temperature for them. Kimi Code's \u003ccode\u003ek3.1-pro\u003c/code\u003e and \u003ccode\u003ek3.1-pro-highspeed\u003c/code\u003e don't carry that prefix, and neither do AIHubMix's coding-channel IDs, which start with \u003ccode\u003ecoding-\u003c/code\u003e. A \u003ca href=\\\"https://github.com/NousResearch/hermes-agent/issues/142365\\\"\u003eHermes Agent issue\u003c/a\u003e found exactly this on K3. The main chat path omitted temperature, but a helper call to \u003ccode\u003ek3\u003c/code\u003e still sent one and got the 400 every time.\u003c/p\u003e\\n\u003cp\u003e\u003cstrong\u003eFix:\u003c/strong\u003e don't send \u003ccode\u003etemperature\u003c/code\u003e, \u003ccode\u003etop_p\u003c/code\u003e, \u003ccode\u003en\u003c/code\u003e, \u003ccode\u003epresence_penalty\u003c/code\u003e or \u003ccode\u003efrequency_penalty\u003c/code\u003e at all. Match on the model family, not on a name prefix.\u003c/p\u003e\\n\u003cp\u003eTo check a route, send one request with a temperature:\u003c/p\u003e\\n\u003cpre\u003e\u003ccode class=\\\"language-bash\\\"\u003ecurl https://aihubmix.com/v1/chat/completions \\\\\\n  -H \\\"Authorization: Bearer $AIHUBMIX_API_KEY\\\" \\\\\\n  -H \\\"Content-Type: application/json\\\" \\\\\\n  -d '{\\\"model\\\": \\\"kimi-k3.1-pro\\\", \\\"temperature\\\": 0.2, \\\"messages\\\": [{\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"hi\\\"}]}'\\n\u003c/code\u003e\u003c/pre\u003e\\n\u003cp\u003eOn 24 October this returned the 400 above. Run it against every model ID your code uses: the coding channel answered the same request with 200.\u003c/p\u003e\\n\u003ch3 id=\\\"stop-limits\\\"\u003e\u003ccode\u003estop\u003c/code\u003e limits\u003c/h3\u003e\\n\u003cp\u003e\u003cstrong\u003eWhat you'll see:\u003c/strong\u003e AIHubMix's July test of K3 returned these two messages:\u003c/p\u003e\\n\u003cul\u003e\\n\u003cli\u003e\u003ccode\u003eInvalid request: stop array too long. Expected an array with maximum length 5, but got an array with length 6 instead\u003c/code\u003e\u003c/li\u003e\\n\u003cli\u003e\u003ccode\u003eInvalid request: stop sequence must not be longer than 32, but got 33 instead\u003c/code\u003e\u003c/li\u003e\\n\u003c/ul\u003e\\n\u003cp\u003e\u003cstrong\u003eWhy:\u003c/strong\u003e K3 accepts at most five stop sequences, each up to 32 bytes, and the Messages API applies the same checks to \u003ccode\u003estop_sequences\u003c/code\u003e. Moonshot gives K3.1 Pro the same parameter constraints, so expect the same limits.\u003c/p\u003e\\n\u003cp\u003e\u003cstrong\u003eFix:\u003c/strong\u003e trim the list. Note that 32 \u003cem\u003ebytes\u003c/em\u003e is fewer than 32 characters in Chinese or Japanese.\u003c/p\u003e\\n\u003ch3 id=\\\"codex-on-moonshots-api-websearchsearchcontextsize-is-not-supported\\\"\u003eCodex on Moonshot's API: \\\"web_search.search_context_size is not supported\\\"\u003c/h3\u003e\\n\u003cp\u003e\u003cstrong\u003eWhat you'll see:\u003c/strong\u003e \u003ccode\u003e400 web_search.search_context_size is not supported\u003c/code\u003e, quoted from Moonshot's Codex guide for K3.1 Pro. Through AIHubMix's coding channel, a Responses request with that field returned 200 on 24 October, so this error comes from Moonshot's own endpoint.\u003c/p\u003e\\n\u003cp\u003e\u003cstrong\u003eFix:\u003c/strong\u003e remove \u003ccode\u003esearch_context_size\u003c/code\u003e from your Codex config or tool definition. Codex doesn't send it by default.\u003c/p\u003e\\n\u003ch2 id=\\\"the-quiet-failures\\\"\u003eThe quiet failures\u003c/h2\u003e\\n\u003cp\u003eThese don't return errors. They show up later, on the bill, in your plan's quota, or in the output quality.\u003c/p\u003e\\n\u003ch3 id=\\\"effort-and-sessions\\\"\u003eEffort and sessions\u003c/h3\u003e\\n\u003cul\u003e\\n\u003cli\u003e\u003cstrong\u003eThe default is max, and in Kimi Code that's new.\u003c/strong\u003e K3.1 Pro defaults to \u003ccode\u003emax\u003c/code\u003e. In Kimi Code, K3 defaulted to \u003ccode\u003ehigh\u003c/code\u003e, so a session that never sets an effort now thinks harder, uses more tokens and spends quota faster. On Moonshot's API, both K3 and K3.1 Pro default to \u003ccode\u003emax\u003c/code\u003e. Thinking bills as output: in AIHubMix's July one-prompt game build on K3, 73% of the 74,994 completion tokens were thinking.\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eLow effort can still mean thousands of thinking tokens.\u003c/strong\u003e In an AIHubMix spot check on 24 October, a prompt asking for a 600-word explanation made K3.1 Pro reason for 5,561 to 7,356 tokens at \u003ccode\u003elow\u003c/code\u003e before it answered, and one run hit the 8,192-token cap. K3 reasoned for 3,013 to 7,051 tokens on the same prompt, so this isn't new with K3.1 Pro, but \u003ccode\u003elow\u003c/code\u003e isn't a cheap mode on either; leave \u003ccode\u003emax_completion_tokens\u003c/code\u003e generous. That's one prompt and three runs per model on AIHubMix's main IDs, so measure on your own workload.\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eSwitching to K3.1 Pro inside an old session costs quality.\u003c/strong\u003e Moonshot's Kimi Code docs advise against switching to the new models \\\"within an existing K3 series, K2.8 Preview, or K2.7 Code Highspeed session\\\": it degrades output quality and reduces cache hits. Start a new session.\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eChanging model or effort invalidates the cache.\u003c/strong\u003e Moonshot's Kimi Code docs say so for both, and K3's docs said switching effort \\\"invalidates prefix-cache hits\\\". Pick the model and the level when the session starts.\u003c/li\u003e\\n\u003c/ul\u003e\\n\u003ch3 id=\\\"highspeed\\\"\u003eHighspeed\u003c/h3\u003e\\n\u003cul\u003e\\n\u003cli\u003e\u003cstrong\u003eA mistyped Highspeed ID buys you a slower model.\u003c/strong\u003e In Kimi Code, a wrong Highspeed ID \\\"silently falls back to K2.8 Preview without thinking — no speedup.\\\" Copy the ID exactly, and check which model your logs show.\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eHighspeed only speeds up model output.\u003c/strong\u003e Moonshot puts K3.1 Pro Highspeed at about 2–3× the speed of K3.1 Pro, with identical capabilities. In AIHubMix's spot check on the main IDs (effort \u003ccode\u003elow\u003c/code\u003e, three runs each), its output ran about 1.6–1.75× Pro's speed. Tool calls and scripts don't get faster at all, so in a turn dominated by reading files and running tests the gain is small, while Kimi Code plans count about twice the quota.\u003c/li\u003e\\n\u003c/ul\u003e\\n\u003ch3 id=\\\"protocols\\\"\u003eProtocols\u003c/h3\u003e\\n\u003cul\u003e\\n\u003cli\u003e\u003cstrong\u003eProxies can change behaviour.\u003c/strong\u003e Moonshot's Kimi Code docs warn: \\\"Protocol translation through proxy tools may cause model behavior to vary.\\\" Give each tool the protocol it speaks: Messages for Claude Code, Responses for Codex. AIHubMix serves both K3.1 Pro IDs on Chat Completions and Messages. Responses is the gap: on 27 October it returned \u003ccode\u003e404 The model kimi-k3.1-pro is not available on this endpoint\u003c/code\u003e for the main IDs, and only the coding channel answers there. In its 24 October checks the reasoning came back on each protocol tested, as \u003ccode\u003ereasoning_content\u003c/code\u003e, as a \u003ccode\u003ereasoning\u003c/code\u003e item and as \u003ccode\u003ethinking\u003c/code\u003e blocks.\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eStructured output on the Messages API changed for the better.\u003c/strong\u003e In AIHubMix's July test on K3, \u003ccode\u003e/v1/messages\u003c/code\u003e ignored a schema and returned free text. On 24 October, the same kind of request to K3.1 Pro, with a JSON schema in \u003ccode\u003eoutput_config.format\u003c/code\u003e and a prompt that didn't ask for JSON, returned \u003ccode\u003e{\\\"city\\\":\\\"Paris\\\"}\u003c/code\u003e on all four IDs. That's a one-field schema, so validate the output before you move JSON back to Messages. July's other Messages quirk, a stop-sequence hit returned as \u003ccode\u003eend_turn\u003c/code\u003e with \u003ccode\u003estop_sequence: null\u003c/code\u003e, wasn't re-tested.\u003c/li\u003e\\n\u003c/ul\u003e\\n\u003ch3 id=\\\"long-requests\\\"\u003eLong requests\u003c/h3\u003e\\n\u003cul\u003e\\n\u003cli\u003e\u003cstrong\u003eShort timeouts fail even modest requests.\u003c/strong\u003e In the spot check, K3.1 Pro's full answers at \u003ccode\u003elow\u003c/code\u003e took 80 to 99 seconds. A non-streaming client with a 60-second timeout would have failed every run, and a retry would pay for the same thinking again. On Moonshot's API, K3.1 Pro's default output limit is 131,072 tokens, up to 1,048,576, and AIHubMix's July game build on K3 ran 2,541 seconds in one request. Stream, and set timeouts in minutes.\u003c/li\u003e\\n\u003c/ul\u003e\\n\u003ch3 id=\\\"carried-over-from-k3s-guides\\\"\u003eCarried over from K3's guides\u003c/h3\u003e\\n\u003cp\u003eThese come from K3's guides:\u003c/p\u003e\\n\u003cul\u003e\\n\u003cli\u003e\u003cstrong\u003eDropping \u003ccode\u003ereasoning_content\u003c/code\u003e degrades multi-turn quality.\u003c/strong\u003e The full assistant message, including \u003ccode\u003ereasoning_content\u003c/code\u003e and \u003ccode\u003etool_calls\u003c/code\u003e, has to go back unchanged. Code that keeps only \u003ccode\u003econtent\u003c/code\u003e still runs, but Moonshot warns of unstable output quality.\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eDynamic tools vanish if you drop their message.\u003c/strong\u003e K3 lets you load tools mid-conversation through a system message with no content. The server doesn't keep it, so it has to be resent with every request. On AIHubMix this works over Chat Completions: on 24 October, \u003ccode\u003ekimi-k3.1-pro\u003c/code\u003e called a tool injected this way. In AIHubMix's July K3 test, the Messages API ignored an injected tool.\u003c/li\u003e\\n\u003c/ul\u003e\\n\u003ch2 id=\\\"billing-rules-that-are-easy-to-miss\\\"\u003eBilling rules that are easy to miss\u003c/h2\u003e\\n\u003cp\u003eThe prices below are from Moonshot's official \u003ca href=\\\"https://platform.kimi.ai/docs/pricing/chat\\\"\u003eprice list\u003c/a\u003e, per million tokens. Cache writes are billed by TTL: 5 minutes by default, or 1 hour.\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;\\\"\u003eMoonshot model ID\u003c/th\u003e\\n      \u003cth style=\\\"text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eInput\u003c/th\u003e\\n      \u003cth style=\\\"text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eOutput\u003c/th\u003e\\n      \u003cth style=\\\"text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eCached input\u003c/th\u003e\\n      \u003cth style=\\\"text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eWrite, 5 min\u003c/th\u003e\\n      \u003cth style=\\\"text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eWrite, 1 hour\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;\\\"\u003ekimi-k3.1-pro\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003e$2.00\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003e$10.00\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003e$0.20\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003e$2.00\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003e$4.00\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;\\\"\u003ekimi-k3.1-pro-highspeed\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003e$4.00\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003e$20.00\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003e$0.20\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003e$4.00\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003e$8.00\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;\\\"\u003ekimi-k3\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003e$3.00\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003e$15.00\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003e$0.30\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003e$3.00\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003e$6.00\u003c/td\u003e\\n    \u003c/tr\u003e\\n  \u003c/tbody\u003e\\n\u003c/table\u003e\\n\u003cp\u003eK3.1 Pro is a third cheaper than K3 on every line, and Highspeed costs exactly twice as much as Pro on everything except cached input. As with K3, a 5-minute write costs the same as uncached input: Moonshot says the write cost was already part of the input price, so requests on the default TTL cost no more than before.\u003c/p\u003e\\n\u003cp\u003eA lower rate doesn't guarantee a smaller bill. Take AIHubMix's July one-prompt game build on K3: 74,994 output tokens, with 5,000 input tokens assumed. At the same token counts, it costs about $1.14 on K3, about $0.76 on K3.1 Pro (5,000 × $2.00 + 74,994 × $10.00, per million), and about $1.52 on Highspeed. Token counts vary with the prompt (the spot check put K3.1 Pro and K3 in the same range at \u003ccode\u003elow\u003c/code\u003e), so measure before you budget.\u003c/p\u003e\\n\u003cp\u003eAIHubMix passes the cache TTL through: on 24 October, a Messages request with a top-level \u003ccode\u003ecache_control\u003c/code\u003e TTL of \u003ccode\u003e1h\u003c/code\u003e reported its write as 1-hour cache tokens, and a Chat Completions request with \u003ccode\u003eprompt_cache_options\u003c/code\u003e was accepted.\u003c/p\u003e\\n\u003cul\u003e\\n\u003cli\u003e\u003cstrong\u003eCaching is automatic.\u003c/strong\u003e On K3 the default TTL is 5 minutes. In AIHubMix's 24 October checks, a repeated 93-token prompt came back fully cached on the coding channel but not on the main IDs. With a 7,658-token prompt, the second call to \u003ccode\u003ekimi-k3.1-pro\u003c/code\u003e came back with 7,424 cached tokens, over both Chat Completions and Messages.\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eThe 1-hour TTL\u003c/strong\u003e costs $2.00 more per million tokens to write on K3.1 Pro ($4.00 against $2.00). Each hit saves $1.80 against uncached input, so by the arithmetic in Moonshot's caching guide, it pays off from the second hit.\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eThe TTL is locked at first write (K3).\u003c/strong\u003e You can't upgrade an entry from 5 minutes to an hour. It has to expire first.\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eCost dashboards need a new field (K3).\u003c/strong\u003e Cache writes appear as \u003ccode\u003eprompt_tokens_details.cache_write_tokens\u003c/code\u003e in Chat Completions, \u003ccode\u003einput_tokens_details.cache_write_tokens\u003c/code\u003e in Responses, and \u003ccode\u003ecache_creation_input_tokens\u003c/code\u003e in Messages.\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eReasoning is output.\u003c/strong\u003e On K3, thinking tokens bill at the output rate at every effort level. Moonshot's price list shows no separate reasoning price for K3.1 Pro.\u003c/li\u003e\\n\u003c/ul\u003e\\n\u003cp\u003eSteps that lower the bill:\u003c/p\u003e\\n\u003col\u003e\\n\u003cli\u003eSet \u003ccode\u003ereasoning_effort\u003c/code\u003e per workload instead of inheriting \u003ccode\u003emax\u003c/code\u003e. Try \u003ccode\u003elow\u003c/code\u003e for lookups and classification, and \u003ccode\u003ehigh\u003c/code\u003e for routine coding.\u003c/li\u003e\\n\u003cli\u003eKeep the model and the effort fixed per session, and start a new session when you change either.\u003c/li\u003e\\n\u003cli\u003ePut the stable parts first: system prompt, tool definitions, repository context. Then the changing turn.\u003c/li\u003e\\n\u003cli\u003eUse Highspeed where waiting on model output is the bottleneck, not for loops dominated by tool calls.\u003c/li\u003e\\n\u003cli\u003eWatch the share of thinking in completion tokens. If it stays above half on simple tasks, lower the effort.\u003c/li\u003e\\n\u003c/ol\u003e\\n\u003ch2 id=\\\"agents-with-real-permissions\\\"\u003eAgents with real permissions\u003c/h2\u003e\\n\u003cp\u003eThe Hermes Agent issue shows how a migration bug becomes a safety bug. Its \\\"smart approval\\\" classifier called \u003ccode\u003ek3\u003c/code\u003e with a temperature, and every call returned 400. In the reporter's words, the classifier \\\"escalates (fail-open) on every call\\\": the safety check stopped doing its job, and nothing in the main chat looked wrong.\u003c/p\u003e\\n\u003cp\u003eK3.1 Pro keeps that trigger and adds one. Classifier calls are exactly the ones teams make fast and cheap by setting a low temperature or switching thinking off, and on K3.1 Pro neither works: a temperature can return a 400 on every call, and on AIHubMix a thinking-off request came back with no reasoning. If a safety check runs on K3.1 Pro, use \u003ccode\u003ereasoning_effort: \\\"low\\\"\u003c/code\u003e for speed, decide what an API error does, and make it fail closed.\u003c/p\u003e\\n\u003cp\u003eA few more things matter for agents that act on their own:\u003c/p\u003e\\n\u003cul\u003e\\n\u003cli\u003e\u003cstrong\u003eForced tool calls work.\u003c/strong\u003e K3.1 Pro supports \u003ccode\u003etool_choice: \\\"required\\\"\u003c/code\u003e, which K2.x rejected, so a K2.x workaround for forcing a tool call can go.\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eBuilt-in web search isn't production-ready (K3).\u003c/strong\u003e Moonshot's K3 guide says its web search \\\"is being updated and is not recommended for production workflows in the near term\\\". Treat it the same way on K3.1 Pro until Moonshot says otherwise. Through AIHubMix, a K3.1 Pro search loop didn't complete on 24 October: the model asked for \u003ccode\u003e$web_search\u003c/code\u003e, and sending the result back returned \u003ccode\u003e400 Invalid request: tokenization failed\u003c/code\u003e.\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eImage inputs need base64.\u003c/strong\u003e K3 doesn't fetch public image URLs, and on 24 October \u003ccode\u003ekimi-k3.1-pro\u003c/code\u003e on AIHubMix rejected one with \u003ccode\u003e400 Invalid request: unsupported image url\u003c/code\u003e, so an agent passing screenshot links gets an error. Moonshot's other option, a file ID from its own file upload, isn't served by AIHubMix: an \u003ccode\u003ems://\u003c/code\u003e reference returned 404. A base64 image worked. K3.1 Pro also takes video input in Kimi Code.\u003c/li\u003e\\n\u003c/ul\u003e\\n\u003ch2 id=\\\"coding-tools-claude-code-and-codex\\\"\u003eCoding tools: Claude Code and Codex\u003c/h2\u003e\\n\u003cp\u003eClaude Code uses the Anthropic Messages API and Codex uses the Responses API. AIHubMix serves \u003ccode\u003ekimi-k3.1-pro\u003c/code\u003e on Messages; on Responses it still returned 404 for that ID on 27 October, so the Codex section below points at \u003ccode\u003ecoding-kimi-k3.1-pro\u003c/code\u003e. Moonshot's own Codex guide also connects Codex to K3.1 Pro over Responses. Install and base configuration are covered in AIHubMix's evergreen guides. Below is only what changes for K3.1 Pro.\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;\\\"\u003e\u003c/th\u003e\\n      \u003cth style=\\\"text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eClaude Code\u003c/th\u003e\\n      \u003cth style=\\\"text-align: left; padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eCodex\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;\\\"\u003eProtocol\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eAnthropic Messages\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003eResponses\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;\\\"\u003eModel ID to use\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003ekimi-k3.1-pro\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003ecoding-kimi-k3.1-pro\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;\\\"\u003eBase URL\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003ehttps://aihubmix.com\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003ehttps://aihubmix.com/v1\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;\\\"\u003eContext to declare\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003e1M\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003e1048576\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;\\\"\u003eEffort to set\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003elow, high or max\u003c/td\u003e\\n      \u003ctd style=\\\"padding: 10px 12px; background-color: #ffffff; color: #333333; border: 1px solid #d0d0d0;\\\"\u003elow, high or max\u003c/td\u003e\\n    \u003c/tr\u003e\\n  \u003c/tbody\u003e\\n\u003c/table\u003e\\n\u003cp\u003eAny effort value a tool sends beyond the three is mapped as in the effort table above.\u003c/p\u003e\\n\u003ch3 id=\\\"claude-code\\\"\u003eClaude Code\u003c/h3\u003e\\n\u003cp\u003eFollow the \u003ca href=\\\"https://aihubmix.com/blog/claude-code-settings-json-and-environment-variables-base-url-auth-token-and-model\\\"\u003eClaude Code settings.json guide\u003c/a\u003e. Then set every model tier, not just the main one:\u003c/p\u003e\\n\u003cpre\u003e\u003ccode class=\\\"language-json\\\"\u003e{\\n  \\\"env\\\": {\\n    \\\"ANTHROPIC_BASE_URL\\\": \\\"https://aihubmix.com\\\",\\n    \\\"ANTHROPIC_AUTH_TOKEN\\\": \\\"sk-your-aihubmix-key\\\",\\n    \\\"ANTHROPIC_MODEL\\\": \\\"kimi-k3.1-pro\\\",\\n    \\\"ANTHROPIC_DEFAULT_OPUS_MODEL\\\": \\\"kimi-k3.1-pro\\\",\\n    \\\"ANTHROPIC_DEFAULT_SONNET_MODEL\\\": \\\"kimi-k3.1-pro\\\",\\n    \\\"ANTHROPIC_DEFAULT_HAIKU_MODEL\\\": \\\"kimi-k3.1-pro\\\",\\n    \\\"ANTHROPIC_DEFAULT_FABLE_MODEL\\\": \\\"kimi-k3.1-pro\\\",\\n    \\\"CLAUDE_CODE_SUBAGENT_MODEL\\\": \\\"kimi-k3.1-pro\\\"\\n  }\\n}\\n\u003c/code\u003e\u003c/pre\u003e\\n\u003cp\u003eKnown issues, from Moonshot's Kimi Code docs, its Claude Code guide (written for K3) and AIHubMix's tests:\u003c/p\u003e\\n\u003cul\u003e\\n\u003cli\u003e\u003cstrong\u003eStart a new session.\u003c/strong\u003e Don't switch a running K3 session to K3.1 Pro. Open a new one, so the cache and the output quality start clean.\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eUnset tiers fail silently.\u003c/strong\u003e Claude Code uses different tiers for the main chat, summaries and sub-agents. Moonshot warns that configuring only some of them makes the rest \\\"fail silently\\\". You can point the Haiku tier at a cheaper model for background work.\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eStale settings win.\u003c/strong\u003e Old values in the \u003ccode\u003eenv\u003c/code\u003e block of \u003ccode\u003e~/.claude/settings.json\u003c/code\u003e override variables exported in your shell.\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003e1M context.\u003c/strong\u003e Moonshot's K3 guide uses \u003ccode\u003ekimi-k3[1m]\u003c/code\u003e so Claude Code treats the window as 1M. \u003ccode\u003ekimi-k3.1-pro[1m]\u003c/code\u003e works the same way through AIHubMix: Claude Code drops the suffix before sending, and AIHubMix answered the resulting request, 1M-context header included, on 24 October. Only Claude Code understands the suffix. Sent as a model ID from any other client, \u003ccode\u003ekimi-k3.1-pro[1m]\u003c/code\u003e returns a 400.\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eEffort.\u003c/strong\u003e K3.1 Pro already defaults to \u003ccode\u003emax\u003c/code\u003e, the level Moonshot's K3 guide recommended with \u003ccode\u003eCLAUDE_CODE_EFFORT_LEVEL=max\u003c/code\u003e. For routine work, \u003ccode\u003ehigh\u003c/code\u003e spends fewer tokens. Whatever level Claude Code sends is mapped as in the effort table, and AIHubMix accepted all five tested values.\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eHighspeed tiers.\u003c/strong\u003e If you point a tier at \u003ccode\u003ekimi-k3.1-pro-highspeed\u003c/code\u003e, copy the ID exactly. On Kimi Code, a typo falls back silently; on AIHubMix, a mistyped ID returns a 400.\u003c/li\u003e\\n\u003c/ul\u003e\\n\u003ch3 id=\\\"codex\\\"\u003eCodex\u003c/h3\u003e\\n\u003cp\u003eCodex only speaks the Responses API, so \u003ccode\u003ewire_api = \\\"responses\\\"\u003c/code\u003e is required. The \u003ca href=\\\"https://aihubmix.com/blog/codex-config-toml-setup\\\"\u003eCodex config.toml guide\u003c/a\u003e covers the rest. Because \u003ccode\u003ekimi-k3.1-pro\u003c/code\u003e still returns 404 on \u003ccode\u003e/v1/responses\u003c/code\u003e (checked 27 October), point Codex at the coding-channel ID, which AIHubMix labels an evaluation preview rather than a production route:\u003c/p\u003e\\n\u003cpre\u003e\u003ccode class=\\\"language-toml\\\"\u003emodel = \\\"coding-kimi-k3.1-pro\\\"\\nmodel_provider = \\\"aihubmix\\\"\\nmodel_context_window = 1048576\\nmodel_reasoning_effort = \\\"high\\\"\\n\\n[model_providers.aihubmix]\\nname = \\\"AIHubMix\\\"\\nbase_url = \\\"https://aihubmix.com/v1\\\"\\nenv_key = \\\"AIHUBMIX_API_KEY\\\"\\nwire_api = \\\"responses\\\"\\n\u003c/code\u003e\u003c/pre\u003e\\n\u003cul\u003e\\n\u003cli\u003e\u003cstrong\u003eDeclare the context window.\u003c/strong\u003e Without \u003ccode\u003emodel_context_window\u003c/code\u003e, Codex falls back to default metadata for a model it doesn't know. Moonshot's Codex guide calls the resulting \u003ccode\u003eModel metadata for coding-kimi-k3.1-pro not found\u003c/code\u003e warning expected and harmless.\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eEffort.\u003c/strong\u003e Codex's own levels include \u003ccode\u003emedium\u003c/code\u003e and \u003ccode\u003exhigh\u003c/code\u003e. Per the Kimi Code mapping they run as \u003ccode\u003ehigh\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e, and AIHubMix accepted both on 24 October. Set \u003ccode\u003elow\u003c/code\u003e, \u003ccode\u003ehigh\u003c/code\u003e or \u003ccode\u003emax\u003c/code\u003e so you know which level you pay for.\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eNo \u003ccode\u003esearch_context_size\u003c/code\u003e.\u003c/strong\u003e If your config sets it, remove it (see the loud failures).\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eRestart after edits.\u003c/strong\u003e Codex reads config.toml only at startup. If CC Switch manages your Codex config, it may overwrite your edits.\u003c/li\u003e\\n\u003c/ul\u003e\\n\u003ch3 id=\\\"a-15-minute-smoke-test\\\"\u003eA 15-minute smoke test\u003c/h3\u003e\\n\u003cp\u003eRun this once per tool, in a small repository with a test suite:\u003c/p\u003e\\n\u003col\u003e\\n\u003cli\u003eStart a fresh session on K3.1 Pro. Don't continue one that ran on K3 or another model.\u003c/li\u003e\\n\u003cli\u003eAsk: \\\"Add a unit test for one function in this repo, run the tests, and fix anything that fails.\\\"\u003c/li\u003e\\n\u003cli\u003e\u003cstrong\u003eSuccess looks like this:\u003c/strong\u003e the model reads files and runs the tests (tool calls work). It continues after seeing the results, which shows reasoning and tool results are being passed back. It ends with green tests, and there's no 400 anywhere in the session.\u003c/li\u003e\\n\u003cli\u003eIn your AIHubMix usage log, check that the model ID is the one you set, and that later requests show cached input tokens for the stable prefix. If they never do, something in your prefix changes every turn.\u003c/li\u003e\\n\u003cli\u003eNote the turn time and completion tokens. They're your baseline for choosing an effort level, and for judging whether Highspeed is worth it.\u003c/li\u003e\\n\u003c/ol\u003e\\n\u003ch2 id=\\\"migration-checklist\\\"\u003eMigration checklist\u003c/h2\u003e\\n\u003cul\u003e\\n\u003cli\u003eUse K3.1 Pro's ID: kimi-k3.1-pro on Moonshot's API and AIHubMix, for Codex too, and k3.1-pro in Kimi Code.\u003c/li\u003e\\n\u003cli\u003eMove K2.x code before Moonshot retires the K2 series at the end of December 2026; new Moonshot accounts lose K2 access from 31 October.\u003c/li\u003e\\n\u003cli\u003eStart a new session for K3.1 Pro instead of switching an old one.\u003c/li\u003e\\n\u003cli\u003eRemove temperature, top_p, n and both penalties from every call path, including helper calls.\u003c/li\u003e\\n\u003cli\u003eRemove every thinking-off switch, including effort values off, none and disabled, and delete leftover K2.x thinking blocks.\u003c/li\u003e\\n\u003cli\u003eSend effort as low, high or max; medium runs as high, and xhigh as max.\u003c/li\u003e\\n\u003cli\u003eKeep the model and the effort fixed within a session.\u003c/li\u003e\\n\u003cli\u003eCopy the Highspeed ID exactly, and check the model in your usage log.\u003c/li\u003e\\n\u003cli\u003eKeep stop lists to five entries of 32 bytes or less.\u003c/li\u003e\\n\u003cli\u003ePass back the full assistant message, including reasoning_content and tool_calls, and resend dynamic tool messages.\u003c/li\u003e\\n\u003cli\u003eStream long requests and set timeouts in minutes.\u003c/li\u003e\\n\u003cli\u003eValidate structured output before moving JSON back to the Messages API.\u003c/li\u003e\\n\u003cli\u003eUpdate cost tracking for the separate cache-write field.\u003c/li\u003e\\n\u003cli\u003eMake safety checks fail closed on API errors.\u003c/li\u003e\\n\u003cli\u003eRun the smoke test in each coding tool.\u003c/li\u003e\\n\u003c/ul\u003e\\n\u003ch2 id=\\\"faq\\\"\u003eFAQ\u003c/h2\u003e\\n\u003cp\u003e\u003cstrong\u003eWhy does K3.1 Pro return HTTP 400?\u003c/strong\u003e\u003cbr\u003e\\nThe usual causes are a temperature other than 1, thinking switched off, or an effort of off, none, disabled or an unknown value. The first comes from K3's fixed sampling rules, which K3.1 Pro keeps; the others are documented in Moonshot's Kimi Code docs. On AIHubMix's main IDs, only the temperature returned a 400 on 24 October; the others returned 200, and thinking off or none came back with no reasoning.\u003c/p\u003e\\n\u003cp\u003e\u003cstrong\u003eCan I turn thinking off?\u003c/strong\u003e\u003cbr\u003e\\nNo. K3.1 Pro only runs in thinking mode. Set reasoning_effort to low to keep thinking short.\u003c/p\u003e\\n\u003cp\u003e\u003cstrong\u003eIs temperature still rejected?\u003c/strong\u003e\u003cbr\u003e\\nYes on Moonshot's API and on AIHubMix's main IDs, which returned \\\"invalid temperature: only 1 is allowed for this model\\\" on 24 October 2026. AIHubMix's coding channel accepted a temperature of 0.2 in the same check. Leave temperature out on every route.\u003c/p\u003e\\n\u003cp\u003e\u003cstrong\u003eWhen do the K2 models go away?\u003c/strong\u003e\u003cbr\u003e\\nFrom 31 October 2026, newly registered Moonshot users can't use K2 series models, and Moonshot plans to retire all of them by the end of December 2026. AIHubMix still listed K2.6 and K2.7 Code on 24 October, with no retirement date.\u003c/p\u003e\\n\u003cp\u003e\u003cstrong\u003eWhy is my Kimi Code quota running out faster?\u003c/strong\u003e\u003cbr\u003e\\nK3.1 Pro defaults to max effort, where K3 defaulted to high in Kimi Code, and Highspeed counts about twice the quota of the regular model. Set a lower effort for routine work and keep it fixed within a session.\u003c/p\u003e\\n\u003cp\u003e\u003cstrong\u003eWhy isn't Highspeed faster?\u003c/strong\u003e\u003cbr\u003e\\nEither the ID is mistyped, which in Kimi Code silently falls back to K2.8 Preview without thinking, or tool calls dominate the turn. Highspeed only speeds up model output.\u003c/p\u003e\\n\u003cp\u003e\u003cstrong\u003eWhich AIHubMix endpoint should Codex use?\u003c/strong\u003e\u003cbr\u003e\\nThe Responses API at aihubmix.com/v1, with wire_api set to responses and the model set to coding-kimi-k3.1-pro: the main IDs still return 404 there, and only the coding channel answers. Under the main IDs, AIHubMix serves K3.1 Pro on Chat Completions and Messages.\u003c/p\u003e\\n\u003ch2 id=\\\"keep-reading-the-kimi-k31-pro-series\\\"\u003eKeep reading: the Kimi K3.1 Pro series\u003c/h2\u003e\\n\u003cul\u003e\\n\u003cli\u003eBefore you migrate, check whether the upgrade is worth it at all, from what changed to what one real task costs: \u003ca href=\\\"https://aihubmix.com/blog/kimi-k3-1-pro-vs-k3-what-changed-what-it-costs-and-who-should-switch\\\"\u003eKimi K3.1 Pro vs K3: What Changed, What It Costs, and Who Should Switch\u003c/a\u003e\u003c/li\u003e\\n\u003cli\u003eIf the migration has you weighing alternatives, here is K3.1 Pro against Qwen 4 and Claude Fable 5.5, with what one front-end build costs on each: \u003ca href=\\\"https://aihubmix.com/blog/kimi-k3-1-pro-vs-qwen-4-vs-claude-fable-5-5-front-end-quality-cost-per-task-and-the-hype-checked\\\"\u003eKimi K3.1 Pro vs Qwen 4 vs Claude Fable 5.5: Front-End Quality, Cost per Task, and the Hype Checked\u003c/a\u003e\u003c/li\u003e\\n\u003cli\u003eIf the Highspeed quota and price have you wondering whether the fast variant pays off, the speed-versus-price question gets its own post: \u003ca href=\\\"https://aihubmix.com/blog/kimi-k3-1-pro-vs-k3-1-pro-highspeed-is-2-3x-the-speed-worth-2x-the-price\\\"\u003eKimi K3.1 Pro vs K3.1 Pro Highspeed: Is 2–3× the Speed Worth 2× the Price?\u003c/a\u003e\u003c/li\u003e\\n\u003c/ul\u003e\\n\u003ch2 id=\\\"sources\\\"\u003eSources\u003c/h2\u003e\\n\u003cul\u003e\\n\u003cli\u003e\u003ca href=\\\"https://www.kimi.com/code/docs/en/kimi-code/models.html\\\"\u003eKimi Code: Model configuration\u003c/a\u003e\u003c/li\u003e\\n\u003cli\u003e\u003ca href=\\\"https://platform.kimi.ai/docs/api/models-overview\\\"\u003eMoonshot AI: Model parameter reference\u003c/a\u003e\u003c/li\u003e\\n\u003cli\u003e\u003ca href=\\\"https://aihubmix.com/model/kimi-k3.1-pro\\\"\u003eAIHubMix: Kimi K3.1 Pro model page\u003c/a\u003e\u003c/li\u003e\\n\u003cli\u003e\u003ca href=\\\"https://docs.aihubmix.com/en/blogs/kimi-k3-guide\\\"\u003eAIHubMix: Kimi K3 hands-on guide\u003c/a\u003e\u003c/li\u003e\\n\u003cli\u003e\u003ca href=\\\"https://github.com/NousResearch/hermes-agent/issues/142365\\\"\u003eHermes Agent issue #142365: Kimi Code endpoint profile drift\u003c/a\u003e\u003c/li\u003e\\n\u003c/ul\u003e\\n\",\"https://aihubmix.com/blog-media/images/2026/10/15648b136974296f.png\",\"2026-10-23T17:29:32.000+00:00\",\"2026-10-27T05:58:48.000+00:00\",18,[77],{\"_23\":49,\"_11\":50}]\n");</script><!--$--><script>window.__reactRouterContext.streamController.close();</script><!--/$--><!--/$--></body></html>