<!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/08/e66111529d56b278.webp" 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>DeepSeek V4 Pro (0813): Thinking Passback &amp; 3-API Matrix | AIHubMix Blog</title><meta name="description" content="DeepSeek V4 Pro (0813) hands-on guide: thinking toggle and reasoning_effort levels, mandatory thinking-history passback, tools, caching, and a 3-API matrix."/><meta name="keywords" content="Tutorial, AIHubMix, AIHubMix Blog"/><link rel="canonical" href="https://aihubmix.com/blog/deepseek-v4-pro-0813-thinking-passback-3-api-matrix"/><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="DeepSeek V4 Pro (0813): Thinking Passback &amp; 3-API Matrix | AIHubMix Blog"/><meta property="og:description" content="DeepSeek V4 Pro (0813) hands-on guide: thinking toggle and reasoning_effort levels, mandatory thinking-history passback…"/><meta property="og:url" content="https://aihubmix.com/blog/deepseek-v4-pro-0813-thinking-passback-3-api-matrix"/><meta property="og:image" content="https://aihubmix.com/blog-media/images/2026/08/e66111529d56b278.webp"/><meta property="og:image:alt" content="DeepSeek V4 Pro (0813): Thinking Passback &amp; 3-API Matrix | 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="DeepSeek V4 Pro (0813): Thinking Passback &amp; 3-API Matrix | AIHubMix Blog"/><meta name="twitter:description" content="DeepSeek V4 Pro (0813) hands-on guide: thinking toggle and reasoning_effort levels, mandatory thinking-history passback…"/><meta name="twitter:image" content="https://aihubmix.com/blog-media/images/2026/08/e66111529d56b278.webp"/><meta property="article:published_time" content="2026-08-13T16:06:00.000+00:00"/><meta property="article:modified_time" content="2026-08-13T16:06:00.000+00:00"/><link rel="alternate" hrefLang="en" href="https://aihubmix.com/blog/deepseek-v4-pro-0813-thinking-passback-3-api-matrix"/><link rel="alternate" hrefLang="zh-CN" href="https://aihubmix.com/blog/zh-CN/deepseek-v4-pro-0813-thinking-passback-3-api-matrix"/><link rel="alternate" hrefLang="zh-TW" href="https://aihubmix.com/blog/zh-TW/deepseek-v4-pro-0813-thinking-passback-3-api-matrix"/><link rel="alternate" hrefLang="ja" href="https://aihubmix.com/blog/ja/deepseek-v4-pro-0813-thinking-passback-3-api-matrix"/><link rel="alternate" hrefLang="ko" href="https://aihubmix.com/blog/ko/deepseek-v4-pro-0813-thinking-passback-3-api-matrix"/><link rel="alternate" hrefLang="de" href="https://aihubmix.com/blog/de/deepseek-v4-pro-0813-thinking-passback-3-api-matrix"/><link rel="alternate" hrefLang="es" href="https://aihubmix.com/blog/es/deepseek-v4-pro-0813-thinking-passback-3-api-matrix"/><link rel="alternate" hrefLang="fr" href="https://aihubmix.com/blog/fr/deepseek-v4-pro-0813-thinking-passback-3-api-matrix"/><link rel="alternate" hrefLang="pt" href="https://aihubmix.com/blog/pt/deepseek-v4-pro-0813-thinking-passback-3-api-matrix"/><link rel="alternate" hrefLang="ru" href="https://aihubmix.com/blog/ru/deepseek-v4-pro-0813-thinking-passback-3-api-matrix"/><link rel="alternate" hrefLang="tr" href="https://aihubmix.com/blog/tr/deepseek-v4-pro-0813-thinking-passback-3-api-matrix"/><link rel="alternate" hrefLang="pl" href="https://aihubmix.com/blog/pl/deepseek-v4-pro-0813-thinking-passback-3-api-matrix"/><link rel="alternate" hrefLang="nl" href="https://aihubmix.com/blog/nl/deepseek-v4-pro-0813-thinking-passback-3-api-matrix"/><link rel="alternate" hrefLang="it" href="https://aihubmix.com/blog/it/deepseek-v4-pro-0813-thinking-passback-3-api-matrix"/><link rel="alternate" hrefLang="vi" href="https://aihubmix.com/blog/vi/deepseek-v4-pro-0813-thinking-passback-3-api-matrix"/><link rel="alternate" hrefLang="uk" href="https://aihubmix.com/blog/uk/deepseek-v4-pro-0813-thinking-passback-3-api-matrix"/><link rel="alternate" hrefLang="bg" href="https://aihubmix.com/blog/bg/deepseek-v4-pro-0813-thinking-passback-3-api-matrix"/><link rel="alternate" hrefLang="x-default" href="https://aihubmix.com/blog/deepseek-v4-pro-0813-thinking-passback-3-api-matrix"/><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*/
.jTRKHW{font-size:20px;line-height:1.55;color:#5b6070;margin:0 0 16px;}/*!sc*/
@media (max-width:560px){.jTRKHW{font-size:17px;}}/*!sc*/
data-styled.g372[id="sc-1c0xtl9-4"]{content:"jTRKHW,"}/*!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">DeepSeek V4 Pro (0813): Thinking Passback &amp; 3-API Matrix</h1><p class="sc-1c0xtl9-4 jTRKHW">DeepSeek V4 Pro (0813) hands-on guide: thinking toggle and reasoning_effort levels, mandatory thinking-history passback, tools, caching, and a 3-API matrix.</p><div class="sc-1c0xtl9-5 gGIGKA"><span>AIHubMix</span><time dateTime="2026-08-13T16:06:00.000+00:00">August 13, 2026</time><span>15 min read</span></div><img src="https://aihubmix.com/blog-media/images/2026/08/e66111529d56b278.webp" alt="DeepSeek V4 Pro (0813): Thinking Passback &amp; 3-API Matrix" fetchPriority="high" class="sc-1c0xtl9-6 dHXlSg"/><article data-blog-article="true" class="sc-1c0xtl9-7 jonNQo"><hr><blockquote>This article covers the usage notes and gotchas for <a href="https://aihubmix.com/model/deepseek-v4-pro-0813">deepseek-v4-pro-0813</a>. On AIHubMix, the model is available through the Chat Completions, Responses, and Claude-compatible Messages APIs. See also: <a href="https://api-docs.deepseek.com/">DeepSeek official API docs</a>.<br><br>The "Verified" conclusions and sample responses in each section come from actual calls made on 2026-08-13 through the AIHubMix APIs (Chat Completions / Responses / Messages); spec items not marked "Verified" come from DeepSeek's official documentation.</blockquote><h2 id="1-model-positioning-and-specs-at-a-glance">1. Model Positioning and Specs at a Glance</h2><p>V4 Pro is the high-end tier of DeepSeek's V4 generation (the lightweight <code>deepseek-v4-flash</code> is its sibling). The release line traces back to DeepSeek-V4 Preview on 2026-04-24, and <code>0813</code> is the MODEL VERSION label DeepSeek assigned to the current build. Beyond the raw specs, four things set it apart:</p><ul><li><strong>A sparse frontier model</strong>: 1.6T total parameters / 49B activated (a MoE, or mixture-of-experts, architecture — each inference pass lights up only a subset of expert networks: total parameters determine knowledge capacity, activated parameters determine per-call compute cost). The model card lists CSA+HCA hybrid attention, mHC, and the Muon optimizer.</li><li><strong>Open weights under MIT</strong>: <code>deepseek-ai/DeepSeek-V4-Pro</code> is published on HuggingFace under the MIT license (one of the most permissive open-source licenses — commercial use and closed-source redistribution are both allowed) and can be self-hosted. MIT is uncommon for a model of this size. The model card's self-hosting notes also suggest a context window of ≥384K tokens when running in Think Max (the highest thinking level) — that is deployment guidance for self-hosting, not a spec of the hosted API.</li><li><strong>Multi-protocol support is first-party, not third-party translation</strong>: DeepSeek itself offers an OpenAI Chat API, an Anthropic-compatible endpoint (<code>/anthropic</code>, which maps <code>claude-opus*</code> onto this model), and the Responses API (DeepSeek describes native support for the format, with adaptations for Codex). It also offers FIM (fill-in-the-middle) completion as a Beta feature on a separate endpoint, which is not part of the three AIHubMix APIs.</li><li><strong>A ~120× gap between cache-hit and cache-miss pricing</strong>: DeepSeek's published pricing mechanism is cache-hit $0.003625/M vs cache-miss $0.435/M (output $0.87/M), and caching is automatic with no parameter to set. For workloads that reuse long prefixes (system prompts, long documents), that gap dominates the bill. Actual retail pricing is whatever the model page shows.</li></ul>
<!--kg-card-begin: html-->
<div class="blog-table-scroll"><table>
<thead>
<tr>
<th style="text-align:left">Item</th>
<th style="text-align:left">Value</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">Model name on AIHubMix</td>
<td style="text-align:left"><code>deepseek-v4-pro-0813</code></td>
</tr>
<tr>
<td style="text-align:left">Context window</td>
<td style="text-align:left">1M tokens (1,000,000)</td>
</tr>
<tr>
<td style="text-align:left">Max output</td>
<td style="text-align:left">Official wording is <code>MAX OUTPUT MAXIMUM: 384K</code> (the exact token count and the default are not published)</td>
</tr>
<tr>
<td style="text-align:left">Input modalities</td>
<td style="text-align:left">Text only. The Responses compatibility page explicitly states that image and file inputs are unsupported; the Messages page explicitly marks <code>type="image"</code> blocks Not Supported; on Chat Completions the user message <code>content</code> accepts a string only, with no multimodal content parts</td>
</tr>
<tr>
<td style="text-align:left">Thinking mode</td>
<td style="text-align:left">Hybrid (thinking / non-thinking), <strong>thinking on by default</strong></td>
</tr>
<tr>
<td style="text-align:left">Thinking levels</td>
<td style="text-align:left"><code>reasoning_effort</code> accepts <code>low</code> / <code>high</code> / <code>max</code>, default <code>high</code>; <code>medium</code> and <code>xhigh</code> are mapped to <code>high</code> for compatibility</td>
</tr>
<tr>
<td style="text-align:left">Available APIs</td>
<td style="text-align:left">Chat Completions, Responses, Messages (Claude-compatible)</td>
</tr>
</tbody>
</table></div>
<!--kg-card-end: html-->
<blockquote><strong>Verified</strong>: exceeding <code>max_tokens</code> is rejected by validation rather than silently truncated — sending <code>max_tokens=9999999</code> returns HTTP 400, and the error body names the field and gives the ceiling <code>393216</code>.</blockquote><pre><code class="language-text"># max_tokens=9999999 -&gt; HTTP 400
"...max_tokens... 393216"
</code></pre><blockquote>❗ <strong>Images do not raise an error, but they are dropped</strong>: the official wording for the Responses API is "Image and file inputs are not supported (input_image parts do not cause an error, but are replaced with a placeholder text)" — an <code>input_image</code> part does not fail the request, it is swapped for placeholder text. On Chat Completions the user message <code>content</code> only takes a string, and on Messages <code>type="image"</code> blocks are marked Not Supported. When building multimodal routing, never treat "no error" as evidence that the model actually saw the image.</blockquote><h2 id="2-how-do-you-turn-thinking-off-three-apis-three-field-shapes">2. How Do You Turn Thinking Off? Three APIs, Three Field Shapes</h2><p>V4 Pro thinks by default: send no parameters at all and the response comes back with thinking content. Turning it off uses a different field shape on each of the three APIs.</p><h3 id="chat-completions">Chat Completions</h3><p>Use the top-level <code>thinking</code> object.</p><pre><code class="language-text">from openai import OpenAI

client = OpenAI(
    base_url="https://aihubmix.com/v1",
    api_key="&lt;AIHUBMIX_API_KEY&gt;",
)

completion = client.chat.completions.create(
    model="deepseek-v4-pro-0813",
    messages=[{"role": "user", "content": "What is 2 + 2?"}],
    extra_body={"thinking": {"type": "disabled"}},
)

# Thinking on  (default): message.reasoning_content present, reasoning_tokens = 43
# Thinking off (disabled): reasoning_content absent, reasoning_tokens absent
</code></pre><blockquote><strong>Verified</strong>: with <code>thinking.type="disabled"</code>, both <code>message.reasoning_content</code> and <code>usage.completion_tokens_details.reasoning_tokens</code> disappear together, which confirms the switch took effect.</blockquote><h3 id="responses">Responses</h3><p>There is no separate switch on Responses; turning thinking off means setting the level to <code>none</code>.</p><pre><code class="language-text">response = client.responses.create(
    model="deepseek-v4-pro-0813",
    input="What is 2 + 2?",
    reasoning={"effort": "none"},
)

# effort="none": usage.output_tokens_details.reasoning_tokens = 0
#                output[0] is the message item directly (no reasoning item)
# effort unset : output always starts with a reasoning item
</code></pre><blockquote><strong>Verified</strong>: <code>reasoning.effort="none"</code> differs observably from the default level (thinking tokens drop to zero, the <code>reasoning</code> output item disappears), which confirms it took effect.</blockquote><h3 id="messages">Messages</h3><p>Same name and same shape as Chat Completions: the top-level <code>thinking</code> object.</p><pre><code class="language-text">from anthropic import Anthropic

client = Anthropic(
    api_key="&lt;AIHUBMIX_API_KEY&gt;",
    base_url="https://aihubmix.com",
)

response = client.messages.create(
    model="deepseek-v4-pro-0813",
    max_tokens=1024,
    messages=[{"role": "user", "content": "What is 2 + 2?"}],
    extra_body={"thinking": {"type": "disabled"}},
)

# Thinking on  (default): content = [thinking block, text block]
# Thinking off (disabled): content = [text block]
</code></pre><blockquote><strong>Verified</strong>: once disabled, the <code>thinking</code> block disappears entirely and only the <code>text</code> block remains.</blockquote><blockquote><strong>On thinking levels</strong>: <code>low</code> and <code>max</code> both returned 200 on Chat Completions in testing (<code>high</code> is the default and applies when the field is omitted), but thinking-token counts show no monotonic difference between levels for the same question (easy question: low=43 / max=27; hard question: low=114 / max=92), and nothing is echoed back in the response — <strong>the levels are accepted, but no distinguishing signal is observable from the response</strong>. On Responses, only the <code>none</code> level (thinking off) can be confirmed from the response side.</blockquote><h2 id="3-why-does-a-multi-turn-conversation-suddenly-return-400-thinking-history-must-be-passed-back-verbatim">3. Why Does a Multi-Turn Conversation Suddenly Return 400? Thinking History Must Be Passed Back Verbatim</h2><p>This is the single most common tripwire with this model: in thinking mode, a multi-turn conversation must pass the previous turn's thinking content back verbatim, or the request is rejected. Not degraded, not lower quality — a hard HTTP 400.</p><p>The three APIs carry <strong>the same thinking content under different field names</strong>:</p>
<!--kg-card-begin: html-->
<div class="blog-table-scroll"><table>
<thead>
<tr>
<th style="text-align:left">API</th>
<th style="text-align:left">Passback shape</th>
<th style="text-align:left">Error body when missing</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">Chat Completions</td>
<td style="text-align:left">The <code>reasoning_content</code> field on the assistant message</td>
<td style="text-align:left"><code>The `reasoning_content` in the thinking mode must be passed back to the API.</code></td>
</tr>
<tr>
<td style="text-align:left">Responses</td>
<td style="text-align:left">The output item with <code>type="reasoning"</code> in the <code>input</code> array</td>
<td style="text-align:left"><code>The `reasoning_text` in the thinking mode must be passed back to the API.</code></td>
</tr>
<tr>
<td style="text-align:left">Messages</td>
<td style="text-align:left">The <code>thinking</code> block inside the assistant content blocks</td>
<td style="text-align:left"><code>The `content[].thinking` in the thinking mode must be passed back to the API.</code></td>
</tr>
</tbody>
</table></div>
<!--kg-card-end: html-->
<blockquote><strong>Verified (trigger conditions)</strong>: this validation fires consistently on <strong>multi-turn requests that carry <code>tools</code></strong> (the model issues a tool call, then the tool result is sent back). On plain multi-turn requests without tools, where the model answers directly, the validation did not fire in this round of testing and the request returned 200. In other words, tool orchestration (agent / function-calling workloads) is where you are most likely to hit it, so treat thinking content as part of the conversation state you persist and replay.</blockquote><h3 id="chat-completions-1">Chat Completions</h3><pre><code class="language-text"># Multi-turn: pass the previous assistant message back verbatim, including reasoning_content
messages = [
    {"role": "user", "content": "What is 1 + 1? Remember the result."},
    {
        "role": "assistant",
        "content": "2",
        "reasoning_content": "&lt;reasoning_content from the previous response&gt;",
    },
    {"role": "user", "content": "Add 1 to the result."},
]

# Dropping reasoning_content -&gt; HTTP 400 invalid_request_error
</code></pre><blockquote><strong>Verified</strong>: a historical assistant message missing <code>reasoning_content</code> returns 400; adding it back makes the identical request return 200 and continue correctly.</blockquote><h3 id="responses-1">Responses</h3><pre><code class="language-text"># Multi-turn: input = previous input + response.output (reasoning item included) + new message
input = previous_input + response.output + [
    {"role": "user", "content": "Add 1 to the result."}
]

# Filtering out the type="reasoning" item -&gt; HTTP 400
</code></pre><blockquote><strong>Verified</strong>: splicing <code>response.output</code> back in as-is is all it takes. Filtering output items by <code>type == "message"</code> while assembling history drops the <code>reasoning</code> item and triggers the 400 — this is the most common way to get bitten.</blockquote><h3 id="messages-1">Messages</h3><pre><code class="language-text"># Multi-turn: pass response.content back verbatim as the assistant message
messages = [
    {"role": "user", "content": "What's the weather in Paris?"},
    {"role": "assistant", "content": response.content},   # thinking + tool_use blocks
    {"role": "user", "content": [tool_result_block]},
]

# Stripping the thinking block -&gt; HTTP 400
</code></pre><blockquote><strong>Verified</strong>: removing the <code>thinking</code> block from the content array returns 400 (with <code>error.type</code> set to <code>invalid_request_error</code>).</blockquote><h2 id="4-tool-calling">4. Tool Calling</h2><p>Each API declares tools in its own protocol shape; the shapes are not interchangeable.</p><h3 id="chat-completions-2">Chat Completions</h3><p>Nested shape (a <code>function</code> object wrapping <code>name</code> / <code>parameters</code>). A named-function <code>tool_choice</code> forces the call.</p><pre><code class="language-text">completion = client.chat.completions.create(
    model="deepseek-v4-pro-0813",
    messages=[{"role": "user", "content": "What's the weather in Paris?"}],
    tools=[{
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get weather for a city",
            "parameters": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]},
        },
    }],
    tool_choice={"type": "function", "function": {"name": "get_weather"}},
)

# Observed: finish_reason "tool_calls", tool_calls[0].function.arguments = {"city": "Paris"}
</code></pre><blockquote>❗ <strong>Verified: <code>tool_choice: "required"</code> cannot be used while thinking is on</strong> — it returns 400 <code>Thinking mode does not support this tool_choice</code>; disabling thinking (<code>thinking.type="disabled"</code>) makes the identical request return 200. When you need "must call a tool" semantics, use a <strong>named-function</strong> <code>tool_choice</code> instead (as above, which works with thinking on), or turn thinking off first and then use <code>required</code>.</blockquote><h3 id="responses-2">Responses</h3><p>Flat shape (<code>type</code> / <code>name</code> / <code>parameters</code> at the same level).</p><pre><code class="language-text">response = client.responses.create(
    model="deepseek-v4-pro-0813",
    input="What's the weather in Paris?",
    tools=[{
        "type": "function",
        "name": "get_weather",
        "description": "Get weather for a city",
        "parameters": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]},
    }],
)

# Observed output items: ["reasoning", "function_call"]; arguments = {"city": "Paris"}
</code></pre><blockquote><strong>Verified</strong>: copying the Chat Completions nested shape (<code>function: {...}</code>) into Responses returns 400 — use the flat shape. <code>tool_choice: "required"</code> is subject to the same thinking-mode restriction as on Chat.</blockquote><h3 id="messages-2">Messages</h3><p>Anthropic-native shape (<code>input_schema</code>), with <code>tool_choice: {"type": "any"}</code> to force a call.</p><pre><code class="language-text">response = client.messages.create(
    model="deepseek-v4-pro-0813",
    max_tokens=1024,
    tools=[{
        "name": "get_weather",
        "description": "Get weather for a city",
        "input_schema": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]},
    }],
    tool_choice={"type": "any"},
    messages=[{"role": "user", "content": "What's the weather in Paris?"}],
)

# Observed: content contains a tool_use block, name = get_weather, input = {"city": "Paris"}
</code></pre><blockquote>❗ <strong>Parallel tool calling cannot be turned off, by DeepSeek's own design</strong> — the official Anthropic-compatibility page states, on the <code>tool_choice</code> row, that <code>disable_parallel_tool_use is ignored</code>, and the Responses page likewise states <code>parallel_tool_calls | Ignored (parallel tool calling is always enabled)</code>. Testing matches: asking about two cities at once with <code>disable_parallel_tool_use: true</code> still returns two <code>tool_use</code> blocks. If you need serial execution, take the first call or queue them yourself on the client side.</blockquote><blockquote><strong>Tool count and context cost</strong>: sending 200 function definitions in a single request still returned 200 with a normal answer and did not trip any count validation (observed on this path; higher counts were not tested). But <code>prompt_tokens</code> for that request reached 6,105 — <strong>tool definitions go into the context in full and are billed</strong>. When you have many tools, trim the tool set per scenario rather than declaring everything unconditionally.</blockquote><h2 id="5-structured-output">5. Structured Output</h2><h3 id="chat-completions-3">Chat Completions</h3><p><code>response_format</code> supports JSON mode.</p><pre><code class="language-text">completion = client.chat.completions.create(
    model="deepseek-v4-pro-0813",
    messages=[{"role": "user", "content": "Return {\"a\": 1} as JSON."}],
    response_format={"type": "json_object"},
)

# Observed response content: {"a":1}
</code></pre><blockquote><strong>Verified</strong>: the output is valid JSON.</blockquote><h3 id="responses-3">Responses</h3><p>Declare a JSON Schema through <code>text.format</code>, with <code>strict</code> mode supported.</p><pre><code class="language-text">response = client.responses.create(
    model="deepseek-v4-pro-0813",
    input="Return the number 1 under key a.",
    text={
        "format": {
            "type": "json_schema",
            "name": "extract",
            "strict": True,
            "schema": {"type": "object", "properties": {"a": {"type": "integer"}}, "required": ["a"]},
        }
    },
)

# Observed output text: {"a":1}
</code></pre><blockquote><strong>Verified</strong>: the output conforms strictly to the given schema.</blockquote><h3 id="messages-3">Messages</h3><p>The Messages (Anthropic) protocol has no <code>response_format</code> / <code>text.format</code> equivalent. The usual workaround is to carry the schema in a tool — declare a tool whose <code>input_schema</code> is your target schema, set <code>tool_choice: {"type": "any"}</code>, and read the structured result from the <code>input</code> of the <code>tool_use</code> block. This round of testing did not specifically verify that pattern; when you need hard schema guarantees, prefer Chat Completions or Responses.</p><h2 id="6-how-do-you-enable-context-caching-you-dont-its-automatic">6. How Do You Enable Context Caching? You Don't, It's Automatic</h2><p>Context caching (identical prefixes are reused, and the cached portion is billed at a lower rate) is <strong>on by default and needs no parameters</strong>. A second request with the same long prefix reports the hit in <code>usage</code>, under a field name that varies by API. For caching details and current pricing, see the <a href="https://aihubmix.com/model/deepseek-v4-pro-0813">model page</a>; for cross-model caching strategy and hit-rate techniques, see <a href="https://docs.aihubmix.com/en/practices/prompt-caching">prompt caching practices</a>.</p><h3 id="chat-completions-4">Chat Completions</h3><pre><code class="language-text"># usage of the second call with an identical long prefix
"prompt_tokens_details": {"cached_tokens": 640}   # first call: 0
</code></pre><blockquote><strong>Verified</strong>: two back-to-back calls with the same long prefix on the same channel moved <code>cached_tokens</code> from 0 to 640.</blockquote><h3 id="responses-4">Responses</h3><pre><code class="language-text"># usage of the second call with identical long instructions
"input_tokens_details": {"cached_tokens": 896}    # first call: 0
</code></pre><h3 id="messages-4">Messages</h3><pre><code class="language-text"># usage of a call whose long system prefix was already warmed
"cache_read_input_tokens": 896
</code></pre><blockquote><strong>Verified</strong>: the prefix above was warmed by a Responses request with identical content, and the first Messages call hit 896 straight away — consistent with caching being keyed on content prefix and shared across protocol surfaces.</blockquote><h2 id="7-logprobs-chat-returns-two-channels">7. logprobs: Chat Returns Two Channels</h2><p><code>logprobs</code> (log probabilities — the model's per-candidate-token confidence detail) comes back in different shapes on the two APIs, and parsing code has to handle them separately.</p><h3 id="chat-completions-5">Chat Completions</h3><pre><code class="language-text">completion = client.chat.completions.create(
    model="deepseek-v4-pro-0813",
    messages=[{"role": "user", "content": "Say hi."}],
    logprobs=True,
    top_logprobs=2,
)

# Observed: choices[0].logprobs contains TWO arrays
#   logprobs.content[]            -&gt; tokens of the final answer
#   logprobs.reasoning_content[]  -&gt; tokens of the thinking text
</code></pre><blockquote>❗ <strong>Verified: Chat returns log probabilities for both <code>content</code> and <code>reasoning_content</code></strong>. Code that reads only <code>logprobs.content</code>, per the standard OpenAI response shape, will not error out but will silently miss the thinking channel; if your code assumes a single array under <code>logprobs</code>, add a shape check first.</blockquote><h3 id="responses-5">Responses</h3><pre><code class="language-text">response = client.responses.create(
    model="deepseek-v4-pro-0813",
    input="Say hi.",
    top_logprobs=3,
)

# Observed: logprobs only on the final message item
#   output[-1].content[0].logprobs[] with logprob + top_logprobs details
</code></pre><blockquote><strong>Verified</strong>: Responses attaches logprobs only to the final text item — none of the dual-channel shape seen on Chat.</blockquote><h3 id="messages-5">Messages</h3><p>The Messages (Anthropic) protocol has no equivalent field. For token-level probability detail, use Chat Completions or Responses.</p><h2 id="8-which-apis-can-search-the-web">8. Which APIs Can Search the Web?</h2><p>Web search here is a server-side tool (the retrieval runs on the server; the client never issues the request itself), and it genuinely executes on both the Responses and Messages APIs in testing.</p><h3 id="responses-6">Responses</h3><pre><code class="language-text">response = client.responses.create(
    model="deepseek-v4-pro-0813",
    input="What is the latest stable version of Python?",
    tools=[{"type": "web_search"}],
)

# Observed output item sequence:
# ["reasoning", "web_search_call", "reasoning", "message"]
</code></pre><blockquote><strong>Verified</strong>: a <code>web_search_call</code> item appears in the output sequence, which means the server really did run a retrieval.</blockquote><h3 id="messages-6">Messages</h3><pre><code class="language-text">response = client.messages.create(
    model="deepseek-v4-pro-0813",
    max_tokens=1024,
    tools=[{"type": "web_search_20250305", "name": "web_search"}],
    messages=[{"role": "user", "content": "What is the latest stable version of Python?"}],
)

# Observed content block sequence:
# ["thinking", "server_tool_use", "web_search_tool_result", "thinking", "text"]
# usage.server_tool_use.web_search_requests = 1
</code></pre><blockquote><strong>Verified</strong>: <code>usage.server_tool_use.web_search_requests</code> counts 1 — the retrieval request really happened and was metered.</blockquote><h3 id="chat-completions-6">Chat Completions</h3><p><strong>Web search cannot be triggered on Chat</strong>. DeepSeek's official Chat API reference contains no search-tool field anywhere in the request schema (that is an absence established by going through the field list one by one; DeepSeek has made no explicit statement denying support). The API with an explicit official support statement for server-side search is Responses (<code>web_search</code>), and the official Messages compatibility page also lists the search-related content blocks.</p><pre><code class="language-text"># Three control groups, same question requiring live information, all HTTP 200:
# A no search field       -&gt; "cannot retrieve", annotations = null
# B web_search_options    -&gt; "cannot retrieve", annotations = null, usage identical to A
# C enable_search         -&gt; "cannot retrieve", annotations = null, usage identical to A
</code></pre><blockquote><strong>Verified</strong>: sending <code>web_search_options</code> or <code>enable_search</code> does not raise an error, but it does not retrieve anything either — the response carries no <code>annotations</code> (the citation list attached to a response when web search runs), and usage matches the control group field for field. For web access, use the Responses or Messages API instead.</blockquote><h2 id="9-usage-notes-deepseeks-design-vs-deviations-on-our-path">9. Usage Notes: DeepSeek's Design vs Deviations on Our Path</h2><p>Everything below returns HTTP 200 while behaving counterintuitively. The <strong>causes differ</strong>, and so does what you should do about them, so they are listed separately: the first group is how DeepSeek designed the model, and changing providers will not change it; the second group is current behavior on the AIHubMix path, which we are working on.</p><h3 id="91-by-deepseeks-design">9.1 By DeepSeek's Design</h3>
<!--kg-card-begin: html-->
<div class="blog-table-scroll"><table>
<thead>
<tr>
<th style="text-align:left">Behavior</th>
<th style="text-align:left">Official wording</th>
<th style="text-align:left">What to do</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">Responses does not retain session state or metadata</td>
<td style="text-align:left">The official Responses compatibility page states, row by row, <code>store | Not supported. The response always carries store: false</code>, <code>metadata | Not supported</code>, and <code>safety_identifier | Not supported</code> (of those four fields, only <code>user</code> is Supported). Testing matches: the request returns 200, but <code>metadata</code> is null, <code>safety_identifier</code> is absent, and <code>store</code> is always <code>false</code></td>
<td style="text-align:left">Keep request-correlation data on the client; do not rely on server-side retention</td>
</tr>
<tr>
<td style="text-align:left">Sampling parameters have no effect in thinking mode</td>
<td style="text-align:left">DeepSeek states explicitly that <code>temperature</code> and <code>top_p</code> are silently inert in thinking mode. In testing both return 200 with nothing echoed back and no change in response shape</td>
<td style="text-align:left">Do not rely on sampling parameters for output stability in thinking mode; use structured output when you need determinism</td>
</tr>
<tr>
<td style="text-align:left">Prefix continuation / FIM is only on the official beta endpoint</td>
<td style="text-align:left">The official description of <code>prefix</code> is "(Beta) … You must set <code>base_url="https://api.deepseek.com/beta"</code> to use this feature", and FIM completion is likewise a Beta feature. Verified on AIHubMix production: sending <code>prefix: true</code> against the standard endpoint returns 200 but the prefix is silently discarded, consistent in direction with the official wording</td>
<td style="text-align:left">For controlled output format, use structured output (section 5) or <code>stop</code> truncation</td>
</tr>
<tr>
<td style="text-align:left">Parallel tool calling cannot be disabled</td>
<td style="text-align:left">See section 4: DeepSeek states on both the Responses and Anthropic pages that the switch is ignored and parallel calling is always on</td>
<td style="text-align:left">Queue calls on the client when you need serial execution</td>
</tr>
</tbody>
</table></div>
<!--kg-card-end: html-->
<h3 id="92-current-behavior-on-the-aihubmix-path">9.2 Current Behavior on the AIHubMix Path</h3>
<!--kg-card-begin: html-->
<div class="blog-table-scroll"><table>
<thead>
<tr>
<th style="text-align:left">Behavior</th>
<th style="text-align:left">What testing shows</th>
<th style="text-align:left">What to do</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">Non-standard <code>type</code> on Responses error objects</td>
<td style="text-align:left">The <code>error.type</code> on 4xx responses is <code>Aihubmix_api_error</code>, while the same class of error on Messages returns the canonical <code>invalid_request_error</code></td>
<td style="text-align:left">Branch on the HTTP status code, not on the <code>error.type</code> string</td>
</tr>
<tr>
<td style="text-align:left">Thinking tokens counted as 0 on Messages</td>
<td style="text-align:left">The response does carry a <code>thinking</code> block, yet <code>usage.output_tokens_details.thinking_tokens</code> is always 0, which contradicts the thinking content actually produced; under the Anthropic contract we integrate against, that field is required and should be ≤ <code>output_tokens</code></td>
<td style="text-align:left">For thinking-cost accounting, use <code>completion_tokens_details.reasoning_tokens</code> on Chat or <code>output_tokens_details.reasoning_tokens</code> on Responses</td>
</tr>
<tr>
<td style="text-align:left">Messages echoes <code>model</code> as <code>deepseek-v4-pro</code></td>
<td style="text-align:left">The request sends <code>deepseek-v4-pro-0813</code> and the response echoes <code>deepseek-v4-pro</code>. The cause is naming: DeepSeek's only official API model name is <code>deepseek-v4-pro</code>, and <code>0813</code> is its version label</td>
<td style="text-align:left">Do not make the response <code>model</code> field the sole basis for model routing checks or usage attribution</td>
</tr>
</tbody>
</table></div>
<!--kg-card-end: html-->
<h3 id="93-undefined-by-deepseek-so-no-verdict-either-way">9.3 Undefined by DeepSeek, So No Verdict Either Way</h3><p>Sending a value outside the enum for <code>reasoning_effort</code> (e.g. <code>bogus_xyz</code>) returns 200 with a normal answer, no error, and no observable effect. The fact is clear enough — this path currently does not validate the <code>reasoning_effort</code> enum. What is unclear is whether it <em>should</em>: DeepSeek publishes the legal enum but <strong>never states whether an illegal level ought to be rejected</strong>, so there is no baseline to judge against, which means this counts neither as official behavior nor as a defect on our path. The safe client-side approach: validate the level yourself and do not count on the API to catch it.</p><h2 id="10-capability-%C3%97-api-support-matrix">10. Capability × API Support Matrix</h2><p>The cells below give the parameter / field spelling for each API. Except where marked as DeepSeek's explicit wording, every conclusion comes from actual calls made on 2026-08-13 against the AIHubMix production APIs.</p>
<!--kg-card-begin: html-->
<div class="blog-table-scroll"><table>
<thead>
<tr>
<th style="text-align:left">Capability</th>
<th style="text-align:left">Chat Completions</th>
<th style="text-align:left">Responses</th>
<th style="text-align:left">Messages</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">Basic chat / system instructions</td>
<td style="text-align:left">✅ <code>messages</code></td>
<td style="text-align:left">✅ <code>input</code> + <code>instructions</code></td>
<td style="text-align:left">✅ <code>messages</code> + top-level <code>system</code></td>
</tr>
<tr>
<td style="text-align:left">Streaming</td>
<td style="text-align:left">✅ <code>stream</code> + <code>stream_options</code></td>
<td style="text-align:left">✅ <code>stream</code> (<code>response.created</code> … <code>response.completed</code>)</td>
<td style="text-align:left">✅ <code>stream</code> (<code>message_start</code> … <code>message_stop</code>)</td>
</tr>
<tr>
<td style="text-align:left">Output ceiling</td>
<td style="text-align:left">✅ <code>max_tokens</code> (400 when exceeded, ceiling 393216)</td>
<td style="text-align:left">✅ <code>max_output_tokens</code></td>
<td style="text-align:left">✅ <code>max_tokens</code></td>
</tr>
<tr>
<td style="text-align:left">Disabling thinking</td>
<td style="text-align:left">✅ <code>thinking: {"type": "disabled"}</code></td>
<td style="text-align:left">✅ <code>reasoning: {"effort": "none"}</code></td>
<td style="text-align:left">✅ <code>thinking: {"type": "disabled"}</code></td>
</tr>
<tr>
<td style="text-align:left">Thinking level</td>
<td style="text-align:left">🟡 <code>reasoning_effort</code> accepted, no distinguishing signal</td>
<td style="text-align:left">✅ <code>reasoning.effort</code> (only <code>none</code> confirmable)</td>
<td style="text-align:left">🟡 <code>output_config.effort</code> accepted, nothing echoed back</td>
</tr>
<tr>
<td style="text-align:left">Thinking content returned</td>
<td style="text-align:left">✅ <code>reasoning_content</code> field</td>
<td style="text-align:left">✅ <code>reasoning</code> output item</td>
<td style="text-align:left">✅ <code>thinking</code> content block</td>
</tr>
<tr>
<td style="text-align:left">Mandatory thinking-history passback</td>
<td style="text-align:left">✅ missing <code>reasoning_content</code> → 400</td>
<td style="text-align:left">✅ missing <code>reasoning</code> item → 400</td>
<td style="text-align:left">✅ missing <code>thinking</code> block → 400</td>
</tr>
<tr>
<td style="text-align:left">Tool calling</td>
<td style="text-align:left">✅ nested <code>tools</code> + named <code>tool_choice</code></td>
<td style="text-align:left">✅ flat <code>tools</code></td>
<td style="text-align:left">✅ <code>input_schema</code> + <code>tool_choice: {"type":"any"}</code></td>
</tr>
<tr>
<td style="text-align:left">Forcing a call with <code>required</code></td>
<td style="text-align:left">❗ 400 while thinking is on; disable thinking first</td>
<td style="text-align:left">❗ same as left</td>
<td style="text-align:left">✅ <code>{"type": "any"}</code></td>
</tr>
<tr>
<td style="text-align:left">Parallel tool calling (not disableable)</td>
<td style="text-align:left">➖ no such field on the official Chat API</td>
<td style="text-align:left">❗ DeepSeek states <code>parallel_tool_calls</code> is ignored and parallel calling is always on</td>
<td style="text-align:left">❗ DeepSeek states <code>disable_parallel_tool_use</code> is ignored; testing still returns two <code>tool_use</code> blocks</td>
</tr>
<tr>
<td style="text-align:left">Structured output</td>
<td style="text-align:left">✅ <code>response_format</code> (json_object)</td>
<td style="text-align:left">✅ <code>text.format</code> (json_schema + strict)</td>
<td style="text-align:left">➖ no protocol field; carry the schema in a tool</td>
</tr>
<tr>
<td style="text-align:left">Automatic cache-hit metering</td>
<td style="text-align:left">✅ <code>usage.prompt_tokens_details.cached_tokens</code></td>
<td style="text-align:left">✅ <code>usage.input_tokens_details.cached_tokens</code></td>
<td style="text-align:left">✅ <code>usage.cache_read_input_tokens</code></td>
</tr>
<tr>
<td style="text-align:left">logprobs</td>
<td style="text-align:left">❗ dual channel: <code>content</code> + <code>reasoning_content</code></td>
<td style="text-align:left">✅ <code>top_logprobs</code> on the final text item only</td>
<td style="text-align:left">➖</td>
</tr>
<tr>
<td style="text-align:left">Web search</td>
<td style="text-align:left">➖ no search field on the official Chat API; sending one does not retrieve either</td>
<td style="text-align:left">✅ <code>tools: [{"type": "web_search"}]</code></td>
<td style="text-align:left">✅ <code>web_search_20250305</code></td>
</tr>
<tr>
<td style="text-align:left">Stop sequences</td>
<td style="text-align:left">✅ <code>stop</code></td>
<td style="text-align:left">➖ no stop-sequence field in the protocol (only <code>max_output_tokens</code> limits length)</td>
<td style="text-align:left">✅ <code>stop_sequences</code> (<code>stop_reason: "stop_sequence"</code>)</td>
</tr>
</tbody>
</table></div>
<!--kg-card-end: html-->
<p>Legend: ✅ verified working · 🟡 accepted but cannot be confirmed effective · ❗ needs attention (see the notes above) · ➖ no such concept on this API</p><h2 id="faq">FAQ</h2><p><strong>Which APIs does deepseek-v4-pro-0813 support on AIHubMix?</strong><br>Chat Completions (<code>/v1/chat/completions</code>), Responses (<code>/v1/responses</code>), and the Claude-compatible Messages API (<code>/v1/messages</code>).</p><p><strong>Why does a multi-turn conversation suddenly return 400?</strong><br>The most common cause is thinking history that was not passed back. In thinking mode, the previous turn's thinking content must be replayed verbatim: <code>reasoning_content</code> on the assistant message for Chat, the <code>type="reasoning"</code> output item for Responses, and the <code>thinking</code> content block for Messages. Multi-turn with tools is where this bites hardest — many frameworks filter output items by <code>type == "message"</code> while assembling history, which drops the reasoning item.</p><p><strong>Can thinking be turned off?</strong><br>Yes. Send <code>thinking: {"type": "disabled"}</code> on Chat or Messages, and <code>reasoning: {"effort": "none"}</code> on Responses. Once off, both the thinking content and the thinking tokens disappear.</p><p><strong>Do the three <code>reasoning_effort</code> levels differ?</strong><br><code>low</code> / <code>high</code> / <code>max</code> are all accepted (default <code>high</code>; <code>medium</code> and <code>xhigh</code> are mapped to <code>high</code> for compatibility). In testing, thinking-token counts for the same question show no monotonic difference between levels and nothing is echoed back, so the difference cannot be confirmed from the caller's side. Only the <code>none</code> level on Responses (thinking off) produces a clear observable difference.</p><p><strong>Why does <code>tool_choice: "required"</code> return 400?</strong><br>That value is not accepted while thinking is on (the error body reads <code>Thinking mode does not support this tool_choice</code>). Use a named-function <code>tool_choice</code> (<code>{"type": "function", "function": {"name": "..."}}</code>) to force a specific call with thinking on, or disable thinking first and then use <code>required</code>.</p><p><strong>How do you enable context caching?</strong><br>You don't — it is automatic. Put the stable, unchanging content (system prompts, knowledge snippets, tool definitions) at the front of the request, and the hit count is reported in usage: <code>prompt_tokens_details.cached_tokens</code> on Chat, <code>input_tokens_details.cached_tokens</code> on Responses, and <code>cache_read_input_tokens</code> on Messages.</p><hr><p>For pricing and real-time status, see the <a href="https://aihubmix.com/model/deepseek-v4-pro-0813">deepseek-v4-pro-0813 model page</a>; for more models, visit the <a href="https://aihubmix.com/models">model gallery</a>.</p><p>Related hands-on guides: <a href="https://docs.aihubmix.com/en/blogs/kimi-k3-guide">Kimi K3 hands-on guide</a> (new parameters and a three-API support matrix) and <a href="https://docs.aihubmix.com/en/blogs/aihubmix-gpt-5-6-prompt-caching">GPT-5.6 prompt caching and billing changes</a>.</p></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="#1-model-positioning-and-specs-at-a-glance" title="1. Model Positioning and Specs at a Glance">1. Model Positioning and Specs at a Glance</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#2-how-do-you-turn-thinking-off-three-apis-three-field-shapes" title="2. How Do You Turn Thinking Off? Three APIs, Three Field Shapes">2. How Do You Turn Thinking Off? Three APIs, Three Field Shapes</a><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#chat-completions" title="Chat Completions">Chat Completions</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#responses" title="Responses">Responses</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#messages" title="Messages">Messages</a></div></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#3-why-does-a-multi-turn-conversation-suddenly-return-400-thinking-history-must-be-passed-back-verbatim" title="3. Why Does a Multi-Turn Conversation Suddenly Return 400? Thinking History Must Be Passed Back Verbatim">3. Why Does a Multi-Turn Conversation Suddenly Return 400? Thinking History Must Be Passed Back Verbatim</a><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#chat-completions-1" title="Chat Completions">Chat Completions</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#responses-1" title="Responses">Responses</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#messages-1" title="Messages">Messages</a></div></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#4-tool-calling" title="4. Tool Calling">4. Tool Calling</a><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#chat-completions-2" title="Chat Completions">Chat Completions</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#responses-2" title="Responses">Responses</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#messages-2" title="Messages">Messages</a></div></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#5-structured-output" title="5. Structured Output">5. Structured Output</a><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#chat-completions-3" title="Chat Completions">Chat Completions</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#responses-3" title="Responses">Responses</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#messages-3" title="Messages">Messages</a></div></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#6-how-do-you-enable-context-caching-you-dont-its-automatic" title="6. How Do You Enable Context Caching? You Don&#x27;t, It&#x27;s Automatic">6. How Do You Enable Context Caching? You Don&#x27;t, It&#x27;s Automatic</a><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#chat-completions-4" title="Chat Completions">Chat Completions</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#responses-4" title="Responses">Responses</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#messages-4" title="Messages">Messages</a></div></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#7-logprobs-chat-returns-two-channels" title="7. logprobs: Chat Returns Two Channels">7. logprobs: Chat Returns Two Channels</a><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#chat-completions-5" title="Chat Completions">Chat Completions</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#responses-5" title="Responses">Responses</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#messages-5" title="Messages">Messages</a></div></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#8-which-apis-can-search-the-web" title="8. Which APIs Can Search the Web?">8. Which APIs Can Search the Web?</a><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#responses-6" title="Responses">Responses</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#messages-6" title="Messages">Messages</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#chat-completions-6" title="Chat Completions">Chat Completions</a></div></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#9-usage-notes-deepseeks-design-vs-deviations-on-our-path" title="9. Usage Notes: DeepSeek&#x27;s Design vs Deviations on Our Path">9. Usage Notes: DeepSeek&#x27;s Design vs Deviations on Our Path</a><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#91-by-deepseeks-design" title="9.1 By DeepSeek&#x27;s Design">9.1 By DeepSeek&#x27;s Design</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#92-current-behavior-on-the-aihubmix-path" title="9.2 Current Behavior on the AIHubMix Path">9.2 Current Behavior on the AIHubMix Path</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#93-undefined-by-deepseek-so-no-verdict-either-way" title="9.3 Undefined by DeepSeek, So No Verdict Either Way">9.3 Undefined by DeepSeek, So No Verdict Either Way</a></div></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#10-capability-%C3%97-api-support-matrix" title="10. Capability × API Support Matrix">10. Capability × API Support Matrix</a></div><div class="ant-anchor-link"><a class="ant-anchor-link-title" href="#faq" title="FAQ">FAQ</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 DeepSeek V4 Pro 0813 on AIHubMix</p><a href="/model/deepseek-v4-pro-0813" 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":"DeepSeek V4 Pro (0813): Thinking Passback & 3-API Matrix","description":"DeepSeek V4 Pro (0813) hands-on guide: thinking toggle and reasoning_effort levels, mandatory thinking-history passback, tools, caching, and a 3-API matrix.","url":"https://aihubmix.com/blog/deepseek-v4-pro-0813-thinking-passback-3-api-matrix","mainEntityOfPage":{"@type":"WebPage","@id":"https://aihubmix.com/blog/deepseek-v4-pro-0813-thinking-passback-3-api-matrix"},"image":"https://aihubmix.com/blog-media/images/2026/08/e66111529d56b278.webp","inLanguage":"en","publisher":{"@type":"Organization","name":"AIHubMix","url":"https://aihubmix.com","logo":{"@type":"ImageObject","url":"https://aihubmix.com/logo.png"}},"datePublished":"2026-08-13T16:06:00.000+00:00","dateModified":"2026-08-13T16:06:00.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\",\"deepseek-v4-pro-0813-thinking-passback-3-api-matrix\",{\"_11\":12,\"_29\":68,\"_31\":69,\"_33\":70,\"_71\":72,\"_35\":73,\"_37\":-5,\"_38\":34,\"_39\":74,\"_41\":74,\"_42\":75,\"_44\":45,\"_46\":76},\"related\",[25,26,27],\"modelCount\",714,\"ctaModel\",{\"_21\":22,\"_23\":24},\"htmlLang\",\"id\",\"deepseek-v4-pro-0813\",\"name\",\"DeepSeek V4 Pro 0813\",{\"_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},\"DeepSeek V4 Pro (0813): Thinking Passback \u0026 3-API Matrix\",\"DeepSeek V4 Pro (0813) hands-on guide: thinking toggle and reasoning_effort levels, mandatory thinking-history passback, tools, caching, and a 3-API matrix.\",true,\"html\",\"\u003chr\u003e\u003cblockquote\u003eThis article covers the usage notes and gotchas for \u003ca href=\\\"https://aihubmix.com/model/deepseek-v4-pro-0813\\\"\u003edeepseek-v4-pro-0813\u003c/a\u003e. On AIHubMix, the model is available through the Chat Completions, Responses, and Claude-compatible Messages APIs. See also: \u003ca href=\\\"https://api-docs.deepseek.com/\\\"\u003eDeepSeek official API docs\u003c/a\u003e.\u003cbr\u003e\u003cbr\u003eThe \\\"Verified\\\" conclusions and sample responses in each section come from actual calls made on 2026-08-13 through the AIHubMix APIs (Chat Completions / Responses / Messages); spec items not marked \\\"Verified\\\" come from DeepSeek's official documentation.\u003c/blockquote\u003e\u003ch2 id=\\\"1-model-positioning-and-specs-at-a-glance\\\"\u003e1. Model Positioning and Specs at a Glance\u003c/h2\u003e\u003cp\u003eV4 Pro is the high-end tier of DeepSeek's V4 generation (the lightweight \u003ccode\u003edeepseek-v4-flash\u003c/code\u003e is its sibling). The release line traces back to DeepSeek-V4 Preview on 2026-04-24, and \u003ccode\u003e0813\u003c/code\u003e is the MODEL VERSION label DeepSeek assigned to the current build. Beyond the raw specs, four things set it apart:\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cstrong\u003eA sparse frontier model\u003c/strong\u003e: 1.6T total parameters / 49B activated (a MoE, or mixture-of-experts, architecture — each inference pass lights up only a subset of expert networks: total parameters determine knowledge capacity, activated parameters determine per-call compute cost). The model card lists CSA+HCA hybrid attention, mHC, and the Muon optimizer.\u003c/li\u003e\u003cli\u003e\u003cstrong\u003eOpen weights under MIT\u003c/strong\u003e: \u003ccode\u003edeepseek-ai/DeepSeek-V4-Pro\u003c/code\u003e is published on HuggingFace under the MIT license (one of the most permissive open-source licenses — commercial use and closed-source redistribution are both allowed) and can be self-hosted. MIT is uncommon for a model of this size. The model card's self-hosting notes also suggest a context window of ≥384K tokens when running in Think Max (the highest thinking level) — that is deployment guidance for self-hosting, not a spec of the hosted API.\u003c/li\u003e\u003cli\u003e\u003cstrong\u003eMulti-protocol support is first-party, not third-party translation\u003c/strong\u003e: DeepSeek itself offers an OpenAI Chat API, an Anthropic-compatible endpoint (\u003ccode\u003e/anthropic\u003c/code\u003e, which maps \u003ccode\u003eclaude-opus*\u003c/code\u003e onto this model), and the Responses API (DeepSeek describes native support for the format, with adaptations for Codex). It also offers FIM (fill-in-the-middle) completion as a Beta feature on a separate endpoint, which is not part of the three AIHubMix APIs.\u003c/li\u003e\u003cli\u003e\u003cstrong\u003eA ~120× gap between cache-hit and cache-miss pricing\u003c/strong\u003e: DeepSeek's published pricing mechanism is cache-hit $0.003625/M vs cache-miss $0.435/M (output $0.87/M), and caching is automatic with no parameter to set. For workloads that reuse long prefixes (system prompts, long documents), that gap dominates the bill. Actual retail pricing is whatever the model page shows.\u003c/li\u003e\u003c/ul\u003e\\n\u003c!--kg-card-begin: html--\u003e\\n\u003ctable\u003e\\n\u003cthead\u003e\\n\u003ctr\u003e\\n\u003cth style=\\\"text-align:left\\\"\u003eItem\u003c/th\u003e\\n\u003cth style=\\\"text-align:left\\\"\u003eValue\u003c/th\u003e\\n\u003c/tr\u003e\\n\u003c/thead\u003e\\n\u003ctbody\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eModel name on AIHubMix\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e\u003ccode\u003edeepseek-v4-pro-0813\u003c/code\u003e\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eContext window\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e1M tokens (1,000,000)\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eMax output\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eOfficial wording is \u003ccode\u003eMAX OUTPUT MAXIMUM: 384K\u003c/code\u003e (the exact token count and the default are not published)\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eInput modalities\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eText only. The Responses compatibility page explicitly states that image and file inputs are unsupported; the Messages page explicitly marks \u003ccode\u003etype=\\\"image\\\"\u003c/code\u003e blocks Not Supported; on Chat Completions the user message \u003ccode\u003econtent\u003c/code\u003e accepts a string only, with no multimodal content parts\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eThinking mode\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eHybrid (thinking / non-thinking), \u003cstrong\u003ethinking on by default\u003c/strong\u003e\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eThinking levels\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e\u003ccode\u003ereasoning_effort\u003c/code\u003e accepts \u003ccode\u003elow\u003c/code\u003e / \u003ccode\u003ehigh\u003c/code\u003e / \u003ccode\u003emax\u003c/code\u003e, default \u003ccode\u003ehigh\u003c/code\u003e; \u003ccode\u003emedium\u003c/code\u003e and \u003ccode\u003exhigh\u003c/code\u003e are mapped to \u003ccode\u003ehigh\u003c/code\u003e for compatibility\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eAvailable APIs\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eChat Completions, Responses, Messages (Claude-compatible)\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003c/tbody\u003e\\n\u003c/table\u003e\\n\u003c!--kg-card-end: html--\u003e\\n\u003cblockquote\u003e\u003cstrong\u003eVerified\u003c/strong\u003e: exceeding \u003ccode\u003emax_tokens\u003c/code\u003e is rejected by validation rather than silently truncated — sending \u003ccode\u003emax_tokens=9999999\u003c/code\u003e returns HTTP 400, and the error body names the field and gives the ceiling \u003ccode\u003e393216\u003c/code\u003e.\u003c/blockquote\u003e\u003cpre\u003e\u003ccode class=\\\"language-text\\\"\u003e# max_tokens=9999999 -\u0026gt; HTTP 400\\n\\\"...max_tokens... 393216\\\"\\n\u003c/code\u003e\u003c/pre\u003e\u003cblockquote\u003e❗ \u003cstrong\u003eImages do not raise an error, but they are dropped\u003c/strong\u003e: the official wording for the Responses API is \\\"Image and file inputs are not supported (input_image parts do not cause an error, but are replaced with a placeholder text)\\\" — an \u003ccode\u003einput_image\u003c/code\u003e part does not fail the request, it is swapped for placeholder text. On Chat Completions the user message \u003ccode\u003econtent\u003c/code\u003e only takes a string, and on Messages \u003ccode\u003etype=\\\"image\\\"\u003c/code\u003e blocks are marked Not Supported. When building multimodal routing, never treat \\\"no error\\\" as evidence that the model actually saw the image.\u003c/blockquote\u003e\u003ch2 id=\\\"2-how-do-you-turn-thinking-off-three-apis-three-field-shapes\\\"\u003e2. How Do You Turn Thinking Off? Three APIs, Three Field Shapes\u003c/h2\u003e\u003cp\u003eV4 Pro thinks by default: send no parameters at all and the response comes back with thinking content. Turning it off uses a different field shape on each of the three APIs.\u003c/p\u003e\u003ch3 id=\\\"chat-completions\\\"\u003eChat Completions\u003c/h3\u003e\u003cp\u003eUse the top-level \u003ccode\u003ethinking\u003c/code\u003e object.\u003c/p\u003e\u003cpre\u003e\u003ccode class=\\\"language-text\\\"\u003efrom openai import OpenAI\\n\\nclient = OpenAI(\\n    base_url=\\\"https://aihubmix.com/v1\\\",\\n    api_key=\\\"\u0026lt;AIHUBMIX_API_KEY\u0026gt;\\\",\\n)\\n\\ncompletion = client.chat.completions.create(\\n    model=\\\"deepseek-v4-pro-0813\\\",\\n    messages=[{\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"What is 2 + 2?\\\"}],\\n    extra_body={\\\"thinking\\\": {\\\"type\\\": \\\"disabled\\\"}},\\n)\\n\\n# Thinking on  (default): message.reasoning_content present, reasoning_tokens = 43\\n# Thinking off (disabled): reasoning_content absent, reasoning_tokens absent\\n\u003c/code\u003e\u003c/pre\u003e\u003cblockquote\u003e\u003cstrong\u003eVerified\u003c/strong\u003e: with \u003ccode\u003ethinking.type=\\\"disabled\\\"\u003c/code\u003e, both \u003ccode\u003emessage.reasoning_content\u003c/code\u003e and \u003ccode\u003eusage.completion_tokens_details.reasoning_tokens\u003c/code\u003e disappear together, which confirms the switch took effect.\u003c/blockquote\u003e\u003ch3 id=\\\"responses\\\"\u003eResponses\u003c/h3\u003e\u003cp\u003eThere is no separate switch on Responses; turning thinking off means setting the level to \u003ccode\u003enone\u003c/code\u003e.\u003c/p\u003e\u003cpre\u003e\u003ccode class=\\\"language-text\\\"\u003eresponse = client.responses.create(\\n    model=\\\"deepseek-v4-pro-0813\\\",\\n    input=\\\"What is 2 + 2?\\\",\\n    reasoning={\\\"effort\\\": \\\"none\\\"},\\n)\\n\\n# effort=\\\"none\\\": usage.output_tokens_details.reasoning_tokens = 0\\n#                output[0] is the message item directly (no reasoning item)\\n# effort unset : output always starts with a reasoning item\\n\u003c/code\u003e\u003c/pre\u003e\u003cblockquote\u003e\u003cstrong\u003eVerified\u003c/strong\u003e: \u003ccode\u003ereasoning.effort=\\\"none\\\"\u003c/code\u003e differs observably from the default level (thinking tokens drop to zero, the \u003ccode\u003ereasoning\u003c/code\u003e output item disappears), which confirms it took effect.\u003c/blockquote\u003e\u003ch3 id=\\\"messages\\\"\u003eMessages\u003c/h3\u003e\u003cp\u003eSame name and same shape as Chat Completions: the top-level \u003ccode\u003ethinking\u003c/code\u003e object.\u003c/p\u003e\u003cpre\u003e\u003ccode class=\\\"language-text\\\"\u003efrom anthropic import Anthropic\\n\\nclient = Anthropic(\\n    api_key=\\\"\u0026lt;AIHUBMIX_API_KEY\u0026gt;\\\",\\n    base_url=\\\"https://aihubmix.com\\\",\\n)\\n\\nresponse = client.messages.create(\\n    model=\\\"deepseek-v4-pro-0813\\\",\\n    max_tokens=1024,\\n    messages=[{\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"What is 2 + 2?\\\"}],\\n    extra_body={\\\"thinking\\\": {\\\"type\\\": \\\"disabled\\\"}},\\n)\\n\\n# Thinking on  (default): content = [thinking block, text block]\\n# Thinking off (disabled): content = [text block]\\n\u003c/code\u003e\u003c/pre\u003e\u003cblockquote\u003e\u003cstrong\u003eVerified\u003c/strong\u003e: once disabled, the \u003ccode\u003ethinking\u003c/code\u003e block disappears entirely and only the \u003ccode\u003etext\u003c/code\u003e block remains.\u003c/blockquote\u003e\u003cblockquote\u003e\u003cstrong\u003eOn thinking levels\u003c/strong\u003e: \u003ccode\u003elow\u003c/code\u003e and \u003ccode\u003emax\u003c/code\u003e both returned 200 on Chat Completions in testing (\u003ccode\u003ehigh\u003c/code\u003e is the default and applies when the field is omitted), but thinking-token counts show no monotonic difference between levels for the same question (easy question: low=43 / max=27; hard question: low=114 / max=92), and nothing is echoed back in the response — \u003cstrong\u003ethe levels are accepted, but no distinguishing signal is observable from the response\u003c/strong\u003e. On Responses, only the \u003ccode\u003enone\u003c/code\u003e level (thinking off) can be confirmed from the response side.\u003c/blockquote\u003e\u003ch2 id=\\\"3-why-does-a-multi-turn-conversation-suddenly-return-400-thinking-history-must-be-passed-back-verbatim\\\"\u003e3. Why Does a Multi-Turn Conversation Suddenly Return 400? Thinking History Must Be Passed Back Verbatim\u003c/h2\u003e\u003cp\u003eThis is the single most common tripwire with this model: in thinking mode, a multi-turn conversation must pass the previous turn's thinking content back verbatim, or the request is rejected. Not degraded, not lower quality — a hard HTTP 400.\u003c/p\u003e\u003cp\u003eThe three APIs carry \u003cstrong\u003ethe same thinking content under different field names\u003c/strong\u003e:\u003c/p\u003e\\n\u003c!--kg-card-begin: html--\u003e\\n\u003ctable\u003e\\n\u003cthead\u003e\\n\u003ctr\u003e\\n\u003cth style=\\\"text-align:left\\\"\u003eAPI\u003c/th\u003e\\n\u003cth style=\\\"text-align:left\\\"\u003ePassback shape\u003c/th\u003e\\n\u003cth style=\\\"text-align:left\\\"\u003eError body when missing\u003c/th\u003e\\n\u003c/tr\u003e\\n\u003c/thead\u003e\\n\u003ctbody\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eChat Completions\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eThe \u003ccode\u003ereasoning_content\u003c/code\u003e field on the assistant message\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e\u003ccode\u003eThe `reasoning_content` in the thinking mode must be passed back to the API.\u003c/code\u003e\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eResponses\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eThe output item with \u003ccode\u003etype=\\\"reasoning\\\"\u003c/code\u003e in the \u003ccode\u003einput\u003c/code\u003e array\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e\u003ccode\u003eThe `reasoning_text` in the thinking mode must be passed back to the API.\u003c/code\u003e\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eMessages\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eThe \u003ccode\u003ethinking\u003c/code\u003e block inside the assistant content blocks\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e\u003ccode\u003eThe `content[].thinking` in the thinking mode must be passed back to the API.\u003c/code\u003e\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003c/tbody\u003e\\n\u003c/table\u003e\\n\u003c!--kg-card-end: html--\u003e\\n\u003cblockquote\u003e\u003cstrong\u003eVerified (trigger conditions)\u003c/strong\u003e: this validation fires consistently on \u003cstrong\u003emulti-turn requests that carry \u003ccode\u003etools\u003c/code\u003e\u003c/strong\u003e (the model issues a tool call, then the tool result is sent back). On plain multi-turn requests without tools, where the model answers directly, the validation did not fire in this round of testing and the request returned 200. In other words, tool orchestration (agent / function-calling workloads) is where you are most likely to hit it, so treat thinking content as part of the conversation state you persist and replay.\u003c/blockquote\u003e\u003ch3 id=\\\"chat-completions-1\\\"\u003eChat Completions\u003c/h3\u003e\u003cpre\u003e\u003ccode class=\\\"language-text\\\"\u003e# Multi-turn: pass the previous assistant message back verbatim, including reasoning_content\\nmessages = [\\n    {\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"What is 1 + 1? Remember the result.\\\"},\\n    {\\n        \\\"role\\\": \\\"assistant\\\",\\n        \\\"content\\\": \\\"2\\\",\\n        \\\"reasoning_content\\\": \\\"\u0026lt;reasoning_content from the previous response\u0026gt;\\\",\\n    },\\n    {\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"Add 1 to the result.\\\"},\\n]\\n\\n# Dropping reasoning_content -\u0026gt; HTTP 400 invalid_request_error\\n\u003c/code\u003e\u003c/pre\u003e\u003cblockquote\u003e\u003cstrong\u003eVerified\u003c/strong\u003e: a historical assistant message missing \u003ccode\u003ereasoning_content\u003c/code\u003e returns 400; adding it back makes the identical request return 200 and continue correctly.\u003c/blockquote\u003e\u003ch3 id=\\\"responses-1\\\"\u003eResponses\u003c/h3\u003e\u003cpre\u003e\u003ccode class=\\\"language-text\\\"\u003e# Multi-turn: input = previous input + response.output (reasoning item included) + new message\\ninput = previous_input + response.output + [\\n    {\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"Add 1 to the result.\\\"}\\n]\\n\\n# Filtering out the type=\\\"reasoning\\\" item -\u0026gt; HTTP 400\\n\u003c/code\u003e\u003c/pre\u003e\u003cblockquote\u003e\u003cstrong\u003eVerified\u003c/strong\u003e: splicing \u003ccode\u003eresponse.output\u003c/code\u003e back in as-is is all it takes. Filtering output items by \u003ccode\u003etype == \\\"message\\\"\u003c/code\u003e while assembling history drops the \u003ccode\u003ereasoning\u003c/code\u003e item and triggers the 400 — this is the most common way to get bitten.\u003c/blockquote\u003e\u003ch3 id=\\\"messages-1\\\"\u003eMessages\u003c/h3\u003e\u003cpre\u003e\u003ccode class=\\\"language-text\\\"\u003e# Multi-turn: pass response.content back verbatim as the assistant message\\nmessages = [\\n    {\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"What's the weather in Paris?\\\"},\\n    {\\\"role\\\": \\\"assistant\\\", \\\"content\\\": response.content},   # thinking + tool_use blocks\\n    {\\\"role\\\": \\\"user\\\", \\\"content\\\": [tool_result_block]},\\n]\\n\\n# Stripping the thinking block -\u0026gt; HTTP 400\\n\u003c/code\u003e\u003c/pre\u003e\u003cblockquote\u003e\u003cstrong\u003eVerified\u003c/strong\u003e: removing the \u003ccode\u003ethinking\u003c/code\u003e block from the content array returns 400 (with \u003ccode\u003eerror.type\u003c/code\u003e set to \u003ccode\u003einvalid_request_error\u003c/code\u003e).\u003c/blockquote\u003e\u003ch2 id=\\\"4-tool-calling\\\"\u003e4. Tool Calling\u003c/h2\u003e\u003cp\u003eEach API declares tools in its own protocol shape; the shapes are not interchangeable.\u003c/p\u003e\u003ch3 id=\\\"chat-completions-2\\\"\u003eChat Completions\u003c/h3\u003e\u003cp\u003eNested shape (a \u003ccode\u003efunction\u003c/code\u003e object wrapping \u003ccode\u003ename\u003c/code\u003e / \u003ccode\u003eparameters\u003c/code\u003e). A named-function \u003ccode\u003etool_choice\u003c/code\u003e forces the call.\u003c/p\u003e\u003cpre\u003e\u003ccode class=\\\"language-text\\\"\u003ecompletion = client.chat.completions.create(\\n    model=\\\"deepseek-v4-pro-0813\\\",\\n    messages=[{\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"What's the weather in Paris?\\\"}],\\n    tools=[{\\n        \\\"type\\\": \\\"function\\\",\\n        \\\"function\\\": {\\n            \\\"name\\\": \\\"get_weather\\\",\\n            \\\"description\\\": \\\"Get weather for a city\\\",\\n            \\\"parameters\\\": {\\\"type\\\": \\\"object\\\", \\\"properties\\\": {\\\"city\\\": {\\\"type\\\": \\\"string\\\"}}, \\\"required\\\": [\\\"city\\\"]},\\n        },\\n    }],\\n    tool_choice={\\\"type\\\": \\\"function\\\", \\\"function\\\": {\\\"name\\\": \\\"get_weather\\\"}},\\n)\\n\\n# Observed: finish_reason \\\"tool_calls\\\", tool_calls[0].function.arguments = {\\\"city\\\": \\\"Paris\\\"}\\n\u003c/code\u003e\u003c/pre\u003e\u003cblockquote\u003e❗ \u003cstrong\u003eVerified: \u003ccode\u003etool_choice: \\\"required\\\"\u003c/code\u003e cannot be used while thinking is on\u003c/strong\u003e — it returns 400 \u003ccode\u003eThinking mode does not support this tool_choice\u003c/code\u003e; disabling thinking (\u003ccode\u003ethinking.type=\\\"disabled\\\"\u003c/code\u003e) makes the identical request return 200. When you need \\\"must call a tool\\\" semantics, use a \u003cstrong\u003enamed-function\u003c/strong\u003e \u003ccode\u003etool_choice\u003c/code\u003e instead (as above, which works with thinking on), or turn thinking off first and then use \u003ccode\u003erequired\u003c/code\u003e.\u003c/blockquote\u003e\u003ch3 id=\\\"responses-2\\\"\u003eResponses\u003c/h3\u003e\u003cp\u003eFlat shape (\u003ccode\u003etype\u003c/code\u003e / \u003ccode\u003ename\u003c/code\u003e / \u003ccode\u003eparameters\u003c/code\u003e at the same level).\u003c/p\u003e\u003cpre\u003e\u003ccode class=\\\"language-text\\\"\u003eresponse = client.responses.create(\\n    model=\\\"deepseek-v4-pro-0813\\\",\\n    input=\\\"What's the weather in Paris?\\\",\\n    tools=[{\\n        \\\"type\\\": \\\"function\\\",\\n        \\\"name\\\": \\\"get_weather\\\",\\n        \\\"description\\\": \\\"Get weather for a city\\\",\\n        \\\"parameters\\\": {\\\"type\\\": \\\"object\\\", \\\"properties\\\": {\\\"city\\\": {\\\"type\\\": \\\"string\\\"}}, \\\"required\\\": [\\\"city\\\"]},\\n    }],\\n)\\n\\n# Observed output items: [\\\"reasoning\\\", \\\"function_call\\\"]; arguments = {\\\"city\\\": \\\"Paris\\\"}\\n\u003c/code\u003e\u003c/pre\u003e\u003cblockquote\u003e\u003cstrong\u003eVerified\u003c/strong\u003e: copying the Chat Completions nested shape (\u003ccode\u003efunction: {...}\u003c/code\u003e) into Responses returns 400 — use the flat shape. \u003ccode\u003etool_choice: \\\"required\\\"\u003c/code\u003e is subject to the same thinking-mode restriction as on Chat.\u003c/blockquote\u003e\u003ch3 id=\\\"messages-2\\\"\u003eMessages\u003c/h3\u003e\u003cp\u003eAnthropic-native shape (\u003ccode\u003einput_schema\u003c/code\u003e), with \u003ccode\u003etool_choice: {\\\"type\\\": \\\"any\\\"}\u003c/code\u003e to force a call.\u003c/p\u003e\u003cpre\u003e\u003ccode class=\\\"language-text\\\"\u003eresponse = client.messages.create(\\n    model=\\\"deepseek-v4-pro-0813\\\",\\n    max_tokens=1024,\\n    tools=[{\\n        \\\"name\\\": \\\"get_weather\\\",\\n        \\\"description\\\": \\\"Get weather for a city\\\",\\n        \\\"input_schema\\\": {\\\"type\\\": \\\"object\\\", \\\"properties\\\": {\\\"city\\\": {\\\"type\\\": \\\"string\\\"}}, \\\"required\\\": [\\\"city\\\"]},\\n    }],\\n    tool_choice={\\\"type\\\": \\\"any\\\"},\\n    messages=[{\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"What's the weather in Paris?\\\"}],\\n)\\n\\n# Observed: content contains a tool_use block, name = get_weather, input = {\\\"city\\\": \\\"Paris\\\"}\\n\u003c/code\u003e\u003c/pre\u003e\u003cblockquote\u003e❗ \u003cstrong\u003eParallel tool calling cannot be turned off, by DeepSeek's own design\u003c/strong\u003e — the official Anthropic-compatibility page states, on the \u003ccode\u003etool_choice\u003c/code\u003e row, that \u003ccode\u003edisable_parallel_tool_use is ignored\u003c/code\u003e, and the Responses page likewise states \u003ccode\u003eparallel_tool_calls | Ignored (parallel tool calling is always enabled)\u003c/code\u003e. Testing matches: asking about two cities at once with \u003ccode\u003edisable_parallel_tool_use: true\u003c/code\u003e still returns two \u003ccode\u003etool_use\u003c/code\u003e blocks. If you need serial execution, take the first call or queue them yourself on the client side.\u003c/blockquote\u003e\u003cblockquote\u003e\u003cstrong\u003eTool count and context cost\u003c/strong\u003e: sending 200 function definitions in a single request still returned 200 with a normal answer and did not trip any count validation (observed on this path; higher counts were not tested). But \u003ccode\u003eprompt_tokens\u003c/code\u003e for that request reached 6,105 — \u003cstrong\u003etool definitions go into the context in full and are billed\u003c/strong\u003e. When you have many tools, trim the tool set per scenario rather than declaring everything unconditionally.\u003c/blockquote\u003e\u003ch2 id=\\\"5-structured-output\\\"\u003e5. Structured Output\u003c/h2\u003e\u003ch3 id=\\\"chat-completions-3\\\"\u003eChat Completions\u003c/h3\u003e\u003cp\u003e\u003ccode\u003eresponse_format\u003c/code\u003e supports JSON mode.\u003c/p\u003e\u003cpre\u003e\u003ccode class=\\\"language-text\\\"\u003ecompletion = client.chat.completions.create(\\n    model=\\\"deepseek-v4-pro-0813\\\",\\n    messages=[{\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"Return {\\\\\\\"a\\\\\\\": 1} as JSON.\\\"}],\\n    response_format={\\\"type\\\": \\\"json_object\\\"},\\n)\\n\\n# Observed response content: {\\\"a\\\":1}\\n\u003c/code\u003e\u003c/pre\u003e\u003cblockquote\u003e\u003cstrong\u003eVerified\u003c/strong\u003e: the output is valid JSON.\u003c/blockquote\u003e\u003ch3 id=\\\"responses-3\\\"\u003eResponses\u003c/h3\u003e\u003cp\u003eDeclare a JSON Schema through \u003ccode\u003etext.format\u003c/code\u003e, with \u003ccode\u003estrict\u003c/code\u003e mode supported.\u003c/p\u003e\u003cpre\u003e\u003ccode class=\\\"language-text\\\"\u003eresponse = client.responses.create(\\n    model=\\\"deepseek-v4-pro-0813\\\",\\n    input=\\\"Return the number 1 under key a.\\\",\\n    text={\\n        \\\"format\\\": {\\n            \\\"type\\\": \\\"json_schema\\\",\\n            \\\"name\\\": \\\"extract\\\",\\n            \\\"strict\\\": True,\\n            \\\"schema\\\": {\\\"type\\\": \\\"object\\\", \\\"properties\\\": {\\\"a\\\": {\\\"type\\\": \\\"integer\\\"}}, \\\"required\\\": [\\\"a\\\"]},\\n        }\\n    },\\n)\\n\\n# Observed output text: {\\\"a\\\":1}\\n\u003c/code\u003e\u003c/pre\u003e\u003cblockquote\u003e\u003cstrong\u003eVerified\u003c/strong\u003e: the output conforms strictly to the given schema.\u003c/blockquote\u003e\u003ch3 id=\\\"messages-3\\\"\u003eMessages\u003c/h3\u003e\u003cp\u003eThe Messages (Anthropic) protocol has no \u003ccode\u003eresponse_format\u003c/code\u003e / \u003ccode\u003etext.format\u003c/code\u003e equivalent. The usual workaround is to carry the schema in a tool — declare a tool whose \u003ccode\u003einput_schema\u003c/code\u003e is your target schema, set \u003ccode\u003etool_choice: {\\\"type\\\": \\\"any\\\"}\u003c/code\u003e, and read the structured result from the \u003ccode\u003einput\u003c/code\u003e of the \u003ccode\u003etool_use\u003c/code\u003e block. This round of testing did not specifically verify that pattern; when you need hard schema guarantees, prefer Chat Completions or Responses.\u003c/p\u003e\u003ch2 id=\\\"6-how-do-you-enable-context-caching-you-dont-its-automatic\\\"\u003e6. How Do You Enable Context Caching? You Don't, It's Automatic\u003c/h2\u003e\u003cp\u003eContext caching (identical prefixes are reused, and the cached portion is billed at a lower rate) is \u003cstrong\u003eon by default and needs no parameters\u003c/strong\u003e. A second request with the same long prefix reports the hit in \u003ccode\u003eusage\u003c/code\u003e, under a field name that varies by API. For caching details and current pricing, see the \u003ca href=\\\"https://aihubmix.com/model/deepseek-v4-pro-0813\\\"\u003emodel page\u003c/a\u003e; for cross-model caching strategy and hit-rate techniques, see \u003ca href=\\\"https://docs.aihubmix.com/en/practices/prompt-caching\\\"\u003eprompt caching practices\u003c/a\u003e.\u003c/p\u003e\u003ch3 id=\\\"chat-completions-4\\\"\u003eChat Completions\u003c/h3\u003e\u003cpre\u003e\u003ccode class=\\\"language-text\\\"\u003e# usage of the second call with an identical long prefix\\n\\\"prompt_tokens_details\\\": {\\\"cached_tokens\\\": 640}   # first call: 0\\n\u003c/code\u003e\u003c/pre\u003e\u003cblockquote\u003e\u003cstrong\u003eVerified\u003c/strong\u003e: two back-to-back calls with the same long prefix on the same channel moved \u003ccode\u003ecached_tokens\u003c/code\u003e from 0 to 640.\u003c/blockquote\u003e\u003ch3 id=\\\"responses-4\\\"\u003eResponses\u003c/h3\u003e\u003cpre\u003e\u003ccode class=\\\"language-text\\\"\u003e# usage of the second call with identical long instructions\\n\\\"input_tokens_details\\\": {\\\"cached_tokens\\\": 896}    # first call: 0\\n\u003c/code\u003e\u003c/pre\u003e\u003ch3 id=\\\"messages-4\\\"\u003eMessages\u003c/h3\u003e\u003cpre\u003e\u003ccode class=\\\"language-text\\\"\u003e# usage of a call whose long system prefix was already warmed\\n\\\"cache_read_input_tokens\\\": 896\\n\u003c/code\u003e\u003c/pre\u003e\u003cblockquote\u003e\u003cstrong\u003eVerified\u003c/strong\u003e: the prefix above was warmed by a Responses request with identical content, and the first Messages call hit 896 straight away — consistent with caching being keyed on content prefix and shared across protocol surfaces.\u003c/blockquote\u003e\u003ch2 id=\\\"7-logprobs-chat-returns-two-channels\\\"\u003e7. logprobs: Chat Returns Two Channels\u003c/h2\u003e\u003cp\u003e\u003ccode\u003elogprobs\u003c/code\u003e (log probabilities — the model's per-candidate-token confidence detail) comes back in different shapes on the two APIs, and parsing code has to handle them separately.\u003c/p\u003e\u003ch3 id=\\\"chat-completions-5\\\"\u003eChat Completions\u003c/h3\u003e\u003cpre\u003e\u003ccode class=\\\"language-text\\\"\u003ecompletion = client.chat.completions.create(\\n    model=\\\"deepseek-v4-pro-0813\\\",\\n    messages=[{\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"Say hi.\\\"}],\\n    logprobs=True,\\n    top_logprobs=2,\\n)\\n\\n# Observed: choices[0].logprobs contains TWO arrays\\n#   logprobs.content[]            -\u0026gt; tokens of the final answer\\n#   logprobs.reasoning_content[]  -\u0026gt; tokens of the thinking text\\n\u003c/code\u003e\u003c/pre\u003e\u003cblockquote\u003e❗ \u003cstrong\u003eVerified: Chat returns log probabilities for both \u003ccode\u003econtent\u003c/code\u003e and \u003ccode\u003ereasoning_content\u003c/code\u003e\u003c/strong\u003e. Code that reads only \u003ccode\u003elogprobs.content\u003c/code\u003e, per the standard OpenAI response shape, will not error out but will silently miss the thinking channel; if your code assumes a single array under \u003ccode\u003elogprobs\u003c/code\u003e, add a shape check first.\u003c/blockquote\u003e\u003ch3 id=\\\"responses-5\\\"\u003eResponses\u003c/h3\u003e\u003cpre\u003e\u003ccode class=\\\"language-text\\\"\u003eresponse = client.responses.create(\\n    model=\\\"deepseek-v4-pro-0813\\\",\\n    input=\\\"Say hi.\\\",\\n    top_logprobs=3,\\n)\\n\\n# Observed: logprobs only on the final message item\\n#   output[-1].content[0].logprobs[] with logprob + top_logprobs details\\n\u003c/code\u003e\u003c/pre\u003e\u003cblockquote\u003e\u003cstrong\u003eVerified\u003c/strong\u003e: Responses attaches logprobs only to the final text item — none of the dual-channel shape seen on Chat.\u003c/blockquote\u003e\u003ch3 id=\\\"messages-5\\\"\u003eMessages\u003c/h3\u003e\u003cp\u003eThe Messages (Anthropic) protocol has no equivalent field. For token-level probability detail, use Chat Completions or Responses.\u003c/p\u003e\u003ch2 id=\\\"8-which-apis-can-search-the-web\\\"\u003e8. Which APIs Can Search the Web?\u003c/h2\u003e\u003cp\u003eWeb search here is a server-side tool (the retrieval runs on the server; the client never issues the request itself), and it genuinely executes on both the Responses and Messages APIs in testing.\u003c/p\u003e\u003ch3 id=\\\"responses-6\\\"\u003eResponses\u003c/h3\u003e\u003cpre\u003e\u003ccode class=\\\"language-text\\\"\u003eresponse = client.responses.create(\\n    model=\\\"deepseek-v4-pro-0813\\\",\\n    input=\\\"What is the latest stable version of Python?\\\",\\n    tools=[{\\\"type\\\": \\\"web_search\\\"}],\\n)\\n\\n# Observed output item sequence:\\n# [\\\"reasoning\\\", \\\"web_search_call\\\", \\\"reasoning\\\", \\\"message\\\"]\\n\u003c/code\u003e\u003c/pre\u003e\u003cblockquote\u003e\u003cstrong\u003eVerified\u003c/strong\u003e: a \u003ccode\u003eweb_search_call\u003c/code\u003e item appears in the output sequence, which means the server really did run a retrieval.\u003c/blockquote\u003e\u003ch3 id=\\\"messages-6\\\"\u003eMessages\u003c/h3\u003e\u003cpre\u003e\u003ccode class=\\\"language-text\\\"\u003eresponse = client.messages.create(\\n    model=\\\"deepseek-v4-pro-0813\\\",\\n    max_tokens=1024,\\n    tools=[{\\\"type\\\": \\\"web_search_20250305\\\", \\\"name\\\": \\\"web_search\\\"}],\\n    messages=[{\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"What is the latest stable version of Python?\\\"}],\\n)\\n\\n# Observed content block sequence:\\n# [\\\"thinking\\\", \\\"server_tool_use\\\", \\\"web_search_tool_result\\\", \\\"thinking\\\", \\\"text\\\"]\\n# usage.server_tool_use.web_search_requests = 1\\n\u003c/code\u003e\u003c/pre\u003e\u003cblockquote\u003e\u003cstrong\u003eVerified\u003c/strong\u003e: \u003ccode\u003eusage.server_tool_use.web_search_requests\u003c/code\u003e counts 1 — the retrieval request really happened and was metered.\u003c/blockquote\u003e\u003ch3 id=\\\"chat-completions-6\\\"\u003eChat Completions\u003c/h3\u003e\u003cp\u003e\u003cstrong\u003eWeb search cannot be triggered on Chat\u003c/strong\u003e. DeepSeek's official Chat API reference contains no search-tool field anywhere in the request schema (that is an absence established by going through the field list one by one; DeepSeek has made no explicit statement denying support). The API with an explicit official support statement for server-side search is Responses (\u003ccode\u003eweb_search\u003c/code\u003e), and the official Messages compatibility page also lists the search-related content blocks.\u003c/p\u003e\u003cpre\u003e\u003ccode class=\\\"language-text\\\"\u003e# Three control groups, same question requiring live information, all HTTP 200:\\n# A no search field       -\u0026gt; \\\"cannot retrieve\\\", annotations = null\\n# B web_search_options    -\u0026gt; \\\"cannot retrieve\\\", annotations = null, usage identical to A\\n# C enable_search         -\u0026gt; \\\"cannot retrieve\\\", annotations = null, usage identical to A\\n\u003c/code\u003e\u003c/pre\u003e\u003cblockquote\u003e\u003cstrong\u003eVerified\u003c/strong\u003e: sending \u003ccode\u003eweb_search_options\u003c/code\u003e or \u003ccode\u003eenable_search\u003c/code\u003e does not raise an error, but it does not retrieve anything either — the response carries no \u003ccode\u003eannotations\u003c/code\u003e (the citation list attached to a response when web search runs), and usage matches the control group field for field. For web access, use the Responses or Messages API instead.\u003c/blockquote\u003e\u003ch2 id=\\\"9-usage-notes-deepseeks-design-vs-deviations-on-our-path\\\"\u003e9. Usage Notes: DeepSeek's Design vs Deviations on Our Path\u003c/h2\u003e\u003cp\u003eEverything below returns HTTP 200 while behaving counterintuitively. The \u003cstrong\u003ecauses differ\u003c/strong\u003e, and so does what you should do about them, so they are listed separately: the first group is how DeepSeek designed the model, and changing providers will not change it; the second group is current behavior on the AIHubMix path, which we are working on.\u003c/p\u003e\u003ch3 id=\\\"91-by-deepseeks-design\\\"\u003e9.1 By DeepSeek's Design\u003c/h3\u003e\\n\u003c!--kg-card-begin: html--\u003e\\n\u003ctable\u003e\\n\u003cthead\u003e\\n\u003ctr\u003e\\n\u003cth style=\\\"text-align:left\\\"\u003eBehavior\u003c/th\u003e\\n\u003cth style=\\\"text-align:left\\\"\u003eOfficial wording\u003c/th\u003e\\n\u003cth style=\\\"text-align:left\\\"\u003eWhat to do\u003c/th\u003e\\n\u003c/tr\u003e\\n\u003c/thead\u003e\\n\u003ctbody\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eResponses does not retain session state or metadata\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eThe official Responses compatibility page states, row by row, \u003ccode\u003estore | Not supported. The response always carries store: false\u003c/code\u003e, \u003ccode\u003emetadata | Not supported\u003c/code\u003e, and \u003ccode\u003esafety_identifier | Not supported\u003c/code\u003e (of those four fields, only \u003ccode\u003euser\u003c/code\u003e is Supported). Testing matches: the request returns 200, but \u003ccode\u003emetadata\u003c/code\u003e is null, \u003ccode\u003esafety_identifier\u003c/code\u003e is absent, and \u003ccode\u003estore\u003c/code\u003e is always \u003ccode\u003efalse\u003c/code\u003e\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eKeep request-correlation data on the client; do not rely on server-side retention\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eSampling parameters have no effect in thinking mode\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eDeepSeek states explicitly that \u003ccode\u003etemperature\u003c/code\u003e and \u003ccode\u003etop_p\u003c/code\u003e are silently inert in thinking mode. In testing both return 200 with nothing echoed back and no change in response shape\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eDo not rely on sampling parameters for output stability in thinking mode; use structured output when you need determinism\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003ePrefix continuation / FIM is only on the official beta endpoint\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eThe official description of \u003ccode\u003eprefix\u003c/code\u003e is \\\"(Beta) … You must set \u003ccode\u003ebase_url=\\\"https://api.deepseek.com/beta\\\"\u003c/code\u003e to use this feature\\\", and FIM completion is likewise a Beta feature. Verified on AIHubMix production: sending \u003ccode\u003eprefix: true\u003c/code\u003e against the standard endpoint returns 200 but the prefix is silently discarded, consistent in direction with the official wording\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eFor controlled output format, use structured output (section 5) or \u003ccode\u003estop\u003c/code\u003e truncation\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eParallel tool calling cannot be disabled\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eSee section 4: DeepSeek states on both the Responses and Anthropic pages that the switch is ignored and parallel calling is always on\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eQueue calls on the client when you need serial execution\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003c/tbody\u003e\\n\u003c/table\u003e\\n\u003c!--kg-card-end: html--\u003e\\n\u003ch3 id=\\\"92-current-behavior-on-the-aihubmix-path\\\"\u003e9.2 Current Behavior on the AIHubMix Path\u003c/h3\u003e\\n\u003c!--kg-card-begin: html--\u003e\\n\u003ctable\u003e\\n\u003cthead\u003e\\n\u003ctr\u003e\\n\u003cth style=\\\"text-align:left\\\"\u003eBehavior\u003c/th\u003e\\n\u003cth style=\\\"text-align:left\\\"\u003eWhat testing shows\u003c/th\u003e\\n\u003cth style=\\\"text-align:left\\\"\u003eWhat to do\u003c/th\u003e\\n\u003c/tr\u003e\\n\u003c/thead\u003e\\n\u003ctbody\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eNon-standard \u003ccode\u003etype\u003c/code\u003e on Responses error objects\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eThe \u003ccode\u003eerror.type\u003c/code\u003e on 4xx responses is \u003ccode\u003eAihubmix_api_error\u003c/code\u003e, while the same class of error on Messages returns the canonical \u003ccode\u003einvalid_request_error\u003c/code\u003e\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eBranch on the HTTP status code, not on the \u003ccode\u003eerror.type\u003c/code\u003e string\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eThinking tokens counted as 0 on Messages\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eThe response does carry a \u003ccode\u003ethinking\u003c/code\u003e block, yet \u003ccode\u003eusage.output_tokens_details.thinking_tokens\u003c/code\u003e is always 0, which contradicts the thinking content actually produced; under the Anthropic contract we integrate against, that field is required and should be ≤ \u003ccode\u003eoutput_tokens\u003c/code\u003e\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eFor thinking-cost accounting, use \u003ccode\u003ecompletion_tokens_details.reasoning_tokens\u003c/code\u003e on Chat or \u003ccode\u003eoutput_tokens_details.reasoning_tokens\u003c/code\u003e on Responses\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eMessages echoes \u003ccode\u003emodel\u003c/code\u003e as \u003ccode\u003edeepseek-v4-pro\u003c/code\u003e\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eThe request sends \u003ccode\u003edeepseek-v4-pro-0813\u003c/code\u003e and the response echoes \u003ccode\u003edeepseek-v4-pro\u003c/code\u003e. The cause is naming: DeepSeek's only official API model name is \u003ccode\u003edeepseek-v4-pro\u003c/code\u003e, and \u003ccode\u003e0813\u003c/code\u003e is its version label\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eDo not make the response \u003ccode\u003emodel\u003c/code\u003e field the sole basis for model routing checks or usage attribution\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003c/tbody\u003e\\n\u003c/table\u003e\\n\u003c!--kg-card-end: html--\u003e\\n\u003ch3 id=\\\"93-undefined-by-deepseek-so-no-verdict-either-way\\\"\u003e9.3 Undefined by DeepSeek, So No Verdict Either Way\u003c/h3\u003e\u003cp\u003eSending a value outside the enum for \u003ccode\u003ereasoning_effort\u003c/code\u003e (e.g. \u003ccode\u003ebogus_xyz\u003c/code\u003e) returns 200 with a normal answer, no error, and no observable effect. The fact is clear enough — this path currently does not validate the \u003ccode\u003ereasoning_effort\u003c/code\u003e enum. What is unclear is whether it \u003cem\u003eshould\u003c/em\u003e: DeepSeek publishes the legal enum but \u003cstrong\u003enever states whether an illegal level ought to be rejected\u003c/strong\u003e, so there is no baseline to judge against, which means this counts neither as official behavior nor as a defect on our path. The safe client-side approach: validate the level yourself and do not count on the API to catch it.\u003c/p\u003e\u003ch2 id=\\\"10-capability-%C3%97-api-support-matrix\\\"\u003e10. Capability × API Support Matrix\u003c/h2\u003e\u003cp\u003eThe cells below give the parameter / field spelling for each API. Except where marked as DeepSeek's explicit wording, every conclusion comes from actual calls made on 2026-08-13 against the AIHubMix production APIs.\u003c/p\u003e\\n\u003c!--kg-card-begin: html--\u003e\\n\u003ctable\u003e\\n\u003cthead\u003e\\n\u003ctr\u003e\\n\u003cth style=\\\"text-align:left\\\"\u003eCapability\u003c/th\u003e\\n\u003cth style=\\\"text-align:left\\\"\u003eChat Completions\u003c/th\u003e\\n\u003cth style=\\\"text-align:left\\\"\u003eResponses\u003c/th\u003e\\n\u003cth style=\\\"text-align:left\\\"\u003eMessages\u003c/th\u003e\\n\u003c/tr\u003e\\n\u003c/thead\u003e\\n\u003ctbody\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eBasic chat / system instructions\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003emessages\u003c/code\u003e\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003einput\u003c/code\u003e + \u003ccode\u003einstructions\u003c/code\u003e\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003emessages\u003c/code\u003e + top-level \u003ccode\u003esystem\u003c/code\u003e\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eStreaming\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003estream\u003c/code\u003e + \u003ccode\u003estream_options\u003c/code\u003e\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003estream\u003c/code\u003e (\u003ccode\u003eresponse.created\u003c/code\u003e … \u003ccode\u003eresponse.completed\u003c/code\u003e)\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003estream\u003c/code\u003e (\u003ccode\u003emessage_start\u003c/code\u003e … \u003ccode\u003emessage_stop\u003c/code\u003e)\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eOutput ceiling\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003emax_tokens\u003c/code\u003e (400 when exceeded, ceiling 393216)\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003emax_output_tokens\u003c/code\u003e\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003emax_tokens\u003c/code\u003e\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eDisabling thinking\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003ethinking: {\\\"type\\\": \\\"disabled\\\"}\u003c/code\u003e\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003ereasoning: {\\\"effort\\\": \\\"none\\\"}\u003c/code\u003e\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003ethinking: {\\\"type\\\": \\\"disabled\\\"}\u003c/code\u003e\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eThinking level\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e🟡 \u003ccode\u003ereasoning_effort\u003c/code\u003e accepted, no distinguishing signal\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003ereasoning.effort\u003c/code\u003e (only \u003ccode\u003enone\u003c/code\u003e confirmable)\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e🟡 \u003ccode\u003eoutput_config.effort\u003c/code\u003e accepted, nothing echoed back\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eThinking content returned\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003ereasoning_content\u003c/code\u003e field\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003ereasoning\u003c/code\u003e output item\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003ethinking\u003c/code\u003e content block\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eMandatory thinking-history passback\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ missing \u003ccode\u003ereasoning_content\u003c/code\u003e → 400\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ missing \u003ccode\u003ereasoning\u003c/code\u003e item → 400\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ missing \u003ccode\u003ethinking\u003c/code\u003e block → 400\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eTool calling\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ nested \u003ccode\u003etools\u003c/code\u003e + named \u003ccode\u003etool_choice\u003c/code\u003e\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ flat \u003ccode\u003etools\u003c/code\u003e\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003einput_schema\u003c/code\u003e + \u003ccode\u003etool_choice: {\\\"type\\\":\\\"any\\\"}\u003c/code\u003e\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eForcing a call with \u003ccode\u003erequired\u003c/code\u003e\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e❗ 400 while thinking is on; disable thinking first\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e❗ same as left\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003e{\\\"type\\\": \\\"any\\\"}\u003c/code\u003e\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eParallel tool calling (not disableable)\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e➖ no such field on the official Chat API\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e❗ DeepSeek states \u003ccode\u003eparallel_tool_calls\u003c/code\u003e is ignored and parallel calling is always on\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e❗ DeepSeek states \u003ccode\u003edisable_parallel_tool_use\u003c/code\u003e is ignored; testing still returns two \u003ccode\u003etool_use\u003c/code\u003e blocks\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eStructured output\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003eresponse_format\u003c/code\u003e (json_object)\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003etext.format\u003c/code\u003e (json_schema + strict)\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e➖ no protocol field; carry the schema in a tool\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eAutomatic cache-hit metering\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003eusage.prompt_tokens_details.cached_tokens\u003c/code\u003e\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003eusage.input_tokens_details.cached_tokens\u003c/code\u003e\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003eusage.cache_read_input_tokens\u003c/code\u003e\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003elogprobs\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e❗ dual channel: \u003ccode\u003econtent\u003c/code\u003e + \u003ccode\u003ereasoning_content\u003c/code\u003e\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003etop_logprobs\u003c/code\u003e on the final text item only\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e➖\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eWeb search\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e➖ no search field on the official Chat API; sending one does not retrieve either\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003etools: [{\\\"type\\\": \\\"web_search\\\"}]\u003c/code\u003e\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003eweb_search_20250305\u003c/code\u003e\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003ctr\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003eStop sequences\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003estop\u003c/code\u003e\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e➖ no stop-sequence field in the protocol (only \u003ccode\u003emax_output_tokens\u003c/code\u003e limits length)\u003c/td\u003e\\n\u003ctd style=\\\"text-align:left\\\"\u003e✅ \u003ccode\u003estop_sequences\u003c/code\u003e (\u003ccode\u003estop_reason: \\\"stop_sequence\\\"\u003c/code\u003e)\u003c/td\u003e\\n\u003c/tr\u003e\\n\u003c/tbody\u003e\\n\u003c/table\u003e\\n\u003c!--kg-card-end: html--\u003e\\n\u003cp\u003eLegend: ✅ verified working · 🟡 accepted but cannot be confirmed effective · ❗ needs attention (see the notes above) · ➖ no such concept on this API\u003c/p\u003e\u003ch2 id=\\\"faq\\\"\u003eFAQ\u003c/h2\u003e\u003cp\u003e\u003cstrong\u003eWhich APIs does deepseek-v4-pro-0813 support on AIHubMix?\u003c/strong\u003e\u003cbr\u003eChat Completions (\u003ccode\u003e/v1/chat/completions\u003c/code\u003e), Responses (\u003ccode\u003e/v1/responses\u003c/code\u003e), and the Claude-compatible Messages API (\u003ccode\u003e/v1/messages\u003c/code\u003e).\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eWhy does a multi-turn conversation suddenly return 400?\u003c/strong\u003e\u003cbr\u003eThe most common cause is thinking history that was not passed back. In thinking mode, the previous turn's thinking content must be replayed verbatim: \u003ccode\u003ereasoning_content\u003c/code\u003e on the assistant message for Chat, the \u003ccode\u003etype=\\\"reasoning\\\"\u003c/code\u003e output item for Responses, and the \u003ccode\u003ethinking\u003c/code\u003e content block for Messages. Multi-turn with tools is where this bites hardest — many frameworks filter output items by \u003ccode\u003etype == \\\"message\\\"\u003c/code\u003e while assembling history, which drops the reasoning item.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eCan thinking be turned off?\u003c/strong\u003e\u003cbr\u003eYes. Send \u003ccode\u003ethinking: {\\\"type\\\": \\\"disabled\\\"}\u003c/code\u003e on Chat or Messages, and \u003ccode\u003ereasoning: {\\\"effort\\\": \\\"none\\\"}\u003c/code\u003e on Responses. Once off, both the thinking content and the thinking tokens disappear.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eDo the three \u003ccode\u003ereasoning_effort\u003c/code\u003e levels differ?\u003c/strong\u003e\u003cbr\u003e\u003ccode\u003elow\u003c/code\u003e / \u003ccode\u003ehigh\u003c/code\u003e / \u003ccode\u003emax\u003c/code\u003e are all accepted (default \u003ccode\u003ehigh\u003c/code\u003e; \u003ccode\u003emedium\u003c/code\u003e and \u003ccode\u003exhigh\u003c/code\u003e are mapped to \u003ccode\u003ehigh\u003c/code\u003e for compatibility). In testing, thinking-token counts for the same question show no monotonic difference between levels and nothing is echoed back, so the difference cannot be confirmed from the caller's side. Only the \u003ccode\u003enone\u003c/code\u003e level on Responses (thinking off) produces a clear observable difference.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eWhy does \u003ccode\u003etool_choice: \\\"required\\\"\u003c/code\u003e return 400?\u003c/strong\u003e\u003cbr\u003eThat value is not accepted while thinking is on (the error body reads \u003ccode\u003eThinking mode does not support this tool_choice\u003c/code\u003e). Use a named-function \u003ccode\u003etool_choice\u003c/code\u003e (\u003ccode\u003e{\\\"type\\\": \\\"function\\\", \\\"function\\\": {\\\"name\\\": \\\"...\\\"}}\u003c/code\u003e) to force a specific call with thinking on, or disable thinking first and then use \u003ccode\u003erequired\u003c/code\u003e.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eHow do you enable context caching?\u003c/strong\u003e\u003cbr\u003eYou don't — it is automatic. Put the stable, unchanging content (system prompts, knowledge snippets, tool definitions) at the front of the request, and the hit count is reported in usage: \u003ccode\u003eprompt_tokens_details.cached_tokens\u003c/code\u003e on Chat, \u003ccode\u003einput_tokens_details.cached_tokens\u003c/code\u003e on Responses, and \u003ccode\u003ecache_read_input_tokens\u003c/code\u003e on Messages.\u003c/p\u003e\u003chr\u003e\u003cp\u003eFor pricing and real-time status, see the \u003ca href=\\\"https://aihubmix.com/model/deepseek-v4-pro-0813\\\"\u003edeepseek-v4-pro-0813 model page\u003c/a\u003e; for more models, visit the \u003ca href=\\\"https://aihubmix.com/models\\\"\u003emodel gallery\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eRelated hands-on guides: \u003ca href=\\\"https://docs.aihubmix.com/en/blogs/kimi-k3-guide\\\"\u003eKimi K3 hands-on guide\u003c/a\u003e (new parameters and a three-API support matrix) and \u003ca href=\\\"https://docs.aihubmix.com/en/blogs/aihubmix-gpt-5-6-prompt-caching\\\"\u003eGPT-5.6 prompt caching and billing changes\u003c/a\u003e.\u003c/p\u003e\",\"https://aihubmix.com/blog-media/images/2026/08/e66111529d56b278.webp\",\"2026-08-13T16:06:00.000+00:00\",15,[77],{\"_23\":49,\"_11\":50}]\n");</script><!--$--><script>window.__reactRouterContext.streamController.close();</script><!--/$--><!--/$--></body></html>