/* Shared reference presentation used by the algorithm backtest page. */
main.algorithm-backtest-main{padding:22px 24px 18px;background:#fff;color:#111827}
.algorithm-backtest-main #page{max-width:none}
.ab-page{font-family:"Microsoft YaHei UI","Microsoft YaHei",Arial,sans-serif;font-size:13px;line-height:1.5;color:#111827}
.ab-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;min-height:34px}
.ab-heading h1{font-size:22px;font-weight:600;line-height:34px;letter-spacing:0;color:#101828;margin:0}
.ab-preview-label{font-size:12px;font-weight:400;color:#8c95a4;white-space:nowrap}
.ab-filter-panel{padding:20px;border:1px solid #dfe4eb;border-radius:8px;background:#fff;box-shadow:none}
.ab-label{font-size:13px;font-weight:400;line-height:20px;color:#44566f;margin-bottom:8px}
.ab-categories{display:inline-flex;gap:0;padding:3px;background:#f2f3f5;border:0;border-radius:2px;max-width:100%}
.ab-categories button{position:relative;min-width:55px;min-height:28px;padding:3px 13px;color:#44566f;border:0;border-radius:2px;background:transparent;box-shadow:none;font:inherit;line-height:22px;white-space:nowrap}
.ab-categories button+button::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:1px;background:#dfe4eb}
.ab-categories button[aria-pressed=true]{color:#1f5eff;background:#fff;font-weight:400}
.ab-categories button[aria-pressed=true]::before,.ab-categories button[aria-pressed=true]+button::before{display:none}
.ab-categories button:hover{color:#1f5eff}
.ab-conditions-block{margin-top:20px}
.ab-conditions{display:grid;gap:10px}
.ab-condition{display:flex;align-items:center;gap:10px;max-width:100%}
#app .ab-page select,#app .ab-page input{height:32px;min-height:32px;padding:5px 12px;border:1px solid transparent;border-radius:2px;background:#f2f3f5;color:#172132;box-shadow:none;font:inherit;line-height:20px}
#app .ab-page .ab-metric{width:140px;min-width:140px}
#app .ab-page .ab-comparison{width:90px;min-width:90px}
#app .ab-page .ab-value{width:110px;min-width:0;font-variant-numeric:tabular-nums}
#app .ab-page input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]){color:#172132;background:#f2f3f5;border-color:transparent;border-radius:2px}
#app .ab-page input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):focus,#app .ab-page input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):focus-visible{background:#f2f3f5;border-color:#dfe4eb;outline:none;box-shadow:none}
#app .ab-page :is(select,input):focus,#app .ab-page :is(select,input):focus-visible,#app .ab-page select:open{border-color:#dfe4eb;box-shadow:none;outline:none}
.ab-unit{min-width:13px;color:#44566f}
.ab-page .ab-delete{height:32px;min-height:32px;min-width:60px;padding:5px 13px;border:1px solid transparent;border-radius:2px;color:#f23b3b;background:#fff0ec;font:inherit;line-height:20px;box-shadow:none}
.ab-page .ab-delete:disabled{color:#f6aaa4;background:#fff0ec;cursor:default;opacity:1}
.ab-page .ab-button{height:32px;min-height:32px;padding:5px 15px;border:1px solid transparent;border-radius:2px;background:#f2f3f5;color:#44566f;box-shadow:none;font:inherit;line-height:20px;white-space:nowrap}
.ab-page .ab-button:hover{background:#e9ecf0;color:#172132}
.ab-page .ab-add{margin-top:10px}
.ab-page .ab-add:disabled{opacity:.5;cursor:default}
.ab-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:10px}
.ab-page .ab-search{background:#1f5eff;color:#fff}
.ab-page .ab-search:hover{background:#194edb;color:#fff}
.ab-page button:focus-visible{outline:2px solid #a9b4c6;outline-offset:2px}
.ab-formula{margin:10px 0 0;font-size:12px;line-height:18px;color:#8c95a4;overflow-wrap:anywhere}
.ab-formula span{font-variant-numeric:tabular-nums}
.ab-metrics{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;column-gap:24px;row-gap:8px;min-height:42px;margin:16px 0;padding:8px 16px;border:1px solid #dfe4eb;border-radius:8px;background:#fff}
.ab-metrics>div{display:flex;align-items:baseline;gap:5px;white-space:nowrap}
.ab-metrics span{font-size:12px;color:#8c95a4}
.ab-metrics strong{font-size:16px;line-height:24px;font-weight:600;color:#111827;font-variant-numeric:tabular-nums}
.ab-metrics strong.ab-highlight{color:#ff3b42}
.ab-table-wrap{width:100%;overflow-x:auto;border:1px solid #dfe4eb;scrollbar-width:thin}
.ab-table-wrap:focus{outline:none}
.ab-table-wrap:focus-visible{outline:2px solid #a9b4c6;outline-offset:2px}
.ab-page .ab-table{width:100%;min-width:640px;table-layout:fixed;border:0;border-collapse:collapse;border-spacing:0;font-size:13px;font-variant-numeric:tabular-nums}
.ab-table .ab-col-issue{width:17%}.ab-table .ab-col-date{width:22%}.ab-table .ab-col-draw{width:20%}.ab-table .ab-col-special{width:11%}.ab-table .ab-col-prediction{width:19%}.ab-table .ab-col-hit{width:11%}
.ab-page .ab-table :is(th,td){height:35px;padding:5px 8px;border:0;border-right:1px solid #dfe4eb;border-bottom:1px solid #dfe4eb;text-align:center;vertical-align:middle;letter-spacing:0;line-height:24px;white-space:nowrap;color:#111827}
.ab-page .ab-table th{background:#f5f6f8;font-size:13px;font-weight:600}
.ab-page .ab-table td{background:#fff;font-size:13px;font-weight:400}
.ab-page .ab-table tr>:last-child{border-right:0}
.ab-page .ab-table tbody tr:last-child>td{border-bottom:0}
.ab-page .ab-table tbody tr:hover>td{background:#fafbfc}
.ab-page .ab-table td.ab-time{color:#8c95a4}
.ab-page .ab-table td.ab-special{color:#1f5eff;font-weight:600}
.ab-prediction{display:inline-flex;justify-content:center;align-items:center;gap:4px}
.ab-tag{display:inline-flex;align-items:center;justify-content:center;min-width:27px;height:20px;padding:0 5px;border-radius:4px;color:#fff;font-size:13px;font-weight:600;line-height:20px}
.ab-red{background:#ff3b42}.ab-blue{background:#1f5eff}
.ab-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.free-algorithm-block{margin-top:20px}
.free-prediction-page .free-algorithms{flex-wrap:wrap}
.free-prediction-page .free-algorithms button{min-width:63px}
@media(max-width:1100px){.ab-metrics{column-gap:18px}.ab-metrics span{font-size:12px}}
@media(max-width:767px){
 main.algorithm-backtest-main{padding:16px 12px}
 .ab-heading{align-items:center;gap:8px}
 .ab-heading h1{font-size:20px}.ab-preview-label{font-size:11px}
 .ab-filter-panel{padding:14px}.ab-categories{display:flex}
 .ab-categories button{min-width:0;flex:1;padding-inline:10px}
 .ab-condition{gap:6px;flex-wrap:wrap}
 #app .ab-page .ab-metric{width:110px;min-width:110px}
 #app .ab-page .ab-comparison{width:64px;min-width:64px}
 #app .ab-page .ab-value{width:64px}
 #app .ab-page :is(select,input){font-size:16px;padding-inline:6px}
 .ab-page .ab-delete{min-width:48px;padding-inline:8px}
 .ab-actions{gap:8px}.ab-page .ab-button{padding-inline:12px}
 .ab-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px;padding:10px 12px}
 .ab-metrics>div{justify-content:center;gap:3px}.ab-metrics strong{font-size:15px}.ab-metrics span{font-size:11px}
 .free-prediction-page .free-algorithms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
 .free-prediction-page .free-algorithms button{min-width:0}
 .free-prediction-page .free-algorithms button:nth-child(5)::before{display:none}
 .free-prediction-page .ab-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
