:root{--bg: #f5f8fc;--surface: #fff;--text: #172033;--muted: #667085;--line: #d8e2ef;--blue: #1677ff;--blue-soft: #e8f2ff;--red: #d92d20;--green: #039855;--gold: #b7791f;--shadow: 0 16px 40px rgba(35, 64, 112, .08);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Microsoft YaHei,sans-serif;color:var(--text);background:var(--bg)}.auth-loading{display:grid;min-height:100vh;place-items:center;color:var(--muted);background:var(--bg);font-size:14px}.backtest-tabs{display:flex;align-items:center;gap:4px;margin:0 0 18px;padding-bottom:1px;border-bottom:1px solid var(--line);overflow-x:auto}.backtest-tabs button{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 16px;border:0;border-bottom:2px solid transparent;color:var(--muted);background:transparent;font-weight:680;white-space:nowrap}.backtest-tabs button.active{border-color:var(--blue);color:var(--text)}.backtest-table-band,.task-stage-band,.backtest-config-band,.chart-band,.report-parameter-band,.optimization-band,.ai-interpretation-band{padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.backtest-table-band{padding-top:0;border-top:0}.backtest-run-table td:first-child strong,.backtest-run-table td:first-child span,.backtest-run-table td:nth-child(5) span,.data-table td>span{display:block}.backtest-run-table td:first-child span,.backtest-run-table td:nth-child(5) span{margin-top:4px;color:var(--muted);font-size:12px}.compact-progress{width:120px;height:5px;margin-bottom:6px;overflow:hidden;border-radius:3px;background:#e6e9ee}.compact-progress i,.task-stage-progress i{display:block;height:100%;background:#246fd6}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.backtest-item{min-height:170px;padding:18px;border:1px solid var(--line);border-radius:8px;background:#fff}.backtest-item h3{margin:18px 0 7px;font-size:18px}.backtest-item p{min-height:42px;margin:0;color:var(--muted);line-height:1.55}.backtest-item-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;padding-top:13px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.backtest-list{border-top:1px solid var(--line)}.subscription-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:16px 2px;border-bottom:1px solid var(--line)}.subscription-row strong,.subscription-row span{display:block}.subscription-row span{margin-top:4px;color:var(--muted);font-size:13px}.switch{position:relative;width:42px;height:24px}.switch input{position:absolute;opacity:0}.switch i{display:block;width:42px;height:24px;border-radius:12px;background:#c8ced8;transition:.2s}.switch i:after{content:"";display:block;width:18px;height:18px;margin:3px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 3px #0003}.switch input:checked+i{background:#2b7a4b}.switch input:checked+i:after{transform:translate(18px)}.wizard-steps{display:grid;grid-template-columns:repeat(5,1fr);margin:0 0 22px;padding:0;list-style:none}.wizard-steps li{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;color:var(--muted);font-size:13px}.wizard-steps li:before{content:"";position:absolute;top:14px;right:50%;left:-50%;height:1px;background:var(--line);z-index:-1}.wizard-steps li:first-child:before{display:none}.wizard-steps span{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;background:#fff}.wizard-steps .active,.wizard-steps .done{color:var(--text)}.wizard-steps .active span{border-color:#246fd6;color:#fff;background:#246fd6}.wizard-steps .done span{border-color:#2b7a4b;color:#fff;background:#2b7a4b}.backtest-create-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:30px;align-items:start}.backtest-config-band{min-height:490px;padding-top:26px}.backtest-config-band h2,.chart-band h2,.report-parameter-band h2,.optimization-band h2,.ai-interpretation-band h2{margin:0 0 18px;font-size:20px}.segmented.large{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.segmented.large button{min-height:54px;border:1px solid var(--line);border-radius:6px;color:var(--text);background:#f6f7f9;font-weight:700}.segmented.large button.active{border-color:#246fd6;color:#1559b3;background:#edf4ff;box-shadow:inset 0 0 0 1px #246fd6}.field-help{color:var(--muted);font-size:13px;line-height:1.6}.strategy-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.strategy-choice button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;min-height:78px;padding:13px;border:1px solid var(--line);border-radius:7px;text-align:left;background:#fff}.strategy-choice button svg{grid-row:1/3;margin-top:2px}.strategy-choice button span{color:var(--muted);font-size:12px}.strategy-choice button.active{border-color:#246fd6;background:#edf4ff}.strategy-choice button:disabled{opacity:.52;cursor:not-allowed}.field-grid{display:grid;gap:14px;margin-top:22px}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid label,.field-label-block{display:flex;flex-direction:column;gap:8px;color:var(--secondary);font-size:13px;font-weight:650}.field-grid input,.field-grid select,.field-label-block textarea,.share-dialog input{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);font:inherit}.field-label-block textarea{min-height:180px;resize:vertical;line-height:1.6}.wizard-actions{display:flex;align-items:center;justify-content:space-between;margin-top:30px;padding-top:18px;border-top:1px solid var(--line)}.backtest-summary-rail{position:sticky;top:78px;display:flex;flex-direction:column;gap:10px;padding:18px;border-left:3px solid #246fd6;background:#f4f6f9}.backtest-summary-rail h3{margin:0;font-size:15px}.backtest-summary-rail span,.backtest-summary-rail small{color:var(--muted);line-height:1.5;overflow-wrap:anywhere}.parameter-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-top:1px solid var(--line)}.parameter-summary>div{padding:14px 10px;border-bottom:1px solid var(--line)}.parameter-summary dt{color:var(--muted);font-size:12px}.parameter-summary dd{margin:5px 0 0;font-weight:680;overflow-wrap:anywhere}.check-row,.risk-check{display:flex;align-items:flex-start;gap:10px;margin-top:18px;padding:13px;border:1px solid var(--line);border-radius:6px;background:#fff}.check-row input,.risk-check input{margin-top:3px}.check-row span,.check-row small{display:block}.check-row small{margin-top:3px;color:var(--muted)}.risk-check{border-color:#d99c36;background:#fff8e9;line-height:1.5}.task-stage-band{max-width:820px;margin:0 auto;padding:34px 0}.task-stage-head{display:flex;justify-content:space-between;gap:20px}.task-stage-head h2{margin:12px 0 6px}.task-stage-head p{color:var(--muted)}.task-stage-head>strong{color:#246fd6;font-size:40px;font-variant-numeric:tabular-nums}.task-stage-progress{height:8px;margin:22px 0;overflow:hidden;border-radius:4px;background:#e2e6ec}.backtest-disclaimer{margin:24px 0 0;padding:12px 0;border-top:1px solid #e0b765;color:#7e5a17;font-size:13px;line-height:1.55}.metric-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.metric-strip>div{min-width:0;padding:17px 14px;border-right:1px solid var(--line)}.metric-strip>div:last-child{border-right:0}.metric-strip span,.metric-strip strong{display:block}.metric-strip span{color:var(--muted);font-size:12px}.metric-strip strong{margin-top:7px;font-size:22px;font-variant-numeric:tabular-nums}.report-bands{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:28px}.chart-band header,.optimization-band header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.chart-band header p,.optimization-band header p{margin:3px 0 0;color:var(--muted);font-size:13px}.equity-chart{min-height:330px;margin-top:18px}.equity-chart svg{display:block;width:100%;height:auto;max-height:340px;overflow:visible}.equity-chart .axis{stroke:#cfd5de;stroke-width:1}.equity-line{fill:none;stroke:#176bd1;stroke-width:3;vector-effect:non-scaling-stroke}.drawdown-line{fill:none;stroke:#c53f3f;stroke-width:1.5;stroke-dasharray:6 4;opacity:.8;vector-effect:non-scaling-stroke}.chart-dates,.chart-legend{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.chart-legend{justify-content:flex-start;gap:18px;margin-top:13px}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend i{width:18px;height:2px;background:#176bd1}.chart-legend i.drawdown{background:#c53f3f}.analysis-summary{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.analysis-summary h3{margin:0 0 7px;font-size:15px}.analysis-summary p{color:var(--muted);line-height:1.5}.ai-interpretation-band{margin-top:24px}.ai-interpretation-band p{max-width:850px;color:var(--secondary);line-height:1.7}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:#18202ab8}.share-dialog{position:relative;width:min(440px,100%);padding:26px;border-radius:8px;background:#fff;box-shadow:0 24px 80px #0004}.share-dialog .close{position:absolute;top:12px;right:12px}.share-dialog h2{margin:13px 0 6px}.share-dialog>p{color:var(--muted);line-height:1.5}.share-dialog>.btn{width:100%;margin-top:18px}.share-dialog>input{margin-top:12px}@media(max-width:1100px){.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-strip{grid-template-columns:repeat(3,1fr)}.metric-strip>div:nth-child(3){border-right:0}.report-bands,.backtest-create-layout{grid-template-columns:1fr}.backtest-summary-rail{position:static;order:-1;border-left:0;border-top:3px solid #246fd6}}@media(max-width:700px){.wizard-steps b{display:none}.wizard-steps li{gap:0}.field-grid.two,.field-grid.three,.strategy-choice,.template-grid,.segmented.large{grid-template-columns:1fr}.metric-strip{grid-template-columns:repeat(2,1fr)}.metric-strip>div:nth-child(2n){border-right:0}.report-bands{gap:10px}.task-stage-head>strong{font-size:30px}.parameter-summary{grid-template-columns:1fr}.backtest-tabs button{padding:0 11px}.subscription-row{grid-template-columns:minmax(0,1fr) auto auto}.equity-chart{min-height:220px}.page-title .actions{flex-wrap:wrap}}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#f8fbff,#eef4fb)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:22px 16px;background:#ffffffd1;border-right:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 22px}.brand-mark{width:38px;height:38px;border-radius:8px;color:#fff;display:grid;place-items:center;font-weight:800;background:#1677ff}.brand small{display:block;color:var(--muted)}.nav-title{padding:18px 12px 8px;color:#98a2b3;font-size:12px;font-weight:700}.nav-item{display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;border-radius:8px;color:#344054;font-size:14px}.nav-item.active,.nav-item:hover{color:#0f5fd1;background:var(--blue-soft)}.main{min-width:0;padding:22px 28px 48px}.topbar,.page-title,.card-head,.public-top,.actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar{height:54px;margin-bottom:22px}.search{width:min(420px,46vw);padding:0 14px;height:42px;display:flex;align-items:center;color:var(--muted);background:#ffffffc7;border:1px solid var(--line);border-radius:8px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#1d4ed8;font-weight:700}.page-title{margin-bottom:22px;align-items:flex-end}.page-title h1{margin:0;font-size:32px}.page-title p,.muted,p{color:var(--muted);line-height:1.7}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-12{grid-column:span 12}.card,.auth-card,.report-paper{background:#fffffff0;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:20px}.card h2{margin:0 0 12px;font-size:18px}.metric-value{display:block;margin:8px 0;font-size:28px}.tiny{color:#98a2b3;font-size:12px}.tag,.pill{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;font-size:12px;border:0}.blue{color:#0f5fd1;background:var(--blue-soft)}.gold{color:var(--gold);background:#fff7e6}.green{color:var(--green);background:#ecfdf3}.red{color:var(--red);background:#fff1f0}.gray{color:#667085;background:#f2f4f7}.btn{height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn.primary{color:#fff;border-color:var(--blue);background:var(--blue)}.btn.danger{color:var(--red);border-color:#ffccc7;background:#fff1f0}.btn:disabled{opacity:.5;cursor:not-allowed}.input{width:100%;min-height:40px;border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:#fff}textarea.input{min-height:90px;resize:vertical}.field{display:grid;gap:8px;margin:14px 0;color:#344054;font-size:14px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.suggestion-row{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 12px}.suggestion-row button{cursor:pointer}.candidate-confirm{border-left:3px solid #b7791f;background:#fff9e8;padding:12px 14px}.candidate-confirm .suggestion-row{margin-top:10px}.candidate-confirm .btn{display:inline-flex;align-items:center;gap:8px}.candidate-confirm .btn span{color:#6b7280;font-size:12px}.check-field{display:flex;align-items:center;gap:8px;margin:10px 0;color:#344054;font-size:14px}.prompt-area{min-height:150px;line-height:1.6}.auth-page{min-height:100vh;display:grid;place-items:center;grid-template-columns:minmax(320px,460px) minmax(320px,420px);gap:56px;padding:40px 24px}.auth-brand h1{font-size:40px;margin:16px 0 0;line-height:1.15}.auth-card-wrap{width:min(420px,100%);display:grid;place-items:center}.auth-card{width:100%;padding:28px}.auth-card h2{margin:0 0 8px}.auth-card .btn{width:100%;margin-top:8px}.auth-segments{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:24px;padding:5px;border-radius:8px;background:#edf3fa}.auth-segments button{min-height:38px;border:0;border-radius:6px;color:var(--muted);background:transparent;cursor:pointer}.auth-segments button.active{color:var(--blue);background:#fff;box-shadow:0 4px 14px #224b821a;font-weight:700}.qr-login{text-align:center}.qr-frame{width:224px;height:224px;margin:20px auto 12px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff}.qr-frame img{display:block;width:196px;height:196px;object-fit:contain}.qr-login p{margin-bottom:8px}.auth-capabilities-loading{min-height:340px;display:grid;place-items:center;color:var(--muted)}.auth-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:22px}.auth-entry-grid a{min-height:38px;display:flex;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line);color:var(--text);font-weight:650}.wechat-binding-card{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:24px;align-items:center}.binding-qr{display:grid;justify-items:center;gap:10px}.binding-qr small{color:var(--muted)}.settings-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffffb8}.settings-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:16px;align-items:center;padding:22px 4px}.settings-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:8px;color:var(--blue);background:#eaf3ff}.settings-copy h2{margin:0;font-size:18px}.settings-copy p{margin:6px 0;color:#475467;line-height:1.6}.settings-copy span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.settings-meta{display:flex;justify-content:space-between;gap:16px;padding:12px 4px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.settings-meta strong{color:var(--text)}.toggle-control{position:relative;width:48px;height:28px;flex:none}.toggle-control input{position:absolute;opacity:0;pointer-events:none}.toggle-control span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:#c7d0dc;cursor:pointer;transition:background .18s ease}.toggle-control span:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 7px #0f172a38;transition:transform .18s ease}.toggle-control input:checked+span{background:var(--blue)}.toggle-control input:checked+span:after{transform:translate(20px)}.toggle-control input:focus-visible+span{outline:3px solid rgba(22,119,255,.25);outline-offset:2px}.toggle-control input:disabled+span{opacity:.55;cursor:wait}.auth-centered{display:flex;align-items:center;justify-content:center;position:relative;width:100%;min-width:100vw;padding:150px 20px 44px;background:radial-gradient(circle at 50% 10%,rgba(22,119,255,.12),transparent 26%),linear-gradient(180deg,#f8fbff,#eef5ff)}.auth-centered .auth-brand{position:absolute;top:34px;left:50%;transform:translate(-50%);width:min(680px,calc(100vw - 40px));text-align:center}.auth-centered .auth-card-wrap{flex:0 1 420px}.auth-centered .auth-brand h1{font-size:26px;line-height:1.2}.auth-centered .auth-brand p{max-width:560px;margin:8px auto 0;font-size:14px}.error,.warning,.success,.empty{border-radius:8px;padding:12px 14px;margin:12px 0}.error{color:var(--red);background:#fff1f0}.warning{color:var(--gold);background:#fff7e6}.success{color:var(--green);background:#ecfdf3}.empty{color:var(--muted);background:#f8fafc;border:1px dashed var(--line)}.two-col{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px}.quota{margin:14px 0}.quota-bar{height:9px;border-radius:999px;background:#edf2f7;overflow:hidden}.quota-bar span{display:block;height:100%;background:var(--blue)}.quota-summary{min-width:0;padding:10px 0;border-bottom:1px solid var(--line)}.quota-summary:last-child{border-bottom:0}.quota-summary .card-head{margin-bottom:7px}.quota-summary small{display:block;margin-top:6px;color:var(--muted)}.quota-policy-button{width:100%;min-height:54px;border:1px solid var(--line);border-radius:6px;color:var(--text);background:var(--surface);cursor:pointer}.quota-policy-button strong,.quota-policy-button small{display:block}.quota-policy-button strong{font-size:18px}.quota-policy-button small{margin-top:2px;color:var(--muted)}.quota-policy-button:hover{border-color:var(--blue);background:#f4f8ff}.quota-admin-panel{margin-top:16px}.membership-redeem{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,460px);gap:18px;align-items:center}.membership-redeem h2,.membership-card-create h2,.membership-dialog h2{display:flex;align-items:center;gap:8px}.membership-redeem p{margin:0}.membership-redeem-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.membership-redeem-form .btn,.membership-card-create .btn{gap:7px}.span-all{grid-column:1 / -1;margin:0}.membership-card-list .disable-reason{width:min(280px,45vw)}.membership-card-list code{white-space:nowrap;font-size:12px}.membership-card-list td small{display:block;margin-top:4px;color:var(--muted)}.table-scroll{width:100%;overflow-x:auto}.membership-dialog{position:relative;width:min(720px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:24px;border-radius:8px;background:#fff;box-shadow:0 24px 80px #0004}.membership-dialog>.close{position:absolute;top:12px;right:12px}.membership-dialog>.card-head{padding-right:36px}.membership-dialog>.card-head p{margin:0}.membership-dialog>.btn.primary{width:100%}.membership-dialog>.btn.danger{width:100%;margin-top:12px}.user-actions{min-width:260px;flex-wrap:wrap;justify-content:flex-end}.membership-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.membership-facts>div{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.membership-facts span,.membership-events span,.membership-events small{color:var(--muted);font-size:12px}.membership-events{display:grid;gap:8px}.membership-events>div{display:grid;grid-template-columns:minmax(140px,1fr) auto;gap:4px 12px;padding:10px 0;border-bottom:1px solid var(--line)}.membership-events small{grid-column:1 / -1}.list-row,.news-item{display:block;padding:12px 0;border-bottom:1px solid #edf2f7}.list-row{display:flex;justify-content:space-between;gap:14px;align-items:center}.news-item p{margin:4px 0}.news-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.news-stat-time{font-size:18px!important;line-height:1.2!important}.news-toolbar{align-items:flex-start;margin-bottom:8px}.rich-news-item{display:grid;gap:8px;padding:14px 0}.news-row-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.news-row-head>div{display:flex;min-width:0;gap:8px;align-items:center;flex-wrap:wrap}.news-row-head strong{min-width:0;line-height:1.45}.news-meta{display:flex;flex-wrap:wrap;gap:8px 12px;color:var(--muted);font-size:12px}.news-ai-summary{display:grid;gap:4px;padding:10px 12px;border:1px solid #dbe8f7;border-radius:8px;background:#f3f7fc;color:#344054;font-size:13px;line-height:1.55}.news-ai-summary strong{color:#17346c}.news-impact-tags{display:flex;flex-wrap:wrap;gap:6px}.news-impact-tags span{display:inline-flex;min-height:24px;align-items:center;padding:2px 8px;border-radius:7px;color:#344054;background:#f8fafc;border:1px solid var(--line);font-size:12px}.news-filter-actions{justify-content:flex-start;margin:8px 0 16px}.news-source-box{display:grid;gap:8px;margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f8fafc;color:#344054;font-size:13px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:12px 10px;text-align:left;border-bottom:1px solid #edf2f7;vertical-align:middle}th{color:#667085;font-weight:700}.admin-filter{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;margin-bottom:14px}.report-page{max-width:980px;margin:0 auto;padding:24px}.report-page.research-detail{width:100%;max-width:none;padding:24px}.report-paper{padding:34px}.stock-research-paper{padding:0;overflow:hidden;border:0;background:transparent;box-shadow:none}.stock-research-paper>.success{margin:0 0 12px}.report-page.industry-detail{width:100%;max-width:none;padding:12px}.industry-research-paper{width:100%;padding:0;overflow:hidden;border:0;background:transparent;box-shadow:none}.industry-research-paper>.success{margin:0 0 12px}.industry-report-content{width:100%;min-width:0;overflow:hidden}.industry-report-content>main,.industry-report-content main.xy-industry-report{width:100%!important;max-width:none!important;margin:0!important}.industry-report-content .report-cover,.industry-report-content footer{left:auto!important;width:100%!important;max-width:100%!important;margin-left:0!important;padding-left:clamp(22px,3vw,54px)!important;padding-right:clamp(22px,3vw,54px)!important}.position-panel{display:grid;gap:12px;margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.position-panel legend{padding:0 6px;color:#344054;font-size:14px;font-weight:750}.report-title{margin-bottom:22px}.report-title h1{margin:0 0 12px}.report-meta{display:flex;gap:8px;flex-wrap:wrap}.report-body h2{margin-top:24px}.disclaimer{padding:14px;background:#f8fafc;border:1px solid var(--line);border-radius:8px}.task-list{display:grid;gap:12px}.task-row{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff}.task-row.highlight{border-color:var(--blue);box-shadow:0 0 0 3px #1677ff1f}.task-main,.task-foot{display:flex;align-items:center;justify-content:space-between;gap:14px}.task-main strong{display:block;margin-bottom:4px}.task-progress{height:9px;overflow:hidden;border-radius:999px;background:#edf2f7}.task-progress span{display:block;height:100%;background:var(--blue);transition:width .25s ease}.task-message{max-width:320px;color:#344054;line-height:1.5;white-space:normal}.xy-research-report table{display:table;white-space:normal}.dashboard-actions{display:inline-flex;gap:10px;align-items:center}.dashboard-top-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1.35fr) 300px;gap:16px;margin-bottom:16px;padding:18px;border-radius:8px;color:#fff;background:linear-gradient(135deg,#17346c,#2454a6 58%,#0f91aa);box-shadow:var(--shadow)}.dashboard-hero h2{margin:12px 0 8px;font-size:22px}.hero-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.regime-tag,.soft-tag{display:inline-flex;min-height:28px;align-items:center;padding:0 10px;border-radius:8px;font-size:13px;font-weight:700}.regime-tag{color:#17346c;background:#fff}.soft-tag{color:#eef6ff;border:1px solid rgba(255,255,255,.24);background:#ffffff1f}.hero-headline{max-width:820px;margin:0 0 14px;color:#f5f8ff;font-size:17px;font-weight:650;line-height:1.65}.hero-headline-strong{font-size:24px;line-height:1.55}.hero-overview{max-width:900px;margin:0 0 16px;color:#eef5ff;font-size:14px;line-height:1.8}.hero-bullets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hero-bullets span{min-height:42px;padding:9px 10px;border:1px solid rgba(255,255,255,.18);border-radius:8px;color:#edf5ff;background:#ffffff17;font-size:13px;line-height:1.45}.hero-signal-tags{display:flex;flex-wrap:wrap;gap:8px}.hero-signal-tags span{display:inline-flex;min-height:28px;align-items:center;padding:0 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#eff6ff;background:#ffffff1a;font-size:12px;font-weight:700}.temperature-panel{padding:14px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff1f}.temperature-panel>strong{display:block;margin:4px 0 10px;font-size:44px;line-height:1}.temperature-track{height:10px;margin-bottom:14px;overflow:hidden;border-radius:999px;background:#ffffff38}.temperature-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#56c2a4,#ffd166,#ff8f5a)}.dashboard-warning{margin-bottom:16px;padding:12px 14px;border:1px solid #f1cf98;border-radius:8px;color:#8a520e;background:#fff7e6;font-size:13px;line-height:1.6}.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.metric-tile{min-height:96px;padding:13px;border:1px solid var(--line);border-radius:8px;background:#fffffff0;box-shadow:var(--shadow)}.metric-tile>div{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px}.metric-tile strong{display:block;margin-bottom:8px;color:var(--text);font-size:27px;line-height:1;font-variant-numeric:tabular-nums}.market-up{color:var(--red)!important}.market-down{color:var(--green)!important}.market-tag{display:inline-flex;min-height:24px;align-items:center;padding:0 8px;border-radius:8px;font-size:12px;font-weight:750}.market-tag.up{color:var(--red);background:#fff1f0}.market-tag.down{color:var(--green);background:#ecfdf3}.dashboard-section{margin-bottom:16px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fffffff0;box-shadow:var(--shadow)}.dashboard-section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:56px;padding:12px 14px;border-bottom:1px solid var(--line);background:#f9fbfe}.dashboard-section-head>div{display:flex;gap:10px;align-items:center;min-width:0}.dashboard-section-head span:first-child{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;color:#fff;background:#17346c;font-size:13px;font-weight:800}.dashboard-section-head h2{margin:0;font-size:18px}.dashboard-section-head p{margin:3px 0 0;font-size:12px;line-height:1.35}.data-status{flex:0 0 auto;padding:4px 8px;border-radius:8px;font-size:12px;font-style:normal}.data-status.ok{color:#0f6d4d;background:#ecfdf3}.data-status.partial{color:#8a520e;background:#fff7e6}.data-status.missing{color:#667085;background:#f2f4f7}.section-body{display:grid;gap:14px;padding:14px}.breadth-grid,.mini-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metric-box{min-height:68px;padding:11px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.metric-box span{display:block;margin-bottom:8px;color:var(--muted);font-size:12px}.metric-box strong{font-size:20px;font-variant-numeric:tabular-nums}.narrative-box{padding:12px;border:1px solid #dbe8f7;border-radius:8px;color:#344054;background:#f3f7fc}.narrative-box strong{display:block;margin-bottom:6px;color:#17346c}.narrative-box p{margin:0 0 8px;font-size:13px;line-height:1.65}.dashboard-feature-grid{display:grid;grid-template-columns:1.1fr 1.1fr .9fr;gap:12px}.analysis-story-card{min-height:100%;padding:14px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fff,#fbfdff)}.analysis-story-card h3{margin:0 0 8px;color:#17346c;font-size:18px}.analysis-story-card p{margin:0 0 10px;color:#344054;font-size:14px;line-height:1.75}.review-hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.review-columns,.review-three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.deep-dive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.deep-dive-card{min-height:100%;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.deep-dive-card h3{margin:0 0 8px;color:#17346c;font-size:16px}.deep-dive-card p{margin:0 0 8px;color:#344054;font-size:13px;line-height:1.7}.deep-dive-step-list{display:grid;gap:10px}.deep-dive-step-list strong{display:block;margin-bottom:4px;color:#172033;font-size:13px}.deep-dive-step-list p{margin:0}.review-stack{display:grid;gap:6px;font-size:13px;color:#344054;line-height:1.7}.review-note{margin-top:8px}.review-markdown{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f9fbfe}.review-markdown summary{cursor:pointer;font-weight:700;color:#17346c}.review-markdown pre{margin:12px 0 0;white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.7;color:#344054}.review-markdown[open]{background:#fff}.dashboard-facts-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tag-block{display:grid;gap:8px;margin-top:12px}.tag-block strong{font-size:13px}.tag-line{display:flex;flex-wrap:wrap;gap:6px}.tag-line span{display:inline-flex;min-height:24px;align-items:center;padding:2px 8px;border:1px solid rgba(20,32,51,.1);border-radius:7px;color:#344054;background:#fff;font-size:12px}.tag-line span.risk{color:#9b3c18;border-color:#f1b59b;background:#fff7f2}.rank-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rank-columns.compact{gap:10px}.insight-list{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.insight-list h3{margin:0;padding:12px 14px;border-bottom:1px solid #edf2f7;background:#f8fafc;font-size:15px}.insight-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:12px 14px;border-bottom:1px solid #edf2f7}.insight-row:last-child{border-bottom:0}.insight-rank{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;color:#17346c;background:#e8f2ff;font-size:12px;font-weight:800}.insight-copy{min-width:0}.insight-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}.insight-head strong{min-width:0;font-size:15px}.insight-copy p{margin:0 0 10px;color:#344054;font-size:13px;line-height:1.7}.insight-note{margin-top:10px;padding:10px;border-radius:8px;color:#8a520e;background:#fff7e6;font-size:12px;line-height:1.6}.rank-list{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.rank-list h3{margin:0;padding:10px 12px;border-bottom:1px solid #edf2f7;background:#f8fafc;font-size:14px}.rank-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;gap:8px;align-items:center;min-height:40px;padding:8px 12px;border-bottom:1px solid #edf2f7;font-size:13px}.rank-row:last-child{border-bottom:0}.rank-row>span:first-child{width:22px;height:22px;display:grid;place-items:center;border-radius:6px;color:#17346c;background:#e8f2ff;font-size:12px;font-weight:800}.rank-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-row em{color:var(--muted);font-style:normal}.direction-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.direction-card{min-height:158px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.direction-card.main,.direction-card.secondary{background:#fff1f0;border-color:#f1bbb8}.direction-card.watch{background:#eefafd;border-color:#b8dee6}.direction-card.risk{background:#fff7e6;border-color:#f1cf98}.direction-card>span{display:inline-flex;min-height:24px;align-items:center;padding:2px 8px;border-radius:7px;background:#fff;color:var(--muted);font-size:12px;font-weight:750}.direction-card h3{margin:10px 0 6px;font-size:18px}.direction-card p{margin:0 0 10px;color:#344054;font-size:13px;line-height:1.5}.dashboard-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.module-note{margin:0;padding:9px 10px;border-radius:8px;color:#8a520e;background:#fff7e6;font-size:13px;line-height:1.5}.sentiment-grid{display:grid;grid-template-columns:160px minmax(0,1fr);gap:12px;align-items:stretch}.sentiment-score{display:grid;place-items:center;min-height:150px;border:1px solid var(--line);border-radius:8px;background:radial-gradient(circle at center 80%,#fff 0,#fff 45%,#edf4fd 46%,#edf4fd);text-align:center}.sentiment-score strong{display:block;color:#b7791f;font-size:42px;line-height:1}.sentiment-score span{color:var(--muted);font-size:12px}.stock-mini-list{display:grid;gap:8px}.stock-mini-list h3{margin:0;font-size:14px}.stock-mini-list>div{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:#f8fafc}.stock-signal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stock-card{display:grid;gap:8px;min-height:142px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:inherit}.stock-card:hover{border-color:#b8d4ff}.stock-card-detailed{min-height:168px}.stock-card-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.stock-card-head strong{display:block}.stock-card-head span{color:var(--muted);font-size:12px}.stock-card p{margin:0;color:#344054;font-size:13px;line-height:1.45}.screening-natural{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start;margin-bottom:16px}.parse-panel{border:1px solid var(--line);border-radius:8px;background:#f8fbff;padding:12px;margin-bottom:16px}.condition-list{display:grid;gap:10px;margin-bottom:14px}.condition-row{display:grid;grid-template-columns:1.4fr .8fr 1fr auto;gap:8px;align-items:center}.strategy-list{display:grid;gap:8px;margin-bottom:14px}.strategy-item{display:grid;gap:4px;width:100%;text-align:left;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px;cursor:pointer}.strategy-item span{color:var(--muted);font-size:12px}.field-groups{display:grid;gap:14px}.field-groups h3{margin:0 0 8px;font-size:14px;color:#344054}.field-groups button{min-height:28px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:3px 8px;cursor:pointer}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.metric-card{border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff}.metric-card span{display:block;color:var(--muted);font-size:12px}.metric-card strong{display:block;margin-top:4px;font-size:18px}.screening-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.screening-stock-card{display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:inherit;padding:12px}.screening-stock-card em{font-style:normal;font-weight:700}.screening-stock-card .up,.screening-result-row .up{color:var(--red)}.screening-stock-card .down,.screening-result-row .down{color:var(--green)}.screening-price{display:flex;flex-wrap:wrap;gap:8px;color:#344054;font-size:13px}.screening-results-panel{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}.screening-result-list{display:grid;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:12px}.screening-result-row{display:grid;grid-template-columns:1.3fr .8fr 1fr .8fr .8fr;gap:10px;padding:10px 12px;color:inherit;border-bottom:1px solid var(--line)}.screening-result-row:last-child{border-bottom:0}.code-input{min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.screening-search{display:grid;grid-template-columns:minmax(0,420px) auto;justify-content:start;gap:8px;margin-bottom:16px}.screening-strategy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.screening-strategy-card{min-height:180px;display:grid;align-content:start;gap:12px;padding:16px;border:1px solid var(--line);border-radius:8px;color:inherit;background:#fff;box-shadow:var(--shadow)}.screening-strategy-card:hover{border-color:#9cc7ff}.screening-strategy-card h2{margin:0;font-size:18px}.screening-strategy-card p{margin:0;color:#475467;line-height:1.6}.strategy-card-head,.strategy-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px}.screening-detail-band{display:grid;grid-template-columns:minmax(360px,1fr) minmax(540px,.9fr);align-items:center;gap:24px;margin-bottom:16px;padding:20px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.screening-detail-band>div:first-child{min-width:0}.screening-detail-band p{margin:10px 0 0;color:#344054;line-height:1.6;overflow-wrap:anywhere}.screening-detail-metrics{display:grid;grid-template-columns:minmax(90px,.65fr) minmax(210px,1.45fr) minmax(110px,.7fr);gap:0;min-width:0;border:1px solid var(--line);border-radius:8px;background:#ffffffad;overflow:hidden}.screening-detail-metrics span{display:grid;align-content:center;gap:6px;min-width:0;min-height:82px;padding:12px 16px;border-right:1px solid var(--line);color:var(--muted);font-size:12px}.screening-detail-metrics span:last-child{border-right:0}.screening-detail-metrics strong{color:var(--text);font-size:20px;line-height:1.15;overflow-wrap:anywhere}.screening-detail-band .warning{grid-column:1 / -1}.screening-run-picker{display:flex;justify-content:flex-end;margin-bottom:12px}.screening-run-picker label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.screening-table-card{overflow:hidden}.screening-table{min-width:760px}.screening-table td a{display:grid;gap:3px;color:inherit}.screening-table .instrument-cell{display:grid;gap:3px}.screening-table td small{color:var(--muted)}.screening-table.etf-table{min-width:900px}.screening-table.mixed-table{min-width:980px;table-layout:fixed}.screening-table.mixed-table th:first-child,.screening-table.mixed-table td:first-child{width:48px}.screening-table.mixed-table th:nth-child(2),.screening-table.mixed-table td:nth-child(2){width:430px}.screening-table.mixed-table th:nth-child(n+3),.screening-table.mixed-table td:nth-child(n+3){white-space:nowrap}.screening-table.mixed-table th:nth-child(3),.screening-table.mixed-table td:nth-child(3){width:76px}.screening-table.mixed-table th:nth-child(4),.screening-table.mixed-table td:nth-child(4),.screening-table.mixed-table th:nth-child(5),.screening-table.mixed-table td:nth-child(5){width:96px}.screening-table.mixed-table th:nth-child(6),.screening-table.mixed-table td:nth-child(6){width:112px}.screening-table.mixed-table th:nth-child(7),.screening-table.mixed-table td:nth-child(7){width:126px}.screening-table .up,.run-list .up{color:var(--red);font-weight:700}.screening-table .down,.run-list .down{color:var(--green);font-weight:700}.screening-pagination{display:flex;justify-content:flex-end;align-items:center;gap:9px;margin-top:14px;color:var(--muted);font-size:13px}.screening-pagination .input{width:auto}@media(max-width:1100px){.screening-detail-band{grid-template-columns:1fr}.screening-detail-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}.admin-screening-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:16px;align-items:start}.admin-strategy-list{display:grid;gap:8px}.section-title,.editor-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.section-title h2,.section-title h3,.editor-toolbar h2{margin:0}.section-title p,.editor-toolbar p{margin:5px 0 0;color:var(--muted);font-size:13px}.admin-strategy-row{width:100%;display:flex;justify-content:space-between;gap:10px;padding:11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:inherit;text-align:left;cursor:pointer}.admin-strategy-row.active{border-color:#1677ff;box-shadow:inset 3px 0 #1677ff}.admin-strategy-row>div{display:grid;gap:5px}.admin-strategy-row>div:last-child{justify-items:end}.admin-strategy-row span,.admin-strategy-row small{color:var(--muted);font-size:12px}.admin-strategy-editor{display:grid;gap:18px}.editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.editor-grid .span-two{grid-column:span 2}.editor-section{display:grid;gap:12px;padding-top:16px;border-top:1px solid var(--line)}.editor-section h3{margin:0;font-size:16px}.validation-summary{display:flex;flex-wrap:wrap;gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.validation-summary span{font-weight:700}.validation-summary small{flex-basis:100%;color:#b42318}.error-text{color:#b42318!important}.condition-fixed{min-height:38px;display:grid;place-items:center;color:var(--muted);font-size:12px}.schedule-list{display:flex;flex-wrap:wrap;gap:8px}.schedule-list>div{display:flex;gap:5px}.schedule-list .input{width:130px}.run-list{display:grid;gap:6px}.run-list h3{margin:4px 0}.run-list>div{display:grid;grid-template-columns:1.4fr .7fr .7fr .5fr;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12px}.warning{padding:10px 12px;border:1px solid #f7d68a;border-radius:8px;color:#8a4b08;background:#fff9eb}.icon-btn.danger{color:#b42318}.market-detail-page{display:grid;gap:16px;max-width:1440px;margin:0 auto}.market-detail-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center}.market-detail-header{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:16px 26px;padding:22px;border:1px solid #b8d4ff;border-radius:8px;background:linear-gradient(135deg,#f8fbff,#fff);box-shadow:var(--shadow)}.market-identity{display:flex;align-items:flex-start;gap:12px;min-width:0}.market-identity h1{margin:0;font-size:28px}.market-identity p{margin:5px 0 0;font-size:13px}.market-price{display:grid;justify-items:end;gap:5px}.market-price strong{font-size:36px;line-height:1;font-variant-numeric:tabular-nums}.market-price span{font-size:14px;font-weight:700}.market-quote-meta{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:18px;color:var(--muted);font-size:13px}.market-quote-meta strong{margin-left:4px;color:var(--text);font-variant-numeric:tabular-nums}.market-freshness{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px 14px;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.market-freshness strong{color:#0f6d4d}.market-freshness.partial strong{color:#8a520e}.market-chart-band,.market-detail-section,.market-panel{border:1px solid var(--line);border-radius:8px;background:#fffffff5;box-shadow:var(--shadow)}.market-chart-band{padding:16px;overflow:hidden}.market-chart-controls{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.market-segments,.ma-toggles{display:flex;flex-wrap:wrap;gap:6px}.market-segments button{min-height:30px;padding:0 10px;border:1px solid var(--line);border-radius:7px;color:var(--muted);background:#fff;cursor:pointer}.market-segments button.active{color:#fff;border-color:var(--blue);background:var(--blue)}.ma-toggles label{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700}.market-chart-wrap{position:relative;width:100%;min-height:320px;overflow:hidden}.market-chart-svg{display:block;width:100%;min-width:640px;height:auto;aspect-ratio:1000 / 560;cursor:crosshair}.market-chart-tooltip{display:flex;flex-wrap:wrap;gap:8px 13px;align-items:center;min-height:28px;color:#344054;font-size:12px}.market-chart-tooltip strong{color:var(--text)}.market-chart-caption{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.market-fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.market-panel{overflow:hidden}.market-section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:54px;padding:12px 16px;border-bottom:1px solid var(--line);background:#f9fbfe}.market-section-head h2{margin:0;font-size:17px}.market-panel>.market-facts{padding:14px}.market-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.market-facts>div{min-width:0;padding:10px;border:1px solid #edf2f7;border-radius:7px;background:#fff}.market-facts>.span-2{grid-column:1 / -1}.market-facts span{display:block;margin-bottom:5px;color:var(--muted);font-size:12px}.market-facts strong{display:block;overflow-wrap:anywhere;color:var(--text);font-size:14px;line-height:1.45}.market-detail-section{overflow:hidden}.market-detail-section>.empty{margin:14px}.market-data-table{min-width:780px}.market-data-table td{font-variant-numeric:tabular-nums}.market-detail-loading{display:grid;gap:16px}.market-chart-skeleton{height:480px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(90deg,#edf2f7,#f9fbfe,#edf2f7)}.catalyst-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalyst-card{padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.catalyst-card h3{margin:0 0 8px;font-size:15px;line-height:1.35}.catalyst-card p{margin:0 0 9px;font-size:13px;line-height:1.55}.catalyst-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;color:var(--muted);font-size:12px}.strategy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.strategy-card{padding:13px;border:1px solid var(--line);border-radius:8px;background:#fff}.strategy-card h3{margin:0 0 8px;font-size:16px}.strategy-card ul,.risk-panel ul{margin:0;padding-left:18px;color:#344054;font-size:13px;line-height:1.7}.risk-panel{padding:12px;border:1px solid #f1b59b;border-radius:8px;background:#fff7f2}.risk-panel strong{display:block;margin-bottom:8px;color:#9b3c18}.dashboard-skeleton{height:18px;border-radius:999px;background:linear-gradient(90deg,#e9eef5,#f6f9fc,#e9eef5)}.dashboard-skeleton.short{width:54%}.self-media-report{display:grid;gap:16px}.dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.market-brief{position:relative;overflow:hidden;border-color:#b8d4ff}.market-brief:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#1677ff,#4096ff)}.market-brief p{margin:0 0 10px;color:#344054;font-size:14px;line-height:1.78}.risk-box{padding:12px;border:1px solid #cfe3ff;border-radius:8px;color:#173b75;background:#f5f9ff;line-height:1.65}.risk-box.compact{margin-top:8px;font-size:13px}.theme-cloud{display:grid;gap:7px}.theme-chip{width:100%;display:grid;grid-template-columns:minmax(86px,1fr) minmax(54px,.72fr) auto;min-height:32px;align-items:center;gap:9px;padding:6px 8px;border:1px solid var(--tag-border, #cfe3ff);border-radius:8px;color:var(--tag-color, #173b75);background:#ffffffd1;font:inherit;font-size:12px;font-weight:760;text-align:left;cursor:pointer}.theme-chip.active{border-color:var(--tag-color, #1677ff);background:linear-gradient(90deg,var(--tag-bg, #f5f9ff),rgba(255,255,255,.92));box-shadow:inset 3px 0 0 var(--tag-color, #1677ff)}.theme-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-chip i{position:relative;height:5px;overflow:hidden;border-radius:999px;background:#edf2f7}.theme-chip i:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--heat, 20%);border-radius:inherit;background:var(--tag-color, #1677ff)}.theme-chip b{min-width:24px;height:22px;display:inline-grid;place-items:center;justify-self:end;border-radius:999px;color:var(--tag-color, #1677ff);background:var(--tag-bg, #e8f2ff);font-size:12px}.report-section-block{display:grid;gap:14px;padding:18px;border:1px solid #b8d4ff;border-radius:8px;background:#fffffff5;box-shadow:var(--shadow)}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title-row h2{margin:3px 0 0;font-size:20px}.signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.signal-card{position:relative;display:grid;gap:12px;min-height:210px;padding:14px 14px 14px 18px;overflow:hidden;border:1px solid #b8d4ff;border-radius:8px;background:#fff}.signal-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,#1677ff,#cfe3ff)}.signal-card.positive{border-color:#b8d4ff;background:#fff}.signal-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.signal-card-head>div{min-width:0}.signal-card strong{display:block;color:#102a56;font-size:18px}.signal-card-head span{display:block;margin-top:4px;color:var(--muted);font-size:12px}.signal-card p{margin:0;font-size:13px;color:#344054;line-height:1.68}.plain-note.compact{margin:0;padding:12px}.author-block{position:relative;display:grid;gap:14px;padding:16px 16px 16px 20px;overflow:hidden;border:1px solid #b8d4ff;border-radius:8px;background:#fff;box-shadow:0 10px 26px #2340700e}.author-block:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,#1677ff,#cfe3ff)}.author-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.author-head h3{margin:4px 0 6px;color:#102a56;font-size:20px}.author-submeta{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;color:#344054;font-size:13px}.author-submeta span{display:inline-flex;align-items:center}.score-badge{width:70px;min-height:70px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--importance-border, #b8d4ff);border-radius:8px;color:var(--importance-color, #1677ff);background:var(--importance-bg, #e8f2ff);text-align:center}.score-badge strong{display:block;color:var(--importance-color, #1677ff);font-size:26px;line-height:1}.score-badge span{color:var(--muted);font-size:12px}.author-tags,.author-mini-tags{display:flex;flex-wrap:wrap;gap:7px}.author-tags span,.author-mini-tags span,.tag-ribbon span,.matrix-theme-list span{display:inline-flex;min-height:26px;align-items:center;padding:0 9px;border:1px solid var(--tag-border, #cfe3ff);border-radius:8px;color:var(--tag-color, #173b75);background:var(--tag-bg, #f5f9ff);font-size:12px;font-weight:760;white-space:nowrap}.tag-ribbon,.matrix-theme-list{display:flex;flex-wrap:wrap;gap:6px}.tag-blue{--tag-color: #0f5fd1;--tag-bg: #e8f2ff;--tag-border: #9cc7ff}.tag-indigo{--tag-color: #3538cd;--tag-bg: #eef4ff;--tag-border: #c7d7fe}.tag-violet{--tag-color: #6941c6;--tag-bg: #f4f0ff;--tag-border: #d6bbfb}.tag-cyan{--tag-color: #0072c6;--tag-bg: #e6f4ff;--tag-border: #a6d8ff}.tag-teal{--tag-color: #0f766e;--tag-bg: #e6fffb;--tag-border: #99f6e4}.tag-green{--tag-color: #039855;--tag-bg: #ecfdf3;--tag-border: #abefc6}.tag-amber{--tag-color: #b7791f;--tag-bg: #fff7e6;--tag-border: #f7d68a}.tag-orange{--tag-color: #c2410c;--tag-bg: #fff7ed;--tag-border: #fed7aa}.tag-rose{--tag-color: #c11574;--tag-bg: #fdf2fa;--tag-border: #fbcfe8}.tag-slate{--tag-color: #475467;--tag-bg: #f2f4f7;--tag-border: #d0d5dd}.author-top-summary{padding:12px 0;border-top:1px solid #e6eef8;border-bottom:1px solid #e6eef8}.author-top-summary h4{margin:0 0 10px;color:#17346c;font-size:14px}.author-top-summary ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.author-top-summary li{position:relative;padding-left:16px;color:#344054;font-size:13px;line-height:1.72}.author-top-summary li:before{content:"";position:absolute;top:.72em;left:1px;width:5px;height:5px;border-radius:50%;background:#4096ff}.author-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.author-summary-overall{grid-column:1 / -1}.author-summary-grid>div,.plain-note{padding:13px;border:1px solid #edf2f7;border-radius:8px;background:#fff}.author-summary-grid h4,.plain-note h4{margin:0 0 8px;font-size:14px;color:#17346c}.author-summary-grid p,.plain-note p{margin:0 0 10px;font-size:13px;line-height:1.72}.author-summary-grid p:last-child,.plain-note p:last-child{margin-bottom:0}.meta-line{color:var(--muted)!important;font-size:12px!important}.explain-list,.mini-list{margin:0;padding-left:18px;color:#344054;line-height:1.65}.explain-list li{margin-bottom:6px}.table-wrap{width:100%;overflow-x:auto}.impact-table{min-width:980px;background:#fff}.impact-table th,.impact-table td{vertical-align:top;white-space:normal;line-height:1.55}.impact-table th:first-child,.impact-table td:first-child{position:sticky;left:0;z-index:1;background:#fff}.matrix-table{min-width:1120px}.stock-cell strong{display:block;color:#102a56}.stock-cell span{display:block;margin-top:4px;color:var(--muted);font-size:12px}.grade-badge{width:46px;height:46px;display:grid;place-items:center;flex:0 0 auto;border:2px solid var(--level-color, #1677ff);border-radius:50%;color:var(--level-color, #1677ff);background:var(--level-bg, #fff);font-size:15px;font-weight:850}.grade-badge.level-5{--level-color: #dc2626;--level-bg: #fff1f0}.grade-badge.level-4{--level-color: #ea580c;--level-bg: #fff7ed}.grade-badge.level-3{--level-color: #1677ff;--level-bg: #e8f2ff}.grade-badge.level-2{--level-color: #667085;--level-bg: #f2f4f7}.importance-5{--importance-color: #dc2626;--importance-bg: #fff1f0;--importance-border: #fecdca}.importance-4{--importance-color: #ea580c;--importance-bg: #fff7ed;--importance-border: #fed7aa}.importance-3{--importance-color: #1677ff;--importance-bg: #e8f2ff;--importance-border: #9cc7ff}.importance-2,.importance-1{--importance-color: #667085;--importance-bg: #f2f4f7;--importance-border: #d0d5dd}.level-meter{display:grid;min-width:86px;gap:6px}.level-meter strong{color:var(--level-color, #102a56);font-size:14px}.level-meter span{display:grid;grid-template-columns:repeat(5,1fr);gap:3px}.level-meter i{height:6px;border-radius:999px;background:#e4e7ec}.level-meter.level-5{--level-color: #dc2626}.level-meter.level-4{--level-color: #ea580c}.level-meter.level-3{--level-color: #1677ff}.level-meter.level-2,.level-meter.level-1{--level-color: #667085}.level-meter.level-1 i:nth-child(-n+1),.level-meter.level-2 i:nth-child(-n+2),.level-meter.level-3 i:nth-child(-n+3),.level-meter.level-4 i:nth-child(-n+4),.level-meter.level-5 i:nth-child(-n+5){background:var(--level-color, #1677ff)}.glossary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.glossary-grid>div{padding:12px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.glossary-grid strong{display:block;margin-bottom:6px;color:#17346c}.glossary-grid p{margin:0;font-size:13px;line-height:1.6}.source-note{display:grid;gap:8px;padding:12px;border:1px solid #dbe8f7;border-radius:8px;color:#344054;background:#f8fbff;font-size:13px}.source-note span{color:var(--muted)}.loading-state{display:grid;gap:10px}.loading-lines{display:grid;gap:8px}.loading-lines i{display:block;height:12px;border-radius:999px;background:linear-gradient(90deg,#e9eef5,#f8fbff,#e9eef5)}.loading-lines i:nth-child(2){width:76%}.loading-lines i:nth-child(3){width:54%}.news-report-error{margin-bottom:16px}@media(max-width:900px){.app-shell{grid-template-columns:1fr;align-content:start}.sidebar{position:static;height:auto;padding:12px;overflow:hidden}.sidebar .brand{padding:0 4px 12px}.sidebar nav{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.sidebar .nav-title{display:none}.sidebar .nav-item{flex:0 0 auto;padding:0 10px}.main,.report-page.research-detail{padding:18px}.grid,.two-col,.dashboard-grid,.author-summary-grid,.signal-grid,.glossary-grid,.screening-strategy-grid,.admin-screening-layout{grid-template-columns:1fr}.span-3,.span-4,.span-5,.span-6,.span-7,.span-8,.span-12{grid-column:span 1}.page-title,.topbar{align-items:flex-start;flex-direction:column;height:auto}.search{width:100%}table{display:block;overflow-x:auto;white-space:nowrap}.xy-research-report table{display:table;white-space:normal}.task-main,.task-foot,.dashboard-top-actions{align-items:flex-start;flex-direction:column}.dashboard-hero,.dashboard-two-col,.sentiment-grid,.dashboard-feature-grid,.dashboard-metrics,.breadth-grid,.mini-metrics,.rank-columns,.direction-grid,.stock-signal-grid,.catalyst-grid,.strategy-grid,.news-summary-grid,.dashboard-facts-grid,.review-hero,.review-columns,.review-three-col,.deep-dive-grid,.screening-natural,.condition-row,.screening-result-row,.metric-grid,.screening-card-grid,.screening-detail-metrics,.editor-grid{grid-template-columns:1fr}.screening-detail-metrics span{border-right:0;border-bottom:1px solid var(--line)}.screening-detail-metrics span:last-child{border-bottom:0}.market-detail-header,.market-fact-grid{grid-template-columns:1fr}.market-price{justify-items:start}.market-price strong{font-size:30px}.market-chart-controls,.market-chart-caption{align-items:flex-start;flex-direction:column}.market-chart-svg{min-width:580px}.editor-grid .span-two{grid-column:span 1}.hero-bullets{grid-template-columns:1fr}.author-head,.section-title-row{align-items:flex-start;flex-direction:column}.dashboard-section-head{align-items:flex-start}.rank-row{grid-template-columns:28px minmax(0,1fr) auto}.rank-row em{display:none}}@media(max-width:640px){.report-page.research-detail{padding:0}.auth-centered{min-width:100vw;padding:116px 16px 28px}.auth-centered .auth-brand{top:24px}.auth-centered .auth-brand h1{font-size:22px}.auth-centered .auth-brand p{display:none}.auth-card{padding:22px}}:root{--bg: #f2f4f7;--surface: #ffffff;--text: #17191d;--muted: #6e747e;--line: rgba(29, 38, 53, .1);--blue: #0a66ff;--blue-soft: #eaf2ff;--red: #e43b42;--green: #16a36a;--gold: #c27818;--shadow: 0 8px 28px rgba(27, 38, 57, .07);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Segoe UI,sans-serif;font-optical-sizing:auto}html{background:var(--bg)}body{color:#30343b;background:radial-gradient(circle at 86% -8%,rgba(87,147,255,.14),transparent 34rem),linear-gradient(180deg,#f8f9fb 0,#f2f4f7 45%,#eef1f5)}button,a{-webkit-tap-highlight-color:transparent}.app-shell{grid-template-columns:248px minmax(0,1fr);transition:grid-template-columns .38s cubic-bezier(.2,.8,.2,1)}.app-shell.sidebar-collapsed{grid-template-columns:78px minmax(0,1fr)}.sidebar{z-index:20;display:flex;min-height:0;flex-direction:column;padding:14px 12px;overflow:hidden;border:0;border-right:1px solid rgba(255,255,255,.75);background:#f9fafcc7;box-shadow:1px 0 #1922310f;-webkit-backdrop-filter:blur(34px) saturate(170%);backdrop-filter:blur(34px) saturate(170%)}.sidebar nav{min-height:0;flex:1 1 auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;padding-right:2px;scrollbar-color:rgba(85,91,100,.28) transparent;scrollbar-width:thin}.sidebar nav::-webkit-scrollbar{width:5px}.sidebar nav::-webkit-scrollbar-track{background:transparent}.sidebar nav::-webkit-scrollbar-thumb{border-radius:5px;background:#555b643d}.brand{height:56px;flex:0 0 56px;gap:12px;padding:0 8px;margin-bottom:7px;white-space:nowrap}.brand-mark{width:38px;height:38px;flex:0 0 38px;border-radius:12px;font-size:19px;font-weight:780;background:linear-gradient(145deg,#2581ff,#0756db);box-shadow:0 9px 20px #0a66ff42,inset 0 1px #fff6}.brand-copy{transition:opacity .2s}.brand-copy strong{display:block;color:var(--text);font-size:15px;letter-spacing:-.02em}.brand-copy small{margin-top:-1px;font-size:11px}.nav-section{margin:0}.nav-title{margin:17px 10px 6px;padding:0;color:#989ea8;font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:opacity .2s}.nav-item{position:relative;height:39px;gap:11px;padding:0 10px;border-radius:11px;color:#555b64;font-size:13px;font-weight:570;white-space:nowrap;transition:color .18s,background .18s,transform .1s}.nav-item svg{display:block;flex:0 0 18px;color:currentColor;stroke-width:1.8}.nav-item:hover{color:var(--text);background:#ffffffb8}.nav-item.active{color:#004ed6;background:#ffffffeb;box-shadow:0 2px 10px #202e4514,inset 0 0 0 1px #ffffffe6}.nav-item.active:before{content:"";position:absolute;left:-5px;width:3px;height:17px;border-radius:4px;background:var(--blue)}.nav-item:active,.btn:active,.icon-btn:active{transform:scale(.97)}.sidebar-user{position:static;height:50px;flex:0 0 50px;display:flex;align-items:center;gap:10px;padding:6px 8px;margin-top:8px;overflow:hidden;border:1px solid rgba(255,255,255,.8);border-radius:14px;background:#fff9}.sidebar-user-copy{min-width:0;white-space:nowrap;transition:opacity .2s}.sidebar-user-copy strong,.sidebar-user-copy small{display:block;overflow:hidden;text-overflow:ellipsis}.sidebar-user-copy strong{color:var(--text);font-size:12px}.sidebar-user-copy small{color:var(--muted);font-size:10px}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-title,.sidebar-collapsed .nav-item span,.sidebar-collapsed .sidebar-user-copy{opacity:0;pointer-events:none}.main{min-width:0;padding:0}.topbar{position:sticky;top:0;z-index:15;height:70px;margin:0;padding:0 26px;background:linear-gradient(180deg,rgba(248,249,251,.94),rgba(248,249,251,.7) 78%,transparent);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%)}.topbar-leading,.top-actions{display:flex;align-items:center;gap:9px}.search{width:min(390px,35vw);height:38px;gap:9px;padding:0 13px;border:0;border-radius:12px;background:#ffffffb8;box-shadow:inset 0 0 0 1px var(--line);font-size:12px}.search kbd{margin-left:auto;padding:1px 6px;border:0;border-radius:5px;color:#989ea8;background:#eef0f3;font:10px var(--font, inherit)}.icon-btn{border:0;border-radius:11px;background:#ffffffb8;box-shadow:inset 0 0 0 1px var(--line);transition:transform .1s,background .2s,box-shadow .2s}.icon-btn:hover{background:#fff;box-shadow:inset 0 0 0 1px #0a66ff47,0 4px 14px #192a4312}.service-status{display:inline-flex;align-items:center;gap:6px;color:#147651;font-size:10px;font-weight:650}.service-status i{width:6px;height:6px;border-radius:50%;background:#16a36a;box-shadow:0 0 0 4px #16a36a1a}.avatar{width:36px;height:36px;flex:0 0 36px;font-size:12px;background:linear-gradient(145deg,#8b98a9,#4a5667)}.page-container{width:min(1520px,100%);margin:0 auto;padding:12px 30px 58px;animation:pc-page-in .38s cubic-bezier(.2,.8,.2,1) both}.page-title{min-height:82px;margin-bottom:18px;align-items:flex-end}.page-title h1{color:var(--text);font-size:30px;line-height:1.08;letter-spacing:-.035em}.page-title p{margin:7px 0 0;color:var(--muted);font-size:13px}.page-eyebrow{display:block;margin-bottom:6px;color:var(--blue);font-size:10px;font-weight:760;letter-spacing:.1em}.card,.report-paper,.dashboard-section,.market-detail-header,.market-chart-band,.market-panel,.market-detail-section{border:1px solid rgba(255,255,255,.92);border-radius:18px;background:#ffffffe3;box-shadow:var(--shadow),inset 0 0 0 1px #1e28370e}.card{padding:18px}.card h2{color:var(--text);font-size:15px;letter-spacing:-.018em}.grid,.dashboard-grid{gap:14px}.btn{height:36px;gap:7px;border:0;border-radius:11px;color:#3f4650;background:#fff;box-shadow:inset 0 0 0 1px #1d263529,0 1px 2px #141e2d0a;font-size:12px;font-weight:620;transition:transform .1s,box-shadow .2s,background .2s}.btn:hover{box-shadow:inset 0 0 0 1px #0a66ff59,0 4px 14px #192a4314}.btn.primary{border:0;background:linear-gradient(180deg,#1876ff,#075bea);box-shadow:inset 0 1px #ffffff40,0 7px 16px #0a66ff33}.btn.danger{border:0;background:#fff0f0;box-shadow:none}.input{border:0;border-radius:11px;color:var(--text);background:#f3f5f8;box-shadow:inset 0 0 0 1px var(--line);outline:none;transition:box-shadow .2s,background .2s}.input:focus{background:#fff;box-shadow:inset 0 0 0 2px #0a66ff80,0 0 0 4px #0a66ff14}.field{color:#535b66;font-size:11px;font-weight:600}.tag,.pill{min-height:23px;padding:0 9px;font-size:10px;font-weight:670}.blue{color:#004ed6;background:#eaf2ff}.green{color:#16845a;background:#eaf8f1}.red{color:#d92d36;background:#fff0f0}.gold{color:#b86c11;background:#fff5e8}.gray{color:#606873;background:#eef1f5}.tiny{color:#989ea8;font-size:10px}.empty{min-height:220px;display:grid;place-items:center;align-content:center;gap:8px;margin:0;border:0;border-radius:16px;color:var(--muted);background:#f7f8fa;text-align:center}.empty-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;color:var(--blue);background:var(--blue-soft)}.empty strong{color:var(--text);font-size:14px}.empty p{max-width:440px;margin:0;font-size:11px}.error,.warning,.success{border-radius:13px;font-size:12px}.dashboard-top-actions{margin-bottom:14px}.dashboard-hero{padding:24px;border:1px solid rgba(255,255,255,.92);border-radius:20px;color:#30343b;background:linear-gradient(135deg,#fffffffa,#f0f6ffeb);box-shadow:var(--shadow),inset 0 0 0 1px #1e28370e}.dashboard-hero h2{color:var(--text);font-size:15px}.hero-headline,.hero-headline-strong{color:var(--text);letter-spacing:-.02em}.hero-headline-strong{font-size:24px;line-height:1.45}.hero-overview{color:#515967}.regime-tag{color:#004ed6;background:var(--blue-soft)}.soft-tag{color:#16845a;border:0;background:#eaf8f1}.hero-signal-tags span{color:#22539c;border-color:#d7e6ff;background:#f1f6ff}.temperature-panel{border-color:var(--line);border-radius:15px;color:#3f4650;background:#f7f9fce0}.temperature-panel>strong{color:var(--text)}.temperature-track{background:#e7eaf0}.dashboard-metrics{gap:14px}.metric-tile{min-height:112px;padding:16px;border:1px solid rgba(255,255,255,.92);border-radius:18px;background:#ffffffe6;box-shadow:var(--shadow),inset 0 0 0 1px #1e28370e}.metric-tile>div{margin-bottom:12px}.metric-tile strong{margin-bottom:8px;color:var(--text);font-size:25px}.market-tag{padding:0;background:transparent!important;font-size:10px}.dashboard-section{overflow:hidden}.dashboard-section-head{min-height:58px;padding:13px 16px;border-color:var(--line);background:#f7f9fcd1}.dashboard-section-head span:first-child{color:var(--blue);background:var(--blue-soft)}.dashboard-section-head h2{color:var(--text);font-size:15px}.section-body{padding:16px}.metric-box,.analysis-story-card,.insight-list,.rank-list,.direction-card,.catalyst-card,.strategy-card{border-radius:13px;border-color:var(--line)}.metric-box{background:#f5f7f9}.screening-strategy-grid{gap:14px}.screening-strategy-card{border-radius:17px;border-color:#ffffffeb;box-shadow:var(--shadow),inset 0 0 0 1px var(--line);transition:transform .2s,box-shadow .2s}.screening-strategy-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px #1b26391c}.screening-detail-band{border-radius:18px;border-color:#ffffffeb;background:linear-gradient(135deg,#fff,#f2f7ff);box-shadow:var(--shadow)}.screening-table-card,.table-card{overflow:hidden;padding:0}table{font-size:11px}th{padding:10px 13px;color:#777f8b;background:#f5f7f9d9;font-size:9px;letter-spacing:.03em}td{padding:11px 13px;border-color:var(--line);color:#454b55}tr:hover td{background:#f8faff}.admin-filter{padding-bottom:14px;border-bottom:1px solid var(--line)}.admin-screening-layout{gap:14px}.admin-strategy-row,.condition-row,.editor-section,.validation-summary,.parse-panel,.run-list{border-radius:12px}.task-row{border-radius:14px;border-color:var(--line)}.task-progress{height:5px}.task-progress span{border-radius:inherit;background:var(--blue)}.market-detail-page{gap:14px}.market-detail-header{padding:20px}.market-price strong{letter-spacing:-.04em}.market-chart-band{padding:18px}.market-chart-wrap{border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}.market-chart-tooltip{min-height:34px;padding:0 12px;border-bottom:1px solid var(--line);font-size:10px}.market-segments,.auth-segments{padding:3px;border-radius:11px;background:#e9ecf1}.market-segments button,.auth-segments button{border-radius:8px}.market-segments button.active,.auth-segments button.active{color:var(--text);background:#fff;box-shadow:0 2px 8px #1e283c14}.market-panel,.market-detail-section{overflow:hidden}.market-section-head{border-color:var(--line);background:#f7f9fcd1}.market-facts>div{border-radius:11px;border-color:var(--line);background:#f7f8fa}.auth-centered{display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(420px,.92fr);min-height:100vh;padding:0;background:#f5f7fa}.auth-centered .auth-brand{position:relative;top:auto;left:auto;transform:none;width:100%;height:100%;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,7vw,100px);overflow:hidden;color:#fff;background:radial-gradient(circle at 70% 15%,rgba(115,179,255,.6),transparent 23rem),linear-gradient(145deg,#0754d0,#09347e);text-align:left}.auth-centered .auth-brand h1{max-width:620px;margin:16px 0 0;color:#fff;font-size:clamp(36px,4vw,54px);line-height:1.07;letter-spacing:-.045em}.auth-centered .auth-brand p{max-width:520px;margin:18px 0 0;color:#ffffffb8;font-size:14px}.auth-centered .auth-brand .pill{align-self:flex-start;color:#fff;background:#ffffff29}.auth-centered .auth-card-wrap{width:100%;padding:35px}.auth-card{max-width:410px;padding:30px;border:0;border-radius:22px;background:#fff;box-shadow:0 20px 60px #1b26391f}.auth-card h2{color:var(--text);font-size:24px;letter-spacing:-.03em}.qr-frame{border-radius:18px}.report-page.research-detail{padding:12px 0 30px}.public-top{position:sticky;top:70px;z-index:10;margin-bottom:14px;padding:10px 14px;border-radius:15px;background:#f9fafcd1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.report-paper:not(.stock-research-paper):not(.industry-research-paper){max-width:940px;margin:0 auto;padding:44px 54px;border-radius:24px}.report-title h1{color:var(--text);font-size:32px;letter-spacing:-.035em}@keyframes pc-page-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(max-width:1120px){.page-container{padding-right:20px;padding-left:20px}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:78px minmax(680px,1fr)}.sidebar{position:sticky;height:100vh;padding:14px 12px}.sidebar nav{display:block;padding:0;overflow-x:hidden;overflow-y:auto}.sidebar .brand{padding:0 8px}.sidebar .nav-title{display:block}.sidebar .nav-item{padding:0 10px}.main{padding:0}.topbar{height:70px;align-items:center;flex-direction:row}.page-title{align-items:flex-end;flex-direction:row}.auth-centered{grid-template-columns:1fr;min-width:0;padding:0;place-items:stretch}.auth-centered .auth-brand{display:flex;width:100%;height:auto;min-height:0;padding:30px 24px 26px}.auth-centered .auth-brand h1{max-width:560px;font-size:30px}.auth-centered .auth-brand p{margin-top:12px}.auth-centered .auth-card-wrap{width:100%;padding:28px 20px 44px}.auth-centered .auth-card{margin:0 auto}.auth-centered .auth-entry-grid{width:100%;margin-top:16px}.auth-centered .auth-entry-grid a{color:#fff;border-color:#ffffff2e}}@media(max-width:640px){.auth-centered .auth-brand{padding:24px 20px 20px}.auth-centered .auth-brand h1{font-size:27px}.auth-centered .auth-brand p{display:none}.auth-centered .auth-card-wrap{padding:22px 20px 36px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}}@media(prefers-reduced-transparency:reduce){.sidebar,.topbar,.public-top{background:#f8f9fb;-webkit-backdrop-filter:none;backdrop-filter:none}}@media(max-width:700px){.membership-redeem,.membership-redeem-form{grid-template-columns:1fr}.membership-card-list .disable-reason{width:100%}.membership-facts{grid-template-columns:1fr}}@media(prefers-contrast:more){.card,.dashboard-section,.market-detail-header,.market-chart-band,.btn,.input{border:1px solid #4a4f58;box-shadow:none}}.compass-loading{display:grid;gap:14px}.compass-summary{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));margin-bottom:14px;border-block:1px solid var(--line);background:#ffffffb3}.compass-summary>div{min-width:0;padding:14px 16px;border-right:1px solid var(--line)}.compass-summary>div:last-child{border-right:0}.compass-summary span,.compass-summary strong{display:block}.compass-summary span{margin-bottom:5px;color:var(--muted);font-size:11px}.compass-summary strong{overflow-wrap:anywhere;font-size:15px;font-variant-numeric:tabular-nums}.compass-opportunity-text{color:var(--red)}.compass-risk-text{color:var(--green)}.compass-partial-text{color:#9a5a13}.compass-legend{display:flex;flex-wrap:wrap;gap:10px 20px;margin-bottom:12px;color:var(--muted);font-size:12px}.compass-legend span{display:inline-flex;align-items:center;gap:6px}.compass-legend i{width:11px;height:11px;border:2px solid currentColor;border-radius:50%}.compass-legend i.confirmed{background:currentColor}.compass-legend i.opportunity{color:var(--red)}.compass-legend i.risk{color:var(--green)}.compass-legend i.unknown{border-style:dashed;color:#98a2b3}.compass-matrix-wrap{max-height:calc(100vh - 265px);overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.compass-matrix{width:100%;min-width:1770px;border-collapse:separate;border-spacing:0;table-layout:fixed}.compass-matrix th,.compass-matrix td{width:112px;min-width:112px;height:68px;padding:8px;border:0;border-right:1px solid #edf1f5;border-bottom:1px solid #edf1f5;text-align:center;vertical-align:middle}.compass-matrix th{position:sticky;top:0;z-index:3;height:78px;color:#475467;background:#f8fafc;font-size:12px;font-weight:720;line-height:1.35}.compass-matrix th span{display:block;overflow-wrap:anywhere}.compass-matrix th.opportunity-heading{color:#a8322a;background:#fff7f6}.compass-matrix th.risk-heading{color:#08704e;background:#f3fbf7}.compass-matrix .compass-asset-heading,.compass-matrix .compass-asset-cell{position:sticky;left:0;width:250px;min-width:250px;text-align:left}.compass-matrix .compass-asset-heading{z-index:5;padding-left:16px;background:#f4f7fa}.compass-matrix .compass-asset-cell{z-index:2;padding:0;background:#fff;box-shadow:5px 0 9px -9px #344054}.compass-matrix tbody tr.index-row .compass-asset-cell,.compass-matrix tbody tr.index-row td{background:#fbfdff}.compass-matrix tbody tr.etf-start td{border-top:2px solid #c9d4e2}.compass-asset-cell>button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 9px;width:100%;min-height:67px;padding:8px 14px;border:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.compass-asset-cell>button:hover{background:#f5f8fc}.compass-asset-name{min-width:0;overflow:hidden;font-size:14px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.compass-asset-code{grid-column:1;color:var(--muted);font-size:10px}.compass-asset-quote{grid-column:2;grid-row:1 / span 2;display:grid;justify-items:end;align-content:center;font-variant-numeric:tabular-nums}.compass-asset-quote b{font-size:13px}.compass-asset-quote em{margin-top:3px;font-size:10px;font-style:normal;font-weight:700}.compass-asset-quote .up{color:var(--red)}.compass-asset-quote .down{color:var(--green)}.compass-data-error{grid-column:1 / -1;display:inline-flex;align-items:center;gap:4px;color:#9a5a13;font-size:10px}.compass-signal{display:inline-flex;min-width:62px;min-height:45px;align-items:center;justify-content:center;gap:3px;border:0;border-radius:7px;background:transparent;font-size:10px}button.compass-signal{flex-direction:column;cursor:pointer}button.compass-signal:hover{background:#f6f7f9}.compass-signal.opportunity{color:var(--red)}.compass-signal.risk{color:var(--green)}.compass-signal.pending svg{fill:#fff}.compass-signal.confirmed svg{fill:currentColor;color:currentColor}.compass-signal.empty,.compass-signal.unknown{color:#98a2b3}.compass-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:#10182870;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.compass-dialog{position:relative;width:min(430px,100%);padding:26px;border-radius:8px;background:#fff;box-shadow:0 24px 64px #10182838}.compass-dialog>.icon-btn{position:absolute;top:14px;right:14px}.compass-dialog-icon{display:grid;width:46px;height:46px;place-items:center;margin-bottom:18px;border-radius:50%}.compass-dialog-icon.opportunity{color:var(--red);background:#fff1f0}.compass-dialog-icon.risk{color:var(--green);background:#ecfdf3}.compass-dialog-asset{color:var(--muted);font-size:12px}.compass-dialog h2{margin:7px 0 12px;font-size:22px}.compass-dialog>strong{display:block;margin-top:12px;font-variant-numeric:tabular-nums}.compass-dialog p{margin:9px 0 0;color:#344054;font-size:13px}.compass-warning-level{display:inline-flex;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:700}.compass-warning-level.opportunity{color:var(--red);background:#fff1f0}.compass-warning-level.risk{color:var(--green);background:#ecfdf3}@media(max-width:900px){.compass-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.compass-summary>div:nth-child(3){border-right:0}.compass-summary>div:nth-child(-n+3){border-bottom:1px solid var(--line)}.compass-matrix-wrap{max-height:calc(100vh - 300px)}}@media(max-width:640px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:62px minmax(0,1fr)}.sidebar{padding-right:8px;padding-left:8px}.sidebar .brand{padding-right:4px;padding-left:4px}.sidebar .nav-item{padding-right:6px;padding-left:6px}.topbar{padding-right:12px;padding-left:12px}.topbar .search,.topbar .service-status,.topbar .top-actions>.tag{display:none}.topbar-leading{min-width:36px}.page-container{padding-right:12px;padding-left:12px}.compass-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.compass-summary>div:nth-child(3){border-right:1px solid var(--line)}.compass-summary>div:nth-child(2n){border-right:0}.compass-summary>div:nth-child(-n+4){border-bottom:1px solid var(--line)}.compass-legend{gap:8px 12px}.compass-matrix-wrap{max-height:calc(100vh - 355px);margin-inline:-12px;border-radius:0}.compass-matrix{display:table;overflow:visible}.compass-matrix{min-width:1640px}.compass-matrix th,.compass-matrix td{width:102px;min-width:102px}.compass-matrix .compass-asset-heading,.compass-matrix .compass-asset-cell{width:190px;min-width:190px}.compass-asset-cell>button{padding-right:9px;padding-left:9px}}.backtest-ui{--bt-blue: #1768e5;--bt-blue-soft: #eaf2ff;--bt-red: #d9363e;--bt-red-soft: #fff0f1;--bt-green: #16865c;--bt-green-soft: #eaf8f1;--bt-amber: #a86408;--bt-amber-soft: #fff6e7;--bt-line: rgba(29, 34, 43, .1);--bt-surface: rgba(255, 255, 255, .9);color:var(--text)}.backtest-ui .page-title{margin-bottom:24px}.backtest-ui .page-title p{max-width:720px;line-height:1.55}.backtest-ui .tag.gold{color:var(--bt-amber);background:var(--bt-amber-soft)}.backtest-ui .tag.gray{color:#606873;background:#eef1f5}.backtest-ui .btn,.backtest-ui .icon-btn{transition:transform .1s ease-out,box-shadow .2s ease-out,background-color .2s ease-out}.bt-metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 24px;border-block:1px solid var(--bt-line)}.bt-metric-strip>div{min-width:0;padding:17px 20px;border-right:1px solid var(--bt-line)}.bt-metric-strip>div:last-child{border-right:0}.bt-metric-strip span,.bt-metric-strip small,.bt-metric-strip strong{display:block}.bt-metric-strip span{color:var(--muted);font-size:11px}.bt-metric-strip strong{margin:4px 0 2px;font-size:25px;line-height:1.2;font-variant-numeric:tabular-nums}.bt-metric-strip small{color:var(--muted);font-size:10px}.backtest-ui .backtest-tabs{display:flex;align-items:center;gap:4px;margin:0 0 18px;overflow-x:auto;border-bottom:1px solid var(--bt-line)}.backtest-ui .backtest-tabs button{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 15px;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);background:transparent;box-shadow:none;font-size:12px;font-weight:700;white-space:nowrap}.backtest-ui .backtest-tabs button:hover{color:var(--text);background:#ffffff73}.backtest-ui .backtest-tabs button.active{border-bottom-color:var(--bt-blue);color:var(--text)}.backtest-ui .backtest-tabs button:active{transform:scale(.97)}.bt-skeleton{display:grid;gap:11px;min-height:250px;align-content:center;justify-items:center}.bt-skeleton i{display:block;width:min(560px,80%);height:18px;border-radius:6px;background:linear-gradient(100deg,#e5e8ed 20%,#f7f8fa,#e5e8ed 68%);background-size:220% 100%;animation:bt-shimmer 1.25s linear infinite}.bt-skeleton i:nth-child(2){width:min(440px,65%)}.bt-skeleton i:nth-child(3){width:min(300px,50%)}.bt-inline-skeleton{min-height:100px;border-radius:8px;background:linear-gradient(100deg,#e5e8ed 20%,#f7f8fa,#e5e8ed 68%);background-size:220% 100%;animation:bt-shimmer 1.25s linear infinite}@keyframes bt-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.bt-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px}.bt-toolbar .tag{margin-left:auto}.bt-toolbar select,.bt-search{min-height:40px;border:1px solid var(--bt-line);border-radius:7px;color:var(--text);background:var(--bt-surface)}.bt-toolbar select{min-width:124px;padding:0 30px 0 10px}.bt-search{display:flex;align-items:center;gap:8px;width:min(270px,100%);padding:0 11px;color:var(--muted)}.bt-search input{min-width:0;flex:1;border:0;outline:0;color:var(--text);background:transparent}.backtest-ui .backtest-table-band{overflow:hidden;padding:0;border-block:1px solid var(--bt-line);background:#ffffff94}.backtest-ui .data-table th{height:40px;padding:0 12px;color:var(--muted);background:#f5f7f9d1;font-size:10px;white-space:nowrap}.backtest-ui .data-table td{min-height:58px;padding:13px 12px;color:var(--text);vertical-align:middle}.backtest-ui .data-table td>span,.backtest-ui .backtest-run-table td:first-child strong,.backtest-ui .backtest-run-table td:first-child span,.backtest-ui .backtest-run-table td:nth-child(5) span{display:block}.backtest-ui .backtest-run-table td:first-child span,.backtest-ui .backtest-run-table td:nth-child(5) span{margin-top:4px;color:var(--muted);font-size:10px}.backtest-ui .compact-progress{width:92px;height:6px;overflow:hidden;border-radius:99px;background:#70798824}.backtest-ui .compact-progress i{display:block;height:100%;border-radius:inherit;background:var(--bt-blue)}.backtest-ui .compact-progress+small{display:block;margin-top:5px;color:var(--muted);font-size:9px}.backtest-ui .template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.backtest-ui .backtest-item{min-height:178px;padding:17px;border:1px solid var(--bt-line);border-radius:8px;background:var(--bt-surface);box-shadow:0 4px 14px #1a212d0a}.backtest-ui .backtest-item h3{margin:14px 0 6px;color:var(--text);font-size:16px}.backtest-ui .backtest-item p{min-height:42px;margin:0;color:var(--muted);font-size:12px;line-height:1.55}.backtest-ui .backtest-item-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--bt-line);color:var(--muted);font-size:10px}.backtest-ui .backtest-list{border-block:1px solid var(--bt-line)}.backtest-ui .subscription-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;min-height:66px;padding:11px 4px;border-bottom:1px solid var(--bt-line)}.backtest-ui .subscription-row:last-child{border-bottom:0}.backtest-ui .subscription-row strong,.backtest-ui .subscription-row span{display:block}.backtest-ui .subscription-row span{margin-top:3px;color:var(--muted);font-size:11px}.backtest-ui .switch{position:relative;width:42px;height:24px}.backtest-ui .switch input{position:absolute;opacity:0;pointer-events:none}.backtest-ui .switch i{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:#c8cdd5;transition:background-color .18s ease-out}.backtest-ui .switch i:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #171c2633;transition:transform .18s ease-out}.backtest-ui .switch input:checked+i{background:var(--bt-green)}.backtest-ui .switch input:checked+i:after{transform:translate(18px)}.bt-create-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:start}.bt-create-form{min-width:0}.bt-form-section{padding:24px 0;border-top:1px solid var(--bt-line)}.bt-form-section:first-child{padding-top:0;border-top:0}.bt-section-title{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start;margin-bottom:16px}.bt-section-title>span{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;color:var(--bt-blue);background:var(--bt-blue-soft);font-size:11px;font-weight:760}.bt-section-title h2{margin:0;color:var(--text);font-size:18px}.bt-section-title p{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.55}.backtest-ui .segmented.large{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:9px;background:#6973831a}.backtest-ui .segmented.large button{min-height:40px;border:0;border-radius:6px;color:var(--muted);background:transparent;box-shadow:none;font-size:12px;font-weight:700}.backtest-ui .segmented.large button.active{color:var(--bt-blue);background:#fff;box-shadow:0 2px 7px #1b212c1a}.bt-field-grid{margin-top:14px;gap:14px}.backtest-ui .bt-field-grid>label,.backtest-ui .field-label-block{min-width:0;color:#535b66;font-size:11px;font-weight:650}.backtest-ui .bt-field-grid input,.backtest-ui .bt-field-grid select,.backtest-ui .bt-field-grid textarea,.backtest-ui .field-label-block input,.backtest-ui .field-label-block textarea{width:100%;min-height:42px;margin-top:7px;padding:8px 11px;border:1px solid var(--bt-line);border-radius:7px;outline:0;color:var(--text);background:var(--bt-surface);box-shadow:none}.backtest-ui .bt-field-grid textarea,.backtest-ui .field-label-block textarea{min-height:88px;resize:vertical}.backtest-ui .bt-field-grid input:focus,.backtest-ui .bt-field-grid select:focus,.backtest-ui .bt-field-grid textarea:focus,.backtest-ui .field-label-block textarea:focus{border-color:#1768e58c;box-shadow:0 0 0 3px #1768e514}.backtest-ui .bt-field-grid small,.backtest-ui .field-label-block small{display:block;margin-top:5px;color:var(--muted);font-size:9px;font-weight:500;line-height:1.45}.backtest-ui .bt-strategy-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.backtest-ui .bt-strategy-choice button{min-height:104px;align-content:start;padding:14px;border:1px solid var(--bt-line);border-radius:8px;color:var(--text);background:var(--bt-surface);box-shadow:none;text-align:left}.backtest-ui .bt-strategy-choice button svg{color:var(--muted)}.backtest-ui .bt-strategy-choice button strong,.backtest-ui .bt-strategy-choice button span{display:block}.backtest-ui .bt-strategy-choice button strong{margin:9px 0 4px;font-size:13px}.backtest-ui .bt-strategy-choice button span{color:var(--muted);font-size:10px;line-height:1.45}.backtest-ui .bt-strategy-choice button.active{border-color:var(--bt-blue);background:var(--bt-blue-soft);box-shadow:0 0 0 2px #1768e50f}.backtest-ui .bt-strategy-choice button.active svg{color:var(--bt-blue)}.backtest-ui .field-help{margin:9px 0 0;color:var(--muted);font-size:10px;line-height:1.55}.bt-optimize-row{margin-top:16px;padding:13px 14px;border:1px solid var(--bt-line);border-radius:8px;background:#ffffff94}.bt-optimize-row small{color:var(--muted)}.backtest-ui .bt-summary-rail{position:sticky;top:84px;display:block;overflow:hidden;padding:0;border:1px solid rgba(23,104,229,.14);border-radius:8px;background:var(--bt-surface);box-shadow:0 12px 30px #181f2b14}.bt-summary-head{display:flex;align-items:center;gap:10px;padding:15px 16px;color:var(--bt-blue);border-bottom:1px solid var(--bt-line);background:var(--bt-blue-soft)}.bt-summary-head h3{margin:0;color:var(--text);font-size:14px}.bt-summary-head span{display:block;margin-top:2px;color:var(--bt-blue);font-size:9px}.bt-summary-list{margin:0;padding:7px 16px}.bt-summary-list>div{display:flex;justify-content:space-between;gap:13px;padding:9px 0;border-bottom:1px solid var(--bt-line);font-size:10px}.bt-summary-list>div:last-child{border-bottom:0}.bt-summary-list dt{color:var(--muted)}.bt-summary-list dd{max-width:170px;margin:0;color:var(--text);font-weight:650;text-align:right;overflow-wrap:anywhere}.backtest-ui .bt-risk-check{display:grid;grid-template-columns:18px 1fr;gap:8px;margin:4px 16px 12px;padding:11px;border:0;border-radius:7px;color:#704604;background:var(--bt-amber-soft);font-size:10px;line-height:1.5}.backtest-ui .bt-risk-check input{width:16px;height:16px;margin:0;accent-color:var(--bt-blue)}.bt-submit{width:calc(100% - 32px);margin:0 16px}.bt-fee-note{display:block;padding:11px 16px 15px;color:var(--muted);font-size:9px;line-height:1.5}.bt-task-hero{display:grid;grid-template-columns:150px minmax(0,1fr);gap:28px;align-items:center;padding:28px 0;border-block:1px solid var(--bt-line)}.bt-progress-ring{position:relative;display:grid;width:132px;height:132px;place-items:center;border-radius:50%}.bt-progress-ring:after{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border-radius:50%;background:var(--bg)}.bt-progress-ring span{position:relative;z-index:1;font-size:27px;font-weight:760;font-variant-numeric:tabular-nums}.bt-task-copy h2{margin:8px 0 5px;font-size:22px}.bt-task-copy p{max-width:660px;margin:0 0 15px;color:var(--muted);font-size:12px;line-height:1.6}.bt-stage-list{margin-top:22px;border-top:1px solid var(--bt-line)}.bt-stage-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:55px;border-bottom:1px solid var(--bt-line)}.bt-stage-icon{display:grid;width:23px;height:23px;place-items:center;border-radius:50%;color:var(--muted);background:#6b73811a;font-size:10px}.bt-stage-row strong,.bt-stage-row small{display:block}.bt-stage-row strong{font-size:12px}.bt-stage-row small,.bt-stage-row>span:last-child{color:var(--muted);font-size:10px}.bt-stage-row.done .bt-stage-icon{color:var(--bt-green);background:var(--bt-green-soft)}.bt-stage-row.current .bt-stage-icon{color:var(--bt-blue);background:var(--bt-blue-soft)}.bt-stage-row.skipped{opacity:.55}.bt-task-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:22px 0 0;border-block:1px solid var(--bt-line)}.bt-task-meta>div{min-width:0;padding:14px 16px;border-right:1px solid var(--bt-line)}.bt-task-meta>div:last-child{border-right:0}.bt-task-meta dt{color:var(--muted);font-size:10px}.bt-task-meta dd{margin:4px 0 0;font-size:12px;font-weight:650;overflow-wrap:anywhere}.bt-verdict-band{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(200px,.5fr);gap:22px;align-items:center;margin-bottom:22px;padding:21px 0;border-block:1px solid var(--bt-line)}.bt-verdict-copy{padding-left:18px;border-left:4px solid var(--bt-green)}.bt-verdict-copy.cautious{border-color:var(--bt-amber)}.bt-verdict-copy.negative{border-color:var(--bt-red)}.bt-verdict-copy>span{color:var(--bt-green);font-size:10px;font-weight:760}.bt-verdict-copy.cautious>span{color:var(--bt-amber)}.bt-verdict-copy.negative>span{color:var(--bt-red)}.bt-verdict-copy h2{margin:5px 0 7px;font-size:22px}.bt-verdict-copy p{max-width:780px;margin:0;color:var(--muted);font-size:12px;line-height:1.65}.bt-verdict-score{text-align:right}.bt-verdict-score strong,.bt-verdict-score span{display:block}.bt-verdict-score strong{color:var(--bt-green);font-size:42px;line-height:1.05;font-variant-numeric:tabular-nums}.bt-verdict-score span{margin-top:6px;color:var(--muted);font-size:9px}.bt-report-section{padding:22px 0;border-top:1px solid var(--bt-line)}.bt-report-tabs+.bt-report-section{border-top:0}.bt-report-section>h2,.bt-report-section header h2{margin:0 0 5px;color:var(--text);font-size:18px}.bt-report-section header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.bt-report-section header p{margin:0;color:var(--muted);font-size:11px}.backtest-ui .equity-chart{position:relative;min-height:310px;margin-top:16px;overflow:hidden;border:1px solid var(--bt-line);border-radius:8px;background:var(--bt-surface)}.backtest-ui .equity-chart svg{display:block;width:100%;min-height:280px}.backtest-ui .equity-line{fill:none;stroke:var(--bt-blue);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.backtest-ui .drawdown-line{fill:none;stroke:#8a909a;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.backtest-ui .axis,.backtest-ui .grid-line{stroke:#606a7921;stroke-width:1}.backtest-ui .cursor-line{stroke:var(--bt-blue);stroke-width:1;stroke-dasharray:4 4}.backtest-ui .cursor-dot{fill:#fff;stroke:var(--bt-blue);stroke-width:3}.backtest-ui .chart-dates{display:flex;justify-content:space-between;padding:0 12px 10px;color:var(--muted);font-size:9px}.bt-chart-tooltip{position:absolute;z-index:3;min-width:146px;padding:8px 10px;transform:translate(-50%);pointer-events:none;border-radius:7px;color:#fff;background:#181b21e6;box-shadow:0 10px 28px #1419222e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:10px}.bt-chart-tooltip strong,.bt-chart-tooltip span{display:block}.bt-chart-tooltip span{margin-top:2px;color:#ffffffc2}.backtest-ui .chart-legend{display:flex;gap:18px;margin-top:10px;color:var(--muted);font-size:10px}.bt-parameter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:14px 0 0;border-block:1px solid var(--bt-line)}.bt-parameter-grid>div{min-width:0;padding:13px 15px;border-right:1px solid var(--bt-line);border-bottom:1px solid var(--bt-line)}.bt-parameter-grid>div:nth-child(3n){border-right:0}.bt-parameter-grid dt{color:var(--muted);font-size:10px}.bt-parameter-grid dd{margin:4px 0 0;font-size:12px;font-weight:650;overflow-wrap:anywhere}.bt-report-note,.bt-share-privacy{margin-top:15px;padding:11px 13px;border-left:3px solid var(--bt-amber);color:#744a0a;background:var(--bt-amber-soft);font-size:10px;line-height:1.6}.bt-ai-panel{padding:18px;border:1px solid rgba(107,91,181,.18);border-radius:8px;background:#f6f3ff}.bt-ai-panel p{color:#4d465f;line-height:1.7}.backtest-ui .optimization-band{border:0}.backtest-ui .analysis-summary{margin-top:14px;padding:13px 15px;border-left:3px solid var(--bt-blue);background:var(--bt-blue-soft)}.backtest-ui .analysis-summary h3{margin:0 0 4px;font-size:12px}.backtest-ui .analysis-summary p{margin:0;color:var(--muted);font-size:10px}.backtest-ui .share-dialog{width:min(440px,100%);padding:25px;border-radius:8px;background:#fcfdfff5;-webkit-backdrop-filter:blur(26px) saturate(150%);backdrop-filter:blur(26px) saturate(150%)}.backtest-ui .share-dialog h2{margin:14px 0 7px}.backtest-ui .share-dialog>p{color:var(--muted);font-size:11px;line-height:1.6}.backtest-ui .share-dialog .check-row{margin:10px 0;padding:11px;border:1px solid var(--bt-line);border-radius:7px}.backtest-ui .share-dialog .btn.primary{width:100%;margin-top:12px}.backtest-ui .share-dialog>input{width:100%;min-height:40px;margin-top:10px;padding:0 10px;border:1px solid var(--bt-line);border-radius:7px}.backtest-ui .backtest-disclaimer{margin:24px 0 0;padding:12px 0;border-top:1px solid rgba(168,100,8,.28);color:#765018;font-size:10px;line-height:1.6}@media(max-width:1100px){.backtest-ui .template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bt-create-layout{grid-template-columns:1fr}.backtest-ui .bt-summary-rail{position:static;order:-1}.bt-summary-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.bt-summary-list>div{display:block;padding-right:10px;border-right:1px solid var(--bt-line)}.bt-summary-list>div:nth-child(3n){border-right:0}.bt-summary-list dd{max-width:none;margin-top:3px;text-align:left}}@media(max-width:760px){.bt-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.bt-metric-strip>div:nth-child(2n){border-right:0}.bt-metric-strip>div:nth-child(-n+2){border-bottom:1px solid var(--bt-line)}.bt-toolbar{flex-wrap:wrap}.bt-toolbar .tag{margin-left:0}.backtest-ui .template-grid,.backtest-ui .bt-strategy-choice,.backtest-ui .field-grid.two,.backtest-ui .field-grid.three,.bt-task-hero{grid-template-columns:1fr}.bt-progress-ring{width:112px;height:112px}.bt-task-meta,.bt-parameter-grid{grid-template-columns:1fr 1fr}.bt-task-meta>div:nth-child(2n),.bt-parameter-grid>div:nth-child(2n){border-right:0}.bt-parameter-grid>div:nth-child(3n){border-right:1px solid var(--bt-line)}.bt-verdict-band{grid-template-columns:1fr}.bt-verdict-score{text-align:left}.bt-verdict-score strong{font-size:34px}.bt-summary-list{grid-template-columns:1fr 1fr}.bt-summary-list>div:nth-child(3n){border-right:1px solid var(--bt-line)}.bt-summary-list>div:nth-child(2n){border-right:0}}@media(prefers-reduced-motion:reduce){.bt-skeleton i,.bt-inline-skeleton{animation:none}.backtest-ui .backtest-tabs button:active{transform:none}}@media(prefers-reduced-transparency:reduce){.bt-chart-tooltip,.backtest-ui .share-dialog{background:#fff;color:var(--text);-webkit-backdrop-filter:none;backdrop-filter:none}.bt-chart-tooltip span{color:var(--muted)}}.task-monitor-page{--tm-line:#d8dee8;--tm-ink:#1c2432;--tm-muted:#6c7584;--tm-blue:#246fd6;--tm-green:#217a4a;--tm-red:#c53f3f;--tm-amber:#a96508;color:var(--tm-ink)}.task-monitor-page .page-title{margin-bottom:16px}.task-monitor-page .page-title h1{font-size:28px;letter-spacing:0}.task-monitor-page .page-title p{margin:4px 0 0}.task-monitor-alert{display:flex;align-items:center;gap:8px;margin:0 0 12px}.task-monitor-alert .icon-btn{margin-left:auto}.task-monitor-tabs{display:flex;align-items:center;gap:4px;margin-bottom:18px;border-bottom:1px solid var(--tm-line);overflow-x:auto}.task-monitor-tabs button{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 15px;border:0;border-bottom:2px solid transparent;color:var(--tm-muted);background:transparent;font-weight:700;white-space:nowrap;cursor:pointer}.task-monitor-tabs button.active{border-color:var(--tm-blue);color:var(--tm-ink)}.task-metric-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:20px;border-block:1px solid var(--tm-line);background:#ffffff6b}.task-metric{min-width:0;padding:16px 14px;border-right:1px solid var(--tm-line)}.task-metric:last-child{border-right:0}.task-metric span{display:flex;align-items:center;gap:7px;color:var(--tm-muted);font-size:12px}.task-metric strong{display:block;margin-top:8px;font-size:24px;font-variant-numeric:tabular-nums;letter-spacing:0}.task-metric.tone-active strong,.task-metric.tone-active svg{color:var(--tm-blue)}.task-metric.tone-success strong,.task-metric.tone-success svg{color:var(--tm-green)}.task-metric.tone-danger strong,.task-metric.tone-danger svg{color:var(--tm-red)}.task-monitor-band{padding:0 0 22px;border-bottom:1px solid var(--tm-line)}.task-band-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:46px}.task-band-header h2{margin:0;font-size:17px}.task-band-header span{color:var(--tm-muted);font-size:12px}.task-monitor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 0 14px}.task-search{display:flex;align-items:center;width:min(390px,100%);min-height:40px;padding:0 11px;border:1px solid var(--tm-line);border-radius:7px;color:var(--tm-muted);background:#fff}.task-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;padding:0 8px}.execution-filters{justify-content:flex-start}.execution-filters .task-search{margin-right:auto}.execution-filters .input{width:auto;min-width:128px}.task-monitor-table{width:100%;min-width:980px;border-collapse:collapse;table-layout:fixed;background:#ffffff85}.task-monitor-table th{height:38px;padding:0 10px;border-bottom:1px solid var(--tm-line);color:var(--tm-muted);text-align:left;font-size:11px;font-weight:700}.task-monitor-table td{height:62px;padding:9px 10px;border-bottom:1px solid #e8ecf2;vertical-align:middle;font-size:12px;overflow:hidden}.task-monitor-table tr:last-child td{border-bottom:0}.task-monitor-table tbody tr:hover{background:#f7f9fc}.task-monitor-table .task-row-alert{box-shadow:inset 3px 0 var(--tm-red);background:#fff9f8}.task-monitor-table td strong,.task-monitor-table td small,.task-monitor-table td code{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-monitor-table td small{margin-top:4px;color:var(--tm-muted);font-size:10px}.task-monitor-table td code{margin-top:4px;color:#566174;font-size:10px}.task-monitor-table th:first-child,.task-monitor-table td:first-child{width:132px}.task-monitor-table th:nth-child(2),.task-monitor-table td:nth-child(2){width:220px}.task-monitor-table .task-actions-col{width:138px;text-align:right}.task-monitor-table td:last-child{width:46px;text-align:right}.execution-table th:first-child,.execution-table td:first-child{width:104px}.execution-table th:nth-child(2),.execution-table td:nth-child(2){width:190px}.execution-table th:nth-child(3),.execution-table td:nth-child(3){width:92px}.execution-table th:nth-child(4),.execution-table td:nth-child(4),.execution-table th:nth-child(5),.execution-table td:nth-child(5){width:132px}.execution-table th:nth-child(6),.execution-table td:nth-child(6){width:82px}.execution-table th:nth-child(7),.execution-table td:nth-child(7){width:104px}.execution-table th:nth-child(8),.execution-table td:nth-child(8){width:190px}.task-summary,.task-result-message{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-result-message{max-width:220px}.task-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.task-state-dot{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#a4acb8}.task-state-dot.enabled{background:var(--tm-green)}.task-toggle{position:relative;width:38px;height:22px;padding:0;border:0;border-radius:11px;background:#c8ced8;cursor:pointer}.task-toggle i{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .18s}.task-toggle.on{background:var(--tm-green)}.task-toggle.on i{transform:translate(16px)}.task-toggle:disabled{opacity:.5;cursor:not-allowed}.task-status{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:5px;font-size:10px;font-weight:750;white-space:nowrap}.task-status.neutral,.task-status.waiting{color:#596273;background:#eef1f5}.task-status.running{color:#1759a8;background:#e9f2ff}.task-status.success{color:#1d6d42;background:#e7f6ed}.task-status.failed,.task-status.missed{color:#a63232;background:#fdebea}.task-status.skipped{color:#875509;background:#fff1d5}.monitor-progress{width:100%;height:3px;margin-top:7px;overflow:hidden;background:#e7ebf1}.monitor-progress i{display:block;height:100%;background:var(--tm-blue)}.task-pagination{display:flex;align-items:center;justify-content:space-between;min-height:52px;color:var(--tm-muted);font-size:12px}.task-pagination>div{display:flex;align-items:center;gap:8px}.task-pagination strong{min-width:56px;text-align:center;color:var(--tm-ink)}.task-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;justify-content:flex-end;background:#171f2b6b}.task-drawer{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(620px,100vw);height:100vh;background:#fff;box-shadow:-18px 0 55px #171f2b2e}.task-drawer>header,.task-drawer>footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 22px;border-bottom:1px solid var(--tm-line)}.task-drawer>footer{justify-content:flex-end;border-top:1px solid var(--tm-line);border-bottom:0}.task-drawer>header span{color:var(--tm-muted);font-size:11px}.task-drawer>header h2{max-width:500px;margin:4px 0 0;font-size:19px;overflow-wrap:anywhere}.task-drawer-body{min-height:0;padding:20px 22px 32px;overflow:auto}.execution-detail-status{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--tm-line);color:var(--tm-muted);font-size:12px}.detail-section{padding:18px 0;border-bottom:1px solid var(--tm-line)}.detail-section h3{margin:0 0 13px;font-size:13px}.detail-section p{margin:0;color:#4d5664;font-size:12px;line-height:1.65;overflow-wrap:anywhere}.detail-section code{display:inline-block;margin-top:9px;color:#5b6472;font-size:10px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 20px;margin:0}.detail-grid dt{color:var(--tm-muted);font-size:10px}.detail-grid dd{margin:4px 0 0;font-size:12px;font-weight:650;overflow-wrap:anywhere}.detail-error{color:var(--tm-red)!important}.detail-progress>div{display:flex;justify-content:space-between;font-size:11px}.detail-progress>i{display:block;height:6px;margin:9px 0;overflow:hidden;background:#e8ecf2}.detail-progress b{display:block;height:100%;background:var(--tm-blue)}.attempt-list,.operation-list{display:grid;gap:0}.attempt-list article,.operation-list article{padding:11px 0;border-bottom:1px solid #edf0f4}.attempt-list article:last-child,.operation-list article:last-child{border-bottom:0}.attempt-list article>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.attempt-list span,.operation-list span,.operation-list small{display:block;margin-top:4px;color:var(--tm-muted);font-size:10px}.technical-detail{margin-top:18px;border:1px solid var(--tm-line);border-radius:6px}.technical-detail summary{padding:11px 13px;cursor:pointer;font-size:12px;font-weight:700}.technical-detail pre,.json-block{max-height:300px;margin:0;padding:13px;overflow:auto;color:#d9e1ec;background:#202733;font:11px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.json-block{border-radius:6px}.retry-link{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;color:var(--tm-blue);background:transparent}.task-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.task-editor .field{margin:0 0 15px}.task-editor .code-input,.task-editor .code-area{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.cron-preview{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin:2px 0 12px;padding:10px 12px;border:1px solid var(--tm-line);border-radius:6px;background:#f7f9fc}.cron-preview span{color:var(--tm-muted);font-size:10px}.cron-preview code{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:11px}.next-runs{margin:0 0 16px;padding:0 0 0 28px;color:var(--tm-muted);font-size:11px;line-height:1.8}.switch-field{display:flex;align-items:center;gap:9px;margin-top:18px;font-size:12px;font-weight:650}.switch-field input{width:16px;height:16px;accent-color:var(--tm-green)}.spin{animation:task-spin 1s linear infinite}@keyframes task-spin{to{transform:rotate(360deg)}}@media(max-width:1200px){.task-metric-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.task-metric:nth-child(3n){border-right:0}.task-metric:nth-child(-n+3){border-bottom:1px solid var(--tm-line)}.execution-filters{flex-wrap:wrap}.execution-filters .task-search{width:100%;margin-right:0}}@media(max-width:760px){.task-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.task-metric:nth-child(3n){border-right:1px solid var(--tm-line)}.task-metric:nth-child(2n){border-right:0}.task-metric:nth-child(-n+4){border-bottom:1px solid var(--tm-line)}.task-monitor-toolbar{align-items:stretch;flex-direction:column}.task-monitor-toolbar .actions{justify-content:flex-end}.execution-filters .input{width:100%}.task-form-grid,.detail-grid{grid-template-columns:1fr}.task-drawer>header,.task-drawer>footer,.task-drawer-body{padding-right:16px;padding-left:16px}}@media(prefers-reduced-motion:reduce){.spin{animation:none}}
