html,body{width:100%;height:100%}input::-ms-clear{display:none}input::-ms-reveal{display:none}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:#0000;font-family:sans-serif;line-height:1.15}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{text-align:left;caption-side:bottom;padding-top:.75em;padding-bottom:.3em}input,button,select,optgroup,textarea{color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical;overflow:auto}fieldset{border:0;min-width:0;margin:0;padding:0}legend{width:100%;max-width:100%;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal;margin-bottom:.5em;padding:0;display:block}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%}body{color:#1f1f1f;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa;margin:0;font-family:PingFang SC,Microsoft YaHei,Segoe UI,sans-serif;font-size:14px}.ant-message-notice-icon-success{color:#52c41a!important}.ant-message-notice-icon-success svg{fill:#52c41a!important}.ant-message-notice-icon-error{color:#ff4d4f!important}.ant-message-notice-icon-error svg{fill:#ff4d4f!important}a{color:#1677ff;text-decoration:none}img{max-width:100%;height:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:3px}::-webkit-scrollbar-track{background:#f5f5f5}.admin-shell,.admin-layout{min-height:100vh}.admin-layout{background:#f5f7fa}.admin-main-layout{min-width:0;min-height:100vh}.admin-sider{border-right:1px solid #e8ecf1;position:relative;background:#fff!important}.admin-brand{color:#31527f;white-space:nowrap;border-bottom:1px solid #e8ecf1;align-items:center;gap:12px;height:56px;padding:0 16px;font-size:16px;font-weight:600;display:flex;overflow:hidden}.admin-brand img,.admin-brand-icon{object-fit:contain;color:#8ca1bd;background:#f1f6fc;border-radius:6px;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:inline-flex}.admin-menu{height:calc(100vh - 56px);padding:8px 4px 16px;background:#fff!important;border-inline-end:0!important}.admin-menu .ant-menu-item,.admin-menu .ant-menu-submenu-title{color:#566b8d;border-radius:6px;width:100%;height:44px;margin:2px 0;line-height:44px;transition:color .2s,background-color .2s;padding-inline:22px!important}.admin-menu .ant-menu-item .ant-menu-item-icon,.admin-menu .ant-menu-submenu-title .ant-menu-item-icon,.admin-menu .ant-menu-submenu-title .ant-menu-submenu-title-icon{color:#7288a9;min-width:16px;margin-inline-end:6px;font-size:17px}.admin-menu .ant-menu-submenu .ant-menu-item{height:40px;margin:0;font-size:13px;line-height:40px;padding-inline-start:52px!important}.admin-menu .ant-menu-submenu .ant-menu-item .ant-menu-item-icon{color:#8b9bb4;font-size:15px}.admin-menu .ant-menu-submenu>.ant-menu{background:#f8fafc;padding:0 8px}.admin-menu .ant-menu-item:hover,.admin-menu .ant-menu-submenu-title:hover{color:#31527f!important;background:#f1f5f9!important}.admin-menu .ant-menu-submenu-arrow{color:#8ea0b9}.admin-menu .ant-menu-item-selected{font-weight:600;color:#4e84ff!important;background:#eaf2ff!important}.admin-menu .ant-menu-item-selected .ant-menu-item-icon{color:#4e84ff!important}.admin-menu .ant-menu-submenu-selected>.ant-menu-submenu-title,.admin-menu .ant-menu-submenu-selected>.ant-menu-submenu-title .ant-menu-submenu-title-icon{color:#4e84ff}.admin-header{background:#fff;border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;height:64px;padding:0 24px;line-height:normal;display:flex}.admin-header .ant-btn{color:#595959}.admin-user-menu{cursor:pointer;min-height:40px;padding:0 8px}.admin-content{background:#f5f7fa;flex:1;min-height:0}.admin-footer{color:#8c8c8c;text-align:center;background:#f5f7fa;border-top:1px solid #eaedf2;padding:14px 24px;font-size:12px}.admin-page,.admin-page-container .ant-pro-page-container-children-container{width:100%;max-width:none;margin:0}.admin-page{padding:24px}.admin-page-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.admin-page-heading .ant-typography{margin:0}.admin-stat-grid,.admin-section-panel,.admin-trend-panel{margin-bottom:16px}.admin-section-panel .ant-card-body{padding:16px 22px 4px}.admin-trend-panel .ant-card-extra .ant-select{min-width:96px}.admin-trend-chart,.admin-auth-trend-chart,.user-auth-trend-chart{width:100%;height:360px}.admin-stat-card,.admin-panel,.admin-table .ant-pro-card{border:0;border-radius:4px;box-shadow:0 1px 2px #0000000a}.admin-stat-card .ant-card-body{padding:20px 22px;position:relative}.admin-stat-card .ant-statistic-title{color:#8c8c8c;font-size:14px}.admin-stat-card .ant-statistic-content{color:#262626;font-size:30px;font-weight:600}.admin-stat-icon{border-radius:4px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:inline-flex;position:absolute;top:20px;right:20px}.admin-stat-card-blue .admin-stat-icon{color:#1677ff;background:#e6f4ff}.admin-stat-card-cyan .admin-stat-icon{color:#08979c;background:#e6fffb}.admin-stat-card-green .admin-stat-icon{color:#389e0d;background:#f6ffed}.admin-recent-users .ant-card-head{border-bottom-color:#f0f0f0;min-height:56px;padding:0 22px}.admin-recent-users .ant-card-head-title{color:#262626;font-weight:600}.admin-recent-users .ant-card-body{padding:0 22px 8px}.admin-recent-users .ant-empty{margin:48px 0}.admin-region-panel{margin-bottom:16px}.admin-region-layout{grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:24px;min-height:360px;display:grid}.admin-region-map{width:100%;min-height:360px}.admin-region-ranking{padding:8px 0}.admin-region-rank-row{border-bottom:1px solid #f0f0f0;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:36px;display:grid}.admin-page-container .ant-pro-page-container{background:0 0}.admin-page-container .ant-pro-page-container-main{padding:24px}.admin-page-container .ant-pro-page-container-title{color:#262626;font-size:22px;font-weight:600}.admin-table .ant-pro-card{overflow:hidden}.admin-table .ant-pro-table-search{background:#fff;padding:20px 20px 4px}.admin-table .ant-pro-card-body{padding:0 20px 20px}.admin-table .ant-table-thead>tr>th{color:#595959;background:#fafafa;font-size:13px;font-weight:600}.admin-table .ant-table-tbody>tr>td{border-bottom-color:#f0f0f0}.admin-form-panel .ant-card-head{border-bottom-color:#f0f0f0;min-height:52px}.admin-form-panel .ant-card-body{padding:24px}.admin-email-form{max-width:960px}.realname-config-form{max-width:600px}.realname-config-form .ant-form-item{margin-bottom:18px}.realname-config-form .realname-form-hint{margin-top:4px;font-size:12px;line-height:1.5;display:block}.realname-config-form .realname-market-link{margin-top:6px;font-size:13px;display:inline-block}.admin-site-form{max-width:960px}.admin-form-section+.admin-form-section{border-top:1px solid #f0f0f0;margin-top:30px;padding-top:26px}.admin-form-section>div:first-child{margin-bottom:20px}.admin-form-section h3{color:#262626;margin:0 0 4px;font-size:15px}.admin-form-actions{justify-content:flex-start;align-items:center;gap:10px;margin-top:12px;padding-top:12px;display:flex}.admin-form-actions .ant-btn{margin-left:0}.admin-inline-alert{border-radius:4px;margin-bottom:24px}.admin-page-loading{margin:120px auto;display:block}.admin-account-form{margin-top:24px}.admin-modal-form{margin-top:20px}.table-filter{margin-bottom:16px}.table-filter .ant-input{width:220px}.table-filter .ant-select{width:130px}.config-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;max-width:960px;display:grid}.payment-config-card{margin-bottom:12px}.payment-config-card .ant-card-body{padding:16px 20px}.payment-config-card .ant-form-item{margin-bottom:12px}.payment-config-title{align-items:center;gap:8px;display:flex}.payment-config-card .payment-advanced-fields{max-width:960px;margin-top:4px}.payment-config-card .payment-advanced-fields .ant-collapse-content-box{padding:14px 0 0}.config-span-2{grid-column:span 2}.switch-grid{grid-template-columns:repeat(3,minmax(160px,1fr));gap:0 20px;max-width:960px;display:grid}.user-page{padding:24px}.user-page h2{color:#262626;margin:0 0 18px;font-size:20px;font-weight:600}.user-panel{border-radius:4px;margin-bottom:16px;box-shadow:0 1px 2px #0000000a}.narrow-form{max-width:520px}.amount-options{margin:-4px 0 20px}.user-alert{border-radius:4px;margin-bottom:16px}.user-page .ant-table-wrapper{overflow:hidden}.user-page .ant-card-head{min-height:52px}.user-page .ant-card-head-title{font-weight:600}.user-page-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.user-page-heading .ant-typography{margin:0}.user-console-page .user-page-heading .ant-typography+.ant-typography{margin-top:4px;display:block}.user-welcome-panel{background:#fff;align-items:center;min-height:148px;display:flex}.user-welcome-panel .ant-card-body{width:100%;padding:28px}.user-welcome-panel .ant-typography h3,.user-welcome-panel h3.ant-typography{margin:0 0 8px;font-size:22px}.user-status-tags{gap:8px;margin-top:14px;display:flex}.user-balance-panel{flex-direction:column;justify-content:space-between;min-height:148px;display:flex}.user-balance-panel .ant-card-body{width:100%;padding:22px 24px}.user-balance-panel .ant-statistic-content{color:#1677ff;font-size:28px;font-weight:600}.user-balance-panel .ant-btn{align-self:flex-start;margin-top:18px}.user-account-panel .ant-card-body{padding:18px 22px 8px}.user-quick-actions{flex-wrap:wrap;gap:10px;display:flex}.user-console-page .ant-skeleton{display:block}.user-page>.ant-card>.ant-card-body{padding:20px 24px}.user-page .narrow-form .ant-input,.user-page .narrow-form .ant-input-affix-wrapper,.user-page .narrow-form .ant-input-number,.user-page .narrow-form .ant-select{max-width:520px}.user-page .ant-empty{margin:28px 0}.user-page .ant-empty-image{height:56px}.user-page .ant-table-wrapper{min-height:0}.user-page .ant-card+.ant-card{margin-top:0}.user-page .ant-tabs-content{max-width:620px}.user-page .ant-tabs-tabpane .narrow-form{max-width:520px}.user-page .ant-tabs-tabpane .ant-space{flex-wrap:wrap}.user-page .ant-descriptions-item-content{word-break:break-word}.app-endpoint-list{flex-direction:column;gap:6px;max-height:300px;padding-right:4px;display:flex;overflow-y:auto}.app-endpoint-list .ant-btn{text-align:left;white-space:normal;grid-template-columns:48px 1fr;height:auto;min-height:44px;padding:8px 10px;display:grid}.app-endpoint-list .ant-btn>span{text-overflow:ellipsis;overflow:hidden}.app-endpoint-list .app-endpoint-method{color:#1677ff;font-size:11px;font-weight:600}.app-endpoint-list .app-endpoint-name{color:#8c8c8c;grid-column:2;font-size:12px}.app-endpoint-list .ant-btn-primary .app-endpoint-method,.app-endpoint-list .ant-btn-primary .app-endpoint-name{color:#fff}.api-code-tabs .ant-tabs-nav{margin-bottom:10px}.api-code-tabs .ant-tabs-tab{padding:8px 14px}.api-code-sample{background:#f8fafc;border:1px solid #e7ebf0;border-radius:6px;overflow:hidden}.api-code-sample-toolbar{background:#fff;border-bottom:1px solid #e7ebf0;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:0 10px 0 14px;display:flex}.api-code-sample-toolbar .ant-typography{color:#667085;font-size:12px}.api-code-sample-toolbar .ant-btn{color:#475467}.api-code-sample pre{max-height:430px}.api-code-sample code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.user-recharge-page>.recharge-card{width:min(100%,680px);margin:0}.user-recharge-page .recharge-balance{background:#f0f7ff;border:1px solid #d9ebff;border-radius:6px;padding:16px 18px}.user-recharge-page .recharge-balance .ant-statistic-content{color:#1677ff}.user-recharge-page .recharge-amount-heading{color:#262626;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-weight:500;display:flex}.user-recharge-page .recharge-amount-heading .amount-options{margin:0}.user-recharge-page .recharge-amount-heading .amount-options .ant-btn{color:#526277;min-width:52px;height:30px;padding-inline:8px;font-size:12px}.user-recharge-page .recharge-form>.ant-form-item .ant-form-item-label{display:none}.user-recharge-page .narrow-form .ant-select{width:100%}.user-recharge-page .narrow-form .ant-select-selector{border-color:#d9e2ec;min-height:38px;padding:3px 12px}.user-recharge-page .narrow-form .ant-select-selection-item{line-height:30px}.user-recharge-page .payment-method-options .ant-radio-button-wrapper{color:#435267;text-align:center;border-color:#d9e2ec;height:38px;padding:0 10px;line-height:36px}.user-recharge-page .payment-method-options .ant-radio-button-wrapper:first-child{border-start-start-radius:6px;border-end-start-radius:6px}.user-recharge-page .payment-method-options .ant-radio-button-wrapper:last-child{border-start-end-radius:6px;border-end-end-radius:6px}.user-recharge-page .payment-method-options .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){color:#1677ff;background:#eaf3ff;border-color:#1677ff;box-shadow:-1px 0 #1677ff}.user-recharge-page .narrow-form .ant-form-item{margin-bottom:12px}.user-recharge-page .narrow-form .ant-form-item-label{padding-bottom:4px}.user-recharge-page .amount-options{gap:6px;margin:-2px 0 12px;flex-wrap:nowrap!important}.user-recharge-page .amount-options .ant-btn{min-width:64px;padding-inline:12px}.user-recharge-page .ant-statistic-title{color:#718096;font-size:13px}.user-recharge-page .ant-statistic-content{color:#1f2937;font-size:28px;font-weight:600}.user-recharge-page .ant-divider{margin:16px 0}.user-recharge-page .ant-alert{color:#526277;background:#f5f9ff;border-color:#d8e8ff}.user-recharge-page .ant-form .ant-btn-primary{min-width:108px;height:38px;margin-top:2px}.user-recharge-page .recharge-form .ant-btn-primary{min-width:120px}.user-recharge-page .ant-modal-body{padding-top:8px}.user-page>.user-panel>.ant-card-body>.ant-row{align-items:stretch}.user-page>.user-panel>.ant-card-body>.ant-row>.ant-col>.ant-card{height:100%;box-shadow:none;border:0}.user-page>.user-panel>.ant-card-body>.ant-row>.ant-col>.ant-card>.ant-card-head{padding-inline:0}.user-page>.user-panel>.ant-card-body>.ant-row>.ant-col>.ant-card>.ant-card-body{padding:12px 0 0}.user-page>.user-panel>.ant-card-body>.ant-row .narrow-form{max-width:520px}.user-page>.user-panel>.ant-card-body>.ant-row .ant-tabs{min-height:390px}.user-page>.user-panel>.ant-card-body>.ant-row .ant-tabs-nav{margin-bottom:24px}.user-page>.user-panel>.ant-card-body>.ant-row .ant-descriptions{max-width:420px}.profile-card{max-width:1080px}.profile-card .ant-card-body{padding:28px 32px}.profile-summary{text-align:center;border-right:1px solid #edf0f5;min-height:420px;padding:10px 32px 10px 12px}.profile-summary .ant-avatar{color:#1677ff;background:#eaf3ff;margin-bottom:18px}.profile-summary h3{color:#1f2937;margin:0 0 10px;font-size:20px;font-weight:600}.profile-meta{text-align:left;grid-template-columns:1fr;gap:7px;margin-top:34px;display:grid}.profile-meta span{color:#8c99aa;font-size:13px}.profile-meta span svg{margin-right:7px}.profile-meta strong{color:#344054;word-break:break-word;margin-bottom:12px;font-size:14px;font-weight:500}.profile-details{padding:6px 8px 0 4px}.profile-section-title{color:#1f2937;border-bottom:1px solid #edf0f5;padding-bottom:16px;font-size:16px;font-weight:600}.profile-page .binding-list{padding:0}.profile-page .binding-item{border-bottom:1px solid #f0f2f5;align-items:center;min-height:76px;padding:14px 4px;display:flex}.profile-page .binding-icon{background:#f7f9fc;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin-right:14px;font-size:22px;display:inline-flex}.profile-page .binding-content{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.profile-page .binding-content strong{color:#303b4d;font-size:14px;font-weight:600}.profile-page .binding-content span{color:#8792a2;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.profile-page .binding-item .ant-btn{flex:none;padding-inline:8px}.auth-page{background:linear-gradient(135deg,#eaf3ff 0%,#f8fbff 52%,#edf7f3 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:32px 16px;display:flex}.auth-card{border:0;border-radius:6px;width:460px;max-width:100%;box-shadow:0 12px 32px #1f3d5a1f}.auth-card .ant-card-body{padding:32px 36px 28px}.auth-header{text-align:center;margin-bottom:26px}.auth-header h1{color:#1f2937;margin:0;font-size:22px;font-weight:600}.auth-header p{color:#8c8c8c;margin:8px 0 0;font-size:14px}.auth-logo{object-fit:contain;width:52px;height:52px;margin:0 auto 14px;display:block}.auth-card .ant-form-item{margin-bottom:18px}.auth-card .ant-form-item-label{padding-bottom:6px}.auth-card .ant-input,.auth-card .ant-input-affix-wrapper,.auth-card .ant-input-group-addon{border-radius:4px}.auth-card .ant-input-affix-wrapper .ant-input{border-radius:0}.auth-sex-group{width:100%;display:flex}.auth-sex-group .ant-radio-button-wrapper{text-align:center;flex:1}.auth-code-button{min-width:112px}.auth-submit-item{margin:6px 0 12px!important}.auth-switch{color:#8c8c8c;text-align:center;font-size:14px}.auth-switch a{margin-left:6px}.auth-copyright{color:#6b7280;text-align:center;margin-top:20px;font-size:12px}@media (width<=768px){.admin-page{padding:16px}.admin-page-heading{flex-direction:column;align-items:stretch}.admin-page-heading .ant-btn{align-self:flex-start}.admin-page-container .ant-pro-page-container-main{padding:16px}.admin-header{padding:0 16px}.admin-footer{padding:12px 16px}.user-page{padding:16px}.user-page-heading{margin-bottom:14px}.user-welcome-panel .ant-card-body{padding:22px 18px}.user-welcome-panel .ant-space{align-items:flex-start}.user-welcome-panel h3.ant-typography{font-size:19px}.user-balance-panel .ant-card-body{padding:18px}.user-page>.ant-card>.ant-card-body{padding:16px}.user-recharge-page>.recharge-card .ant-card-body{padding:18px 16px 20px}.user-recharge-page .amount-options{flex-wrap:wrap!important}.user-recharge-page .recharge-amount-heading{flex-direction:column;align-items:flex-start}.user-recharge-page .recharge-amount-heading .amount-options{width:100%}.user-recharge-page .recharge-amount-heading .amount-options .ant-btn{flex:1}.profile-card .ant-card-body{padding:20px 16px}.profile-summary{border-bottom:1px solid #edf0f5;border-right:0;min-height:0;padding:0 0 22px}.profile-meta{grid-template-columns:auto 1fr;gap:6px 12px;margin-top:22px}.profile-meta strong{margin-bottom:4px}.profile-details{padding:22px 0 0}.config-grid,.switch-grid,.admin-region-layout{grid-template-columns:1fr}.admin-region-map{min-height:300px}.auth-page{justify-content:flex-start;padding-top:28px}.auth-card .ant-card-body{padding:28px 20px 24px}}.app-market-page{max-width:1280px}.app-market-heading{margin-bottom:14px}.app-market-heading h2{margin-bottom:0}.app-market-count{color:#1677ff;background:#e6f4ff;border-radius:4px;align-items:center;height:22px;padding:0 8px;font-size:12px;line-height:22px;display:inline-flex}.app-market-toolbar{background:#fff;border:1px solid #e8edf3;border-radius:6px;align-items:center;gap:16px;min-height:54px;margin-bottom:16px;padding:10px 14px;display:flex}.app-market-filter-label{color:#475467;flex:none;font-weight:600}.app-market-toolbar .app-category-filter{flex:1}.app-market-toolbar .app-category-filter .ant-btn{height:32px;padding-inline:14px}.app-market-grid{margin-top:0}.app-market-card{border:1px solid #e7ebf0;border-radius:8px;height:100%;margin-bottom:0;transition:border-color .2s,box-shadow .2s,transform .2s;box-shadow:0 2px 8px #1f29370a}.app-market-card:hover{border-color:#91caff;transform:translateY(-2px);box-shadow:0 8px 20px #1677ff1a}.app-market-card .ant-card-body{flex-direction:column;min-height:220px;padding:18px;display:flex}.app-market-card-main{gap:14px;min-width:0;display:flex}.app-market-card-content{flex:1;min-width:0}.app-market-card .app-logo-box{color:#1677ff;background:#f0f6ff;border:1px solid #dbeafe;border-radius:8px;flex:0 0 70px;justify-content:center;align-items:center;width:70px;height:70px;font-size:24px;display:flex;overflow:hidden}.app-market-card .app-logo-box img{object-fit:contain;width:100%;height:100%}.app-market-card-title{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.app-market-card .ant-typography h4,.app-market-card h4.ant-typography{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:17px;line-height:24px;overflow:hidden}.app-market-card-title .ant-tag{flex:none;margin-inline-end:0}.app-market-card .ant-typography-paragraph{color:#667085;min-height:42px;margin:8px 0 0;line-height:21px}.app-market-plan-summary{border-bottom:1px solid #f0f2f5;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:auto;padding:14px 0 12px;display:grid}.app-market-plan-summary>div{border-left:1px solid #edf0f5;min-width:0;padding:0 12px}.app-market-plan-summary>div:first-child{border-left:0;padding-left:0}.app-market-plan-summary>div:last-child{padding-right:0}.app-market-plan-summary span,.app-market-plan-summary strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.app-market-plan-summary span{color:#98a2b3;margin-bottom:5px;font-size:12px}.app-market-plan-summary strong{color:#344054;font-size:14px;font-weight:600}.app-market-plan-summary>div:first-child strong{color:#1677ff;font-size:16px}.app-market-card-footer{justify-content:space-between;align-items:center;min-height:32px;padding-top:8px;display:flex}.app-market-card-footer .ant-btn{padding-inline:0}.app-market-empty{min-height:240px}.app-market-detail-modal .ant-modal-body{padding:0 24px 24px}.app-market-detail-modal .ant-modal-content{border-radius:8px}.app-detail-header{border-bottom:1px solid #edf0f5;align-items:center;gap:14px;padding:24px 0 20px;display:flex}.app-detail-logo{color:#1677ff;background:#f0f6ff;border:1px solid #dbeafe;border-radius:8px;flex:0 0 54px;justify-content:center;align-items:center;width:54px;height:54px;font-size:22px;display:flex;overflow:hidden}.app-detail-logo img{object-fit:contain;width:100%;height:100%}.app-detail-intro{flex:1;min-width:0}.app-detail-title-row{align-items:center;gap:8px;min-width:0;margin-bottom:4px;display:flex}.app-detail-title-row h3.ant-typography{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:19px;line-height:28px;overflow:hidden}.app-detail-title-row .ant-tag{margin-inline-end:0}.app-detail-section-heading{justify-content:space-between;align-items:center;min-height:52px;display:flex}.app-detail-section-heading h5.ant-typography{color:#344054;margin:0;font-size:15px}.app-plan-list{flex-direction:column;gap:10px;display:flex}.app-plan-card{box-shadow:none;border-color:#e6ebf2;border-radius:6px;transition:border-color .2s,box-shadow .2s}.app-plan-card:hover{border-color:#91caff;box-shadow:0 4px 12px #1677ff14}.app-plan-card .ant-card-body{padding:14px 16px}.app-plan-card-top,.app-plan-card-bottom{justify-content:space-between;align-items:center;gap:18px;display:flex}.app-plan-card-top{border-bottom:1px solid #f0f2f5;padding-bottom:12px}.app-plan-name{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.app-plan-name .ant-typography-strong{color:#1f2937;font-size:15px}.app-plan-name .ant-typography-secondary{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.app-plan-price{flex-direction:column;flex:none;align-items:flex-end;gap:2px;display:flex}.app-plan-price span{color:#98a2b3;font-size:12px}.app-plan-price strong{color:#1677ff;font-size:18px;line-height:24px}.app-plan-card-bottom{padding-top:12px}.app-plan-metrics{gap:18px;min-width:0;display:flex}.app-plan-metrics span{white-space:nowrap;align-items:center;gap:6px;display:flex}.app-plan-metrics em{color:#98a2b3;font-size:12px;font-style:normal}.app-plan-metrics strong{color:#475467;font-size:13px;font-weight:500}.app-plan-actions{flex:none;align-items:center;gap:12px;display:flex}.app-plan-actions .ant-radio-group{display:flex}.app-plan-actions .ant-radio-button-wrapper{height:32px;padding-inline:10px;font-size:13px;line-height:30px}.app-plan-actions .ant-btn{min-width:108px;height:32px}.app-detail-endpoint-heading{border-top:1px solid #edf0f5;margin-top:10px}.app-endpoint-list{flex-direction:column;gap:8px;display:flex}.app-endpoint-card{border-color:#e9edf2;border-radius:6px}.app-endpoint-card .ant-card-body{align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}.app-endpoint-card .ant-tag{flex:none;margin-inline-end:0}.app-endpoint-card .ant-typography-code{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.app-endpoint-card .ant-typography-secondary{text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.app-market-payment-modal .app-payment-qr{justify-content:center;padding:8px 0;display:flex}@media (width<=640px){.app-market-toolbar{flex-direction:column;align-items:flex-start;gap:8px}.app-market-toolbar .app-category-filter{width:100%}.app-market-card .app-logo-box{flex-basis:62px;width:62px;height:62px}.app-market-plan-summary>div{padding:0 8px}.app-market-detail-modal .ant-modal-body{padding:0 16px 18px}.app-detail-header{padding:20px 0 16px}.app-plan-card-top,.app-plan-card-bottom{flex-direction:column;align-items:flex-start;gap:10px}.app-plan-price{align-items:flex-start}.app-plan-metrics{justify-content:space-between;width:100%}.app-plan-actions{flex-direction:column;align-items:stretch;width:100%}.app-plan-actions .ant-radio-group,.app-plan-actions .ant-btn{width:100%}.app-plan-actions .ant-radio-button-wrapper{text-align:center;flex:1}.app-endpoint-card .ant-card-body{flex-wrap:wrap;align-items:flex-start}.app-endpoint-card .ant-typography-secondary{text-align:left;flex-basis:100%}}.user-console-page .user-panel{border-color:#e5eaf0;height:100%;margin-bottom:0;box-shadow:0 2px 8px #1f2d3d0a}.user-console-page .user-page-heading{margin-bottom:16px}.user-console-profile{align-items:center;gap:16px;display:flex}.user-console-profile .ant-avatar{color:#1677ff;background:#eaf2ff;flex:none}.user-console-profile-main{min-width:0}.user-console-profile-main h3.ant-typography{margin:0 0 4px;font-size:20px}.user-console-profile-main .ant-typography{display:block}.user-console-meta-grid{border-top:1px solid #edf0f4;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px;padding-top:16px;display:grid}.user-console-meta-grid div{min-width:0}.user-console-meta-grid span{color:#7a8595;margin-bottom:5px;font-size:12px;display:block}.user-console-meta-grid strong{color:#263445;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;display:block;overflow:hidden}.user-console-balance-card .ant-card-body{flex-direction:column;justify-content:center;min-height:184px;padding:22px 24px;display:flex}.user-console-lower-row{margin-top:16px}.user-console-status-card .ant-card-body{padding:15px 20px 8px}.user-console-shortcut-grid .ant-btn{color:#3e4e61;text-align:left;justify-content:flex-start;align-items:center;gap:9px;height:42px;padding:0 10px;display:flex}.user-console-shortcut-grid .ant-btn:hover{color:#1677ff;background:#f4f8ff}.user-recharge-page .recharge-layout{max-width:1060px}.user-recharge-page .recharge-layout>.ant-col{display:flex}.user-recharge-page .recharge-layout .user-panel{border-color:#e5eaf0;width:100%;height:100%;margin-bottom:0;box-shadow:0 2px 8px #1f2d3d0a}.user-recharge-page .recharge-form-card .ant-card-body{padding:24px}.user-recharge-page .recharge-panel-heading{border-bottom:1px solid #edf0f4;margin-bottom:20px;padding-bottom:20px}.user-recharge-page .recharge-panel-heading h4.ant-typography{margin:0 0 5px;font-size:16px}.user-recharge-page .recharge-panel-heading .ant-typography{font-size:13px}.user-recharge-page .recharge-form{max-width:none}.user-recharge-page .recharge-form .ant-input-number{width:min(100%,360px)}.user-recharge-page .recharge-form .ant-form-item{margin-bottom:18px}.user-recharge-page .recharge-quick-amounts .ant-btn{min-width:68px}.user-recharge-page .payment-method-options{width:min(100%,360px)}.user-recharge-page .recharge-submit-button{min-width:132px;height:38px}.user-recharge-page .recharge-summary-card .ant-card-body{padding:24px}.user-recharge-page .recharge-summary-card .ant-statistic{border-bottom:1px solid #edf0f4;padding:8px 0 18px}.user-recharge-page .recharge-summary-card .ant-statistic-content{color:#1677ff;font-size:30px;font-weight:650}.user-recharge-page .recharge-summary-line{color:#687588;justify-content:space-between;align-items:center;padding:16px 0 0;display:flex}.user-recharge-page .recharge-summary-line strong{color:#344054;font-size:15px}.user-recharge-page .recharge-summary-total{border-top:1px solid #edf0f4;margin-top:16px;padding-top:16px}.user-recharge-page .recharge-summary-total strong{color:#1677ff;font-size:18px}.recharge-payment-qrcode{justify-content:center;padding:8px 0;display:flex}.public-home{color:#1d2939;background:#f6f8fb;flex-direction:column;min-height:100vh;display:flex}.public-home-header{z-index:20;background:#fff;border-bottom:1px solid #e5eaf0;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;min-height:64px;padding:0 max(24px,50vw - 620px);display:grid;position:sticky;top:0}.public-home-brand{color:#17263a;cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:10px;padding:0;font-size:18px;font-weight:650;display:inline-flex}.public-home-brand img,.public-home-brand-mark{object-fit:contain;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.public-home-brand-mark{color:#fff;background:#1769e0;border-radius:7px;font-size:18px}.public-home-nav{justify-content:center;align-items:center;gap:28px;display:inline-flex}.public-home-nav button{color:#617083;cursor:pointer;background:0 0;border:0;padding:6px 0;font-size:14px}.public-home-nav button:hover{color:#1769e0}.public-home-header>.ant-btn{justify-self:end;min-width:104px;height:36px;font-weight:600}.public-home-main{flex:1;width:min(1240px,100% - 48px);margin:0 auto}.public-home-hero{clip-path:inset(0 -100vmax);background:#132238;grid-template-columns:minmax(0,1fr) 420px;align-items:stretch;gap:64px;min-height:326px;padding:40px 0;display:grid;box-shadow:0 0 0 100vmax #132238}.public-home-hero-copy{flex-direction:column;justify-content:center;max-width:650px;display:flex}.public-home-hero .public-home-eyebrow{color:#3bd4c2}.public-home-eyebrow,.public-home-section-kicker{color:#1769e0;letter-spacing:0;font-size:13px;font-weight:650;line-height:1.5;display:inline-block}.public-home-hero h1.ant-typography{color:#fff;margin:10px 0 12px;font-size:42px;font-weight:720;line-height:1.18}.public-home-hero .ant-typography{color:#b9c5d4;max-width:620px;margin-bottom:22px;font-size:15px;line-height:1.8}.public-home-hero .ant-btn-lg{min-width:140px;height:44px;font-weight:600}.public-home-hero-doc-link{color:#d6e4f3!important}.public-home-hero-doc-link:hover{color:#fff!important;background:#ffffff14!important}.public-home-featured-app{color:#fff;text-align:left;cursor:pointer;background:#1a2d47;border:1px solid #38506d;border-left:3px solid #31c6b6;border-radius:8px;flex-direction:column;align-self:center;min-width:0;min-height:246px;padding:20px 22px 18px;transition:border-color .2s,background .2s;display:flex}.public-home-featured-app:hover{background:#1d334f;border-color:#537295 #537295 #537295 #3bd4c2}.public-home-featured-head{color:#78e1d5;border-bottom:1px solid #344c69;justify-content:space-between;align-items:center;padding-bottom:16px;font-size:12px;font-weight:650;display:flex}.public-home-featured-head small{color:#9caec4;letter-spacing:.7px;font-size:10px;font-weight:600}.public-home-featured-main{grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:18px 0;display:grid}.public-home-featured-main>svg{color:#91a8c1;font-size:15px}.public-home-featured-logo{color:#3bd4c2;background:#233c5b;border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;display:inline-flex;overflow:hidden}.public-home-featured-logo .ant-image,.public-home-featured-logo img{width:100%;height:100%}.public-home-featured-logo img{object-fit:cover}.public-home-featured-main b,.public-home-featured-main small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.public-home-featured-main b{color:#fff;margin-bottom:5px;font-size:16px;font-weight:650}.public-home-featured-main small{color:#a8b8ca;font-size:12px}.public-home-featured-meta{border-top:1px solid #344c69;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:14px;display:grid}.public-home-featured-meta span{min-width:0;padding:0 12px}.public-home-featured-meta span:first-child{padding-left:0}.public-home-featured-meta span+span{border-left:1px solid #344c69}.public-home-featured-meta small,.public-home-featured-meta b{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.public-home-featured-meta small{color:#9caec4;margin-bottom:5px;font-size:11px}.public-home-featured-meta b{color:#f8fbff;font-size:13px;font-weight:650}.public-home-featured-meta span:first-child b{color:#62b3ff}.public-home-market-section{padding:38px 0 56px}.public-home-section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px;display:flex}.public-home-section-heading h2.ant-typography{color:#1d2d40;margin:6px 0 5px;font-size:27px;font-weight:680;line-height:1.2}.public-home-section-heading .ant-typography-secondary{color:#728095;font-size:14px}.public-home-section-heading>.ant-btn{height:34px;padding-inline:0;font-weight:600}.public-home-category-list{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.public-home-category-list button{color:#647386;cursor:pointer;background:#fff;border:1px solid #dfe7ef;border-radius:5px;min-width:58px;height:32px;padding:0 13px;font-size:13px}.public-home-category-list button:hover,.public-home-category-list button.is-active{color:#fff;background:#1769e0;border-color:#1769e0}.public-home-app-grid{grid-template-columns:repeat(auto-fit,minmax(300px,392px));justify-content:start;gap:16px;display:grid}.public-home-app-grid.is-single{grid-template-columns:minmax(0,1fr)}.public-home-app-card{background:#fff;border:1px solid #dce5ef;border-radius:8px;flex-direction:column;min-height:230px;padding:20px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;box-shadow:0 3px 12px #192f490a}.public-home-app-card:hover{border-color:#9ec1eb;transform:translateY(-2px);box-shadow:0 10px 25px #19477c1a}.public-home-app-main{min-width:0}.public-home-app-card-top{align-items:center;gap:12px;display:flex}.public-home-app-logo{color:#1769e0;background:#edf4ff;border-radius:8px;flex:none;justify-content:center;align-items:center;width:48px;height:48px;font-size:23px;display:inline-flex;overflow:hidden}.public-home-app-logo .ant-image,.public-home-app-logo img{width:100%;height:100%}.public-home-app-logo img{object-fit:cover}.public-home-app-name{min-width:0}.public-home-app-name h4.ant-typography{color:#223449;text-overflow:ellipsis;white-space:nowrap;margin:0 0 4px;font-size:17px;font-weight:650;overflow:hidden}.public-home-app-name .ant-typography{text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.public-home-app-summary{color:#617186;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:44px;margin:15px 0 13px;font-size:13px;line-height:1.7;display:-webkit-box;overflow:hidden}.public-home-app-capabilities{flex-wrap:wrap;gap:7px;display:flex}.public-home-app-capabilities span{color:#50677e;background:#f2f6fa;border:1px solid #e4ebf2;border-radius:4px;align-items:center;min-height:24px;padding:2px 8px;font-size:12px;display:inline-flex}.public-home-app-side{margin-top:auto}.public-home-app-metrics{background:#f7f9fc;border:1px solid #e8eef4;border-radius:6px;grid-template-columns:1fr 1fr;margin-top:16px;display:grid}.public-home-app-metrics>span{min-width:0;padding:9px 11px}.public-home-app-metrics>span+span{border-left:1px solid #e3eaf1}.public-home-app-metrics small,.public-home-app-metrics b{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.public-home-app-metrics small{color:#7f8d9f;margin-bottom:3px;font-size:11px}.public-home-app-metrics b{color:#2e4258;font-size:13px;font-weight:650}.public-home-app-metrics>span:first-child b{color:#1769e0}.public-home-app-actions{justify-content:space-between;align-items:center;gap:12px;padding-top:13px;display:flex}.public-home-app-actions>button{color:#1769e0;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:13px;font-weight:600;display:inline-flex}.public-home-app-actions>button svg{font-size:11px}.public-home-app-actions .ant-btn{height:32px;padding:0 13px;font-size:13px}.public-home-app-grid.is-single .public-home-app-card{grid-template-columns:minmax(0,1fr) 310px;gap:32px;min-height:220px;padding:24px 26px;display:grid}.public-home-app-grid.is-single .public-home-app-summary{max-width:720px;min-height:0}.public-home-app-grid.is-single .public-home-app-side{border-left:1px solid #e4eaf1;flex-direction:column;justify-content:center;min-width:0;margin-top:0;padding-left:30px;display:flex}.public-home-app-grid.is-single .public-home-app-metrics{margin-top:0}.public-home-empty{padding:28px 0}.public-home-footer{color:#7d8b9d;text-align:center;background:#fff;border-top:1px solid #e4eaf0;justify-content:center;align-items:center;gap:12px;min-height:56px;padding:16px 24px;font-size:12px;display:flex}.public-home-footer a{color:#5f7590;text-decoration:none}.public-home-footer a:hover{color:#1769e0}@media (width<=960px){.public-home-header{grid-template-columns:1fr auto}.public-home-nav{display:none}.public-home-hero{grid-template-columns:minmax(0,1fr) 352px;gap:36px}.public-home-app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-home-app-grid.is-single .public-home-app-card{grid-template-columns:minmax(0,1fr) 280px;gap:24px}}@media (width<=720px){.public-home-header{min-height:60px;padding:0 16px}.public-home-brand{font-size:16px}.public-home-brand img,.public-home-brand-mark{width:30px;height:30px}.public-home-header>.ant-btn{min-width:auto;padding-inline:12px}.public-home-main{width:min(100% - 32px,1240px)}.public-home-hero{grid-template-columns:1fr;gap:24px;min-height:0;padding:34px 0}.public-home-hero h1.ant-typography{font-size:34px}.public-home-featured-app{min-height:0}.public-home-market-section{padding:32px 0 40px}.public-home-section-heading{flex-direction:column;align-items:flex-start;gap:10px}.public-home-app-grid{grid-template-columns:1fr}.public-home-app-grid.is-single .public-home-app-card{gap:0;padding:20px;display:flex}.public-home-app-grid.is-single .public-home-app-side{border-top:1px solid #e4eaf1;border-left:0;margin-top:16px;padding:16px 0 0;display:block}}@media (width<=420px){.public-home-header>.ant-btn{font-size:12px}.public-home-hero .ant-space{grid-template-columns:1fr;width:100%;display:grid}.public-home-hero .ant-btn-lg{width:100%}.public-home-featured-meta span{padding:0 8px}.public-home-featured-meta span:first-child{padding-left:0}.public-home-featured-meta small{font-size:10px}.public-home-featured-meta b{font-size:12px}}.user-console-shortcuts-card .ant-card-body{padding:14px 16px}.user-console-shortcut-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.user-console-shortcut-grid .ant-btn{justify-content:center}.user-recharge-page>.recharge-card{border-color:#dfe7f0;border-radius:8px;width:min(100%,836px);margin:0;overflow:hidden;box-shadow:0 2px 8px #1f2d3d0a}.user-recharge-page>.recharge-card .ant-card-head{border-bottom-color:#e4eaf1;min-height:68px;padding:0 20px}.user-recharge-page>.recharge-card .ant-card-head-title{color:#182c43;font-size:20px;font-weight:650}.user-recharge-page>.recharge-card .ant-card-body{padding:20px}.user-recharge-page .recharge-current-balance{background:#eef8ff;border:1px solid #e1f1fc;border-radius:8px;flex-direction:column;justify-content:center;gap:10px;min-height:118px;margin-bottom:20px;padding:18px 20px;display:flex}.user-recharge-page .recharge-current-balance .ant-typography{color:#263445;font-size:15px}.user-recharge-page .recharge-current-balance strong{color:#1687f8;font-size:28px;font-weight:700;line-height:1}.user-recharge-page .recharge-form{max-width:694px;margin:0 auto}.user-recharge-page .recharge-form>.ant-form-item{margin-bottom:18px}.user-recharge-page .recharge-form>.ant-form-item>.ant-form-item-label{padding-bottom:8px}.user-recharge-page .recharge-form>.ant-form-item>.ant-form-item-label>label{color:#344054;font-size:14px}.user-recharge-page .recharge-quick-amounts{flex-wrap:wrap;gap:12px;margin:0 0 12px;display:flex}.user-recharge-page .recharge-quick-amounts .ant-btn{border-radius:4px;min-width:80px;height:36px}.user-recharge-page .recharge-form .ant-input-number{width:100%;height:36px}.user-recharge-page .recharge-form .ant-input-number-input{height:34px}.user-recharge-page .payment-method-options{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,255px);display:inline-grid}.user-recharge-page .payment-method-options .ant-radio-button-wrapper{height:40px;line-height:38px}.user-recharge-page .recharge-submit-button{border-radius:8px;width:100%;height:50px;margin-top:0;font-size:16px;font-weight:600}@media (width<=768px){.user-console-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.user-recharge-page>.recharge-card{width:100%}.user-recharge-page>.recharge-card .ant-card-body{padding:16px}.user-recharge-page .recharge-quick-amounts{gap:8px}.user-recharge-page .recharge-quick-amounts .ant-btn{min-width:70px}}.user-console-page{width:min(100%,1280px);margin:0 auto;padding:28px 24px 40px}.user-console-heading{margin-bottom:20px}.user-console-heading h2.ant-typography{color:#182c43;margin-bottom:4px;font-size:24px}.user-console-overview-row>.ant-col{display:flex}.user-console-overview-row .user-panel{border-color:#e1e8f0;border-radius:8px;width:100%;height:100%;margin-bottom:0;box-shadow:0 3px 12px #1f2d3d0a}.user-console-profile-card{border-top:3px solid #1677ff}.user-console-profile-card .ant-card-body{padding:24px}.user-console-profile{gap:16px}.user-console-profile .ant-avatar{color:#1677ff;background:#eef6ff}.user-console-profile-main h3.ant-typography{color:#172b44;margin-bottom:6px;font-size:22px}.user-console-profile-main .ant-typography-secondary{color:#758399}.user-console-meta-grid{border-top-color:#e9eef4;gap:0;margin-top:22px;padding-top:18px}.user-console-meta-grid div{padding-right:16px}.user-console-meta-grid div+div{border-left:1px solid #edf1f5;padding-left:16px}.user-console-meta-grid span{color:#77869a;font-size:12px}.user-console-meta-grid strong{color:#24364d;font-size:14px}.user-console-balance-card{background:#fbfdff;border-top:3px solid #52c41a!important}.user-console-balance-card .ant-card-body{min-height:206px;padding:24px}.user-console-balance-label{color:#408a4c;align-items:center;gap:8px;display:flex}.user-console-balance-label svg{font-size:17px}.user-console-balance-label .ant-typography{color:#50657d}.user-console-balance-card .ant-statistic{margin:14px 0 8px}.user-console-balance-card .ant-statistic-content{color:#1677ff;font-size:34px;font-weight:700}.user-console-balance-card .ant-typography-secondary{color:#7d8a9b}.user-console-service-section{margin-top:24px}.user-console-service-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.user-console-service-heading h4.ant-typography{color:#1c3048;margin:0;font-size:17px}.user-console-service-heading .ant-typography{color:#7c899a;font-size:13px}.user-console-shortcut-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.user-console-shortcut{color:#26394f;text-align:left;cursor:pointer;background:#fff;border:1px solid #e1e8f0;border-radius:8px;grid-template-columns:38px minmax(0,1fr) 14px;align-items:center;gap:12px;min-height:92px;padding:14px;transition:border-color .2s,box-shadow .2s,transform .2s;display:grid}.user-console-shortcut:hover{border-color:#b9d4ff;transform:translateY(-1px);box-shadow:0 6px 16px #1677ff14}.user-console-shortcut-icon{color:#1677ff;background:#edf5ff;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:inline-flex}.user-console-shortcut-content{min-width:0}.user-console-shortcut-content strong,.user-console-shortcut-content small{display:block}.user-console-shortcut-content strong{color:#26394f;margin-bottom:5px;font-size:14px;font-weight:600}.user-console-shortcut-content small{color:#7a8797;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.user-console-shortcut-arrow{color:#9aa8b9;font-size:12px}@media (width<=1000px){.user-console-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.user-console-page{padding:18px 16px 32px}.user-console-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 0}.user-console-meta-grid div+div{border-left:0}.user-console-meta-grid div:nth-child(2n){border-left:1px solid #edf1f5}}@media (width<=520px){.user-console-shortcut-grid{grid-template-columns:1fr}.user-console-service-heading{flex-direction:column;align-items:flex-start;gap:3px}.user-console-meta-grid{grid-template-columns:1fr}.user-console-meta-grid div,.user-console-meta-grid div+div{border-left:0;padding-left:0}}.public-app-docs-page{color:#1f2937;background:#f7f9fc;min-height:100vh}.public-app-docs-main{width:min(1240px,100% - 48px);margin:0 auto;padding:24px 0 64px}.public-app-docs-back{color:#657488;margin:0 0 12px -8px;font-weight:500}.public-app-docs-intro{grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:18px;padding:0 0 26px;display:grid}.public-app-docs-logo{color:#1769e0;background:#eef5ff;border:1px solid #d9e6f5;border-radius:8px;justify-content:center;align-items:center;width:64px;height:64px;font-size:27px;display:inline-flex;overflow:hidden}.public-app-docs-logo .ant-image,.public-app-docs-logo img{width:100%;height:100%}.public-app-docs-logo img{object-fit:cover}.public-app-docs-intro h1.ant-typography{color:#1b2a3c;margin:4px 0;font-size:28px;font-weight:680;line-height:1.3}.public-app-docs-intro .ant-typography-paragraph{color:#6d7c8e;margin:0;font-size:14px}.public-app-docs-intro>.ant-btn{min-width:104px;height:38px;font-weight:600}.public-app-docs-workspace{background:#fff;border:1px solid #dfe7ef;border-radius:8px;grid-template-columns:258px minmax(0,1fr);min-height:542px;display:grid;overflow:hidden;box-shadow:0 8px 22px #2339530d}.public-app-docs-endpoints{background:#f8fbfe;border-right:1px solid #e2e9f0;padding:16px 12px}.public-app-docs-endpoints-title{color:#526479;padding:4px 10px 12px;font-size:13px;font-weight:650}.public-app-docs-endpoints>button{color:#405166;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-height:62px;margin-bottom:5px;padding:10px;display:grid}.public-app-docs-endpoints>button:hover{background:#f0f6fd}.public-app-docs-endpoints>button.is-active{color:#1769e0;background:#eaf3ff;border-color:#cfe2fb}.public-app-docs-method{color:#1769e0;background:#e7f1ff;border-radius:4px;justify-content:center;align-items:center;width:44px;height:22px;font-size:10px;font-weight:700;display:inline-flex}.public-app-docs-method.method-get{color:#17815a;background:#e7f7ef}.public-app-docs-method.method-delete{color:#c33a37;background:#fff0ef}.public-app-docs-method.method-put,.public-app-docs-method.method-patch{color:#9a6700;background:#fff7e6}.public-app-docs-endpoint-text{min-width:0}.public-app-docs-endpoint-text b,.public-app-docs-endpoint-text small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.public-app-docs-endpoint-text b{color:#34465b;margin-bottom:3px;font-size:13px;font-weight:600}.public-app-docs-endpoint-text small{color:#8490a0;font-size:12px}.public-app-docs-content{min-width:0;padding:0 28px 28px}.public-app-docs-tabs>.ant-tabs-nav{margin-bottom:22px}.public-app-docs-tabs>.ant-tabs-nav:before{border-color:#e8edf2}.public-app-docs-tabs .ant-tabs-tab{padding:17px 2px 13px;font-weight:500}.public-app-docs-tabs .ant-tabs-content-holder{min-height:372px}.public-app-docs-content .ant-descriptions-item-label{color:#8490a0;width:92px}.public-app-docs-content .ant-descriptions-item-content{color:#35465a;word-break:break-all}.public-app-docs-empty{padding:96px 0}@media (width<=768px){.public-app-docs-main{width:min(100% - 32px,1240px);padding:18px 0 38px}.public-app-docs-intro{grid-template-columns:50px minmax(0,1fr);gap:12px;padding-bottom:20px}.public-app-docs-logo{width:50px;height:50px;font-size:22px}.public-app-docs-intro h1.ant-typography{font-size:22px}.public-app-docs-intro>.ant-btn{grid-column:1/-1;width:100%}.public-app-docs-workspace{grid-template-columns:1fr;min-height:0}.public-app-docs-endpoints{border-bottom:1px solid #e2e9f0;border-right:0}.public-app-docs-content{padding:0 16px 22px;overflow-x:hidden}.public-app-docs-tabs .ant-tabs-nav{overflow-x:auto}}.route-loading{color:#6e7d90;background:#f6f8fb;justify-content:center;align-items:center;min-height:100vh;font-size:14px;display:flex}.responsive-layout-enhancements{min-width:0}.admin-main-layout,.admin-content,.admin-page,.user-page,.admin-page .ant-card,.user-page .ant-card,.ant-table-wrapper{min-width:0;max-width:100%}.admin-content{overflow-x:hidden}.admin-page .ant-card-head-wrapper,.user-page .ant-card-head-wrapper{flex-wrap:wrap;gap:8px;min-width:0}.admin-page-heading,.user-page-heading,.table-filter,.admin-page .ant-space,.user-page .ant-space{max-width:100%}.narrow-form,.admin-email-form,.admin-site-form{width:100%}.table-filter{flex-wrap:wrap;align-items:center;display:flex}.table-filter .ant-input,.table-filter .ant-select,.table-filter .ant-input-number,.table-filter .ant-picker{max-width:100%}@media (width<=991px){.admin-sider{z-index:20}.admin-page,.user-page{overflow-x:hidden}.admin-page-heading,.user-page-heading,.admin-page-heading>.ant-space,.user-page-heading>.ant-space{flex-wrap:wrap}}@media (width<=768px){.admin-header{height:56px;padding:0 12px}.admin-header>.ant-space{flex:auto;min-width:0}.admin-header .ant-breadcrumb{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:44vw;overflow:hidden}.admin-user-menu{min-width:0;max-width:34vw;overflow:hidden}.admin-user-menu .ant-typography{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-page .ant-card-head,.user-page .ant-card-head{padding-inline:16px}.admin-page .ant-card-body,.user-page .ant-card-body{max-width:100%;overflow-x:hidden}.table-filter{gap:8px;width:100%}.table-filter .ant-input{flex:180px;width:100%}.table-filter .ant-select,.table-filter .ant-input-number,.table-filter .ant-picker{flex:130px;width:100%}.table-filter>.ant-btn{flex:none}.admin-footer{padding:12px 16px;line-height:1.5}}@media (width<=576px){.admin-header{padding-inline:8px}.admin-header .ant-breadcrumb{display:none}.admin-user-menu{max-width:none;padding-inline:4px}.admin-user-menu .ant-typography{display:none}.admin-page,.user-page{padding:12px}.admin-page .ant-card-head,.user-page .ant-card-head{padding-inline:14px}.admin-page .ant-card-body,.user-page .ant-card-body{padding:14px}.admin-page-heading,.user-page-heading{gap:10px;margin-bottom:14px}.table-filter>.ant-input,.table-filter>.ant-select,.table-filter>.ant-input-number,.table-filter>.ant-picker,.table-filter>.ant-btn{flex:100%;width:100%}.ant-form-item{margin-bottom:16px}.ant-modal{max-width:calc(100vw - 24px);margin-inline:auto}.ant-modal-content{padding:18px}.ant-descriptions{overflow-x:auto}}.admin-auth-trend-panel,.user-auth-trend-panel{margin-bottom:16px}.admin-auth-trend-panel .ant-card-extra .ant-select,.user-auth-trend-panel .ant-card-extra .ant-select{min-width:96px}@media (width<=767px){.admin-trend-chart,.admin-auth-trend-chart,.user-auth-trend-chart{height:280px}.admin-auth-trend-panel .ant-card-head,.user-auth-trend-panel .ant-card-head{min-height:52px}.admin-auth-trend-panel .ant-card-head-wrapper,.user-auth-trend-panel .ant-card-head-wrapper{align-items:flex-start;gap:8px}.admin-auth-trend-panel .ant-card-extra,.user-auth-trend-panel .ant-card-extra{margin-inline-start:auto}}.public-page{max-width:1080px;margin:0 auto;padding:20px 16px 40px}.article-toolbar{margin-bottom:16px}.article-card{margin-bottom:14px}.article-meta{color:var(--ant-color-text-tertiary,#8c8c8c);align-items:center;gap:14px;font-size:13px;display:flex}.article-pagination{justify-content:center;margin-top:20px;display:flex}.markdown-body{word-break:break-word;line-height:1.75}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin-top:24px;margin-bottom:12px}.markdown-body p{margin-block:12px}.markdown-body .article-align-left{text-align:left}.markdown-body .article-align-center{text-align:center}.markdown-body .article-align-right{text-align:right}.markdown-body .article-align-justify{text-align:justify}.markdown-body img{border-radius:6px;max-width:100%;height:auto}.markdown-body pre{background:#fafafa;border:1px solid #05050514;border-radius:6px;padding:14px;overflow:auto}.markdown-body code:not([class]){background:#0000000d;border-radius:4px;padding:2px 5px}.markdown-body table{border-collapse:collapse;width:100%;margin-block:16px}.markdown-body th,.markdown-body td{text-align:left;border:1px solid #0505051f;padding:8px 10px}.blog-home{color:#17212b;background:#f7f5f0;min-height:100vh}.blog-home-header{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f5f0f0;border-bottom:1px solid #dedbd3;position:sticky;top:0}.blog-home-header-inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;width:min(1180px,100% - 48px);min-height:72px;margin:0 auto;display:grid}.blog-home-brand{color:#17212b;cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:10px;padding:0;font-size:18px;font-weight:700;display:inline-flex}.blog-home-brand img,.blog-home-brand-mark{object-fit:contain;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.blog-home-brand-mark{color:#f7f5f0;background:#1e4d45;border-radius:50%;font-size:17px}.blog-home-nav{justify-content:center;align-items:center;gap:30px;display:inline-flex}.blog-home-nav button{color:#77746c;cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:14px;transition:color .18s;position:relative}.blog-home-nav button:hover,.blog-home-nav button.is-active{color:#1e4d45}.blog-home-nav button.is-active:after{content:"";background:#c56b3f;height:2px;position:absolute;bottom:0;left:0;right:0}.blog-home-login{box-shadow:none;background:#1e4d45;border-color:#1e4d45;border-radius:4px;justify-self:end}.blog-home-login:hover{background:#163a35!important;border-color:#163a35!important}.blog-home-main{width:min(1180px,100% - 48px);margin:0 auto}.blog-home-intro{border-bottom:1px solid #dedbd3;justify-content:space-between;align-items:center;gap:56px;min-height:350px;padding:72px 0 66px;display:flex}.blog-home-intro-copy{max-width:700px}.blog-home-kicker{color:#c56b3f;letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:700;line-height:1.4;display:inline-block}.blog-home-intro h1.ant-typography{color:#17212b;letter-spacing:-.04em;max-width:720px;margin:14px 0 16px;font-family:Georgia,Times New Roman,serif;font-size:clamp(38px,5vw,66px);font-weight:500;line-height:1.05}.blog-home-intro .ant-typography{color:#68675f;max-width:600px;font-size:17px;line-height:1.8}.blog-home-intro-actions{align-items:center;gap:24px;margin-top:28px;display:flex}.blog-home-intro-actions .ant-btn-primary{height:44px;box-shadow:none;background:#1e4d45;border-color:#1e4d45;border-radius:4px}.blog-home-text-link,.blog-home-more-link,.blog-home-read-link{color:#1e4d45;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:14px;font-weight:650;display:inline-flex}.blog-home-text-link:hover,.blog-home-more-link:hover,.blog-home-read-link:hover{color:#c56b3f}.blog-home-intro-note{color:#77746c;align-items:center;gap:18px;font-family:Georgia,Times New Roman,serif;font-size:20px;font-style:italic;line-height:1.5;display:flex}.blog-home-note-line{background:#c56b3f;width:54px;height:1px;display:inline-block}.blog-home-content{grid-template-columns:minmax(0,1fr) 286px;gap:76px;padding:68px 0 90px;display:grid}.blog-home-section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;display:flex}.blog-home-section-heading h2.ant-typography{color:#17212b;margin:8px 0 0;font-family:Georgia,Times New Roman,serif;font-size:34px;font-weight:500}.blog-home-featured{cursor:pointer;background:#fffdf9;border:1px solid #dedbd3;border-top:3px solid #1e4d45;padding:28px 30px 26px;transition:border-color .18s,box-shadow .18s,transform .18s;position:relative}.blog-home-featured:hover{border-color:#1e4d45;transform:translateY(-2px);box-shadow:0 14px 34px #272a2514}.blog-home-featured-label{color:#1e4d45;letter-spacing:.16em;font-size:11px;font-weight:750}.blog-home-featured h3.ant-typography{color:#17212b;max-width:700px;margin:14px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(26px,3vw,38px);font-weight:500;line-height:1.2}.blog-home-featured .ant-typography{color:#68675f;max-width:720px;line-height:1.8}.blog-home-article-meta{color:#8a877e;flex-wrap:wrap;align-items:center;gap:14px;font-size:12px;display:flex}.blog-home-article-meta .ant-tag{color:#1e4d45;background:#e8f0eb;border:0;border-radius:3px;margin:0}.blog-home-read-link{margin-top:22px}.blog-home-article-list{border-top:1px solid #dedbd3;margin-top:22px}.blog-home-article-item{cursor:pointer;border-bottom:1px solid #dedbd3;grid-template-columns:116px minmax(0,1fr) 18px;align-items:center;gap:22px;padding:24px 6px;transition:background .18s,padding .18s;display:grid}.blog-home-article-item:hover{background:#fffdf9b8;padding-left:12px;padding-right:12px}.blog-home-article-item-date{color:#9b978d;align-self:start;padding-top:5px;font-size:12px}.blog-home-article-item-body h4.ant-typography{color:#17212b;margin:0 0 7px;font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:500}.blog-home-article-item-body .ant-typography{color:#77746c;margin-bottom:12px;line-height:1.65}.blog-home-article-item-arrow{color:#9b978d;transition:color .18s,transform .18s}.blog-home-article-item:hover .blog-home-article-item-arrow{color:#c56b3f;transform:translate(3px)}.blog-home-sidebar{flex-direction:column;gap:28px;display:flex}.blog-home-sidebar-card{border-top:2px solid #17212b;padding:24px 0}.blog-home-sidebar-heading h4.ant-typography,.blog-home-about-card h4.ant-typography{color:#17212b;margin:9px 0 18px;font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:500}.blog-home-category-list{flex-direction:column;display:flex}.blog-home-category-list button{color:#77746c;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #dedbd3;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;transition:color .18s,padding .18s;display:flex}.blog-home-category-list button:hover,.blog-home-category-list button.is-active{color:#1e4d45;padding-left:8px}.blog-home-category-list button.is-active{font-weight:700}.blog-home-about-card{padding-top:26px}.blog-home-about-card .ant-typography{color:#77746c;line-height:1.75}.blog-home-footer{color:#8a877e;border-top:1px solid #dedbd3;justify-content:space-between;align-items:center;gap:20px;width:min(1180px,100% - 48px);margin:0 auto;padding:24px 0 30px;font-size:12px;display:flex}.blog-home-footer a{color:#77746c}@media (width<=800px){.blog-home-header-inner{grid-template-columns:1fr auto;width:min(100% - 32px,620px)}.blog-home-nav{grid-area:2/1/auto/-1;justify-content:flex-start;padding-bottom:12px}.blog-home-header-inner{min-height:112px}.blog-home-main,.blog-home-footer{width:min(100% - 32px,620px)}.blog-home-intro{flex-direction:column;align-items:flex-start;gap:32px;min-height:0;padding:52px 0}.blog-home-intro-note{font-size:17px}.blog-home-content{grid-template-columns:1fr;gap:54px;padding-top:48px}.blog-home-sidebar{grid-template-columns:1fr 1fr;align-items:start;display:grid}}@media (width<=520px){.blog-home-login{padding-inline:12px}.blog-home-login .anticon{margin-inline-end:0}.blog-home-login{font-size:0}.blog-home-login .anticon{font-size:15px}.blog-home-intro-actions{flex-direction:column;align-items:flex-start;gap:18px}.blog-home-intro-actions .ant-btn-primary{width:100%}.blog-home-section-heading{flex-direction:column;align-items:flex-start}.blog-home-featured{padding:22px 20px}.blog-home-article-item{grid-template-columns:1fr 16px;gap:8px}.blog-home-article-item-date{grid-column:1/-1;padding-top:0}.blog-home-sidebar{display:flex}.blog-home-footer{flex-direction:column;align-items:flex-start}}.joe-blog-page{--joe-theme:#2f80ed;--joe-theme-deep:#2858d8;--joe-cyan:#38c9f3;--joe-page:#f2f4f7;--joe-surface:#fff;--joe-surface-soft:#f8fafc;--joe-line:#e9edf3;--joe-text:#26364a;--joe-muted:#8793a4;--joe-shadow:0 8px 24px #23364f14;min-height:100vh;color:var(--joe-text);background:var(--joe-page);font-family:PingFang SC,Microsoft YaHei,Segoe UI,sans-serif}.joe-blog-page button,.joe-blog-page input,.joe-blog-page select{font:inherit}.joe-blog-page button{cursor:pointer}.joe-blog-page a{color:var(--joe-theme)}.joe-blog-header{z-index:1000;border-bottom:1px solid var(--joe-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;position:sticky;top:0;box-shadow:0 2px 12px #2039580d}.joe-blog-header-inner{align-items:center;gap:18px;width:min(1180px,100% - 32px);min-height:64px;margin:0 auto;display:flex}.joe-blog-brand{min-width:174px;color:var(--joe-text);text-align:left;white-space:nowrap;background:0 0;border:0;flex:none;align-items:center;gap:9px;padding:0;font-size:17px;font-weight:700;display:inline-flex;overflow:hidden}.joe-blog-brand img{object-fit:contain;width:34px;height:34px;display:block}.joe-blog-logo{color:#fff;background:linear-gradient(135deg, var(--joe-cyan), var(--joe-theme-deep));border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;font-size:17px;display:inline-flex;box-shadow:0 5px 12px #2f80ed42}.joe-blog-brand-name{text-overflow:ellipsis;overflow:hidden}.joe-blog-nav{align-self:stretch;align-items:stretch;gap:2px;display:flex}.joe-blog-nav>button,.joe-blog-dropdown-wrap>button{color:#607087;white-space:nowrap;background:0 0;border:0;align-items:center;gap:5px;height:64px;padding:0 10px;font-size:13px;transition:color .18s,background-color .18s;display:inline-flex;position:relative}.joe-blog-nav>button:after,.joe-blog-dropdown-wrap>button:after{content:"";background:linear-gradient(90deg, var(--joe-cyan), var(--joe-theme));opacity:0;border-radius:3px 3px 0 0;height:3px;transition:opacity .18s,transform .18s;position:absolute;bottom:0;left:10px;right:10px;transform:scaleX(.35)}.joe-blog-nav>button:hover,.joe-blog-nav>button.is-active,.joe-blog-dropdown-wrap>button:hover,.joe-blog-dropdown-wrap>button.is-active{color:var(--joe-theme);background:#f7faff}.joe-blog-nav>button:hover:after,.joe-blog-nav>button.is-active:after,.joe-blog-dropdown-wrap>button:hover:after,.joe-blog-dropdown-wrap>button.is-active:after{opacity:1;transform:scaleX(1)}.joe-blog-nav-arrow{font-size:9px}.joe-blog-dropdown-wrap{position:relative}.joe-blog-dropdown{z-index:20;background:var(--joe-surface);border:1px solid var(--joe-line);border-top:2px solid var(--joe-theme);border-radius:0 0 7px 7px;min-width:138px;padding:7px;position:absolute;top:57px;left:50%;transform:translate(-50%);box-shadow:0 12px 26px #23364f24}.joe-blog-dropdown:before{content:"";border-right:6px solid #0000;border-bottom:6px solid var(--joe-theme);border-left:6px solid #0000;width:0;height:0;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.joe-blog-dropdown button{color:#647287;text-align:left;background:0 0;border:0;border-radius:4px;width:100%;padding:9px 11px;font-size:13px;display:block}.joe-blog-dropdown button:hover{color:var(--joe-theme);background:#f2f7ff}.joe-blog-category-dropdown{overscroll-behavior:contain;min-width:190px;max-height:min(420px,100vh - 88px);overflow-y:auto}.joe-blog-category-dropdown button{white-space:nowrap}.joe-blog-dropdown-status{color:#9aa6b5;text-align:left;white-space:nowrap;padding:9px 11px;font-size:13px}.joe-blog-nav-arrow{transition:transform .18s}.joe-blog-nav-arrow.is-open{transform:rotate(180deg)}.joe-blog-search{background:#f5f7fa;border:1px solid #edf0f4;border-radius:18px;flex:210px;min-width:145px;max-width:250px;height:34px;margin-left:auto;transition:border-color .18s,box-shadow .18s,background-color .18s;display:flex;overflow:hidden}.joe-blog-search:focus-within{background:#fff;border-color:#2f80ed8c;box-shadow:0 0 0 3px #2f80ed1a}.joe-blog-search input{min-width:0;color:var(--joe-text);background:0 0;border:0;outline:0;flex:1;padding:0 13px 0 16px}.joe-blog-search input::placeholder{color:#a5afbc}.joe-blog-search button{color:#8491a2;background:0 0;border:0;justify-content:center;align-items:center;width:38px;display:inline-flex}.joe-blog-search button:hover{color:var(--joe-theme)}.joe-blog-actions{flex:none;align-items:center;gap:9px;display:inline-flex}.joe-blog-icon-button,.joe-blog-user-button{color:#758399;background:#f7f9fb;border:1px solid #edf0f4;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:color .18s,background-color .18s,transform .18s;display:inline-flex}.joe-blog-icon-button:hover,.joe-blog-user-button:hover{color:var(--joe-theme);background:#edf5ff;transform:translateY(-1px)}.joe-blog-user-avatar{color:#fff;background:linear-gradient(135deg,#ff9f6e,#f05b7c);border-radius:50%;justify-content:center;align-items:center;width:25px;height:25px;font-size:12px;font-weight:700;display:inline-flex}.joe-publish-button.ant-btn{color:#fff;background:linear-gradient(135deg, #35bdf0, var(--joe-theme));border:0;border-radius:16px;height:31px;padding:0 14px;font-size:12px;box-shadow:0 5px 12px #2f80ed38}.joe-publish-button.ant-btn:hover{color:#fff!important;background:linear-gradient(135deg, #29ace1, var(--joe-theme-deep))!important}.joe-blog-container{width:min(1180px,100% - 32px);margin:0 auto;padding:20px 0 34px}.joe-home-layout,.joe-archive-layout,.joe-post-layout{grid-template-columns:minmax(0,1fr) 274px;align-items:start;gap:16px;display:grid}.joe-home-main,.joe-archive-main,.joe-post-article{min-width:0}.joe-home-hero{color:#fff;isolation:isolate;background:linear-gradient(114deg,#35c4ee 0%,#337eea 48%,#4a36ef 100%);border-radius:4px;min-height:320px;position:relative;overflow:hidden;box-shadow:0 10px 24px #2d6cd333}.joe-home-hero:after{content:"";pointer-events:none;background:linear-gradient(140deg,#ffffff2e,#0000 58%);border-radius:50%;width:70%;height:86%;position:absolute;bottom:-46%;right:-10%;transform:rotate(-18deg)}.joe-home-hero-grid{z-index:-1;opacity:.24;background-image:linear-gradient(#fff3 1px,#0000 1px),linear-gradient(90deg,#fff3 1px,#0000 1px);background-size:27px 27px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000000b3,#0000 74%);mask-image:linear-gradient(90deg,#000000b3,#0000 74%)}.joe-home-hero-orbit{z-index:-1;pointer-events:none;border:1px solid #ffffff59;border-radius:50%;position:absolute}.joe-home-hero-orbit:before,.joe-home-hero-orbit:after{content:"";background:#bafcff;border:4px solid #ffffff40;border-radius:50%;width:16px;height:16px;position:absolute;box-shadow:0 0 20px #b3ffffa6}.joe-home-hero-orbit-one{border-width:2px;width:318px;height:318px;animation:16s linear infinite joe-hero-orbit;top:-115px;right:22px}.joe-home-hero-orbit-one:before{top:50px;right:10px}.joe-home-hero-orbit-one:after{bottom:20px;left:-8px}.joe-home-hero-orbit-two{opacity:.8;border-style:dashed;width:182px;height:182px;animation:11s linear infinite reverse joe-hero-orbit;top:-30px;right:91px}.joe-home-hero-orbit-two:before{border:0;width:8px;height:8px;top:25px;left:22px}.joe-home-hero-orbit-two:after{border:0;width:8px;height:8px;bottom:12px;right:24px}.joe-home-hero-copy{z-index:2;max-width:62%;padding:48px 36px 24px;position:relative}.joe-home-hero-kicker,.joe-section-kicker,.joe-archive-banner-kicker,.joe-post-kicker{color:#52e7ff;letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:6px;font-size:10px;font-weight:700;line-height:1.4;display:inline-flex}.joe-home-hero-copy h1{color:#fff;letter-spacing:.08em;text-shadow:0 5px 16px #1a2f9a33;margin:13px 0 8px;font-size:clamp(35px,4.3vw,56px);font-weight:800;line-height:1.1}.joe-home-hero-copy p{color:#ffffffdb;max-width:390px;margin:0;font-size:15px;line-height:1.75}.joe-home-hero-actions{flex-wrap:wrap;align-items:center;gap:18px;margin-top:25px;display:flex}.joe-home-hero-actions button{min-height:38px;color:var(--joe-theme-deep);background:#fff;border:0;border-radius:4px;align-items:center;gap:7px;padding:0 18px;font-size:13px;font-weight:700;transition:transform .18s,box-shadow .18s;display:inline-flex;box-shadow:0 8px 18px #2243b033}.joe-home-hero-actions button:hover{transform:translateY(-2px);box-shadow:0 11px 24px #2243b047}.joe-home-hero-actions>span{color:#fffc;align-items:center;gap:6px;font-size:12px;display:inline-flex}.joe-home-hero-featured{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#10309847;border:1px solid #ffffff4d;border-radius:6px;flex-direction:column;gap:8px;width:min(245px,31%);padding:17px 18px;display:flex;position:absolute;bottom:28px;right:28px;box-shadow:0 10px 24px #25389d29}.joe-home-hero-featured small{color:#bff9ff;letter-spacing:.12em;font-size:10px;font-weight:700}.joe-home-hero-featured strong{color:#fff;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.55;display:-webkit-box;overflow:hidden}.joe-home-hero-featured>span{color:#ffffffb8;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:11px;line-height:1.6;display:-webkit-box;overflow:hidden}.joe-home-hero-dots{z-index:2;gap:5px;display:flex;position:absolute;top:16px;right:18px}.joe-home-hero-dots i{background:#ffffff6b;border-radius:50%;width:5px;height:5px;display:block}.joe-home-hero-dots i.is-active{background:#fff;border-radius:4px;width:18px}.joe-quick-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:16px;display:grid}.joe-quick-link{text-align:left;background:var(--joe-surface);border:1px solid #0000;border-radius:4px;grid-template-columns:34px minmax(0,1fr) 12px;align-items:center;gap:9px;min-width:0;min-height:64px;padding:10px 11px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;overflow:hidden;box-shadow:0 4px 13px #23364f0d}.joe-quick-link:hover{box-shadow:var(--joe-shadow);border-color:#2f80ed38;transform:translateY(-2px)}.joe-quick-link-icon{border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;display:inline-flex}.joe-quick-link.is-blue .joe-quick-link-icon{color:#2485f4;background:#e9f3ff}.joe-quick-link.is-purple .joe-quick-link-icon{color:#8f67ef;background:#f2ecff}.joe-quick-link.is-orange .joe-quick-link-icon{color:#f28a3d;background:#fff1e7}.joe-quick-link.is-green .joe-quick-link-icon{color:#24b79f;background:#e8fbf5}.joe-quick-link>span:nth-child(2){flex-direction:column;gap:3px;min-width:0;display:flex}.joe-quick-link strong,.joe-quick-link em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.joe-quick-link strong{color:var(--joe-text);font-size:12px}.joe-quick-link em{color:#9aa5b4;font-size:10px;font-style:normal}.joe-quick-link-arrow{color:#aab4c1;font-size:11px;transition:color .18s,transform .18s}.joe-quick-link:hover .joe-quick-link-arrow{color:var(--joe-theme);transform:translate(3px)}.joe-home-section{margin-top:22px}.joe-section-heading{justify-content:space-between;align-items:end;gap:14px;margin-bottom:13px;display:flex}.joe-section-heading>div{min-width:0}.joe-section-heading .joe-section-kicker{color:var(--joe-theme)}.joe-section-heading .joe-section-kicker .anticon{font-size:12px}.joe-section-heading h2{color:var(--joe-text);margin:5px 0 0;font-size:19px;font-weight:700}.joe-section-heading>button{color:var(--joe-theme);white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:12px;display:inline-flex}.joe-section-heading>button:hover{color:var(--joe-theme-deep)}.joe-hot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.joe-hot-card{background:var(--joe-surface);cursor:pointer;border:1px solid #0000;border-radius:4px;min-width:0;transition:border-color .18s,box-shadow .18s,transform .18s;overflow:hidden;box-shadow:0 4px 14px #23364f0f}.joe-hot-card:hover{border-color:#2f80ed42;transform:translateY(-3px);box-shadow:0 12px 24px #23364f1f}.joe-hot-card-cover-wrap{position:relative}.joe-hot-card-cover{height:146px}.joe-hot-card-rank{color:#fff;background:#ff5d48;border-radius:3px;padding:3px 6px;font-size:10px;position:absolute;top:9px;right:8px;box-shadow:0 3px 7px #ff5d4840}.joe-hot-card-body{padding:11px 12px 12px}.joe-card-tags{gap:5px;min-width:0;margin-bottom:7px;display:flex;overflow:hidden}.joe-card-tags span{color:#5d91d9;text-overflow:ellipsis;white-space:nowrap;background:#edf5ff;border-radius:3px;max-width:92px;padding:3px 6px;font-size:10px;line-height:1.2;overflow:hidden}.joe-hot-card h3{min-height:40px;color:var(--joe-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:14px;font-weight:700;line-height:1.45;display:-webkit-box;overflow:hidden}.joe-card-meta,.joe-latest-meta,.joe-archive-item-meta{color:#a0aab8;flex-wrap:wrap;align-items:center;gap:9px;font-size:10px;display:flex}.joe-card-meta{margin-top:11px}.joe-card-meta .anticon,.joe-latest-meta .anticon,.joe-archive-item-meta .anticon{margin-right:2px}.joe-card-meta-dot{background:#c6ced8;border-radius:50%;width:3px;height:3px;margin:0 3px 2px 0;display:inline-block}.joe-latest-section{margin-top:27px}.joe-latest-list,.joe-archive-list{flex-direction:column;gap:8px;display:flex}.joe-latest-item,.joe-archive-item{background:var(--joe-surface);cursor:pointer;border:1px solid #0000;border-radius:4px;grid-template-columns:154px minmax(0,1fr) 20px;align-items:center;gap:15px;min-width:0;padding:11px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;box-shadow:0 4px 13px #23364f0b}.joe-latest-item:hover,.joe-archive-item:hover{box-shadow:var(--joe-shadow);border-color:#2f80ed3d;transform:translateY(-2px)}.joe-latest-thumb,.joe-archive-cover{border-radius:3px;width:154px;height:93px}.joe-latest-content,.joe-archive-item-content{min-width:0}.joe-latest-meta{margin-bottom:6px}.joe-latest-category,.joe-archive-item-meta .joe-latest-category{color:var(--joe-theme)}.joe-latest-content h3,.joe-archive-item-content h2{color:var(--joe-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 5px;font-size:15px;font-weight:700;line-height:1.5;display:-webkit-box;overflow:hidden}.joe-latest-content p,.joe-archive-item-content p{color:#8b97a6;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.65;display:-webkit-box;overflow:hidden}.joe-latest-arrow,.joe-archive-arrow{color:#aeb8c5;transition:color .18s,transform .18s}.joe-latest-item:hover .joe-latest-arrow,.joe-archive-item:hover .joe-archive-arrow{color:var(--joe-theme);transform:translate(3px)}.joe-blog-sidebar{flex-direction:column;gap:12px;min-width:0;display:flex}.joe-sidebar-card,.joe-post-aside-card{background:var(--joe-surface);border:1px solid #0000;border-radius:4px;overflow:hidden;box-shadow:0 4px 13px #23364f0b}.joe-sidebar-author-cover{background-color:#0000;background-image:radial-gradient(circle at 20% 20%,#ffffffdb 0 7px,#0000 8px),radial-gradient(circle at 78% 28%,#ffffff8c 0 16px,#0000 17px),linear-gradient(135deg,#effbff 0%,#79dcf4 44%,#4b6ff1 100%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;height:91px}.joe-sidebar-author-content{text-align:center;padding:0 15px 17px;position:relative}.joe-sidebar-avatar{color:#8290a5;background:#fff;border:4px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;margin:-29px auto 8px;font-size:23px;display:flex;overflow:hidden;box-shadow:0 4px 13px #23364f1f}.joe-sidebar-avatar img{object-fit:contain;background:#eef3f8;width:100%;height:100%}.joe-sidebar-author-content>strong{color:var(--joe-theme);font-size:14px;display:block}.joe-sidebar-author-content>p{color:#8793a4;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:36px;margin:8px 0 14px;font-size:11px;line-height:1.65;display:-webkit-box;overflow:hidden}.joe-sidebar-stats{border-top:1px solid var(--joe-line);grid-template-columns:repeat(2,1fr);display:grid}.joe-sidebar-stats>div{flex-direction:column;justify-content:center;gap:3px;min-height:53px;display:flex}.joe-sidebar-stats>div+div{border-left:1px solid var(--joe-line)}.joe-sidebar-stats strong{color:var(--joe-text);font-size:18px;font-weight:700}.joe-sidebar-stats span{color:#a1abb8;font-size:10px}.joe-sidebar-lines-card{padding:15px}.joe-sidebar-title{color:var(--joe-text);align-items:center;gap:7px;margin-bottom:12px;font-size:13px;font-weight:700;display:flex}.joe-sidebar-title:before{content:"";background:linear-gradient(180deg, var(--joe-cyan), var(--joe-theme));border-radius:2px;width:3px;height:15px}.joe-sidebar-title .anticon{color:var(--joe-theme);font-size:13px}.joe-sidebar-notice{color:#8995a5;margin:0;font-size:11px;line-height:1.75}.joe-sidebar-progress-item+.joe-sidebar-progress-item{margin-top:12px}.joe-sidebar-progress-item>div{color:#909cad;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:10px;display:flex}.joe-sidebar-progress-item em{color:#7e8b9d;font-style:normal}.joe-sidebar-progress-item i{background:#edf0f5;border-radius:5px;height:6px;display:block;overflow:hidden}.joe-sidebar-progress-item b{background:linear-gradient(90deg, #46c6f0, var(--joe-theme));border-radius:inherit;height:100%;display:block}.joe-sidebar-progress-item b.is-orange{background:linear-gradient(90deg,#ffc65a,#ff8e52)}.joe-sidebar-hot-list{flex-direction:column;display:flex}.joe-sidebar-hot-list button{text-align:left;border:0;border-bottom:1px solid var(--joe-line);background:0 0;grid-template-columns:25px minmax(0,1fr);gap:8px;padding:9px 0;display:grid}.joe-sidebar-hot-list button:last-child{border-bottom:0}.joe-sidebar-hot-list button:hover strong{color:var(--joe-theme)}.joe-sidebar-hot-index{color:#c6ced8;font-size:15px;font-weight:700}.joe-sidebar-hot-list button:nth-child(-n+3) .joe-sidebar-hot-index{color:#f18a73}.joe-sidebar-hot-list button>span:last-child{flex-direction:column;gap:4px;min-width:0;display:flex}.joe-sidebar-hot-list strong{color:#667489;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;font-weight:600;line-height:1.5;transition:color .18s;display:-webkit-box;overflow:hidden}.joe-sidebar-hot-list em{color:#a7b0bc;font-size:10px;font-style:normal}.joe-sidebar-category-list{flex-direction:column;display:flex}.joe-sidebar-category-list button{color:#7d8a9c;text-align:left;border:0;border-bottom:1px solid var(--joe-line);background:0 0;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;font-size:11px;transition:color .18s,padding-left .18s;display:flex}.joe-sidebar-category-list button:last-child{border-bottom:0}.joe-sidebar-category-list button:hover,.joe-sidebar-category-list button.is-active{color:var(--joe-theme);padding-left:5px}.joe-sidebar-category-list em{color:#b1bac6;font-size:10px;font-style:normal}.joe-sidebar-tags{flex-wrap:wrap;gap:6px;display:flex}.joe-sidebar-tags button{color:#748eb2;background:#f1f6fd;border:0;border-radius:3px;padding:4px 7px;font-size:10px;transition:color .18s,background-color .18s}.joe-sidebar-tags button:hover{color:#fff;background:var(--joe-theme)}.joe-sidebar-tags>span,.joe-sidebar-empty{color:#a5afbc;font-size:11px}.joe-sidebar-signature{color:#a8b1be;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;padding:3px 2px 10px;font-size:10px;display:flex}.joe-sidebar-signature .anticon{color:#7eb4ec}.joe-blog-home-note{color:#9aa6b4;border-top:1px solid var(--joe-line);justify-content:space-between;align-items:center;gap:14px;width:min(1180px,100% - 32px);margin:0 auto;padding:14px 0 17px;font-size:11px;display:flex}.joe-blog-home-note a{color:var(--joe-theme);align-items:center;gap:5px;display:inline-flex}.joe-blog-footer{color:#a1aab6;border-top:1px solid var(--joe-line);justify-content:space-between;align-items:center;gap:18px;width:min(1180px,100% - 32px);margin:0 auto;padding:18px 0 25px;font-size:11px;display:flex}.joe-blog-footer>div{flex-direction:column;gap:5px;display:flex}.joe-blog-footer strong{color:#758397;font-size:12px}.joe-blog-footer span{color:#abb3be}.joe-blog-footer a{color:var(--joe-theme)}.joe-archive-banner{color:#fff;background:linear-gradient(113deg,#35c4ee 0%,#337eea 48%,#4a36ef 100%);border-radius:4px;justify-content:space-between;align-items:center;gap:24px;min-height:154px;padding:28px 30px;display:flex;overflow:hidden;box-shadow:0 10px 22px #2d6cd32b}.joe-archive-banner-kicker{color:#ffffffb8}.joe-archive-banner h1{color:#fff;margin:10px 0 6px;font-size:29px;font-weight:800}.joe-archive-banner p{color:#fffc;max-width:590px;margin:0;font-size:12px;line-height:1.7}.joe-archive-banner-count{border-left:1px solid #ffffff47;flex-direction:column;align-items:center;min-width:96px;padding-left:24px;display:flex}.joe-archive-banner-count strong{font-size:38px;font-weight:800;line-height:1}.joe-archive-banner-count span{color:#ffffffb8;margin-top:5px;font-size:11px}.joe-archive-toolbar{background:var(--joe-surface);border:1px solid #0000;border-radius:4px;flex-wrap:wrap;align-items:center;gap:10px;margin:15px 0 12px;padding:12px 14px;display:flex;box-shadow:0 4px 13px #23364f0b}.joe-archive-toolbar-title{color:var(--joe-text);align-items:center;gap:6px;margin-right:auto;font-size:12px;font-weight:700;display:inline-flex}.joe-archive-toolbar-title .anticon{color:var(--joe-theme)}.joe-archive-select{color:#9aa5b3;align-items:center;gap:7px;font-size:11px;display:inline-flex}.joe-archive-select select{color:#64748b;background:#f7f9fb;border:1px solid #ebeff4;border-radius:4px;outline:0;max-width:150px;height:31px;padding:0 26px 0 10px}.joe-archive-select select:focus{border-color:#2f80ed73}.joe-archive-search{background:#f7f9fb;border:1px solid #ebeff4;border-radius:4px;width:190px;height:31px;display:flex;overflow:hidden}.joe-archive-search:focus-within{border-color:#2f80ed73}.joe-archive-search input{min-width:0;color:var(--joe-text);background:0 0;border:0;outline:0;flex:1;padding:0 9px}.joe-archive-search input::placeholder{color:#a7b0bd}.joe-archive-search button{color:#8996a7;background:0 0;border:0;width:33px}.joe-archive-search button:hover{color:var(--joe-theme)}.joe-archive-item{grid-template-columns:184px minmax(0,1fr) 20px}.joe-archive-cover{width:184px;height:112px}.joe-archive-item-content h2{margin-bottom:6px;font-size:16px}.joe-archive-item-content .joe-card-tags{margin-top:10px;margin-bottom:0}.joe-archive-pagination{justify-content:center;margin-top:18px;display:flex}.joe-archive-pagination .ant-pagination-item-active{background:var(--joe-theme);border-color:var(--joe-theme)}.joe-archive-pagination .ant-pagination-item-active a{color:#fff}.joe-archive-empty,.joe-post-empty{background:var(--joe-surface);border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:280px;padding:30px;display:flex}.joe-post-hero{color:#fff;isolation:isolate;background:linear-gradient(113deg,#35c4ee 0%,#337eea 48%,#4a36ef 100%);border-radius:4px;min-height:290px;position:relative;overflow:hidden;box-shadow:0 10px 22px #2d6cd32b}.joe-post-hero-image,.joe-post-hero-overlay{width:100%;height:100%;position:absolute;inset:0}.joe-post-hero-image{object-fit:cover;opacity:.82}.joe-post-hero-overlay{background:linear-gradient(90deg,#0f2667d1,#2550c26b 58%,#2644b126)}.joe-post-hero-content{z-index:1;flex-direction:column;justify-content:flex-end;max-width:850px;min-height:290px;padding:30px 36px 32px;display:flex;position:relative}.joe-post-breadcrumb{color:#ffffffbf;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:auto;font-size:11px;display:flex}.joe-post-breadcrumb button{color:inherit;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.joe-post-breadcrumb button:hover{color:#fff}.joe-post-kicker{color:#a6f7ff}.joe-post-hero h1{color:#fff;text-shadow:0 4px 15px #172a6a40;-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:820px;margin:9px 0 7px;font-size:clamp(26px,4vw,40px);font-weight:800;line-height:1.25;display:-webkit-box;overflow:hidden}.joe-post-hero-content>p{color:#ffffffc7;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:760px;margin:0 0 13px;font-size:12px;line-height:1.7;display:-webkit-box;overflow:hidden}.joe-post-meta{color:#ffffffc7;flex-wrap:wrap;align-items:center;gap:13px;font-size:11px;display:flex}.joe-post-meta span{align-items:center;gap:4px;display:inline-flex}.joe-post-author-meta img{object-fit:cover;border-radius:50%;width:18px;height:18px}.joe-post-layout{margin-top:16px}.joe-post-article{background:var(--joe-surface);border-radius:4px;min-width:0;padding:25px 28px 29px;overflow:hidden;box-shadow:0 4px 14px #23364f0f}.joe-post-article-label{color:var(--joe-text);border-bottom:1px solid var(--joe-line);align-items:center;gap:7px;padding-bottom:14px;font-size:13px;font-weight:700;display:flex}.joe-post-article-label>.anticon{color:var(--joe-theme)}.joe-post-article-label button{color:var(--joe-theme);background:#eef6ff;border:0;border-radius:3px;align-items:center;gap:4px;margin-left:auto;padding:4px 8px;font-size:10px;font-weight:500;display:inline-flex}.joe-post-content{padding:7px 0 18px}.joe-post-content .markdown-body{color:#526174;font-size:15px;line-height:1.9}.joe-post-content .markdown-body h1,.joe-post-content .markdown-body h2,.joe-post-content .markdown-body h3,.joe-post-content .markdown-body h4,.joe-post-content .markdown-body h5,.joe-post-content .markdown-body h6{color:var(--joe-text);line-height:1.4}.joe-post-content .markdown-body h1{border-bottom:1px solid var(--joe-line);padding-bottom:10px;font-size:28px}.joe-post-content .markdown-body h2{border-left:3px solid var(--joe-theme);padding-left:12px;font-size:23px}.joe-post-content .markdown-body h3{font-size:19px}.joe-post-content .markdown-body p{margin:15px 0}.joe-post-content .markdown-body blockquote{color:#728196;background:#f5f9ff;border-left:4px solid #7ab6f7;border-radius:0 4px 4px 0;margin:18px 0;padding:12px 16px}.joe-post-content .markdown-body ul,.joe-post-content .markdown-body ol{padding-left:24px}.joe-post-content .markdown-body li+li{margin-top:5px}.joe-post-content .markdown-body a{color:var(--joe-theme);text-underline-offset:3px;-webkit-text-decoration:underline #2f80ed59;text-decoration:underline #2f80ed59}.joe-post-content .markdown-body img{border-radius:4px;margin:18px auto;display:block;box-shadow:0 8px 20px #23364f1a}.joe-post-content .markdown-body pre{background:#f7f9fc;border:1px solid #e8edf4;border-radius:5px;margin:18px 0;padding:0;overflow:auto}.joe-post-content .markdown-body pre code{color:#43546a;padding:15px 17px;font-family:JetBrains Mono,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.7;display:block}.joe-post-content .markdown-body code:not([class]){color:#cc5c42;background:#fff1ec;border-radius:3px;padding:2px 5px;font-family:JetBrains Mono,Cascadia Code,Consolas,monospace;font-size:.9em}.joe-post-content .markdown-body table{white-space:nowrap;display:block;overflow-x:auto}.joe-post-content .markdown-body th{color:#4f6075;background:#f2f7fd}.joe-post-tags{border-top:1px solid var(--joe-line);flex-wrap:wrap;align-items:center;gap:7px;padding:15px 0;display:flex}.joe-post-tags>span{color:#9aa5b4;margin-right:3px;font-size:11px}.joe-post-tags button{color:#6688b9;background:#f0f6ff;border:0;border-radius:3px;padding:4px 8px;font-size:10px}.joe-post-tags button:hover{color:#fff;background:var(--joe-theme)}.joe-post-copyright{color:#8491a3;background:#f8fafc;border-left:3px solid #91bff0;border-radius:0 4px 4px 0;padding:14px 16px;font-size:11px;line-height:1.75}.joe-post-copyright strong{color:#596b82}.joe-post-copyright p{margin:5px 0}.joe-post-copyright>div{align-items:baseline;gap:7px;min-width:0;display:flex}.joe-post-copyright code{color:#8090a4;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.joe-post-actions{justify-content:space-between;gap:10px;margin-top:18px;display:flex}.joe-post-actions .ant-btn{border-radius:4px;min-height:34px}.joe-post-actions .ant-btn-primary{background:var(--joe-theme);border-color:var(--joe-theme)}.joe-post-related{border-top:1px solid var(--joe-line);margin-top:27px;padding-top:20px}.joe-post-related-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.joe-post-related-card{text-align:left;background:var(--joe-surface);border:1px solid var(--joe-line);border-radius:4px;flex-direction:column;min-width:0;padding:0;transition:border-color .18s,transform .18s;display:flex;overflow:hidden}.joe-post-related-card:hover{border-color:#2f80ed66;transform:translateY(-2px)}.joe-post-related-card .joe-article-cover{width:100%;height:90px}.joe-post-related-card strong{min-height:34px;color:var(--joe-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:9px 10px 3px;font-size:11px;line-height:1.5;display:-webkit-box;overflow:hidden}.joe-post-related-card>span{color:#a1abb8;margin:0 10px 10px;font-size:10px}.joe-post-aside{flex-direction:column;gap:12px;min-width:0;display:flex}.joe-post-aside-card{padding:15px}.joe-post-toc{position:sticky;top:80px}.joe-post-toc ol{color:#9aa5b3;flex-direction:column;gap:7px;margin:0;padding:0 0 0 20px;font-size:11px;display:flex}.joe-post-toc li{padding-left:2px;line-height:1.55}.joe-post-toc li.level-3{margin-left:10px;font-size:10px}.joe-post-toc li::marker{color:#91b7e8}.joe-post-toc li span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.joe-post-toc p,.joe-post-note-card p{color:#8c98a8;margin:0;font-size:11px;line-height:1.75}.joe-post-author-mini{align-items:center;gap:10px;display:flex}.joe-post-author-mini-icon{color:#fff;background:linear-gradient(135deg, #35c4ee, var(--joe-theme));border-radius:50%;justify-content:center;align-items:center;width:35px;height:35px;display:inline-flex}.joe-post-author-mini>div:last-child{flex-direction:column;gap:4px;min-width:0;display:flex}.joe-post-author-mini strong{color:var(--joe-text);font-size:12px}.joe-post-author-mini span{color:#9aa5b3;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.joe-article-cover{isolation:isolate;background:#dce8f7;position:relative;overflow:hidden}.joe-article-cover:after{content:"";pointer-events:none;background:linear-gradient(130deg,#ffffff1f,#0000 43%,#08195729);position:absolute;inset:0}.joe-article-cover img{object-fit:cover;width:100%;height:100%;transition:transform .38s;display:block}.joe-hot-card:hover .joe-article-cover img,.joe-latest-item:hover .joe-article-cover img,.joe-archive-item:hover .joe-article-cover img,.joe-post-related-card:hover .joe-article-cover img{transform:scale(1.05)}.joe-article-cover-fallback{color:#fffffff2;flex-direction:column;justify-content:flex-end;align-items:flex-start;height:100%;padding:16px;display:flex}.joe-article-cover-fallback span{text-overflow:ellipsis;white-space:nowrap;max-width:85%;font-size:11px;overflow:hidden}.joe-article-cover-fallback strong{opacity:.84;margin-top:4px;font-size:31px;font-weight:800;line-height:1}.joe-article-cover-shine{z-index:1;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff47,#0000);width:45%;height:160%;transition:left .55s;position:absolute;top:-30%;left:-80%;transform:rotate(18deg)}.joe-hot-card:hover .joe-article-cover-shine,.joe-latest-item:hover .joe-article-cover-shine,.joe-archive-item:hover .joe-article-cover-shine,.joe-post-related-card:hover .joe-article-cover-shine{left:130%}.joe-night .joe-blog-page{--joe-page:#101925;--joe-surface:#172435;--joe-surface-soft:#1c2b3e;--joe-line:#2b3a4d;--joe-text:#e6edf7;--joe-muted:#98a8bc;--joe-shadow:0 10px 28px #0000003d;background:var(--joe-page)}.joe-night .joe-blog-header{border-bottom-color:var(--joe-line);background:#101925f5}.joe-night .joe-blog-brand,.joe-night .joe-blog-nav>button,.joe-night .joe-blog-dropdown-wrap>button,.joe-night .joe-section-heading h2,.joe-night .joe-section-heading>button,.joe-night .joe-sidebar-title,.joe-night .joe-sidebar-author-content>strong,.joe-night .joe-hot-card h3,.joe-night .joe-latest-content h3,.joe-night .joe-archive-item-content h2,.joe-night .joe-post-article-label,.joe-night .joe-post-author-mini strong{color:var(--joe-text)}.joe-night .joe-blog-nav>button:hover,.joe-night .joe-blog-nav>button.is-active,.joe-night .joe-blog-dropdown-wrap>button:hover,.joe-night .joe-blog-dropdown-wrap>button.is-active,.joe-night .joe-section-heading>button:hover{color:#6eb2ff;background:#1d3048}.joe-night .joe-blog-search,.joe-night .joe-blog-icon-button,.joe-night .joe-blog-user-button,.joe-night .joe-archive-search,.joe-night .joe-archive-select select{color:#dbe7f5;background:#1c2b3e;border-color:#2b3a4d}.joe-night .joe-blog-search input,.joe-night .joe-archive-search input,.joe-night .joe-archive-select select{color:#e6edf7}.joe-night .joe-blog-dropdown,.joe-night .joe-sidebar-card,.joe-night .joe-post-aside-card,.joe-night .joe-quick-link,.joe-night .joe-hot-card,.joe-night .joe-latest-item,.joe-night .joe-archive-item,.joe-night .joe-archive-toolbar,.joe-night .joe-post-article,.joe-night .joe-post-related-card,.joe-night .joe-archive-empty,.joe-night .joe-post-empty{background:var(--joe-surface);border-color:var(--joe-line)}.joe-night .joe-blog-dropdown button:hover,.joe-night .joe-quick-link:hover{background:#1d3048}.joe-night .joe-quick-link strong,.joe-night .joe-sidebar-stats strong,.joe-night .joe-post-content .markdown-body h1,.joe-night .joe-post-content .markdown-body h2,.joe-night .joe-post-content .markdown-body h3,.joe-night .joe-post-content .markdown-body h4{color:var(--joe-text)}.joe-night .joe-quick-link em,.joe-night .joe-latest-content p,.joe-night .joe-archive-item-content p,.joe-night .joe-sidebar-notice,.joe-night .joe-sidebar-progress-item>div,.joe-night .joe-sidebar-hot-list strong,.joe-night .joe-sidebar-category-list button,.joe-night .joe-post-content .markdown-body,.joe-night .joe-post-toc p,.joe-night .joe-post-note-card p{color:#9cacc0}.joe-night .joe-card-tags span,.joe-night .joe-sidebar-tags button,.joe-night .joe-post-tags button,.joe-night .joe-post-article-label button{color:#8eb8ec;background:#203b5b}.joe-night .joe-post-content .markdown-body blockquote,.joe-night .joe-post-copyright{background:#1a2c42;border-color:#3b78b4}.joe-night .joe-post-content .markdown-body pre,.joe-night .joe-post-content .markdown-body code:not([class]){background:#142236;border-color:#2b3a4d}.joe-night .joe-post-content .markdown-body code:not([class]){color:#ffad91}.joe-night .joe-blog-home-note,.joe-night .joe-blog-footer{color:#8595aa;border-top-color:var(--joe-line)}@keyframes joe-hero-orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=1080px){.joe-blog-brand{min-width:145px}.joe-home-layout,.joe-archive-layout,.joe-post-layout{grid-template-columns:minmax(0,1fr) 250px}.joe-home-hero-featured{width:29%;right:20px}}@media (width<=900px){.joe-blog-header-inner{gap:10px}.joe-blog-brand{min-width:auto}.joe-blog-nav>button,.joe-blog-dropdown-wrap>button{padding:0 7px}.joe-blog-nav>button span,.joe-blog-dropdown-wrap>button span,.joe-blog-nav-arrow{display:none}.joe-home-layout,.joe-archive-layout,.joe-post-layout{grid-template-columns:1fr}.joe-blog-sidebar,.joe-post-aside{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.joe-sidebar-author-card,.joe-sidebar-signature,.joe-post-toc{grid-column:1/-1}.joe-post-toc{position:static}}@media (width<=680px){.joe-blog-header-inner{min-height:58px}.joe-blog-header .joe-blog-brand-name{display:none}.joe-blog-nav{gap:0}.joe-blog-nav>button,.joe-blog-dropdown-wrap>button{height:58px;padding:0 8px}.joe-blog-search{min-width:110px;max-width:none}.joe-publish-button.ant-btn{padding:0 11px}.joe-home-hero{min-height:350px}.joe-home-hero-copy{max-width:100%;padding:43px 25px 0}.joe-home-hero-copy h1{font-size:40px}.joe-home-hero-featured{width:auto;bottom:24px;left:25px;right:25px}.joe-quick-links,.joe-hot-grid,.joe-post-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.joe-latest-item,.joe-archive-item{grid-template-columns:125px minmax(0,1fr) 16px;gap:11px}.joe-latest-thumb,.joe-archive-cover{width:125px;height:84px}.joe-latest-content p,.joe-archive-item-content p{-webkit-line-clamp:1}.joe-archive-banner{padding:23px 22px}.joe-archive-banner-count{min-width:75px;padding-left:16px}.joe-post-hero,.joe-post-hero-content{min-height:330px}.joe-post-hero-content{padding:24px 25px 26px}.joe-post-article{padding:21px 20px 24px}.joe-post-content .markdown-body{font-size:14px}}@media (width<=500px){.joe-blog-container,.joe-blog-header-inner,.joe-blog-home-note,.joe-blog-footer{width:min(100% - 20px,440px)}.joe-blog-header-inner{gap:5px}.joe-blog-nav>button,.joe-blog-dropdown-wrap>button{padding:0 6px}.joe-blog-search{min-width:0}.joe-blog-actions{gap:4px}.joe-blog-icon-button,.joe-blog-user-button{width:29px;height:29px}.joe-publish-button.ant-btn{width:32px;padding:0;font-size:0}.joe-publish-button.ant-btn .anticon{margin:0;font-size:14px}.joe-home-hero-copy{padding-left:20px;padding-right:20px}.joe-home-hero-copy h1{font-size:34px}.joe-home-hero-copy p{font-size:13px}.joe-home-hero-featured{bottom:20px;left:20px;right:20px}.joe-home-hero-actions>span{display:none}.joe-quick-links{gap:6px}.joe-quick-link{grid-template-columns:30px minmax(0,1fr) 10px;gap:6px;padding:8px}.joe-quick-link-icon{width:30px;height:30px;font-size:14px}.joe-quick-link em{font-size:9px}.joe-hot-grid,.joe-post-related-grid{grid-template-columns:1fr}.joe-hot-card-cover{height:165px}.joe-latest-item,.joe-archive-item{grid-template-columns:92px minmax(0,1fr) 12px;gap:9px;padding:8px}.joe-latest-thumb,.joe-archive-cover{width:92px;height:75px}.joe-latest-meta,.joe-archive-item-meta{gap:6px}.joe-latest-content h3,.joe-archive-item-content h2{font-size:13px}.joe-latest-content p,.joe-archive-item-content p{display:none}.joe-blog-sidebar,.joe-post-aside{display:flex}.joe-archive-banner{flex-direction:column;align-items:flex-start;gap:18px}.joe-archive-banner-count{border:0;flex-direction:row;gap:7px;padding:0}.joe-archive-banner-count strong{font-size:30px}.joe-archive-banner-count span{margin:0}.joe-archive-toolbar{align-items:stretch}.joe-archive-toolbar-title{width:100%}.joe-archive-select,.joe-archive-select select,.joe-archive-search{width:100%;max-width:none}.joe-archive-select{justify-content:space-between}.joe-post-hero,.joe-post-hero-content{min-height:370px}.joe-post-hero-content{padding:21px 20px 22px}.joe-post-hero h1{font-size:25px}.joe-post-actions{flex-direction:column;align-items:stretch}.joe-post-actions .ant-btn{width:100%}.joe-post-copyright>div{flex-direction:column;align-items:flex-start;gap:2px}.joe-post-copyright code{max-width:100%}.joe-blog-home-note,.joe-blog-footer{flex-direction:column;align-items:flex-start}}.joe-blog-page .joe-blog-nav>button,.joe-blog-page .joe-blog-dropdown-wrap>button{font-size:15px}.joe-blog-page .joe-blog-dropdown button,.joe-blog-page .joe-blog-search input,.joe-blog-page .joe-blog-search input::placeholder{font-size:14px}.joe-blog-page .joe-publish-button.ant-btn{font-size:13px}.joe-blog-page .joe-quick-link strong{font-size:14px}.joe-blog-page .joe-quick-link em{font-size:12px}.joe-blog-page .joe-section-heading .joe-section-kicker{font-size:13px}.joe-blog-page .joe-section-heading h2{font-size:22px}.joe-blog-page .joe-section-heading>button{font-size:13px}.joe-blog-page .joe-hot-card h3{font-size:16px}.joe-blog-page .joe-card-tags span{font-size:11px}.joe-blog-page .joe-card-meta,.joe-blog-page .joe-archive-item-meta,.joe-blog-page .joe-latest-meta{font-size:12px}.joe-blog-page .joe-latest-content h3,.joe-blog-page .joe-archive-item-content h2{font-size:17px}.joe-blog-page .joe-latest-content p,.joe-blog-page .joe-archive-item-content p{font-size:13px}.joe-blog-page .joe-sidebar-title,.joe-blog-page .joe-sidebar-title .anticon{font-size:14px}.joe-blog-page .joe-sidebar-author-content>p,.joe-blog-page .joe-sidebar-notice,.joe-blog-page .joe-sidebar-progress-item>div,.joe-blog-page .joe-sidebar-category-list button,.joe-blog-page .joe-sidebar-hot-list strong{font-size:12px}.joe-blog-page .joe-sidebar-hot-list em,.joe-blog-page .joe-sidebar-tags button{font-size:11px}.joe-blog-page .joe-sidebar-tags button{padding-top:5px;padding-bottom:5px}.joe-blog-page .joe-archive-banner-kicker,.joe-blog-page .joe-archive-toolbar-title,.joe-blog-page .joe-archive-banner p,.joe-blog-page .joe-archive-select select,.joe-blog-page .joe-archive-search input,.joe-blog-page .joe-archive-search input::placeholder{font-size:13px}.joe-blog-page .joe-post-kicker,.joe-blog-page .joe-post-breadcrumb,.joe-blog-page .joe-post-meta,.joe-blog-page .joe-post-article-label,.joe-blog-page .joe-post-tags>span,.joe-blog-page .joe-post-copyright{font-size:12px}.joe-blog-page .joe-post-article-label button,.joe-blog-page .joe-post-tags button{font-size:11px}.joe-blog-page .joe-post-content .markdown-body{font-size:16px}.joe-blog-page .joe-post-content .markdown-body pre code{font-size:13px}.joe-blog-page .joe-post-toc li span,.joe-blog-page .joe-post-note-card p,.joe-blog-page .joe-post-author-mini span{font-size:12px}@media (width<=680px){.joe-blog-page .joe-blog-nav>button,.joe-blog-page .joe-blog-dropdown-wrap>button{font-size:14px}.joe-blog-page .joe-blog-search input,.joe-blog-page .joe-blog-search input::placeholder,.joe-blog-page .joe-quick-link strong{font-size:13px}.joe-blog-page .joe-quick-link em{font-size:11px}.joe-blog-page .joe-section-heading h2{font-size:20px}.joe-blog-page .joe-hot-card h3,.joe-blog-page .joe-latest-content h3,.joe-blog-page .joe-archive-item-content h2{font-size:15px}.joe-blog-page .joe-latest-content p,.joe-blog-page .joe-archive-item-content p{font-size:12px}.joe-blog-page .joe-post-content .markdown-body{font-size:15px}}@media (width<=500px){.joe-blog-page .joe-blog-nav>button,.joe-blog-page .joe-blog-dropdown-wrap>button{font-size:13px}.joe-blog-page .joe-quick-link strong{font-size:12px}.joe-blog-page .joe-quick-link em{font-size:10px}.joe-blog-page .joe-section-heading h2{font-size:19px}.joe-blog-page .joe-latest-content h3,.joe-blog-page .joe-archive-item-content h2{font-size:14px}}.sms-config-form{max-width:560px}.sms-config-form .ant-form-item{margin-bottom:18px}.sms-config-hint{color:#8c8c8c;margin-top:5px;font-size:12px;line-height:1.5;display:block}.sms-config-form .ant-divider{margin:26px 0 20px}.sms-config-actions{margin-top:20px}@media (width<=768px){.sms-config-form{max-width:none}}.anti-brush-config-form,.anti-brush-config-form .ant-input,.anti-brush-config-form .ant-input-affix-wrapper{max-width:420px}.anti-brush-config-form .ant-form-item{margin-bottom:18px}@media (width<=768px){.anti-brush-config-form{max-width:none}}.article-manage-toolbar{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding-bottom:16px;display:flex}.article-hidden-content-panel{background:#fffaf0;border:1px solid #f2dfb0;border-radius:6px;margin:0 0 12px;padding:12px 14px}.article-hidden-content-heading{color:#8a5a00;align-items:center;gap:7px;margin-bottom:5px;font-size:14px;display:flex}.article-hidden-content-help{color:#7a6a4b;margin-bottom:9px;font-size:13px;line-height:1.65}.article-hidden-content-status{color:#3f7a61;margin-top:9px;font-size:12px}.article-markdown-toolbar{background:#f7f8fa;border:1px solid #d9d9d9;border-bottom:0;border-radius:6px 6px 0 0;flex-wrap:wrap;gap:2px;margin-bottom:0;padding:5px 7px;display:flex}.article-markdown-toolbar .ant-btn{color:#59636e}.article-markdown-toolbar .ant-btn:hover{color:#245e52;background:#e8f1ed}.article-editor-content-card .ant-form-item:last-child{margin-bottom:0}textarea.article-markdown-input,.article-editor-content-card .article-markdown-input textarea{resize:vertical;border-radius:0 0 6px 6px;padding:14px 16px;font-family:JetBrains Mono,Consolas,monospace;font-size:15px;line-height:1.8;display:block;height:clamp(680px,72vh,920px)!important;min-height:680px!important}.article-editor-preview-card .markdown-body{min-height:120px}.article-preview-empty{color:#a0a6ad;text-align:center;padding:32px 8px;display:block}.article-editor-actions{border-top:1px solid #f0f0f0;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding-top:16px;display:flex}@media (width<=760px){.article-manage-toolbar{flex-direction:column;align-items:stretch}.article-manage-toolbar .ant-input-search{width:100%!important}.article-editor-actions{flex-direction:column-reverse;align-items:stretch}.article-editor-actions>.ant-space{justify-content:flex-end}}.article-editor-modal .ant-modal-content{max-height:calc(100vh - 32px);overflow:hidden}.article-editor-modal .ant-modal-body{max-height:calc(100vh - 112px);overflow:auto}.article-editor-preview-card .ant-card-body{min-height:700px;max-height:min(920px,78vh);overflow:auto}.article-editor-preview-card .markdown-body{overflow-wrap:anywhere;min-height:640px;font-size:16px;line-height:1.85}.article-editor-preview-card .markdown-body img{border-radius:8px;max-width:100%;height:auto;margin:16px auto;display:block}.article-upload-hint{color:#667085;margin-bottom:16px;line-height:1.7}@media (width<=1100px){.article-editor-preview-card .ant-card-body{min-height:560px;max-height:68vh}.article-editor-preview-card .markdown-body{min-height:500px}}@media (width<=900px){.article-editor-grid>.ant-col{max-width:100%;flex:100%!important}textarea.article-markdown-input,.article-editor-content-card .article-markdown-input textarea{height:64vh!important;min-height:560px!important}.article-editor-preview-card .ant-card-body{min-height:560px;max-height:64vh}.article-editor-preview-card .markdown-body{min-height:500px}}@media (width<=600px){textarea.article-markdown-input,.article-editor-content-card .article-markdown-input textarea{height:58vh!important;min-height:460px!important}.article-editor-preview-card .ant-card-body{min-height:360px;max-height:none}.article-editor-preview-card .markdown-body{min-height:300px;font-size:15px}}.article-editor-body-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.article-editor-markdown-pane{min-width:0}.article-editor-body-grid .article-editor-preview-card{min-width:0;height:clamp(680px,72vh,920px);margin:66px 0 0;overflow:hidden}.article-editor-body-grid .article-editor-preview-card .markdown-body{min-height:0}@media (width<=900px){.article-editor-body-grid{grid-template-columns:1fr}.article-editor-body-grid .article-editor-preview-card{height:64vh;margin-top:16px}}@media (width<=600px){.article-editor-body-grid .article-editor-preview-card{height:58vh;margin-top:16px}}.article-editor-body-grid{display:block}.article-editor-markdown-pane{width:100%}.article-editor-body-grid .article-editor-preview-card{width:100%;height:clamp(420px,60vh,760px);margin:16px 0 0}.article-editor-body-grid .article-editor-preview-card .ant-card-body{height:100%;min-height:0;max-height:none;overflow:auto}@media (width<=900px){.article-editor-body-grid .article-editor-preview-card{height:clamp(360px,58vh,680px);margin-top:16px}}@media (width<=600px){.article-editor-body-grid .article-editor-preview-card{height:clamp(300px,52vh,560px);margin-top:16px}}.joe-post-access-card{color:#526174;background:#f7fbff;border:1px solid #dcecff;border-radius:8px;align-items:flex-start;gap:14px;margin:18px 0;padding:20px;display:flex}.joe-post-access-icon{color:#367fe8;background:#e8f2ff;border-radius:50%;flex:0 0 38px;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:inline-flex}.joe-post-access-body{min-width:0}.joe-post-access-body h3{color:var(--joe-text);margin:0 0 6px;font-size:16px}.joe-post-access-body p{margin:0 0 12px;line-height:1.7}.joe-post-price{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:14px;display:flex}.joe-post-price span{color:#9aa5b4;font-size:13px;text-decoration:line-through}.joe-post-price strong{color:#e0644f;font-size:20px}.joe-post-comment-unlock{color:#6a7789;background:#fffaf0;border:1px solid #f6e6bd;border-radius:6px;margin:16px 0;padding:12px 14px}.joe-post-comments{border-top:1px solid var(--joe-line);margin-top:24px;padding-top:20px}.joe-post-comments .joe-section-heading{margin-bottom:14px}.joe-comment-list{margin-bottom:18px}.joe-comment-item{border-bottom:1px solid #edf1f5;gap:11px;padding:14px 0;display:flex}.joe-comment-avatar{color:#6c9fe8;background:#edf5ff;border-radius:50%;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.joe-comment-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.joe-comment-main{flex:1;min-width:0}.joe-comment-meta{color:#8a96a6;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.joe-comment-meta strong{color:var(--joe-text);font-size:13px}.joe-comment-meta span{color:#367fe8;background:#edf5ff;border-radius:3px;padding:1px 5px}.joe-comment-meta time{margin-left:auto}.joe-comment-main p{color:#526174;white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0 0;line-height:1.7}.joe-comment-reply-button{color:#6c9fe8;cursor:pointer;background:0 0;border:0;margin-top:7px;padding:0;font-size:12px}.joe-comment-reply-button:hover{color:#367fe8}.joe-comment-replies{border-left:2px solid #edf1f5;margin:10px 0 0 8px;padding-left:18px}.joe-comment-replies .joe-comment-item{border-bottom:0;padding:10px 0 0}.joe-comment-replying{color:#526174;background:#f4f8ff;border-radius:5px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:8px 10px;font-size:13px;display:flex}.joe-comment-replying button{color:#6c9fe8;cursor:pointer;background:0 0;border:0;padding:0}.joe-comment-empty{color:#9aa5b4;text-align:center;margin:0;padding:18px 0}.joe-comment-form{background:#fafcff;border:1px solid #edf1f5;border-radius:7px;padding:16px}.joe-comment-form .ant-form-item:last-of-type{margin-bottom:14px}.joe-comment-guest-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.joe-comment-guest-fields .ant-form-item{min-width:0}.article-access-settings{margin-bottom:18px}.article-access-settings .ant-input-number{width:180px}.article-role-rebate-help{color:#8c8c8c;margin:2px 0 16px;font-size:13px;line-height:1.7}@media (width<=680px){.joe-post-access-card{padding:16px}.joe-comment-guest-fields{grid-template-columns:1fr;gap:0}.joe-comment-meta time{width:100%;margin-left:0}}@media (width<=500px){.joe-post-access-card{gap:10px;padding:14px}.joe-post-access-icon{flex-basis:32px;width:32px;height:32px;font-size:15px}.joe-post-price strong{font-size:18px}}.markdown-body .ginblog-content-lock{color:#5d4b2b;background:linear-gradient(135deg,#fff9ec 0%,#fff4dc 100%);border:1px solid #efd8a6;border-radius:10px;align-items:center;gap:14px;margin:24px 0;padding:18px 20px;display:flex;box-shadow:0 8px 22px #825e1f14}.markdown-body .ginblog-content-lock-icon{color:#9a6a1d;background:#ffffffc7;border:1px solid #cd9d4552;border-radius:50%;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-size:19px;display:inline-flex}.markdown-body .ginblog-content-lock strong{color:#624513;font-size:16px;display:block}.markdown-body .ginblog-content-lock p{color:#886d3d;margin:4px 0 0;font-size:14px}.joe-comment-status{border-radius:10px;align-items:center;padding:1px 7px;font-size:12px;line-height:20px;display:inline-flex}.joe-comment-status.is-pending{color:#99631b;background:#fff4dd}.joe-comment-status.is-rejected{color:#a65050;background:#fff0f0}@media (width<=640px){.markdown-body .ginblog-content-lock{align-items:flex-start;padding:15px}.markdown-body .ginblog-content-lock strong{font-size:15px}}.joe-post-category-list{flex-direction:column;margin-top:8px;display:flex}.joe-post-category-list button{color:#667489;text-align:left;border:0;border-bottom:1px solid var(--joe-line);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:34px;padding:7px 0;font-size:13px;transition:color .18s,padding-left .18s;display:flex}.joe-post-category-list button:last-child{border-bottom:0}.joe-post-category-list button:hover,.joe-post-category-list button.is-active{color:var(--joe-theme);font-weight:600}.joe-post-category-list em{color:#a7b0bc;font-size:11px;font-style:normal}.joe-post-category-toggle{color:#7a9dcb!important;font-size:11px!important}.ginblog-code-block{background:#282c34;border:0;border-radius:3px;margin:18px 0;position:relative;overflow:hidden}.ginblog-code-block pre{-webkit-user-select:text!important;user-select:text!important;border:0!important;border-radius:0!important;margin:0!important}.ginblog-code-block pre code{display:block;color:inherit!important;background:0 0!important;padding:0!important;font-family:JetBrains Mono,Cascadia Code,Consolas,monospace!important;font-size:13px!important;line-height:1.72!important}.ginblog-code-toolbar{z-index:2;pointer-events:none;background:#282c34;align-items:center;gap:7px;width:100%;height:36px;padding:0 15px;display:flex;position:absolute;top:0;left:0}.ginblog-code-dot{border-radius:50%;width:12px;height:12px;display:block}.ginblog-code-dot.is-red{background:#ff6159}.ginblog-code-dot.is-yellow{background:#ffbd2e}.ginblog-code-dot.is-green{background:#28c941}.ginblog-code-copy{z-index:3;color:#aeb8c7;cursor:pointer;background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;width:25px;height:23px;padding:0;font-size:15px;line-height:1;transition:color .18s,background-color .18s;display:inline-flex;position:absolute;top:7px;right:9px}.ginblog-code-copy:hover{color:#fff;background:#ffffff1f}.ginblog-code-copy:focus-visible{outline-offset:1px;outline:2px solid #6ea8ff}@media (width<=640px){.ginblog-code-block{margin:14px 0}.ginblog-code-block pre code{font-size:12px!important}.ginblog-code-toolbar{height:34px;padding:0 12px}.ginblog-code-dot{width:11px;height:11px}.ginblog-code-copy{top:6px;right:8px}}.admin-console-dashboard{color:#595959;background:#f2f3f5;min-height:100%;padding:14px}.admin-console-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.admin-console-toolbar .ant-typography{margin:0}.admin-console-toolbar .ant-typography-secondary{margin-left:12px}.admin-console-refresh{color:#595959;cursor:pointer;background:#fff;border:1px solid #d9d9d9;border-radius:4px;padding:7px 14px;transition:all .2s}.admin-console-refresh:hover{color:#1677ff;border-color:#1677ff}.admin-console-loading{justify-content:center;align-items:center;min-height:420px;display:flex}.admin-console-shortcuts{grid-template-columns:repeat(7,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.admin-console-shortcut{color:#fff;text-align:left;cursor:pointer;border:0;border-radius:4px;min-height:110px;padding:16px 20px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 2px 3px #0000000d}.admin-console-shortcut:hover{transform:translateY(-3px);box-shadow:0 5px 12px #0000001f}.admin-console-shortcut-number{opacity:.95;font-size:38px;font-weight:300;line-height:1;display:block}.admin-console-shortcut-title{opacity:.9;margin-top:12px;font-size:15px;display:block}.admin-console-shortcut-icon{color:#fff;opacity:.82;font-size:50px;line-height:1;position:absolute;top:50%;right:18px;transform:translateY(-50%)}.admin-console-chart-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.admin-console-bottom-grid{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.admin-console-dashboard .ant-card{box-shadow:none;border:0;border-radius:4px}.admin-console-dashboard .ant-card-head{border-bottom:1px solid #f0f0f0;min-height:42px;padding:0 14px}.admin-console-dashboard .ant-card-head-title{color:#595959;padding:11px 0;font-size:14px;font-weight:400}.admin-console-dashboard .ant-card-body{padding:0}.admin-console-chart{width:100%;height:300px}.admin-console-region{grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);min-height:360px;display:grid}.admin-console-map{width:100%;min-height:360px}.admin-console-ranking{padding:24px 14px;overflow:auto}.admin-console-ranking-head,.admin-console-ranking-row{border-bottom:1px solid #f0f0f0;grid-template-columns:56px minmax(0,1fr) 70px;align-items:center;gap:10px;min-height:40px;padding:0 12px;display:grid}.admin-console-ranking-head{color:#595959;background:#f5f5f5}.admin-console-ranking-row{color:#595959}@media (width<=1200px){.admin-console-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-console-bottom-grid{grid-template-columns:1fr}}@media (width<=900px){.admin-console-chart-grid{grid-template-columns:1fr}.admin-console-chart{height:280px}}@media (width<=600px){.admin-console-dashboard{padding:10px}.admin-console-toolbar{flex-wrap:wrap;align-items:flex-start}.admin-console-toolbar .ant-typography-secondary{margin:4px 0 0;display:block}.admin-console-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-console-shortcut{min-height:100px;padding:14px}.admin-console-shortcut-number{font-size:32px}.admin-console-shortcut-icon{font-size:40px;right:12px}.admin-console-region{grid-template-columns:1fr}.admin-console-map{min-height:280px}.admin-console-ranking{padding:10px}}.joe-comment-actions{align-items:center;gap:12px;margin-top:8px;display:flex}.joe-comment-like-button,.joe-comment-reply-button{color:#8c8c8c;cursor:pointer;background:0 0;border:0;padding:0}.joe-comment-like-button:hover,.joe-comment-reply-button:hover,.joe-comment-like-button.is-liked{color:#ff4d4f}.joe-post-article-actions{justify-content:center;align-items:center;gap:10px;margin:24px 0;display:flex}.joe-post-article-actions .ant-btn{min-width:54px}.joe-comment-emoji-popover .ant-popover-inner{padding:8px!important}.joe-comment-emoji-picker{box-sizing:border-box;gap:4px;grid-template-columns:repeat(5,36px)!important;width:196px!important;min-width:196px!important;max-width:196px!important;display:grid!important}.joe-comment-main p,.joe-comment-form textarea{font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,Arial,sans-serif}.joe-comment-emoji{cursor:pointer;text-align:center;background:0 0;border:0;border-radius:6px;width:36px;height:36px;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:22px;line-height:36px}.joe-comment-emoji:hover{background:#f0f5ff}.joe-post-actions{justify-content:space-between;gap:16px;display:flex}.joe-post-actions .ant-btn{white-space:normal;text-align:left;min-width:0;max-width:48%;height:auto;min-height:48px}.joe-post-actions .ant-btn strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}@media (width<=640px){.joe-post-article-actions{flex-wrap:wrap}.joe-post-actions{flex-direction:column}.joe-post-actions .ant-btn{width:100%;max-width:100%}}.markdown-image-blocked{color:#8c8c8c;background:#f5f5f5;border-radius:6px;padding:8px 12px;font-size:13px;display:inline-block}.joe-home-hero.is-loading{background:#eef3f8;box-shadow:0 10px 24px #2d6cd314}.joe-home-hero-loading{background:linear-gradient(100deg,#ffffff2e 20%,#ffffff9e 38%,#ffffff2e 56%) 0 0/220% 100%;min-height:320px;animation:1.4s linear infinite joe-home-loading-shimmer}@keyframes joe-home-loading-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.joe-sidebar-loading{gap:12px;display:grid}.joe-sidebar-loading-card{background:linear-gradient(100deg,#eef2f6 20%,#f9fafb 38%,#eef2f6 56%) 0 0/220% 100%;border-radius:4px;min-height:80px;animation:1.4s linear infinite joe-home-loading-shimmer}.joe-sidebar-loading-author{min-height:278px}.joe-home-hero.has-carousel{background:#1d54ca}.joe-home-hero.has-carousel:after{display:none}.joe-home-carousel-slide{z-index:1;cursor:pointer;background-color:#eef3f8;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.joe-home-hero-overlay{z-index:1;pointer-events:none;background:linear-gradient(90deg,#1450bec7 0%,#2765da73 48%,#3336bd59 100%);position:absolute;inset:0}.joe-home-hero.has-carousel .joe-home-hero-grid,.joe-home-hero.has-carousel .joe-home-hero-orbit{z-index:2}.joe-home-hero.has-carousel .joe-home-hero-copy,.joe-home-hero.has-carousel .joe-home-hero-featured,.joe-home-hero.has-carousel .joe-home-hero-dots{z-index:3}.joe-home-hero-dots{align-items:center}.joe-home-hero-dots button{cursor:pointer;background:#ffffff7a;border:0;border-radius:50%;width:6px;height:6px;padding:0;transition:width .18s,background .18s;display:block}.joe-home-hero-dots button.is-active{background:#fff;border-radius:4px;width:20px}.joe-home-carousel-controls{z-index:3;pointer-events:none;position:absolute;inset:0}.joe-home-carousel-control{color:#fff;cursor:pointer;opacity:0;pointer-events:none;background:#091c3e52;border:1px solid #ffffff52;border-radius:6px;justify-content:center;align-items:center;width:40px;height:48px;padding:0;font-size:18px;transition:background .18s,border-color .18s,opacity .18s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.joe-home-carousel-control:hover,.joe-home-carousel-control:focus-visible{background:#091c3ead;border-color:#ffffffc7;outline:none}.joe-home-carousel-control.is-prev{left:14px}.joe-home-carousel-control.is-next{right:14px}.joe-home-hero.has-carousel:hover .joe-home-carousel-control,.joe-home-carousel-control:focus-visible{opacity:1;pointer-events:auto}@media (hover:none){.joe-home-carousel-control{opacity:1;pointer-events:auto}}@media (width<=680px){.joe-home-carousel-control{width:34px;height:42px;font-size:16px}.joe-home-carousel-control.is-prev{left:10px}.joe-home-carousel-control.is-next{right:10px}}.carousel-config-tip{color:#667085;background:#f5f8fc;border:1px solid #e5edf7;border-radius:6px;margin-bottom:18px;padding:11px 14px;font-size:13px;line-height:1.7}.carousel-config-card{border-color:#e8eef6;height:100%}.carousel-config-card .ant-card-head{min-height:44px}.carousel-preview{color:#98a2b3;background:#f8fafc;border:1px dashed #d0d5dd;border-radius:6px;justify-content:center;align-items:center;width:100%;height:132px;margin:-2px 0 10px;font-size:13px;display:flex;overflow:hidden}.carousel-preview img{object-fit:cover;width:100%;height:100%}.carousel-upload-actions{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.carousel-config-card .ant-form-item{margin-bottom:14px}@media (width<=500px){.carousel-preview{height:116px}}@media (width<=700px){.joe-blog-page{min-width:0;overflow-x:clip}.joe-blog-header-inner{grid-template-columns:minmax(38px,auto) minmax(0,1fr);grid-template-areas:"brand actions""nav nav""search search";gap:8px 10px;min-height:0;padding:9px 0 11px;display:grid;width:calc(100% - 24px)!important}.joe-blog-brand{grid-area:brand;width:auto;min-width:0;max-width:148px}.joe-blog-brand-name{font-size:15px;display:block}.joe-blog-brand img,.joe-blog-logo{width:36px;height:36px}.joe-blog-actions{grid-area:actions;justify-self:end;gap:7px;min-width:0}.joe-blog-icon-button,.joe-blog-user-button{width:32px;height:32px}.joe-publish-button.ant-btn{width:34px;min-width:34px;height:32px;padding:0;font-size:0}.joe-publish-button.ant-btn .anticon{margin:0;font-size:15px}.joe-blog-nav{scrollbar-width:none;grid-area:nav;width:100%;min-width:0;min-height:36px;overflow:auto visible}.joe-blog-nav::-webkit-scrollbar{display:none}.joe-blog-nav>button,.joe-blog-dropdown-wrap>button{height:36px;padding:0 10px;font-size:13px}.joe-blog-nav>button span,.joe-blog-dropdown-wrap>button span,.joe-blog-nav-arrow{display:inline}.joe-blog-nav>button:after,.joe-blog-dropdown-wrap>button:after{left:8px;right:8px}.joe-blog-search{grid-area:search;width:100%;min-width:0;max-width:none;height:38px;margin:0}.joe-blog-container,.joe-blog-home-note,.joe-blog-footer{width:calc(100% - 24px)!important}.joe-home-layout,.joe-archive-layout,.joe-post-layout{gap:14px;width:100%;grid-template-columns:minmax(0,1fr)!important}.joe-home-main,.joe-archive-main,.joe-post-article,.joe-blog-sidebar,.joe-post-aside{width:100%;min-width:0}.joe-home-main,.joe-archive-main,.joe-post-article{grid-area:1/1}.joe-blog-sidebar,.joe-post-aside{grid-area:auto/1;display:flex!important}.joe-blog-sidebar .joe-sidebar-card,.joe-post-aside .joe-post-aside-card{width:100%}.joe-home-hero,.joe-home-hero-loading{min-height:250px}.joe-quick-links,.joe-hot-grid,.joe-latest-item{grid-template-columns:minmax(0,1fr)}.joe-latest-cover{min-height:166px}.joe-blog-footer{flex-direction:column;align-items:flex-start;gap:10px}}@media (width<=390px){.joe-blog-header-inner,.joe-blog-container,.joe-blog-home-note,.joe-blog-footer{width:calc(100% - 20px)!important}.joe-blog-actions{gap:5px}.joe-blog-icon-button,.joe-blog-user-button,.joe-publish-button.ant-btn{width:30px;min-width:30px;height:30px}}.joe-post-content .markdown-body h1,.joe-post-content .markdown-body h2,.joe-post-content .markdown-body h3,.joe-post-content .markdown-body h4,.joe-post-content .markdown-body h5,.joe-post-content .markdown-body h6{scroll-margin-top:96px}.joe-post-toc li button{width:100%;color:inherit;font:inherit;line-height:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:block}.joe-post-toc li button:hover{color:var(--joe-theme)}@media (width<=700px){.joe-home-layout>.joe-blog-sidebar{display:none!important}.joe-blog-page .joe-publish-button.ant-btn{width:36px;min-width:36px;height:32px;padding:0;font-size:0}.joe-blog-page .joe-publish-button.ant-btn .anticon{margin:0;font-size:15px}}
