:root{--ink:#102c32;--muted:#71858a;--line:#dce7e6;--bg:#f4f7f7;--panel:#fff;--teal:#15957f;--teal2:#2fc6a7;--nav:#0d2d32;--soft:#e8f7f2;--red:#d8514d;--amber:#a77a22;--shadow:0 8px 28px rgba(28,58,62,.07)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template:54px 1fr/276px 1fr;min-height:100vh}.titlebar{grid-column:1/-1;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 20px;gap:16px;color:#233b40}.traffic-lights{display:flex;gap:9px}.traffic-lights i{width:13px;height:13px;border-radius:50%;background:#ff5f57}.traffic-lights i:nth-child(2){background:#febc2e}.traffic-lights i:nth-child(3){background:#28c840}.titlebar strong{font-size:14px}.prototype-tag{font-size:11px;padding:4px 8px;border-radius:6px;background:#edf2f2;color:#708388}.titlebar-spacer{flex:1}.support{font-size:12px;color:#62777c}.user-chip{border:0;background:#f0f5f4;border-radius:20px;padding:8px 13px;color:#2b5555}.sidebar{grid-row:2;background:var(--nav);color:#c2d5d5;padding:28px 20px 20px;display:flex;flex-direction:column;min-height:calc(100vh - 54px)}.brand{display:flex;align-items:center;gap:14px;padding:0 8px 30px}.brand b{display:block;color:white;font-size:20px;letter-spacing:-.5px}.brand small{display:block;margin-top:4px;color:#91aeae}.brand-mark{width:48px;height:48px;border-radius:13px;background:linear-gradient(135deg,#22b298,#158975);display:flex;align-items:center;justify-content:center;gap:3px}.brand-mark span{width:2px;height:22px;background:#d6fff6}.sidebar nav{display:flex;flex-direction:column;gap:7px;border-top:1px solid rgba(255,255,255,.1);padding-top:22px}.nav-item{border:0;border-radius:10px;padding:14px 15px;background:transparent;color:#9eb6b8;text-align:left;font-weight:600;display:flex;gap:12px;align-items:center}.nav-item span{font-size:18px}.nav-item:hover,.nav-item.active{background:#24484d;color:#fff}.nav-item.active{box-shadow:inset 3px 0 var(--teal2)}.sidebar-card{border:1px solid #31575c;background:#12373c;border-radius:12px;padding:17px;margin-top:30px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#7ba09e}.connection-line{display:flex;align-items:center;gap:8px;margin:10px 0 3px}.connection-line i,.notice>i{width:8px;height:8px;border-radius:50%;background:#39c6a8;box-shadow:0 0 0 4px rgba(57,198,168,.12)}.connection-line strong{font-size:13px;color:#dff6f1}.sidebar-card p{font-size:11px;color:#87a9a9}.sidebar-card button{width:100%;border:1px solid #456b6f;background:transparent;color:#b9d4d3;padding:8px;border-radius:7px}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:18px 8px 0}.sidebar-foot div{display:flex;justify-content:space-between;font-size:11px;margin-bottom:10px}.sidebar-foot b{color:#d9ebea}.sidebar-foot .online{color:#50d1b6}.sidebar-foot small{display:block;color:#698a8c;margin-top:15px}.main{padding:30px 34px 50px;overflow:auto}.page{display:none;max-width:1440px;margin:auto}.page.active{display:block}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.page-heading.compact{align-items:center}.breadcrumb{color:#8a9c9f;font-size:12px;margin:0 0 9px}.page-heading h1{margin:0;font-size:29px;letter-spacing:-1px}.page-heading p:last-child{margin:8px 0 0;color:var(--muted);font-size:13px}.button{border:1px solid var(--line);border-radius:8px;padding:11px 16px;font-weight:650;background:#fff;color:#27484c}.button.primary{border-color:var(--teal);background:var(--teal);color:#fff}.button.secondary{border-color:#abd8cf;background:#effaf7;color:#127f6d}.button.ghost{background:#fff}.button.wide{width:100%;margin-top:16px}.strategy-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.editor-panel,.rule-panel{padding:23px}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-title>div{display:flex;align-items:center;gap:10px}.panel-title h2{font-size:16px;margin:0}.number{width:27px;height:27px;border-radius:8px;background:var(--soft);color:var(--teal);font-size:11px;font-weight:800;display:grid;place-items:center}.market-badge,.success-badge{font-size:11px;background:#f2f7f6;border-radius:20px;padding:7px 10px;color:#527072}.success-badge{background:var(--soft);color:#13836f}.editor-panel textarea{resize:vertical;width:100%;min-height:218px;border:1px solid #cadcda;border-radius:10px;padding:17px;line-height:1.8;color:#213c40;background:#fbfdfd;outline:none}.editor-panel textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(21,149,127,.08)}.editor-meta{display:flex;justify-content:space-between;color:#91a0a2;font-size:10px;margin-top:8px}.example-row{display:flex;align-items:center;gap:7px;margin-top:16px;color:#86999c;font-size:11px}.example{border:1px solid #d5e3e1;background:#fff;color:#527175;border-radius:15px;padding:5px 10px}.rule-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:#f5f8f8;border-radius:9px;padding:13px;margin-bottom:13px}.rule-summary small{display:block;color:#87999c;margin-bottom:5px}.rule-summary strong{font-size:12px}.logic-block{border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:8px;padding:12px 14px;margin:10px 0}.logic-block.exit{border-left-color:#d39b35}.logic-block header{display:flex;justify-content:space-between;margin-bottom:9px}.logic-block header b{font-size:12px}.logic-block header span{font-size:10px;color:#798e91}.logic-block p{font-size:12px;margin:8px 0;display:flex;align-items:center}.logic-block p i{font-style:normal;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#eef5f4;margin-right:8px;color:#627d7f;font-size:9px}.logic-block p em{font-style:normal;color:var(--teal);font-weight:700;margin:0 4px}.allocation{display:flex;justify-content:space-between;background:#f8f9f9;border-radius:8px;padding:12px 14px;font-size:11px}.allocation span{color:#7f9295}.saved-head{display:flex;justify-content:space-between;align-items:center;margin:26px 2px 12px}.saved-head>div{display:flex;align-items:center;gap:10px}.saved-head h2,.section-title{font-size:17px;margin:0}.saved-head span{font-size:11px;color:#809396}.text-button{border:0;background:transparent;color:var(--teal);font-size:11px}.strategy-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.strategy-card{text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px;color:inherit}.strategy-card.selected{border-color:#88c9bd;box-shadow:0 4px 18px rgba(21,149,127,.08)}.status{font-size:9px;color:#9b8b6e;background:#f7f3e9;border-radius:10px;padding:4px 7px}.status.on{color:#168772;background:#e9f7f2}.strategy-card h3{margin:14px 0 6px;font-size:14px}.strategy-card p{font-size:11px;color:#7c9093}.strategy-card div{display:flex;justify-content:space-between;border-top:1px solid #edf1f1;padding-top:11px;margin-top:13px;font-size:10px}.strategy-card div span{color:#899a9c}.data-source{font-size:11px;color:#617a7c;background:#eaf4f2;padding:8px 11px;border-radius:7px}.backtest-layout{display:grid;grid-template-columns:310px 1fr;gap:20px}.config-panel{padding:21px;height:max-content}.config-panel h2{font-size:17px;margin:0 0 19px}.config-panel label{display:block;font-size:11px;color:#5d7477;margin:14px 0}.config-panel select,.config-panel input{width:100%;border:1px solid #d5e1e0;border-radius:7px;background:#fff;padding:10px;color:#233f43;margin-top:6px}.symbol-input{display:flex}.symbol-input input{border-radius:7px 0 0 7px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.symbol-input button{border:0;background:#1b8876;color:#fff;border-radius:0 7px 7px 0;padding:0 13px;margin-top:6px}.symbol-info{padding:11px;border-radius:8px;background:#edf7f4;display:grid;grid-template-columns:auto 1fr;gap:3px 8px}.symbol-info b{grid-row:1/3}.symbol-info span{font-size:10px}.symbol-info small{color:#458071}.symbol-info.invalid{background:#fff0ef;color:#b63c38}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.money-input{position:relative}.money-input span{position:absolute;left:10px;top:16px;color:#779093}.money-input input{padding-left:23px}.check-row{display:flex!important;align-items:center;gap:8px}.check-row input{width:auto;margin:0}.local-note{font-size:9px;color:#89999c;text-align:center;line-height:1.5}.results{display:flex;flex-direction:column;gap:15px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric-grid>div{background:#fff;border:1px solid var(--line);border-radius:11px;padding:16px}.metric-grid small,.metric-grid span{display:block;color:#809295;font-size:10px}.metric-grid strong{display:block;font-size:22px;margin:9px 0 5px}.positive{color:#c95049!important}.negative{color:#178b73!important}.chart-panel,.trade-table{padding:20px}.chart-head{display:flex;justify-content:space-between;align-items:center}.chart-head h2{font-size:16px;margin:0 0 5px}.chart-head span,.legend{font-size:10px;color:#829497}.legend i{display:inline-block;width:18px;height:2px;background:var(--teal);vertical-align:middle;margin:0 5px 0 12px}.legend i:nth-child(2){background:#b7c3c3;border-top:1px dashed #b7c3c3}.chart-panel svg{width:100%;height:285px;margin-top:7px}.grid-lines line{stroke:#e8eeee;stroke-width:1}.area{fill:url(#area)}.strategy-line{fill:none;stroke:var(--teal);stroke-width:3}.benchmark-line{fill:none;stroke:#b6c2c3;stroke-width:2;stroke-dasharray:5 6}.trade-table table{width:100%;border-collapse:collapse;margin-top:13px;font-size:10px}.trade-table th{text-align:left;color:#849699;font-weight:500;padding:10px;border-bottom:1px solid var(--line)}.trade-table td{padding:12px 10px;border-bottom:1px solid #edf1f1}.notice{display:flex;align-items:center;gap:15px;background:#e9f7f2;border:1px solid #cce9df;padding:15px 18px;border-radius:11px;margin-bottom:18px}.notice>i{margin:0 5px}.notice b,.notice span{display:block;font-size:12px}.notice span{color:#6d8586;font-size:10px;margin-top:4px}.task-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.task-card{padding:20px}.task-card header{display:flex;align-items:center;gap:11px}.symbol-logo{width:42px;height:42px;border-radius:10px;background:#e1f5ef;color:#128573;display:grid;place-items:center;font-weight:900}.symbol-logo.blue{background:#e8effa;color:#476aa3}.task-card h2{margin:0;font-size:18px}.task-card header div:nth-child(2) span{font-size:10px;color:#839598}.switch{margin-left:auto}.switch input{display:none}.switch span{display:block;width:40px;height:22px;border-radius:12px;background:#9fb0b2;position:relative}.switch span:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;left:2px;top:2px;transition:.2s}.switch input:checked+span{background:var(--teal)}.switch input:checked+span:after{left:20px}.task-state{font-size:10px;margin:18px 0;padding:8px;border-radius:7px;text-align:center}.task-state.paused{background:#f5f1e7;color:#9a752d}.task-state.running{background:#e7f7f2;color:#148370}.task-card dl{margin:0}.task-card dl div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #edf1f1;font-size:11px}.task-card dt{color:#819497}.task-card dd{margin:0}.task-card footer{display:flex;gap:8px;margin-top:16px}.task-card footer button{flex:1;border:1px solid var(--line);border-radius:7px;background:#fff;padding:8px;color:#536f72}.new-task{border:1px dashed #a9c1be;border-radius:14px;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#678285}.new-task span{font-size:35px;color:var(--teal)}.new-task b{margin:12px 0 4px}.new-task p{font-size:11px}.broker-card{display:flex;align-items:center;padding:22px}.broker-logo{width:56px;height:56px;border-radius:13px;background:#101b1e;color:#fff;display:grid;place-items:center;font-size:28px;font-weight:900;margin-right:17px}.broker-main{flex:1}.broker-main>div:first-child{display:flex;align-items:center;gap:9px}.broker-main h2{font-size:17px;margin:0}.broker-main p{font-size:11px;color:#778c8f}.permission-row{display:flex;gap:8px}.permission-row span{font-size:10px;background:#f3f7f6;padding:7px 9px;border-radius:6px}.permission-row b{color:#168570}.broker-actions{display:flex;gap:8px}.more{border:1px solid var(--line);background:white;border-radius:8px}.security-card{display:flex;align-items:center;padding:18px;margin:15px 0 26px}.security-card>span{font-size:28px;margin:0 15px;color:var(--teal)}.security-card h2{font-size:14px;margin:0 0 5px}.security-card p{font-size:11px;color:#778b8d;margin:0}.available-brokers{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:13px}.available-brokers button{display:flex;gap:12px;align-items:center;text-align:left;border:1px solid var(--line);background:#fff;border-radius:11px;padding:17px;color:inherit}.available-brokers button>b{width:39px;height:39px;display:grid;place-items:center;background:#edf4f3;border-radius:9px}.available-brokers span{font-weight:700}.available-brokers small{display:block;color:#87999c;font-weight:400;margin-top:4px}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:#153a3f;color:#fff;padding:12px 18px;border-radius:9px;font-size:12px;opacity:0;pointer-events:none;transition:.25s;box-shadow:0 10px 30px rgba(0,0,0,.18)}.toast.show{opacity:1;transform:translate(-50%,0)}
.compile-errors{margin-top:12px;border:1px solid #efc1bf;background:#fff3f2;color:#b23f3b;border-radius:8px;padding:9px 12px;font-size:11px}.compile-errors p{margin:5px 0}.button:disabled{cursor:not-allowed;opacity:.48}.empty-state{grid-column:1/-1;border:1px dashed #b8cac8;border-radius:12px;padding:28px;text-align:center;color:#7a9092;background:#f9fbfb;font-size:12px}.update-dialog{border:0;border-radius:15px;padding:24px;width:min(460px,calc(100vw - 32px));color:var(--ink);box-shadow:0 24px 80px rgba(0,0,0,.28)}.update-dialog::backdrop{background:rgba(8,30,34,.58);backdrop-filter:blur(3px)}.update-dialog h2{margin:0 0 14px;font-size:19px}.update-dialog p{color:#61777a;line-height:1.6;font-size:12px}.update-dialog progress{width:100%;height:8px;margin:7px 0 18px;accent-color:var(--teal)}.update-dialog>div{display:flex;gap:9px;justify-content:flex-end}
html.native-shell .traffic-lights,html.native-shell .titlebar>strong,html.native-shell .prototype-tag{display:none}html.native-shell .titlebar{justify-content:flex-end;padding-right:24px}.broker-error{color:#c2413d!important;background:#fff2f1;border-radius:7px;padding:8px 10px;margin:10px 0 0!important}.broker-dialog{border:0;border-radius:16px;padding:0;width:min(590px,calc(100vw - 30px));color:var(--ink);box-shadow:0 26px 90px rgba(0,0,0,.3)}.broker-dialog::backdrop{background:rgba(8,30,34,.58);backdrop-filter:blur(3px)}.broker-dialog form{padding:25px}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px}.dialog-heading span{font-size:9px;letter-spacing:1.6px;color:var(--teal);font-weight:800}.dialog-heading h2{font-size:20px;margin:6px 0}.dialog-heading button{border:0;background:#eff4f3;border-radius:50%;width:30px;height:30px;color:#5d7477;font-size:18px}.dialog-note{color:#75898c;line-height:1.7;font-size:11px;margin:0 0 17px}.broker-dialog label{display:block;color:#536d70;font-size:11px;margin:12px 0}.broker-dialog input,.broker-dialog select{display:block;width:100%;border:1px solid #d1dfdd;border-radius:8px;padding:11px;margin-top:6px;color:#18363a;background:#fff}.broker-dialog input:focus,.broker-dialog select:focus{outline:0;border-color:var(--teal);box-shadow:0 0 0 3px rgba(21,149,127,.08)}.credential-rule{display:flex;gap:12px;background:#f3f7f6;border-radius:8px;padding:11px 12px;font-size:10px;line-height:1.6;color:#728689}.credential-rule b{white-space:nowrap;color:#36595d}.dialog-result{font-size:11px;min-height:18px;color:#c2413d}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:10px}
@media(max-width:1050px){.app-shell{grid-template-columns:220px 1fr}.main{padding:25px 22px}.strategy-grid,.backtest-layout{grid-template-columns:1fr}.strategy-cards,.task-grid{grid-template-columns:1fr 1fr}.metric-grid{grid-template-columns:1fr 1fr}.support{display:none}}
@media(max-width:720px){.app-shell{display:block}.titlebar{position:sticky;top:0;z-index:5}.sidebar{min-height:auto;padding:14px}.brand,.sidebar-card,.sidebar-foot{display:none}.sidebar nav{padding:0;border:0;flex-direction:row;overflow:auto}.nav-item{white-space:nowrap;padding:10px}.main{padding:18px 12px}.page-heading{align-items:flex-start}.strategy-grid,.strategy-cards,.task-grid,.available-brokers{grid-template-columns:1fr}.rule-summary{grid-template-columns:1fr 1fr}.metric-grid{grid-template-columns:1fr 1fr}.permission-row{flex-wrap:wrap}.broker-card{align-items:flex-start}.broker-actions{display:none}}

html.backtest-open,html.backtest-open body{height:100%;overflow:hidden}html.backtest-open .app-shell{height:100vh;min-height:0}html.backtest-open .sidebar{height:calc(100vh - 54px);min-height:0;overflow:hidden}html.backtest-open .main{min-width:0;min-height:0;overflow:hidden;padding-bottom:24px}#backtest.active{display:flex;height:100%;min-height:0;flex-direction:column}#backtest .page-heading{flex:0 0 auto;margin-bottom:16px}#backtest .backtest-layout{flex:1;min-height:0;grid-template-columns:280px minmax(0,1fr)}#backtest .config-panel{overflow:hidden}#backtest .results{min-width:0;min-height:0}#backtest .trade-table{display:flex;min-height:0;flex:1;flex-direction:column;padding:18px}#totalProfit.positive,#totalProfit.negative{font-size:12px;font-weight:750}.trade-scroll{flex:1;min-height:0;margin-top:13px;overflow-y:auto;overflow-x:hidden;border:1px solid #edf1f1;border-radius:8px}.trade-scroll table{width:100%;min-width:0;margin-top:0;table-layout:fixed}.trade-scroll thead th{position:sticky;top:0;z-index:2;background:#fff}.trade-scroll th,.trade-scroll td{padding-left:7px;padding-right:7px;white-space:nowrap}.trade-scroll th:nth-child(1),.trade-scroll td:nth-child(1),.trade-scroll th:nth-child(5),.trade-scroll td:nth-child(5){width:18%}.trade-scroll th:nth-child(2),.trade-scroll td:nth-child(2),.trade-scroll th:nth-child(3),.trade-scroll td:nth-child(3){width:7%}.trade-scroll th:nth-child(4),.trade-scroll td:nth-child(4),.trade-scroll th:nth-child(6),.trade-scroll td:nth-child(6){width:11%}.trade-scroll th:nth-child(7),.trade-scroll td:nth-child(7),.trade-scroll th:nth-child(8),.trade-scroll td:nth-child(8){width:14%}

#backtest .metric-grid{grid-template-columns:repeat(5,minmax(0,1fr))}#backtest .metric-grid>div{min-width:0;padding:14px}#backtest .metric-grid #qqqPeriod{line-height:1.35}

[hidden]{display:none!important}body{background:radial-gradient(circle at 78% 0,rgba(47,198,167,.07),transparent 30%),#f4f7f7}.panel{border-color:#d8e5e3;box-shadow:0 12px 34px rgba(20,55,59,.065)}.button{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 7px 18px rgba(17,65,67,.1)}.button.danger{border-color:#cf4e49;background:#cf4e49;color:#fff}.heading-actions{display:flex;gap:9px}.editor-badges{display:flex;align-items:center;gap:7px}.editor-mode-badge{padding:6px 9px;border-radius:999px;font-size:10px;font-weight:750;background:#e9f7f2;color:#168570}.editor-mode-badge.edit{background:#fff2d9;color:#916211}.editor-mode-badge.view{background:#edf1f2;color:#63777a}.strategy-name-field{display:block;margin:-2px 0 12px;color:#60777a;font-size:11px;font-weight:650}.strategy-name-field input{display:block;width:100%;margin-top:7px;padding:11px 13px;border:1px solid #cadcda;border-radius:9px;background:#fbfdfd;color:#18373b;font-size:14px;font-weight:750;outline:0}.strategy-name-field input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(21,149,127,.09)}.strategy-name-field input[readonly],.editor-panel textarea[readonly]{border-color:#e1e9e8;background:#f4f7f7;color:#5d7174;cursor:default}.example:disabled{cursor:not-allowed;opacity:.45}.edit-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.edit-actions .button{width:100%}.readonly-note{display:flex;gap:10px;align-items:center;margin-top:16px;padding:12px 14px;border:1px solid #dce7e6;border-radius:9px;background:#f6f9f9}.readonly-note span{padding:4px 7px;border-radius:5px;background:#e8eeee;color:#5d7174;font-size:9px;font-weight:800}.readonly-note p{margin:0;color:#728689;font-size:10px}.empty-rule{color:#94a3a5!important}.strategy-cards{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.strategy-card{padding:0;overflow:hidden;background:#fff;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.strategy-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(20,64,67,.1)}.strategy-card.selected{border-color:#62baa9;box-shadow:0 0 0 2px rgba(21,149,127,.09),0 10px 26px rgba(21,149,127,.09)}.strategy-card-main{display:block;width:100%;padding:18px;text-align:left;border:0;background:#fff;color:inherit}.strategy-card-main h3{margin:14px 0 6px;font-size:15px}.strategy-card-main p{margin:0;color:#7c9093;font-size:11px}.strategy-card .strategy-meta{display:flex;justify-content:space-between;margin-top:15px;padding-top:11px;border-top:1px solid #edf1f1;font-size:10px}.strategy-card .strategy-meta span{color:#899a9c}.strategy-card footer{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid #edf1f1;background:#fafcfc}.strategy-card footer button{border:0;border-right:1px solid #edf1f1;background:transparent;padding:10px;color:#49696d;font-size:10px;font-weight:700}.strategy-card footer button:last-child{border-right:0}.strategy-card footer button:hover{background:#edf7f4;color:#147f6d}.strategy-card footer .danger-text{color:#b94b47}.strategy-card footer .danger-text:hover{background:#fff0ef;color:#a63834}.strategy-dialog{width:min(460px,calc(100vw - 32px));padding:0;border:0;border-radius:16px;color:var(--ink);box-shadow:0 28px 90px rgba(0,0,0,.28)}.strategy-dialog::backdrop{background:rgba(8,30,34,.58);backdrop-filter:blur(4px)}.strategy-dialog form{padding:25px}.strategy-dialog label{display:block;margin:16px 0;color:#536d70;font-size:11px}.strategy-dialog input{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #d1dfdd;border-radius:8px;outline:0}.strategy-dialog input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(21,149,127,.08)}.danger-dialog .dialog-heading span{color:#c34a46}.delete-message{margin:17px 0 8px;font-size:15px;font-weight:800}.main::-webkit-scrollbar,.trade-scroll::-webkit-scrollbar{width:8px;height:8px}.main::-webkit-scrollbar-thumb,.trade-scroll::-webkit-scrollbar-thumb{border-radius:8px;background:#bdcecc;border:2px solid transparent;background-clip:padding-box}

.success-badge.pending{background:#edf2f2;color:#718487}.success-badge.error{background:#fff0ef;color:#b54440}

.field-error{margin:7px 0 0;color:var(--red);font-size:11px;font-weight:700}.symbol-input input.invalid{border-color:var(--red);box-shadow:0 0 0 3px rgba(216,81,77,.1)}.symbol-info.neutral{color:#71858a;background:#f5f8f8}

.strategy-builder{display:grid;gap:12px}.condition-field{border:1px solid #d9e6e4;border-radius:12px;background:#fbfdfd;padding:13px}.condition-field>header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.condition-field>header>span,.parameter-card>span{display:grid;place-items:center;min-width:28px;height:28px;border-radius:8px;background:#e6f7f2;color:#118672;font-size:10px;font-weight:850}.condition-field header div{display:flex;flex-direction:column;gap:2px}.condition-field header b,.parameter-card b{font-size:12px}.condition-field header small,.parameter-card small{color:#829598;font-size:9px}.condition-field textarea{display:block;width:100%;min-height:82px;resize:vertical;border:1px solid #c9dcda;border-radius:9px;background:#fff;padding:11px 12px;color:#17373b;font:inherit;line-height:1.7;outline:0}.condition-field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(21,149,127,.09)}.field-meta{display:flex;justify-content:space-between;margin-top:7px;color:#8a9b9d;font-size:9px}.parameter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.parameter-card{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto auto;column-gap:9px;border:1px solid #d9e6e4;border-radius:12px;background:#fbfdfd;padding:12px}.parameter-card>span{grid-row:1/3}.parameter-card>b{align-self:end}.parameter-card>small{align-self:start;margin-top:2px}.parameter-card select{grid-column:1/-1;width:100%;margin-top:10px;padding:9px 10px;border:1px solid #cadcda;border-radius:8px;background:#fff;color:#17373b;font-weight:750;outline:0}.parameter-card select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(21,149,127,.09)}.parameter-card.loss-card>span{background:#fff0ef;color:#bb4843}.parameter-card.loss-card select{color:#bb4843}.condition-field textarea[readonly],.parameter-card select:disabled{border-color:#e1e9e8;background:#f2f6f5;color:#667a7d;opacity:1;cursor:default}.strategy-builder+.wide{margin-top:14px}
@media(max-width:720px){.parameter-grid{grid-template-columns:1fr}.condition-field textarea{min-height:100px}}

.ai-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.ai-actions .wide{margin-top:14px}.ai-conversation{margin-top:14px;padding:14px;border:1px solid #b7dcd5;background:#f1faf7;border-radius:10px;font-size:12px}.ai-conversation p{margin:8px 0;color:#4d6a69;line-height:1.6}.ai-conversation label{display:grid;gap:6px;margin:12px 0;color:#365a5c}.ai-conversation input{width:100%;border:1px solid #b8d4cf;border-radius:8px;padding:10px}.ai-conversation button{margin-top:7px}

.field-meta{justify-content:flex-end}.heading-actions #strategyCount{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;padding:0 6px;border-radius:999px;background:#e8f3f1;color:#177c6c;font-size:9px}.strategies-library-dialog{max-width:calc(100vw - 40px);max-height:82vh;padding:0;border:0;border-radius:17px;color:var(--ink);box-shadow:0 28px 90px rgba(0,0,0,.3)}.strategies-library-dialog::backdrop{background:rgba(8,30,34,.58);backdrop-filter:blur(4px)}.library-shell{padding:24px;max-height:82vh;overflow-y:auto}.library-heading{margin-bottom:18px}.library-heading p{margin:5px 0 0;color:#819497;font-size:10px}.strategies-library-dialog .strategy-cards{grid-template-columns:repeat(var(--strategy-columns),minmax(0,1fr));gap:14px}.strategies-library-dialog .empty-state{min-width:300px}.strategies-library-dialog::-webkit-scrollbar,.library-shell::-webkit-scrollbar{width:8px}.library-shell::-webkit-scrollbar-thumb{border-radius:8px;background:#bdcecc;border:2px solid transparent;background-clip:padding-box}
@media(max-width:760px){.strategies-library-dialog{width:calc(100vw - 24px)!important;max-width:none}.strategies-library-dialog .strategy-cards{grid-template-columns:1fr}.library-shell{padding:18px}}

.parameter-card{display:flex;flex-direction:column;gap:3px}.parameter-card>b{margin-top:1px}.parameter-card select{grid-column:auto}.session-picker{margin:15px 0 4px;padding:0;border:0}.session-picker legend{margin-bottom:8px;color:#5d7477;font-size:11px}.session-picker>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.session-picker button{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;margin:0;padding:9px 10px;border:1px solid #d5e1e0;border-radius:8px;background:#fff;color:#607579;text-align:left;font-size:11px;font-weight:700;transition:background .16s,border-color .16s,color .16s,box-shadow .16s}.session-picker button span{display:flex;flex-direction:column;gap:2px;pointer-events:none}.session-picker small{color:#91a0a2;font-size:8px;font-weight:500}.session-picker button i{display:grid;place-items:center;width:17px;height:17px;border:1px solid #cad8d6;border-radius:50%;color:transparent;font-size:10px;font-style:normal;pointer-events:none}.session-picker button[aria-pressed="true"]{border-color:#75c5b5;background:#eaf8f4;color:#137e6c;box-shadow:inset 0 0 0 1px rgba(21,149,127,.08)}.session-picker button[aria-pressed="true"] i{border-color:#15957f;background:#15957f;color:#fff}.session-picker button:focus-visible{outline:2px solid rgba(21,149,127,.25);outline-offset:1px}
/* Spacious strategy writing area and actionable AI notices. */
#strategies .strategy-grid{align-items:stretch;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr)}
.editor-panel{display:flex;flex-direction:column}.editor-panel .strategy-builder{flex:1;grid-template-rows:minmax(210px,1fr) minmax(185px,.85fr) auto}
.condition-field{display:flex;flex-direction:column;padding:15px}.condition-field textarea{flex:1;min-height:160px;height:clamp(160px,20vh,260px);font-size:14px;line-height:1.8;padding:14px 15px;resize:vertical;letter-spacing:.15px}
#exitCondition{min-height:140px;height:clamp(140px,17vh,220px)}.condition-field>header{margin-bottom:12px}.condition-field header b{display:flex;align-items:center;gap:14px;font-size:13px}.condition-field header small{font-size:10px;margin-top:3px}
.example-link{font-size:11px;font-weight:600;color:var(--teal);background:transparent;border:0;padding:3px 0}.example-link:hover{text-decoration:underline}.example-link:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:3px}
.parameter-card{grid-template-columns:1fr}.editor-panel .ai-actions{margin-top:8px}.ai-conversation.needs-attention{background:#fff8f7;border-color:#efc5bf}.ai-conversation.needs-attention>strong,.ai-conversation.needs-attention label{color:#bd3e36}.ai-conversation.needs-attention>strong{display:block;font-size:14px}.ai-conversation.needs-attention input{border-color:#e6beb9;background:white}.ai-conversation.needs-attention p{color:#765a57}
.example-dialog{width:min(760px,calc(100vw - 48px));max-height:90vh;overflow:auto}.example-content{padding:28px}.example-image{display:block;width:100%;height:auto;margin:18px 0;border:1px solid #dce8e6;border-radius:12px}.example-content>label{display:block;font-size:12px;font-weight:650;color:#5b7376;margin:18px 0 8px}.example-content textarea{width:100%;height:190px;border:1px solid #d3e2df;border-radius:10px;background:#f8fbfa;padding:14px;font-size:13px;line-height:1.8;color:#254b4d;resize:vertical;user-select:text}.example-note{font-size:11px;line-height:1.7;color:#778f91;margin-bottom:0}
@media(max-width:1000px){#strategies .strategy-grid{grid-template-columns:1fr}.editor-panel .strategy-builder{grid-template-rows:auto auto auto}.condition-field textarea{min-height:170px}.example-content{padding:20px}}

/* Account tools share the workspace instead of occupying a full-width title row. */
.app-shell{grid-template:1fr/276px 1fr}.sidebar{grid-row:1;min-height:100vh}.main{position:relative;padding-top:20px}.workspace-tools{display:flex;justify-content:flex-end;align-items:center;gap:16px;max-width:1440px;margin:0 auto 8px}.workspace-tools .user-chip{font-size:12px;padding:6px 12px}.page-heading{margin-bottom:18px}.native-shell .app-shell{grid-template-rows:1fr}.native-shell .sidebar{grid-row:1}.native-shell .main{padding-top:16px}

.backtest-prerequisite:not([hidden]){display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#fff3f1;border:1px solid #efc2bc;border-radius:12px;margin-bottom:14px;color:#bc4039;font-size:13px}.app-shell[inert]{filter:blur(3px)}

.code-review{margin-top:16px;border:1px solid #cddedb;border-radius:10px;padding:12px;color:#315a59;font-size:12px}.code-review summary{cursor:pointer;font-weight:650}.code-review p,.execution-model{font-size:11px;line-height:1.6;color:#698083}.code-review textarea{width:100%;height:240px;margin-top:10px;padding:12px;border:1px solid #d8e4e1;border-radius:8px;font:12px/1.7 ui-monospace,monospace;resize:vertical;white-space:pre;overflow:auto;background:#f8fbfa}
.backtest-error #backtestDataSource,.backtest-error #totalProfit,.backtest-error #winLoss,.backtest-error #tradeCount,.backtest-error #tradeTable td,#backtestPrerequisiteText,#brokerDialogResult{color:#c63d3d!important}
#toast.error{color:#b42318;background:#fff0ee;border:1px solid #edaaa3}
.backtest-error #tradesBody td,.backtest-error #tradeSummary{color:#c63d3d!important}
.task-card .task-strategy-title{text-align:center;font-size:24px;font-weight:750;line-height:1.3;margin:0 0 22px;overflow-wrap:anywhere}
.task-symbol-field{min-width:0;flex:1}.task-symbol-field label{display:block;font-size:11px;color:var(--mute);margin-bottom:5px}.task-symbol-field select{max-width:100%;font-size:23px;font-weight:750;color:var(--ink);background:#f6faf9;border:1px solid var(--line);border-radius:8px;padding:5px 24px 5px 8px}.task-symbol-field small{display:block;color:var(--mute);font-size:11px;line-height:1.6;margin-top:6px}

.task-state.error{color:#c43f3b;background:#fff0ef;white-space:normal;line-height:1.6;}

.parameter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.parameter-card{display:flex;flex-direction:column;padding:10px 8px;gap:3px}.parameter-card>b{align-self:flex-start}.parameter-card small{min-height:24px;font-size:9px}.parameter-card select{font-size:12px;padding:7px 4px;margin-top:4px;min-width:0}.task-card footer{display:flex;gap:8px}.task-card footer button{flex:1;padding:10px 4px;font-size:13px}.task-card footer .force-close{color:#c43f38;border-color:#efbbb7}@media(max-width:1100px){.parameter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.force-close-dialog{max-width:460px;border:1px solid #efbbb7;border-radius:16px;padding:24px;color:#9f302b;line-height:1.7}.force-close-dialog button{margin:8px;padding:10px 18px}.force-close-dialog::backdrop{background:#102d3266}

.task-session-note{font-size:11px;color:#607c80;line-height:1.6}.task-state button{display:block;margin:8px auto 0;color:#bc3f38;border:1px solid #efbbb7;background:white;padding:7px 12px;border-radius:8px}

.ai-actions{grid-template-columns:minmax(0,1fr)}

.pnl-positive,.task-card dd.pnl-positive{color:#cf4944}.pnl-negative,.task-card dd.pnl-negative{color:#118e77}.pnl-neutral,.task-card dd.pnl-neutral{color:#637d80}.pnl-percent{font-size:.85em;white-space:nowrap}.trade-scroll .pnl-percent{display:block}

/* Signal and execution instrument controls */
.task-card header{gap:12px;align-items:flex-start}.task-card header .symbol-logo{display:none}.task-symbol-field{flex:1;min-width:0}.task-symbol-field select{font-size:17px;width:100%;padding:7px}.trade-target-field select{font-size:12px}.trade-target-field input{width:100%;margin-top:6px;font-size:17px;padding:7px;border:1px solid var(--line);border-radius:7px;color:var(--ink);box-sizing:border-box}.task-card header .switch{flex-shrink:0;margin-top:23px}.task-target-panel{margin:12px 0 18px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f7fbfa}.target-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.target-options label,.option-side legend{font-size:10px;color:var(--mute)}.target-options select,.target-options input[type=number]{display:block;width:100%;box-sizing:border-box;margin-top:4px;border:1px solid var(--line);border-radius:6px;padding:7px;font-size:12px;background:white;color:var(--ink)}.option-side{border:0;padding:0;margin:0;display:flex;gap:12px;align-items:center}.option-side label{color:var(--ink);font-size:12px;white-space:nowrap}.target-error{color:#cf4944!important;font-size:12px;line-height:1.6;margin:9px 0}.target-verified{font-size:11px;line-height:1.6;color:#35766c;overflow-wrap:anywhere}.target-foot{display:flex;align-items:center;gap:8px;margin-top:10px}.target-foot small{font-size:10px;color:var(--mute);flex:1;line-height:1.5}.task-target-panel button{font-size:11px;padding:6px 9px;white-space:nowrap}.task-symbol-field small{overflow-wrap:anywhere}

.task-target-panel button{border:1px solid #b9d7d1;border-radius:7px;background:white;color:#216c60}.task-target-panel button:hover:not(:disabled){background:#e9f7f3}.task-target-panel button:disabled{opacity:.55;cursor:default}

.strategy-direction-note{margin:0 0 16px;padding:10px 13px;border:1px solid #ecd8b6;border-radius:9px;background:#fffbf3;color:#856023;font-size:12px;line-height:1.7}.strategy-direction-note strong{display:block;margin-bottom:2px;font-size:12px}

.new-task-dialog{width:min(620px,92vw);max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:16px;padding:26px;color:var(--ink)}.new-task-dialog::backdrop{background:#102d3266}.new-task-dialog h2{margin:0 0 8px}.new-task-dialog p{font-size:12px;line-height:1.7}.new-task-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.new-task-fields>label{font-size:12px;font-weight:600}.new-task-fields select,.new-task-fields input:not([type=radio]){display:block;width:100%;margin-top:7px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8fbfa;color:var(--ink);font-size:13px}.new-task-fields fieldset{border:1px solid var(--line);border-radius:8px;font-size:12px}.new-task-fields fieldset label{margin-right:16px}.new-task-dialog [hidden]{display:none!important}

.blocked-control{display:inline-grid;vertical-align:middle;max-width:100%;cursor:help}.blocked-control :disabled{pointer-events:none}.blocked-control:has(>.primary){width:100%}.blocked-control:focus-visible{outline:2px solid #d94841;outline-offset:3px;border-radius:8px}

.parameter-card input{width:100%;min-width:0;border:1px solid #cadcda;border-radius:8px;padding:7px 4px;font-size:12px;margin-top:4px}

.parameter-card[hidden]{display:none}

#subscriptionDialog{padding:28px;max-width:580px;width:calc(100vw - 32px)}#subscriptionDialog .dialog-actions{flex-wrap:wrap}#subscriptionDialog p{line-height:1.7}#paymentInfo{overflow-wrap:anywhere}

.account-actions{display:flex;align-items:center;gap:10px}.account-actions #subscribeNow{font-size:12px;padding:10px 12px;background:transparent;color:#def5f0;border:1px solid #547c7d;white-space:nowrap}.payment-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border:0;padding:0;margin:18px 0}.payment-plans legend{font-size:12px;margin-bottom:10px}.payment-plans label{display:flex;align-items:center;gap:8px;padding:14px 10px;border:1px solid #c9ded9;border-radius:10px;cursor:pointer}.payment-plans label:has(input:checked){border-color:#15957f;background:#eaf8f4}.payment-plans input{accent-color:#15957f}.payment-plans strong{display:block;font-size:22px;margin-top:8px}.payment-plans span{font-size:13px}

.subscription-warning{font-size:12px;line-height:1.6;color:#ffd48b;margin:12px 0}.subscription-warning.expired{color:#ffaaaa}#cloudSubscription{font-variant-numeric:tabular-nums;font-size:13px}

/* WebKit native radio controls must not inherit the full-width text input rule. */
#paymentPlans{display:block;min-width:0}
.payment-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#paymentPlans label{min-width:0;margin:0;display:flex;align-items:center;gap:10px;padding:16px 12px}
#paymentPlans input[type="radio"]{display:block;flex:0 0 16px;width:16px;min-width:16px;max-width:16px;height:16px;margin:0;padding:0;border:0;box-shadow:none}
#paymentPlans label span{min-width:0;flex:1;line-height:1.4}
#paymentPlans strong{font-size:20px;white-space:nowrap;margin-top:5px}
@media(max-width:480px){.payment-plan-grid{grid-template-columns:1fr}#paymentPlans label span{display:flex;justify-content:space-between;align-items:center}#paymentPlans strong{margin-top:0}}

.broker-dialog{max-height:90vh;overflow:auto}.broker-dialog fieldset{border:0;padding:0;margin:0}.broker-dialog [hidden]{display:none!important}

/* Fixed label and clipped, constant-speed announcement ticker. */
.system-announcement{margin-right:auto;min-width:0;flex:1;display:flex;align-items:center;gap:12px;color:#168f80;font-size:14px;line-height:1.6;text-align:left}
.system-announcement[hidden]{display:none}.system-announcement strong{flex-shrink:0}
.announcement-viewport{min-width:0;flex:1;overflow:hidden}.announcement-viewport:focus-visible{outline:2px solid #168f80;outline-offset:3px;border-radius:3px}
#systemAnnouncementText{display:inline-block;white-space:pre;animation:announcement-scroll var(--notice-duration,25s) linear infinite;will-change:transform}
@keyframes announcement-scroll{from{transform:translateX(var(--notice-start,600px))}to{transform:translateX(-100%)}}
.system-announcement:hover #systemAnnouncementText,.system-announcement:focus-within #systemAnnouncementText{animation-play-state:paused}
.workspace-tools:has(.system-announcement:not([hidden])){align-items:center;gap:18px}.workspace-tools .support,.workspace-tools .user-chip{flex-shrink:0}
@media(max-width:760px){.workspace-tools{flex-wrap:wrap}.system-announcement{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){#systemAnnouncementText{animation:none;transform:none;white-space:pre-wrap;overflow-wrap:anywhere;will-change:auto}}

.brand-logo{width:52px;height:52px;object-fit:contain;flex-shrink:0}

#subscriptionDialog{max-height:90vh;overflow:auto}#subscriptionDialog .upgrade-consent{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.7;margin:16px 0}#confirmUpgrade{flex:0 0 16px;width:16px;height:16px;margin:3px 0 0;padding:0;accent-color:#15957f}

.market-tools{display:flex;gap:12px;margin:20px 0}.market-tools select{min-width:120px}.market-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.market-row{border-bottom:1px solid #dce8e8;padding:16px 0}.market-row button{margin:6px 10px 6px 0}#marketplace>.panel{margin:20px 0;padding:24px}#marketplace p{line-height:1.7;overflow-wrap:anywhere}

#marketplace select{padding:10px 14px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:white}#marketplace .market-tools{flex-wrap:wrap}#marketplace .market-row button{font-size:13px}.strategy-dialog>input{padding:12px;border:1px solid var(--line);border-radius:8px;margin-bottom:18px}

.strategy-dialog.marketplace-dialog{padding:28px;width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;box-sizing:border-box}.marketplace-dialog h2{margin:0 0 16px;font-size:22px}.marketplace-dialog p{line-height:1.8;margin:0 0 20px;color:#536d70}.marketplace-dialog>.button{display:inline-flex;align-items:center;text-decoration:none;margin:6px 8px 0 0}.marketplace-dialog .dialog-actions{flex-wrap:wrap}@media(max-width:480px){.strategy-dialog.marketplace-dialog{padding:22px}.marketplace-dialog>.button{width:100%;justify-content:center;margin-right:0}}

.strategy-card{position:relative}.strategy-sync-button{position:absolute;right:18px;top:18px;z-index:1;border:1px solid var(--line);border-radius:7px;background:#edf7f4;color:var(--teal);padding:6px 12px;cursor:pointer}.strategy-meta{gap:8px}.strategy-meta span{text-align:right;font-size:11px;line-height:1.7}#receiveStrategySync{margin-bottom:16px}
/* Strategy authoring modes and independently scrolling order details. */
.mode-badge{display:inline-block;padding:5px 10px;border-radius:12px;background:#e8f5f1;color:#177f70;font-size:12px;margin-bottom:12px}
#customIdeaField{display:flex;flex-direction:column;gap:14px}#customIdeaField[hidden]{display:none}#customIdea{width:100%;min-height:480px;resize:vertical;font:inherit;line-height:1.8;padding:18px;border:1px solid #cadddf;border-radius:12px}
.custom-mode .strategy-direction-note,.custom-mode #entryRules,.custom-mode #exitRules,.custom-mode #ruleSummary{display:none}.custom-mode .rule-panel{min-height:560px}.custom-mode #aiConversation{border:0;padding:0}.custom-task>header{justify-content:space-between}.custom-task>p{line-height:1.8}
#strategyModeDialog{max-width:650px;border:0;border-radius:18px;padding:32px}#strategyModeDialog button{margin:8px}
#tradeRecordsDialog{border:1px solid #d4e2e3;border-radius:18px;padding:0;max-height:88vh;overflow:hidden}#tradeRecordsDialog .records-header{padding:20px 24px;border-bottom:1px solid #d4e2e3;background:white}#tradeRecordsTitle{margin:0;padding-right:100px}#closeTradeRecords{position:absolute;right:18px;top:16px}#tradeRecordsDialog .records-scroll{padding:18px 24px;max-height:calc(88vh - 100px);overflow:auto}
.custom-task{display:flex;flex-direction:column}.custom-task>footer{margin-top:auto}

/* Strategy center defaults to the inline library. */
.strategies-library-inline{width:100%!important;max-width:none}
.strategies-library-inline .library-shell{padding:0;max-height:none;overflow:visible}
.strategies-library-inline .library-heading h2,.strategies-library-inline .library-heading span{display:none}
.strategies-library-inline .strategy-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),360px));gap:18px;margin-top:18px;max-width:1400px}
.strategies-library-inline .strategy-card.selected .strategy-card-main{background:#edf8f5}
button:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
button[aria-pressed="true"]:not(.nav-item){border-color:var(--teal)}
#strategyModeDialog .button.ghost:hover{background:#edf8f5;border-color:var(--teal);color:var(--ink)}
#myStrategies[aria-pressed="true"] #strategyCount{background:rgba(255,255,255,.2);color:white}
@media(max-width:600px){.strategies-library-inline .strategy-cards{grid-template-columns:1fr}}
/* Keep long exit reasons separate from profit/loss values. */
.trade-scroll{overflow-x:auto}
.trade-scroll table{min-width:940px}
.trade-scroll th,.trade-scroll td{padding:14px 12px;vertical-align:middle;line-height:1.6}
.trade-scroll th:nth-child(1),.trade-scroll td:nth-child(1),.trade-scroll th:nth-child(5),.trade-scroll td:nth-child(5){width:16%}
.trade-scroll th:nth-child(2),.trade-scroll td:nth-child(2){width:6%}
.trade-scroll th:nth-child(3),.trade-scroll td:nth-child(3){width:7%}
.trade-scroll th:nth-child(4),.trade-scroll td:nth-child(4),.trade-scroll th:nth-child(6),.trade-scroll td:nth-child(6){width:10%}
.trade-scroll th:nth-child(7),.trade-scroll td:nth-child(7){width:23%;white-space:normal;overflow-wrap:anywhere}
.trade-scroll th:nth-child(8),.trade-scroll td:nth-child(8){width:12%;text-align:right;padding-left:16px;padding-right:16px;font-variant-numeric:tabular-nums}
