html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}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]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}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{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}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{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}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{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[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}@font-face{font-family:Microsoft YaHei;src:local("Microsoft YaHei"),local("MicrosoftYaHei"),local("微软雅黑");font-display:swap}:root{--app-bg: #0f0f23;--app-bg-2: #0d1117;--app-panel: #1e1e3f;--app-panel-2: #15152e;--app-border: rgba(255, 255, 255, .08);--app-text: #e0e0e0;--app-text-2: rgba(224, 224, 224, .7);--app-primary: #00d4aa;--app-danger: #ff6b6b;--app-glow: rgba(0, 212, 170, .35);color-scheme:dark;font-family:Microsoft YaHei,PingFang SC,Helvetica Neue,Helvetica,Segoe UI,ui-sans-serif,system-ui,-apple-system,Roboto,Arial,"Apple Color Emoji","Segoe UI Emoji";font-size:14px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smooth:always}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1200px 600px at 20% 0%,rgba(0,212,170,.1),transparent 60%),radial-gradient(900px 500px at 90% 10%,rgba(255,107,107,.1),transparent 55%),var(--app-bg);color:var(--app-text)}a{color:var(--app-primary);text-decoration:none}a:hover{text-decoration:underline}*{scrollbar-width:thin;scrollbar-color:rgba(0,212,170,.35) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:#00d4aa40;border:2px solid transparent;border-radius:999px;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:#00d4aa61;background-clip:content-box}*::-webkit-scrollbar-track{background:transparent}.ant-layout{background:transparent}.ant-card{background:var(--app-panel);border:1px solid var(--app-border);box-shadow:0 12px 30px #00000040}.ant-card-head{border-bottom:1px solid var(--app-border)}.backtest-failure-banner.ant-card .ant-card-body{color:#3d2914}.backtest-failure-banner.ant-card .backtest-failure-banner-detail,.backtest-failure-banner.ant-card .backtest-failure-banner-hint{color:#4a3010!important;opacity:1!important}.backtest-failure-banner.ant-card .ant-typography{color:inherit}.backtest-failure-banner.ant-card .ant-btn-primary{box-shadow:0 1px 2px #3d29141f}.ant-typography,.ant-typography p,.ant-typography div,.ant-card,.ant-card-body{color:var(--app-text)}.app-layout{min-height:100%}.app-content{padding:16px}.app-content-inner{max-width:1280px;margin:0 auto}.app-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:16px;padding-inline:16px;height:64px;background:#0d1117b8;border-bottom:1px solid rgba(0,212,170,.18);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-header-left{display:flex;align-items:center;gap:12px;min-width:260px}.app-logo{width:36px;height:36px;border-radius:12px;object-fit:contain;box-shadow:0 0 0 1px #ffffff2e,0 0 24px var(--app-glow)}.app-title-wrap{display:flex;flex-direction:column;line-height:1.1}.app-title{background:linear-gradient(90deg,#00d4aa,#2f81f7,#a371f7);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:.2px}.app-subtitle{font-size:12px;color:var(--app-text-2)}.app-header-nav{flex:1;min-width:200px}.app-menu{background:transparent!important;border-bottom:none!important}.app-menu .ant-menu-item{border-radius:10px;margin-inline:4px!important}.app-menu .ant-menu-item:hover{background:#00d4aa1a!important}.app-menu .ant-menu-item-selected{background:#00d4aa29!important;box-shadow:0 0 0 1px #00d4aa2e inset,0 0 18px #00d4aa1a}.app-menu .ant-menu-item-selected a{color:var(--app-text)!important}.app-header-right{display:flex;align-items:center;gap:8px}.terminal-card{background:#1e1e3fb8!important;border:1px solid rgba(255,255,255,.06)!important;box-shadow:0 10px 30px #00000059;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .14s ease,filter .14s ease,box-shadow .16s ease}.terminal-card:hover{transform:translateY(-1px) scale(1.005);filter:brightness(1.06);box-shadow:0 14px 36px #0000006b,0 0 0 1px #00d4aa0f inset}.stats-card .ant-card-body{padding:12px!important}.stat-item-card{background:#0f0f2385!important;border:1px solid rgba(255,255,255,.06)!important;border-radius:14px!important;box-shadow:0 0 0 1px #00d4aa0f inset,0 10px 26px #00000038;transition:transform .14s ease,filter .14s ease,box-shadow .16s ease}.stat-item-card:hover{transform:translateY(-1px) scale(1.01);filter:brightness(1.07);box-shadow:0 0 0 1px #00d4aa1a inset,0 14px 32px #0000004d}.stat-title{font-size:12px;color:#e0e0e0a6}.stat-item-reserved{display:flex;flex-direction:column;justify-content:center;min-height:86px}.stat-item-card .ant-statistic-content{transition:transform .12s ease,filter .12s ease}.stat-item-card:hover .ant-statistic-content{transform:translateY(-.5px);filter:brightness(1.05)}.trade-card .ant-card-body{padding:10px 12px 12px!important}.terminal-table .ant-table{background:transparent!important}.terminal-table .ant-table-container{border:1px solid rgba(255,255,255,.06);border-radius:14px;overflow:hidden}.terminal-table .ant-table-thead>tr>th{background:#0f0f23ad!important;color:#e0e0e0d9!important;border-bottom:1px solid rgba(255,255,255,.07)!important}.terminal-table .ant-table-tbody>tr>td{background:#0f0f2359!important;border-bottom:1px solid rgba(255,255,255,.06)!important}.terminal-table .ant-table-tbody>tr:hover>td{background:#00d4aa0f!important}.terminal-table .ant-table-summary>tr>td{background:#0f0f23b3!important;border-top:1px solid rgba(255,255,255,.08)!important}.terminal-table .ant-pagination{margin:10px 0 0!important}.strategy-textarea textarea{background:#0f0f23b8!important;border:1px solid rgba(0,212,170,.45)!important;color:var(--app-text)!important;border-radius:12px;box-shadow:0 0 0 1px #00d4aa1a inset}.strategy-textarea textarea:focus{box-shadow:0 0 0 3px #00d4aa2e!important}.strategy-textarea textarea::placeholder{color:#e0e0e08c}.terminal-input .ant-select-selector,.terminal-input.ant-picker,.terminal-input .ant-input,.terminal-input .ant-input-number{background:#0f0f2399!important;border-color:#ffffff1a!important;color:var(--app-text)!important;border-radius:10px!important}.template-chip{border-color:#00d4aa59!important;color:#e0e0e0e6!important;background:#00d4aa0f!important}.template-chip:hover{border-color:#00d4aa99!important;background:#00d4aa1a!important}.glow-button{background:linear-gradient(135deg,#00d4aa,#2ee6c0)!important;border:none!important;box-shadow:0 0 0 1px #00d4aa40 inset,0 0 22px #00d4aa38}.glow-button:hover{box-shadow:0 0 0 1px #00d4aa4d inset,0 0 30px #00d4aa52;transform:translateY(-1px)}.ai-loading-panel{padding:10px 12px;border-radius:12px;border:1px solid rgba(0,212,170,.18);background:#00d4aa0f}.ai-loading-bar{height:6px;margin-top:8px;border-radius:999px;background:linear-gradient(90deg,#00d4aa1a,#00d4aab3,#00d4aa1a);background-size:200% 100%;animation:ai-scan 1.1s linear infinite}@keyframes ai-scan{0%{background-position:0% 0%}to{background-position:200% 0%}}.code-scroll{max-height:500px;overflow:auto;border-radius:10px;border:1px solid rgba(255,255,255,.06)}.code-pre-fallback{margin:0;border-radius:10px;font-size:12px;line-height:1.55;font-family:Fira Code,Consolas,monospace;background:#1e1e3f;color:#e0e0e0;padding:12px 16px;white-space:pre;overflow-x:auto}.code-empty{height:240px;display:grid;place-items:center;border-radius:12px;border:1px dashed rgba(255,255,255,.1);background:#0f0f2359}.chart-placeholder{height:260px;border-radius:14px;border:1px dashed rgba(255,255,255,.1);background:#0f0f2359;display:grid;place-items:center;padding:16px;text-align:center}.page-loading-overlay{position:fixed;inset:0;pointer-events:none;background:radial-gradient(600px 300px at 50% -10%,rgba(0,212,170,.1),transparent 55%),linear-gradient(transparent 0%,rgba(0,212,170,.03) 50%,transparent 100%);animation:overlay-pulse 1.4s ease-in-out infinite;z-index:1}@keyframes overlay-pulse{0%,to{opacity:.45}50%{opacity:.85}}.results-region{position:relative;width:100%;max-width:100%;box-sizing:border-box}.results-fade-in{animation:results-fade-in .42s ease-out both}@keyframes results-fade-in{0%{opacity:0;transform:translateY(6px);filter:blur(1px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.results-grid{display:grid;gap:16px;margin-top:16px;grid-template-columns:1fr;grid-template-areas:"chart" "code" "equity" "trades" "signals";width:100%;max-width:100%;box-sizing:border-box}.grid-item{min-width:0;max-width:100%;overflow:hidden}.grid-chart{grid-area:chart}.grid-code{grid-area:code}.grid-equity{grid-area:equity}.grid-trades{grid-area:trades}.grid-signals{grid-area:signals}@media(min-width:1400px){.app-content-inner{max-width:1480px}.results-grid{grid-template-columns:minmax(500px,1fr) minmax(500px,1fr);grid-template-areas:"chart code" "equity trades" "signals signals";width:100%;max-width:100%}.grid-item{min-width:0;max-width:100%;overflow:hidden}.grid-signals{grid-column:1 / -1}}.lwc-wrap{position:relative;width:100%;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.06);background:#0f0f2359}.grid-chart .lwc-wrap{height:460px}.grid-equity .lwc-wrap{height:320px}.lwc-legend{position:absolute;top:10px;left:12px;z-index:2;padding:6px 8px;border-radius:10px;background:#0d111780;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:12px;color:#e0e0e0eb;font-variant-numeric:tabular-nums}.lwc-container{width:100%;height:100%}.chart-reveal-wrap{position:relative}.chart-reveal-mask{position:absolute;inset:0;pointer-events:none;border-radius:14px;background:radial-gradient(500px 220px at 30% 10%,rgba(0,212,170,.1),transparent 60%),radial-gradient(500px 240px at 70% 15%,rgba(47,129,247,.1),transparent 65%),#0d11178c;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);animation:chart-reveal-ltr .85s ease-out forwards}.chart-reveal-mask:after{content:"";position:absolute;inset:-40px -80px;background:repeating-linear-gradient(0deg,rgba(255,255,255,.2),rgba(255,255,255,.2) 1px,transparent 1px,transparent 10px);opacity:.06;transform:rotate(12deg)}@keyframes chart-reveal-ltr{0%{clip-path:inset(0 0 0 0);opacity:1}70%{opacity:1}to{clip-path:inset(0 0 0 100%);opacity:0}}.results-overlay{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:14px;border-radius:18px;background:radial-gradient(700px 360px at 40% 0%,rgba(0,212,170,.13),transparent 55%),radial-gradient(600px 360px at 70% 15%,rgba(47,129,247,.12),transparent 60%),#0d1117a8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:results-overlay-pulse 1.35s ease-in-out infinite}@keyframes results-overlay-pulse{0%,to{opacity:.88}50%{opacity:1}}.results-overlay-inner{width:min(520px,92vw);padding:22px 18px 16px;border-radius:18px;border:1px solid rgba(0,212,170,.22);background:linear-gradient(180deg,#0f0f23bd,#0f0f2394);box-shadow:0 18px 46px #0000008c,0 0 0 1px #00d4aa14 inset,0 0 28px #00d4aa1f;text-align:center;position:relative;overflow:hidden}.results-overlay-inner:before{content:"";position:absolute;inset:-80px -120px;background:repeating-linear-gradient(0deg,rgba(255,255,255,.2),rgba(255,255,255,.2) 1px,transparent 1px,transparent 10px);opacity:.06;transform:rotate(14deg);pointer-events:none}.results-overlay-stage{margin-top:12px;font-weight:800;letter-spacing:.2px;color:#e0e0e0eb}.results-overlay-progress{margin-top:10px}.results-overlay-progress .ant-progress-text{color:#e0e0e0e6!important;font-variant-numeric:tabular-nums}.app-powered-tag{color:var(--app-text);background:#00d4aa1f;border:1px solid rgba(0,212,170,.2);box-shadow:0 0 0 1px #0000001a inset}.app-footer{margin:12px 0 6px;padding:10px 6px 14px;text-align:center;color:#e0e0e08c;font-size:12px}.best-stock-row{background:#00d4aa14!important;border-left:3px solid var(--app-primary)}.best-stock-row:hover{background:#00d4aa1f!important}@media screen and (max-width:768px){html,body{overflow-x:hidden;min-width:0}*{box-sizing:border-box}.app-content-inner{max-width:100%!important;padding:0 4px}.ant-typography h1,h1.ant-typography{font-size:20px!important}.ant-typography h2,h2.ant-typography{font-size:17px!important}.ant-typography h3,h3.ant-typography{font-size:15px!important}.ant-typography h4,h4.ant-typography{font-size:13px!important}.app-header{height:auto!important;padding:8px 12px!important;gap:8px;flex-wrap:wrap}.app-header-left{min-width:unset!important;gap:8px}.app-logo{width:28px!important;height:28px!important}.app-title{font-size:13px!important}.app-subtitle{display:none!important}.app-header-nav{order:3;width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}.app-header-nav::-webkit-scrollbar{display:none}.app-menu .ant-menu-item{padding:0 10px!important;font-size:12px!important;margin:0 2px!important}.app-menu .ant-menu-item .anticon{font-size:13px}.app-header-nav,.app-header-right,.app-powered-tag{display:none!important}.app-header-hamburger{display:flex!important;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(0,212,170,.3);border-radius:8px;background:#00d4aa14;cursor:pointer;font-size:18px;color:var(--app-primary);margin-left:auto;flex-shrink:0;transition:background .14s ease;-webkit-user-select:none;user-select:none}.app-header-hamburger:hover{background:#00d4aa2e}.mobile-nav-dropdown .ant-dropdown-menu{background:#1b2330;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:6px 0;box-shadow:0 8px 32px #00000073;min-width:180px}.mobile-nav-dropdown .ant-dropdown-menu-item{color:#ffffffb8!important;font-size:14px;height:40px;line-height:40px;padding:0 16px!important;border-radius:0}.mobile-nav-dropdown .ant-dropdown-menu-item:hover{background:#ffffff0f!important;color:#ffffffeb!important}.mobile-nav-dropdown .ant-dropdown-menu-item-selected{background:#00d4aa1a!important;color:#00d4aa!important}.mobile-nav-dropdown .ant-dropdown-menu-item-danger{color:#ff4d4f!important}.mobile-nav-dropdown .ant-dropdown-menu-item-danger:hover{background:#ff4d4f1f!important}.mobile-nav-dropdown .ant-dropdown-menu-item-divider{background:#ffffff14!important}.results-grid{grid-template-columns:1fr!important;grid-template-areas:"chart" "code" "equity" "trades" "signals"!important;gap:10px;margin-top:10px}.grid-item{min-width:0;max-width:100%;width:100%}.grid-chart .lwc-wrap{height:240px!important}.grid-equity .lwc-wrap{height:180px!important}.grid-signals{grid-column:unset!important}.cang-overview-row{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}.ant-table-wrapper{overflow-x:auto!important;-webkit-overflow-scrolling:touch}.ant-table{min-width:600px}.select-stocks-table .ant-table-cell{padding:6px 4px!important;font-size:11px!important}.select-stocks-table .ant-table-cell:first-child{padding-left:8px!important}.settings-page{padding:20px 12px!important}.settings-page .ant-card{margin-bottom:12px!important}.settings-page .ant-form{max-width:100%!important}.settings-page .ant-input,.settings-page .ant-input-affix-wrapper,.settings-page .ant-select-selector{width:100%!important}.login-page,.register-page{padding:0!important}.login-page>div,.register-page>div{max-width:100%!important;width:calc(100% - 24px)!important;margin:12px auto!important}.login-page .ant-card-body,.register-page .ant-card-body{padding:20px 14px!important}.ant-form-inline .ant-form-item{flex:1 1 auto;min-width:0}.ant-form-inline .ant-form-item-with-help{margin-bottom:8px}.ant-drawer .ant-drawer-content-wrapper{width:100%!important}.ant-modal{max-width:calc(100vw - 24px)!important}.ant-modal .ant-modal-body{padding:16px}.tband-modal .ant-modal-body{padding:8px!important}.tband-modal .ant-table-cell{padding:5px 6px!important;font-size:12px!important;text-align:center!important}.ant-tabs-nav{font-size:13px}.ant-tabs-tab{padding:8px 12px!important}.ant-card{margin-bottom:10px}.ant-card-head{padding:6px 8px!important;min-height:unset!important}.ant-card-head-title{font-size:13px!important;padding:0!important}.ant-card-body{padding:8px!important}.ant-btn{height:38px;padding:0 14px;font-size:13px}.ant-btn-sm{height:30px;padding:0 10px;font-size:12px}.ant-pagination{flex-wrap:wrap;justify-content:center}.ant-pagination .ant-pagination-item,.ant-pagination .ant-pagination-prev,.ant-pagination .ant-pagination-next{min-width:32px;height:32px;line-height:32px}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-picker,.ant-input-number{min-height:38px}.subscription-plans-row .ant-col{margin-bottom:16px}.subscription-plans-row .ant-card{height:auto!important}.trade-summary-row .ant-col{display:flex;flex-direction:column;justify-content:center}.trade-summary-row .ant-col>*{display:block}}@media screen and (max-width:768px){.monitor-stock-card{margin-bottom:6px!important}.monitor-stock-card .ant-card-body{padding:8px 0!important}.monitor-stock-scroll-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;min-width:100%}.monitor-stock-scroll-wrapper::-webkit-scrollbar{display:none}.monitor-stock-scroll-wrapper>div:first-child,.monitor-stock-scroll-wrapper>div:last-child{min-width:520px;padding:0 10px}.monitor-stock-unread{flex-shrink:0;white-space:normal}}@media screen and (min-width:769px){.monitor-stock-scroll-wrapper{overflow-x:visible!important}}@media screen and (max-width:576px){.cang-overview-row{grid-template-columns:1fr!important}.batch-result-table .ant-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.grid-equity .lwc-wrap{height:160px!important}.grid-chart .lwc-wrap{height:200px!important}}@media screen and (min-width:769px){.app-header-hamburger{display:none!important}}#root{height:100%}.page-loading-root{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--app-bg, #0f0f23);z-index:9999}.page-loading-inner{display:flex;flex-direction:column;align-items:center;gap:14px}.page-loading-text{color:var(--app-text-2, rgba(224, 224, 224, .7));font-size:14px;letter-spacing:.5px}
