:root{color-scheme:dark;--bg:#111517;--panel:#191e20;--panel2:#202628;--line:#2d3436;--text:#f1f3ee;--muted:#929e9f;--accent:#b6f57a;--red:#ff8986;--yellow:#f1cc7d;--radius:16px;font-family:Inter,"Segoe UI","Malgun Gothic",sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.6}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}a{color:inherit;text-decoration:none}svg{display:block}button svg{width:17px;height:17px}button{color:var(--text)}.boot{min-height:100vh;display:grid;place-content:center;text-align:center;gap:15px}.boot .brand-mark{margin:auto}.brand{display:flex;align-items:center;gap:11px;font-size:25px;letter-spacing:-1px;font-weight:800}.brand-mark{display:grid;place-items:center;width:35px;height:35px;background:var(--accent);color:#182012;font-size:24px;font-weight:900;line-height:1;border-radius:10px;letter-spacing:-3px;padding-right:3px}.brand small{letter-spacing:2px;color:var(--muted);font-size:9px;font-weight:600;display:block;line-height:1.1;margin-top:3px}.sidebar{position:fixed;inset:0 auto 0 0;width:222px;padding:29px 20px 20px;border-right:1px solid var(--line);background:#14191b;display:flex;flex-direction:column;z-index:20}.sidebar .brand{padding:0 10px 37px}.nav-caption{font-size:10px;letter-spacing:1.8px;color:#6f7e81;padding:0 14px;margin-bottom:12px}.nav{display:grid;gap:5px}.nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;color:#9ba7a8;font-size:13px;border-radius:9px;transition:.16s}.nav a svg{width:18px;height:18px}.nav a:hover{background:var(--panel2);color:white}.nav a.active{color:var(--accent);background:#b6f57a10}.nav a.active:after{content:"";margin-left:auto;width:5px;height:5px;background:var(--accent);border-radius:50%}.nav-separator{height:1px;background:var(--line);margin:24px 10px}.sidebar-bottom{margin-top:auto}.env-card{border:1px solid var(--line);border-radius:10px;padding:13px;font-size:11px;color:var(--muted);margin-bottom:18px}.env-card strong{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text);margin-bottom:4px}.user{display:flex;gap:10px;align-items:center;padding:12px 4px 0;border-top:1px solid var(--line)}.avatar{width:34px;height:34px;border-radius:50%;background:#344132;color:#c8ecb0;display:grid;place-items:center;font-weight:700}.user-info{min-width:0;flex:1}.user-info strong{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-info small{font-size:10px;color:var(--muted)}.icon-btn{border:0;background:none;padding:7px;border-radius:6px}.icon-btn:hover{background:var(--panel2)}.main{margin-left:222px}.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:12px}.breadcrumb{color:var(--muted);font-size:12px;display:flex;gap:12px;align-items:center}.breadcrumb span:last-child{color:#ddd}.top-actions{display:flex;align-items:center;gap:15px}.mono{font-family:"Cascadia Code",Consolas,monospace;font-variant-numeric:tabular-nums}.top-date{color:var(--muted);font-size:11px}.status{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.dot{width:6px;height:6px;background:var(--accent);border-radius:50%;display:inline-block;flex-shrink:0}.dot.warn{background:var(--yellow)}.dot.red{background:var(--red)}.content{padding:32px 38px 40px;max-width:1600px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);margin:0 0 7px}.page-heading h1{font-size:27px;font-weight:650;letter-spacing:-1.1px;margin:0 0 5px}.page-heading p{font-size:12px;color:var(--muted);margin:0}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:10px 15px;background:var(--panel2);font-size:12px;font-weight:600;white-space:nowrap;min-height:39px}.btn:hover{background:#2b3435}.btn.primary{background:var(--accent);border-color:var(--accent);color:#1c2616}.btn.primary:hover{background:#cafb9d}.btn.danger{background:#ff89860c;color:var(--red);border-color:#ff898637}.btn.subtle{background:transparent}.btn.small{padding:6px 10px;font-size:11px;min-height:30px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.notice{padding:11px 15px;border:1px solid #b6f57a28;background:#b6f57a06;border-radius:9px;color:#afc69d;font-size:11px;margin-bottom:22px;display:flex;align-items:center;gap:9px}.notice svg{width:16px;height:16px;flex-shrink:0}.notice.warn{border-color:#f1cc7d38;background:#f1cc7d08;color:#d7be8f}.notice.error{color:var(--red);border-color:#ff898638;background:#ff898608}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.stat{padding:20px 21px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);min-height:132px}.stat-label{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}.stat-label svg{width:16px;height:16px;color:#6b7a7c}.stat-value{font-size:27px;letter-spacing:-1px;font-weight:550;margin:10px 0 6px;line-height:1.3}.stat-value small{font-size:12px;color:var(--muted);margin-left:5px;letter-spacing:0}.stat-foot{color:#7d8b8c;font-size:10px}.positive{color:var(--accent)}.negative{color:var(--red)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(250px,1fr);gap:20px;margin-bottom:22px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:19px 22px;border-bottom:1px solid var(--line)}.panel-head h2{font-size:13px;font-weight:600;margin:0}.panel-head small{color:var(--muted);font-size:10px}.panel-head .link{font-size:10px;color:var(--muted);cursor:pointer}.panel-body{padding:22px}.market-select{background:transparent;border:0;color:var(--text);font-size:13px;font-weight:600;max-width:150px}.market-select option,select option{background:var(--panel2);color:var(--text)}.chart-price{font-size:29px;letter-spacing:-1px;margin:14px 0 2px}.chart-caption{color:var(--muted);font-size:10px}.chart{height:202px;position:relative;margin:12px 0 0}.chart svg{width:100%;height:100%;overflow:visible}.chart-labels{display:flex;justify-content:space-between;color:#738182;font-size:9px;margin-top:8px}.chart-empty{height:202px;display:grid;place-content:center;color:var(--muted);text-align:center;font-size:12px}.market-list{padding:3px 20px 8px}.market-row{display:flex;justify-content:space-between;gap:10px;padding:13px 0;border-bottom:1px solid #2b3234;cursor:pointer}.market-row:last-child{border:0}.coin{display:flex;align-items:center;gap:10px}.coin-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#29302b;color:#bfd99c;font-size:10px;font-weight:700}.coin strong{display:block;font-size:11px}.coin small{color:var(--muted);font-size:9px}.market-value{text-align:right;font-size:11px}.market-value small{display:block;font-size:9px;color:var(--muted)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:11px;white-space:nowrap}th{text-align:left;font-weight:400;color:#899698;background:#1b2123;font-size:10px;padding:12px 20px;border-bottom:1px solid var(--line)}td{padding:17px 20px;border-bottom:1px solid #293032}tr:last-child td{border-bottom:0}td strong{font-weight:550}td small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:5px;font-size:9px;border:1px solid var(--line);color:var(--muted);background:#ffffff03}.badge.green{color:var(--accent);background:#b6f57a0a;border-color:#b6f57a22}.badge.red{color:var(--red);background:#ff89860a;border-color:#ff898622}.badge.yellow{color:var(--yellow);background:#f1cc7d0a;border-color:#f1cc7d22}.empty{text-align:center;padding:43px 22px;color:var(--muted)}.empty-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:12px;margin:0 auto 13px;color:#83978c}.empty-icon svg{width:22px;height:22px}.empty strong{display:block;color:#dce2db;font-size:12px;font-weight:500;margin-bottom:6px}.empty p{margin:0 0 17px;font-size:11px}.activity{margin-top:22px}.activity-row{display:flex;gap:11px;padding:12px 0;border-bottom:1px solid var(--line)}.activity-row:last-child{border:0}.activity-row p{font-size:11px;margin:0;word-break:break-word}.activity-row small{font-size:9px;color:var(--muted)}.activity-dot{width:6px;height:6px;border-radius:50%;background:#75886a;margin-top:7px;flex-shrink:0}.footer{display:flex;justify-content:space-between;color:#647375;font-size:9px;margin-top:28px;gap:12px}.two-col{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.full{grid-column:1/-1}.field label{color:#b1bdbb;font-size:11px}.field input,.field select{background:#121719;border:1px solid #354043;border-radius:8px;color:var(--text);padding:11px 12px;width:100%;min-height:42px;font-size:12px}.field input:focus,.field select:focus{border-color:var(--accent);outline:1px solid #b6f57a40}.field input::placeholder{color:#526163}.field small,.help{font-size:10px;color:#8d9b9b;line-height:1.8}.field input[type=checkbox]{width:16px;min-height:16px;margin:0;accent-color:var(--accent)}.check{display:flex;align-items:center;gap:9px;color:#bdc9c6;font-size:12px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:23px}.section-gap{margin-top:22px}.connection-step{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.connection-step:last-child{border:0}.step-number{width:23px;height:23px;border:1px solid #48543e;border-radius:50%;color:var(--accent);font-size:10px;display:grid;place-items:center;flex-shrink:0}.connection-step h3{margin:0;font-size:12px;font-weight:500}.connection-step p{color:var(--muted);font-size:11px;margin:5px 0}.text-link{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.admin-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.admin-tabs .btn.active{border-color:#b6f57a55;color:var(--accent)}.health-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.health-item{padding:14px;border:1px solid var(--line);border-radius:9px}.health-item small{font-size:10px;color:var(--muted);display:block}.health-item strong{font-size:18px;font-weight:500;display:block;margin-top:7px}.error-text{font-size:11px;color:var(--red);white-space:normal;max-width:280px}.form-error{color:var(--red);font-size:11px;min-height:16px;margin-top:12px}dialog{width:min(540px,calc(100vw - 28px));max-height:90vh;overflow:auto;background:var(--panel);color:var(--text);border:1px solid #465044;border-radius:18px;padding:0;box-shadow:0 30px 120px #0009}dialog::backdrop{background:#060b0dc9;backdrop-filter:blur(4px)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:22px 25px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:17px;font-weight:550;margin:0}.modal-body{padding:23px 25px}.modal-body .notice{margin-bottom:20px}.modal-body p{font-size:12px;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(20px);padding:12px 20px;background:#e1f3d3;color:#1e3018;border-radius:10px;font-size:12px;box-shadow:0 8px 35px #0005;opacity:0;pointer-events:none;z-index:100;transition:.2s;max-width:90vw}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}#toast.error{background:#f2c7c4;color:#511b19}.auth{display:grid;place-items:center;min-height:100vh;min-height:100svh}.auth-main{width:100%;display:grid;place-items:center;padding:24px}.auth-box{width:100%;max-width:360px}.auth-box h2{font-size:23px;letter-spacing:-1px;margin:0 0 26px;font-weight:550}.auth-box .field{margin-bottom:18px}.auth-box .btn{width:100%;margin-top:12px;min-height:45px}.auth-alt{text-align:center;color:var(--muted);font-size:11px;margin-top:24px}.auth-alt button{color:var(--accent);background:none;border:0;font-size:11px;padding:5px}.menu-toggle{display:none}.source-label{display:inline-flex;gap:6px;align-items:center}.no-wrap{white-space:nowrap}.tabular{font-variant-numeric:tabular-nums}.stack{display:grid;gap:18px}.market-error{color:var(--yellow);font-size:11px}.admin-description{font-size:11px;color:var(--muted);margin:0 0 20px}.row-name{max-width:200px;overflow:hidden;text-overflow:ellipsis}.error-banner{display:none}.error-banner.visible{display:flex}.details{color:var(--muted);font-size:11px}.details summary{cursor:pointer;color:var(--text)}.details p{margin:8px 0;font-size:11px;color:var(--muted)}
@media(min-width:1600px){.content{padding-top:40px}.dashboard-grid{grid-template-columns:minmax(0,2fr) minmax(300px,1fr)}.chart{height:250px}}
.env-card strong svg{width:16px;height:16px;flex-shrink:0}.user-info small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.library-card .panel-head h2{margin-top:5px;font-size:15px}.library-description{white-space:pre-wrap;overflow-wrap:anywhere}.library-config{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0 20px;font-size:11px;color:#c7d4c1}.field textarea{font:inherit;font-size:12px;background:#121719;color:var(--text);border:1px solid #354043;border-radius:8px;padding:11px 12px;resize:vertical;width:100%}.field textarea:focus{outline:1px solid #b6f57a40;border-color:var(--accent)}.share-users{display:grid;gap:10px;max-height:330px;overflow:auto}.share-user{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:9px;cursor:pointer}.share-user input{accent-color:var(--accent);width:16px;height:16px}.share-user strong{font-size:12px;font-weight:500;display:block}.share-user small{font-size:10px;color:var(--muted);display:block}.btn:disabled{cursor:not-allowed}
@media(max-width:820px){.library-grid{grid-template-columns:1fr}.library-config{font-size:10px}}
.strategy-dialog{width:min(920px,calc(100vw - 28px))}.rule-group{margin:0;min-width:0;border:1px solid #455242;border-radius:12px;padding:14px;background:#b6f57a03}.rule-group legend{font-size:12px;font-weight:600;color:#c8daba;padding:0 7px}.rule-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.rule-toolbar .field{min-width:175px}.rule-toolbar select{margin-top:5px}.rule-children{display:grid;gap:13px}.rule-condition{border:1px solid var(--line);border-radius:9px;padding:12px;background:#121719}.rule-condition-head{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px;margin-bottom:9px}.rule-comparison{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr) minmax(0,1fr);gap:12px;align-items:start}.rule-comparison .field label{display:grid;gap:5px}.operand{gap:10px}.rule-preview{display:block;margin-top:8px;white-space:normal;overflow-wrap:anywhere;color:#bed7a9!important}.condition-summary{max-width:420px;white-space:normal;overflow-wrap:anywhere;font-size:11px;line-height:1.9;color:#c7d4c1}.library-card .condition-summary{max-width:none}.rule-group .rule-group{border-color:#567044;background:#182017}.rule-group .rule-group .rule-group{background:#1c251b}
@media(max-width:600px){.rule-comparison{grid-template-columns:1fr}.rule-group{padding:10px}.rule-condition{padding:10px}.rule-toolbar .field{min-width:0;flex:1}.rule-toolbar .actions{width:100%}.rule-group .rule-group{padding:8px}.strategy-dialog .form-grid{grid-template-columns:1fr}.strategy-dialog .form-actions{position:sticky;bottom:-19px;background:var(--panel);padding:13px 0;margin-top:10px}.condition-summary{max-width:240px}}
.field[hidden]{display:none}#backtest-form label.check.field{flex-direction:row;justify-content:flex-start;align-items:center;gap:8px}.rule-condition-options{display:flex;align-items:flex-end;gap:10px}.rule-condition-options select{min-height:35px;padding:7px 10px;font-size:11px}.rule-condition-head{gap:12px}.rule-condition-options label{display:grid;gap:4px}
@media(max-width:600px){.rule-condition-head{align-items:flex-start;flex-direction:column}.rule-condition-options{width:100%}.rule-condition-options .field{flex:1;min-width:0}}
.bundle-action{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:12px}.bundle-action>summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--accent);padding:2px 0}.bundle-action[open]>.rule-builder{margin-top:16px}.condition-summary,.rule-preview{white-space:pre-wrap}.rule-gap:not(:empty){margin-top:12px;max-width:180px}
.nav .nav-short{display:none}
@media(max-width:520px){.nav a .nav-label{display:none}.nav a .nav-short{display:block}}
@media(max-width:1150px){.sidebar{width:190px;padding-left:13px;padding-right:13px}.main{margin-left:190px}.content{padding:25px}.topbar{padding:0 25px}.stats{gap:10px}.stat{padding:17px}.stat-value{font-size:23px}.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr)}.two-col{grid-template-columns:1fr}}
@media(max-width:820px){.sidebar{width:72px;padding:23px 10px}.sidebar .brand{padding:0 8px 30px}.brand-text,.nav a span,.nav-caption,.env-card,.user-info,.sidebar .user .icon-btn{display:none}.nav a{justify-content:center;padding:13px}.nav a.active:after{display:none}.nav a svg{width:20px;height:20px}.nav-separator{margin:18px 4px}.user{justify-content:center;padding-top:18px}.main{margin-left:72px}.stats{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.market-list{display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.top-date{display:none}.page-heading h1{font-size:24px}.footer span:last-child{display:none}}
@media(max-width:520px){.market-list{grid-template-columns:1fr}.coin-icon{flex-shrink:0}.page-heading{flex-wrap:wrap}.page-heading>div{flex:1;min-width:200px}.page-heading .btn{margin-left:auto}}
@media(max-width:520px){.sidebar{position:fixed;inset:auto 0 0;width:100%;height:65px;flex-direction:row;border-top:1px solid var(--line);border-right:0;padding:5px 8px;background:#14191bf5;backdrop-filter:blur(12px)}.sidebar .brand,.sidebar-bottom,.nav-caption,.nav-separator{display:none}.nav{display:flex;width:100%;gap:0}.nav a{flex:1;padding:7px 4px;display:flex;flex-direction:column;gap:3px;border-radius:7px}.nav a span{display:block;font-size:8px}.nav a svg{width:17px;height:17px}.main{margin-left:0;padding-bottom:65px}.topbar{height:60px;padding:0 18px}.content{padding:24px 17px}.breadcrumb{font-size:10px}.top-actions{gap:7px}.status{font-size:9px}.page-heading{align-items:flex-start;margin-bottom:20px}.page-heading h1{font-size:23px}.page-heading p{max-width:220px;font-size:10px}.page-heading .btn{font-size:10px;padding:9px 10px}.stat{padding:15px 13px;min-height:115px;border-radius:12px}.stat-label{font-size:10px}.stat-value{font-size:23px;margin-top:9px}.stat-foot{font-size:9px}.notice{font-size:10px}.panel-head{padding:16px}.panel-body{padding:17px}.market-list{padding:0 15px 6px;column-gap:18px}.coin{gap:7px}.coin-icon{width:25px;height:25px;font-size:8px}.market-row{padding:12px 0}.market-value{font-size:10px}.form-grid{gap:13px}.field input,.field select{font-size:11px;padding:10px}.form-actions{flex-wrap:wrap}.modal-body,.modal-head{padding:19px}.chart{height:175px}th,td{padding:13px 16px}.footer{margin-top:23px}.admin-tabs .btn{font-size:10px;padding:8px 11px}}

@media(min-width:521px){.sidebar .nav{min-height:0;overflow-y:auto;flex-shrink:1}.sidebar-bottom{flex-shrink:0}}

.execution-dialog{width:min(720px,calc(100vw - 28px))}.symbol-selected{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.symbol-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-height:150px;overflow-y:auto;border:1px solid var(--line);border-radius:9px;padding:8px;gap:4px}.symbol-option{display:flex;align-items:center;gap:7px;padding:6px;font-size:11px;cursor:pointer}.symbol-option input[type=checkbox]{width:15px;height:15px;min-height:0;padding:0;margin:0;accent-color:var(--accent)}.symbol-option span{overflow-wrap:anywhere}.execution-dialog .form-actions{position:sticky;bottom:-25px;background:var(--panel);padding:12px 0;margin-top:12px}@media(max-width:600px){.execution-dialog .form-grid{grid-template-columns:1fr}.symbol-options{grid-template-columns:repeat(2,minmax(0,1fr));max-height:130px}.execution-dialog .form-actions{bottom:-19px}.symbol-selected .btn{font-size:10px}}


#page-content>.panel+.panel{margin-top:20px}

.paper-control-result{padding:12px 20px;border-bottom:1px solid var(--line);font-size:12px}.paper-control-result p{margin:0}.paper-control-result .details{margin-top:8px}.paper-control-result li{white-space:normal;overflow-wrap:anywhere}.paper-controls{justify-content:flex-end}@media(max-width:520px){.panel-head:has(.paper-controls){flex-wrap:wrap;gap:10px}.paper-controls{width:100%;justify-content:flex-start}.paper-controls .btn{font-size:11px}.paper-control-result{padding:12px 16px;font-size:11px}}

.execution-chart-dialog{width:min(1040px,calc(100vw - 28px))}.execution-chart-caption{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:15px 0}.execution-chart-caption>div{display:grid;gap:3px}.execution-chart-caption strong{font-size:25px}.execution-chart-caption strong small{font-size:12px;color:var(--muted);font-weight:400}.execution-chart-caption>span{text-align:right}.execution-candles{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:#111719}.execution-candles svg{display:block;width:100%;min-width:0}.execution-candles{touch-action:none;cursor:grab;user-select:none;overflow:hidden}.execution-candles:active{cursor:grabbing}.execution-chart-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:9px}.chart-scroll-hint{display:none}@media(max-width:600px){.chart-scroll-hint{display:block}.execution-chart-caption{align-items:flex-start;flex-direction:column;gap:8px}.execution-chart-caption>span{text-align:left}.execution-chart-caption strong{font-size:22px}.execution-chart-dialog .form-actions{flex-wrap:wrap}}

.execution-chart-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0 10px}.execution-chart-tools .actions{gap:6px}.execution-chart-guide{margin:8px 0}.chart-position{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px}.chart-position>span:last-child{color:var(--muted)}.chart-line-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:8px 0;font-size:11px;color:var(--muted)}.chart-line-legend:empty{display:none}.chart-line-legend>span{display:inline-flex;align-items:center;gap:6px}.chart-line-legend svg{width:16px;height:4px;flex-shrink:0}.chart-no-trades{color:var(--yellow)}.execution-indicator-panel{margin-top:18px}.chart-trade-history{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}.chart-trade-history>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:7px 0;border-bottom:1px solid var(--line);font-size:11px}.chart-trade-history time{margin-left:auto;color:var(--muted)}@media(max-width:600px){.execution-chart-tools .actions{gap:4px}.execution-chart-tools .btn{padding:6px 8px;font-size:10px}.chart-position{font-size:11px}.chart-trade-history time{font-size:10px}}

#page-content>.two-col+.panel{margin-top:20px}.chart-settings-group{border:1px solid var(--line);border-radius:10px;margin:12px 0;padding:12px 16px}.chart-settings-group>summary{cursor:pointer;font-weight:600;font-size:12px;color:var(--accent)}.chart-style-row{display:grid;grid-template-columns:minmax(140px,1fr) 80px 150px 90px;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.chart-style-row:last-child{border-bottom:0}.chart-style-title{display:grid;gap:8px}.chart-style-title strong{font-size:12px;font-weight:500}.chart-style-title svg{width:80px;height:12px}.chart-style-row .field{gap:4px}.chart-style-row .field>span{font-size:10px;color:var(--muted)}.chart-style-row input[type=color]{height:40px;min-height:40px;padding:3px;cursor:pointer}.chart-style-row select{font-size:11px;padding:9px}.chart-settings-group .field{min-width:0}@media(max-width:600px){.chart-style-row{grid-template-columns:1fr 1.4fr 1fr;gap:8px}.chart-style-title{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px}.chart-settings-group{padding:12px}.chart-style-row select{padding:9px 6px;font-size:11px}}

.library-execution-counts{display:grid;gap:6px;justify-items:end;flex-shrink:0}.library-card .panel-head>div:first-child{min-width:0}.library-card .panel-head h2{overflow-wrap:anywhere}

:root{--candle-up:#ff595e;--candle-down:#4f8cff}.candle-up{color:var(--candle-up)}.candle-down{color:var(--candle-down)}

.symbol-option>label{display:flex;align-items:center;gap:7px;flex:1;min-width:0;cursor:pointer}.symbol-favorite{flex-shrink:0;min-width:28px;min-height:28px;padding:3px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:19px;line-height:1}.symbol-favorite:hover{background:var(--panel2)}.symbol-favorite.active{color:var(--yellow)}.symbol-favorites{display:grid;gap:6px}.symbol-favorite-shortcuts{display:flex;flex-wrap:wrap;gap:6px}.symbol-favorite-shortcuts .btn[aria-pressed=true]{background:#b6f57a16;border-color:#b6f57a66;color:var(--accent)}


.workspace-switch{display:flex;gap:4px;border:1px solid var(--line);border-radius:9px;padding:4px;margin:0 0 18px;flex-shrink:0}.workspace-switch button{flex:1;border:0;border-radius:6px;padding:8px 4px;background:transparent;color:var(--muted);font-size:12px;white-space:nowrap}.workspace-switch button[aria-pressed=true]{background:var(--accent);color:#1c2616;font-weight:650}.workspace-switch button:disabled{cursor:not-allowed}.live-pending{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.live-pending span{font-size:12px}
@media(min-width:521px) and (max-width:1050px){.workspace-switch{flex-direction:column;margin-left:-6px;margin-right:-6px}.workspace-switch button{font-size:10px;padding:7px 1px}}
@media(max-width:520px){.sidebar{height:111px;flex-direction:column;gap:3px;padding-top:6px}.workspace-switch{width:min(250px,100%);align-self:center;margin:0;padding:2px}.workspace-switch button{font-size:11px;padding:4px 10px;min-height:29px}.sidebar .nav{min-height:52px}.sidebar .nav a .nav-label{display:none}.main{padding-bottom:111px}#toast{bottom:125px}}

.pnl-return{font-size:.6em;white-space:nowrap}.stat-value{flex-wrap:wrap}.market-indicator-row{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.market-indicator-row>strong{align-self:center;min-width:135px}.market-indicator-row .field{width:110px;margin:0}.market-indicator-row input[type=color]{width:100%;height:40px}.backtest-progress{width:100%;height:12px;accent-color:#b6f57a;margin-top:16px}.backtest-total{background:#b6f57a0a}.backtest-months{max-width:660px;max-height:360px;overflow:auto}.backtest-months table{min-width:580px}#bt-symbols{max-height:230px;overflow:auto;margin-top:10px}#bt-favorites,#mc-favorites{margin-top:10px}#mc-favorites{flex-direction:row;align-items:center;justify-content:flex-start;gap:8px}#mc-favorites:empty,#mc-favorites[hidden]{display:none}.market-indicator-row + .actions{margin-top:16px}#backtest-results .actions{flex-wrap:wrap}.stat-foot{line-height:1.6}

.backtest-monthly-dialog{width:min(920px,calc(100vw - 28px))}.backtest-monthly-description{margin-top:0}.backtest-monthly-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.backtest-monthly-summary>div{padding:12px 16px;border:1px solid var(--line);border-radius:10px}.backtest-monthly-summary small{display:block;font-size:11px;color:var(--muted)}.backtest-monthly-summary strong{display:block;font-size:22px;margin-top:4px}.backtest-monthly-table{max-height:50vh;overflow:auto;border:1px solid var(--line);border-radius:10px}.backtest-monthly-table table{min-width:0;table-layout:fixed;white-space:normal}.backtest-monthly-table th{position:sticky;top:0;z-index:1;background:#202628;font-size:11px}.backtest-monthly-table th,.backtest-monthly-table td{padding:12px;text-align:right}.backtest-monthly-table td{font-size:12px}.backtest-monthly-table th:first-child,.backtest-monthly-table td:first-child{text-align:left;width:32%}.backtest-monthly-table td:first-child>span{white-space:nowrap}.backtest-monthly-table .badge{display:inline-flex;margin-left:6px}.backtest-monthly-table tbody tr:hover{background:#ffffff03}@media(max-width:600px){.backtest-monthly-summary{gap:6px}.backtest-monthly-summary>div{padding:9px}.backtest-monthly-summary small{font-size:9px}.backtest-monthly-summary strong{font-size:17px}.backtest-monthly-table table,.backtest-monthly-table tbody{display:block}.backtest-monthly-table thead{display:none}.backtest-monthly-table tr{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border-bottom:1px solid var(--line)}.backtest-monthly-table td{display:flex;flex-direction:column;align-items:flex-start;border:0;padding:0;text-align:left;gap:3px}.backtest-monthly-table td:first-child{grid-column:1/-1;width:auto}.backtest-monthly-table td::before{content:attr(data-label);font-family:Inter,"Segoe UI","Malgun Gothic",sans-serif;font-size:10px;color:var(--muted)}.backtest-monthly-table td .badge{margin:0}}

.market-indicator-tools{margin-top:18px}.market-indicator-tools>label{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.market-indicator-tools select{max-width:260px;min-width:130px;background:#121719;border:1px solid #354043;border-radius:8px;color:var(--text);padding:8px 10px;font-size:12px}#mc-active-indicators{margin-top:12px}.market-active-indicator{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:7px;background:#202628;padding:3px 5px 3px 10px;font-size:11px}.market-active-indicator .icon-btn{font-size:17px;line-height:1;padding:5px}.market-active-indicator .icon-btn:hover{color:var(--red)}
.live-net-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.live-net-grid p{font-size:20px;margin:10px 0}.setup-steps{padding-left:22px;line-height:1.8}.setup-steps li+li{margin-top:10px}[data-live-settings] input[type=checkbox]{width:auto;min-width:16px;accent-color:var(--accent)}#live-income-days{width:auto;min-width:120px}
@media(max-width:700px){.live-net-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.settings-editor{margin-top:16px;border:1px solid var(--line);border-radius:9px;padding:12px 14px}.settings-editor>summary{cursor:pointer;color:var(--accent);font-size:12px;font-weight:600}.settings-editor>form{margin-top:18px}.settings-editor .form-actions{flex-wrap:wrap}
.connection-guide{font-size:13px;line-height:1.85;overflow-wrap:anywhere;margin-top:16px}.connection-guide a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.connection-guide h3{font-size:14px;line-height:1.6;margin:24px 0 12px;color:var(--accent)}.connection-guide .setup-steps{margin:0;padding-left:24px}.connection-guide .setup-steps li+li{margin-top:18px}.connection-guide .setup-steps li::marker{color:var(--accent);font-weight:700}.connection-guide .setup-steps li>strong{display:block;margin-bottom:5px}.connection-guide code{font-size:12px;background:var(--bg);padding:2px 5px;border-radius:4px;white-space:normal}.connection-guide-note{margin-top:22px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.connection-guide-note p{margin:12px 0 0}
#bt-favorites[hidden]{display:none}
@media(max-width:700px){.execution-table.table-wrap{overflow:visible}.execution-table table,.execution-table tbody{display:block;min-width:0;white-space:normal}.execution-table thead{display:none}.execution-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;padding:18px;border-bottom:1px solid var(--line)}.execution-table tr:last-child{border-bottom:0}.execution-table td{display:flex;flex-direction:column;gap:5px;min-width:0;padding:0;border:0;overflow-wrap:anywhere}.execution-table td:first-child,.execution-table td:last-child{grid-column:1/-1}.execution-table td[data-label]::before{content:attr(data-label);font-size:10px;font-weight:400;color:var(--muted);font-family:Inter,"Segoe UI","Malgun Gothic",sans-serif}.execution-table td strong{white-space:normal;max-width:none}.execution-table td small{margin:0;white-space:normal}.execution-table td .badge{align-self:flex-start}.execution-table td .actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:7px}.execution-table td .actions .btn{flex:0 1 auto;min-width:58px;padding:7px 10px;min-height:34px}.execution-table .error-text{max-width:none}.panel-head:has(.paper-controls){flex-wrap:wrap}.panel-head .paper-controls{justify-content:flex-start;flex-wrap:wrap}}

.announcement-preview { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 45vh; overflow-y: auto; font: inherit; }
#announcement-message { width: 100%; resize: vertical; min-height: 160px; }
