:root{color-scheme:dark;--bg:#0b111e;--surface:#121b2c;--surface2:#172236;--line:#253148;--text:#eaf0fa;--muted:#8c9bb2;--blue:#4e82ff;--green:#42c9a0;--red:#ed7b88;--gold:#d4b66c;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:22px}body{margin:0;background:var(--bg);color:var(--text);line-height:1.5}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #8eafff;outline-offset:4px}button{color:inherit}h1,h2,h3,p{margin:0}h2{font-size:1.1rem;font-weight:650}small{font-size:.78rem}.sidebar{position:fixed;inset:0 auto 0 0;width:218px;background:#101827;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:31px 20px 18px;z-index:10}.brand{display:flex;align-items:center;gap:12px;font-weight:750;font-size:1.1rem;letter-spacing:.025em}.brand-mark{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:#4e82ff;color:#fff;border-radius:9px;font-size:24px;font-weight:850;position:relative}.brand-mark span{font-size:15px;margin-left:-4px;margin-top:-14px}.brand-light{display:block;letter-spacing:.24em;font-size:.75rem;color:#9baac2;font-weight:550;margin-top:-4px}.workspace-label{font-size:.75rem;letter-spacing:.14em;color:#71819a;margin:50px 10px 15px}.sidebar nav{display:grid;gap:8px}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 11px;border:0;background:transparent;color:#9eacc3;text-align:left;border-radius:7px;font-size:.9rem;font-weight:500;white-space:nowrap}.nav-link:hover{background:#1a263b;color:#fff}.nav-link.active{color:#9dbcff;background:#243555;border:1px solid #34486b;padding:11px 10px}.nav-icon{font-size:22px;width:21px;text-align:center;line-height:1}.nav-count{margin-left:auto;background:#23334b;min-width:21px;text-align:center;border-radius:4px;font-size:.75rem}.sidebar-bottom{margin-top:auto;border:1px solid var(--line);border-radius:10px;padding:17px 13px;display:grid;gap:4px;font-size:.85rem}.connection-icon{font-size:25px;color:#a0b7dc;margin-bottom:5px}.muted{color:var(--muted)}.sidebar-bottom .text-button{font-size:.82rem;margin-top:10px;justify-content:space-between}.profile{display:flex;align-items:center;gap:10px;margin-top:24px}.avatar,.top-avatar{display:grid;place-items:center;background:#26354f;border:1px solid #3b4a65;border-radius:50%;width:34px;height:34px;font-size:.85rem;font-weight:650}.profile strong{font-size:.78rem}.profile small{display:block;font-size:.75rem;color:var(--muted)}main{margin-left:218px;min-width:0}.topbar{height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:16px}.breadcrumb{font-size:.875rem;color:var(--muted);display:flex;gap:13px}.breadcrumb strong{color:#dce7f9;font-weight:550}.breadcrumb>span{color:#465571}.topbar-right{display:flex;align-items:center;gap:20px;font-size:.78rem}.mode-pill{border:1px solid #35486c;border-radius:5px;padding:4px 9px;color:#b1c9fa;background:#192741}#clock{font-variant-numeric:tabular-nums;color:#9cacc2}.content{padding:30px 32px 18px;max-width:1880px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.eyebrow{font-size:.75rem;letter-spacing:.12em;color:#8f9eb6;font-weight:650;margin-bottom:7px}h1{font-size:1.9rem;letter-spacing:-.035em;font-weight:650;line-height:1.2}.heading-dot{color:var(--blue)}.subtitle{font-size:.875rem;color:var(--muted);margin-top:9px}.button{border-radius:7px;min-height:42px;padding:9px 16px;font-size:.875rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:12px;transition:background .15s,transform .15s}.button:active{transform:translateY(1px)}.button.secondary{background:#192439;border:1px solid #33425e}.button.secondary:hover{background:#23324c}.primary{border:1px solid #608ffe;background:#4b7ff5;color:#fff;box-shadow:0 3px 15px #153c8f20}.primary:hover{background:#6392ff}.danger{background:#8c3442;border:1px solid #b05060}.wide{width:100%}.notice{display:flex;align-items:center;gap:12px;background:#132139;border:1px solid #253a5d;color:#a7bce0;padding:11px 14px;border-radius:7px;font-size:.8rem;margin-bottom:22px}.notice p{line-height:1.65}.notice strong{color:#c0d1ef;font-weight:550}.notice-symbol{border:1px solid #6285bd;border-radius:50%;font-size:.75rem;width:17px;height:17px;flex-shrink:0;text-align:center;line-height:15px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;background:var(--surface);margin-bottom:22px;overflow:hidden}.stat{padding:19px 23px;position:relative}.stat+.stat:before{content:"";position:absolute;left:0;top:20px;bottom:20px;width:1px;background:var(--line)}.stat>span{font-size:.82rem;color:#a1b0c6}.stat>div{display:flex;align-items:baseline;gap:9px;margin:9px 0 5px;font-variant-numeric:tabular-nums}.stat strong{font-size:1.75rem;letter-spacing:-.04em;line-height:1.2;font-weight:600}.stat-unit{font-size:.78rem;color:var(--muted)}.stat small{color:#7586a0;font-size:.75rem}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 334px;gap:20px;align-items:start}.panel{border:1px solid var(--line);border-radius:10px;background:var(--surface);min-width:0;overflow:hidden}.panel-heading{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:15px}.chart-heading{padding:20px}.instrument{display:flex;align-items:center;gap:12px;min-width:0}.gold-icon{background:#302b23;border:1px solid #605037;color:#e2c580;width:44px;height:44px;display:grid;place-items:center;border-radius:10px;font-family:Georgia,serif;font-size:1.1rem}.instrument h2{font-size:1.05rem;letter-spacing:.015em}.instrument h2 span{font-size:.78rem;letter-spacing:0;font-weight:400;margin-left:7px;color:#93a3bc}.instrument p{font-size:.75rem;color:#7b8da8;margin-top:2px}.instrument p span{margin:0 5px}.icon-button{border:1px solid var(--line);background:#192438;border-radius:6px;width:34px;min-height:34px;font-size:22px;line-height:1;display:grid;place-items:center}.icon-button:hover{background:#293a55}.chart-toolbar{padding:0 18px 13px;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line)}.intervals{display:flex;gap:3px}.intervals button,.journal-tabs button{background:none;border:0;border-radius:5px;font-size:.78rem;min-height:31px;padding:5px 10px;color:#8fa0b9}.intervals button:hover,.journal-tabs button:hover{color:#e6edff;background:#202d43}.intervals button.selected,.journal-tabs button.selected{background:#293b5c;color:#aecbff}.text-button{display:inline-flex;align-items:center;gap:8px;color:#8fb4ff;background:none;border:0;padding:0;font-size:.8rem}.text-button:hover{color:#c4d7ff}.chart-host{height:538px;position:relative;background:#0f1726}.chart-host .tradingview-widget-container{height:100%;width:100%}.chart-host .tradingview-widget-container__widget{height:calc(100% - 32px);width:100%}.tradingview-widget-copyright{font-size:12px!important;line-height:30px!important;text-align:center;color:#8a9dbb}.chart-loading{position:absolute;inset:0;display:grid;place-items:center;color:#8da0bd;font-size:.9rem;background:#0f1726}.chart-loading.error{position:relative;height:100%;padding:30px;text-align:center}.chart-loading.error div{max-width:370px}.chart-loading.error p{margin:10px 0 16px}.chart-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 17px;border-top:1px solid var(--line);font-size:.75rem;color:#8495ae}.chart-footer a{color:#9abcfa;white-space:nowrap}.source-note{font-size:.75rem;color:#7a8ba5;padding:0 17px 13px;line-height:1.6}.small-icon{font-size:22px;color:#7389ae}.risk-panel .panel-heading{padding:19px 20px 14px}.risk-panel h2{font-size:1.05rem}form{padding:0 20px 18px}label{display:block;color:#a8b6cc;font-size:.78rem;margin-bottom:13px}input,select{width:100%;background:#0e1726;border:1px solid #2c3a53;border-radius:6px;min-height:40px;padding:8px 10px;color:#e4edff;margin-top:6px;outline:none;font-size:.85rem;transition:border-color .15s}input::placeholder{color:#647791;font-size:.78rem}input:focus,select:focus{border-color:#6999ff;box-shadow:0 0 0 2px #4575dc22}input[type=number]{appearance:textfield;-moz-appearance:textfield}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}.form-row>*{min-width:0}.direction{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:17px}.direction button{background:#142538;border:1px solid #2c3e57;border-radius:6px;min-height:36px;font-size:.83rem;color:#9eafc9}.direction button.selected.buy{background:#153c37;border-color:#2c7e6c;color:#70d9bb}.direction button.selected.sell{background:#422630;border-color:#9b4c5f;color:#f8a6b4}.field-dot{display:inline-block;width:5px;height:5px;border-radius:50%;vertical-align:middle;margin:0 3px 2px 0}.red{background:var(--red)}.green{background:var(--green)}.contract-details{font-size:.75rem;color:#8da1bf;margin-bottom:14px}.contract-details summary{cursor:pointer}.contract-details .form-row{margin-top:12px}.contract-details p{font-size:.75rem;line-height:1.5;color:#8193ad;margin-bottom:12px}.calculation{border:1px solid #2a4268;background:#15243d;border-radius:7px;padding:14px}.lot-output{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2b3a55;padding-bottom:12px;margin-bottom:10px;gap:10px}.lot-output>span{font-size:.77rem;color:#a6badc}.lot-output strong{font-size:1.6rem;line-height:1;letter-spacing:-.03em;color:#9dc0ff;font-weight:650;font-variant-numeric:tabular-nums}.lot-output small{font-size:.8rem;font-weight:450}.calculation-row{display:flex;justify-content:space-between;gap:12px;font-size:.75rem;color:#90a4c1;margin-top:6px}.calculation-row strong{font-variant-numeric:tabular-nums;color:#d2e0f8;font-weight:550}.form-error{font-size:.76rem;color:#f0a3ae;line-height:1.45;margin:10px 0}.form-error:empty{margin:0}.note-label{margin-top:13px}.note-label>span{color:#6e819d;font-size:.75rem}.fine-print{font-size:.75rem;color:#7f92ae;margin-top:11px;line-height:1.6}.journal-panel{margin-top:22px}.journal-heading{padding:21px 22px}.journal-tabs{display:flex;gap:4px;background:#0d1626;padding:4px;border:1px solid var(--line);border-radius:7px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:.8rem;text-align:left}th{font-size:.75rem;font-weight:500;letter-spacing:.025em;color:#8293ad;background:#0f1828;padding:12px 20px;border-block:1px solid var(--line)}td{padding:16px 20px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}td strong{font-size:.8rem;font-weight:550}td small{display:block;color:#7e91ad;font-size:.75rem;margin-top:4px}.side-badge,.status-tag{border-radius:4px;padding:4px 7px;font-size:.75rem;font-weight:550;display:inline-block}.side-badge.buy{color:#73d4b7;background:#17372f}.side-badge.sell{color:#f3a2af;background:#3b2530}.status-tag{color:#aabddd;background:#253650}.status-tag.closed{color:#acb6c9;background:#263040}.result-positive{color:var(--green)}.result-negative{color:var(--red)}.table-action{color:#9dbdff;background:#1c2c48;border:1px solid #334a70;border-radius:5px;padding:6px 9px;font-size:.75rem}.delete-action{border:0;background:none;color:#7e92b3;padding:8px;min-width:30px;margin-left:5px;font-size:19px}.empty-state{text-align:center;padding:36px 20px 41px}.empty-icon{display:grid;place-items:center;width:45px;height:45px;border:1px solid #354862;background:#19283f;border-radius:10px;margin:0 auto 14px;color:#88a1c8;font-size:28px}.empty-state h3{font-size:.95rem;font-weight:550}.empty-state p{font-size:.79rem;color:#8a9cb8;margin:8px 0 14px;line-height:1.7}.journal-footer{display:flex;justify-content:space-between;gap:20px;padding:13px 21px;border-top:1px solid var(--line);color:#7c8fae;font-size:.75rem}.page-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;color:#5f7495;font-size:.75rem;margin-top:23px}.footer-separator{margin:0 7px;color:#3c4d68}.skip{position:fixed;top:-90px;left:10px;z-index:100;background:var(--blue);padding:10px;border-radius:4px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}dialog{width:min(460px,calc(100% - 28px));border:1px solid #3c4e70;border-radius:14px;background:#141f32;color:var(--text);padding:24px;box-shadow:0 24px 100px #0009}dialog::backdrop{background:#040912c9;backdrop-filter:blur(5px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.dialog-top h2{font-size:1.2rem}dialog>p{font-size:.875rem;color:#9baec9;line-height:1.7;margin:15px 0}dialog form{padding:0}.connection-steps{margin:20px 0;display:grid;gap:19px}.connection-steps>div{display:flex;gap:13px;align-items:flex-start}.connection-steps>div>span{flex:0 0 25px;height:25px;text-align:center;border-radius:50%;background:#233757;color:#acc6ed;font-size:.77rem;line-height:25px}.connection-steps p{font-size:.81rem;color:#91a5c2}.connection-steps strong{display:block;color:#d8e5fa;font-size:.84rem;font-weight:550;margin-bottom:4px}.checkbox-label{display:flex;align-items:center;gap:9px;margin:8px 0 20px;line-height:1.6}.checkbox-label input{width:16px;min-height:16px;margin:0;accent-color:var(--blue)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.result-preview{margin:15px 0;font-size:1.15rem}.toast{position:fixed;bottom:25px;left:calc(50% + 100px);transform:translate(-50%,20px);background:#263958;border:1px solid #456187;color:#e4efff;border-radius:9px;box-shadow:0 8px 35px #0006;padding:13px 20px;z-index:100;opacity:0;pointer-events:none;transition:.2s;font-size:.875rem;max-width:calc(100vw - 28px)}.toast.visible{opacity:1;transform:translate(-50%,0)}.expanded-chart{position:fixed!important;inset:18px;z-index:50;background:var(--surface);display:flex;flex-direction:column;box-shadow:0 0 0 100px #04080edb}.expanded-chart .chart-host{flex:1;height:auto;min-height:100px}.expanded-chart .chart-toolbar{flex-shrink:0}.expanded-chart .chart-footer,.expanded-chart .source-note{flex-shrink:0}[hidden]{display:none!important}@media(min-width:1600px){.workspace-grid{grid-template-columns:minmax(0,1fr) 360px}.chart-host{height:555px}.content{padding:34px 40px}.stat{padding:22px 25px}}@media(max-width:1200px){.sidebar{width:185px;padding-inline:15px}.workspace-label{font-size:.75rem;margin-left:6px}.nav-link{font-size:.8rem;gap:9px}.brand{font-size:1rem}main{margin-left:185px}.content{padding:25px 23px}.topbar{padding-inline:23px}.workspace-grid{grid-template-columns:minmax(0,1fr) 300px;gap:15px}.instrument h2 span{display:block;margin:3px 0 0}.stat{padding:18px 15px}.stat strong{font-size:1.45rem}.stat>span{font-size:.75rem}.stat small{font-size:.75rem}.chart-footer{flex-wrap:wrap;gap:4px}.chart-host{height:530px}.toast{left:calc(50% + 90px)}}@media(max-width:980px){.sidebar{width:76px;padding:25px 14px}.brand>span:last-child,.workspace-label,.nav-link:not(.active),.sidebar-bottom,.profile{display:none}.sidebar nav{margin-top:35px}.nav-link.active{font-size:0;padding:12px;justify-content:center;gap:0}.nav-link .nav-icon{font-size:22px}main{margin-left:76px}.content{padding:23px 20px}.workspace-grid{grid-template-columns:minmax(0,1fr) 290px;gap:14px}.risk-panel .panel-heading{padding-inline:16px}form{padding-inline:16px}.chart-heading{padding:17px 14px}.chart-toolbar{padding-inline:10px}.chart-toolbar>.text-button span{display:none}.stats{grid-template-columns:1fr 1fr}.stat:nth-child(3),.stat:nth-child(4){border-top:1px solid var(--line)}.stat:nth-child(3):before{display:none}.stat{padding:14px 18px}.stat>span{font-size:.8rem}.stat small{font-size:.75rem}.toast{left:calc(50% + 38px)}}@media(max-width:760px){.sidebar{display:none}main{margin-left:0}.topbar{height:59px;padding:0 17px}.topbar-right{gap:11px}.top-avatar{display:none}#clock{font-size:.75rem}.content{padding:23px 15px 20px}.page-heading{align-items:flex-start;gap:12px}.page-heading>.button{font-size:.75rem;padding:8px 10px;min-height:37px}.page-heading>.button>span{display:none}h1{font-size:1.65rem}.subtitle{font-size:.78rem;max-width:240px}.eyebrow{font-size:.75rem}.notice{font-size:.75rem;padding:10px}.workspace-grid{grid-template-columns:1fr}.chart-host{height:480px}.instrument h2 span{display:inline;margin-left:6px;font-size:.75rem}.chart-toolbar>.text-button span{display:inline}.risk-panel .panel-heading{padding:20px}form{padding:0 20px 20px}label{font-size:.85rem}input,select{font-size:1rem;min-height:43px}.chart-footer,.source-note{font-size:.75rem}.stat strong{font-size:1.5rem}.stat small{font-size:.75rem}.journal-heading{flex-direction:column;align-items:flex-start;gap:16px}.journal-tabs{width:100%}.journal-tabs button{flex:1;font-size:.78rem}.journal-footer{flex-direction:column;gap:7px;font-size:.75rem}.page-footer{flex-direction:column;align-items:flex-start;font-size:.75rem}.toast{left:50%}.expanded-chart{inset:6px}.breadcrumb{font-size:.79rem}.mode-pill{font-size:.75rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Regular controls stay readable at desktop and enlarged browser text sizes. */
label,.nav-link,.button,.calculation-row,.lot-output>span,.direction button,.intervals button,.journal-tabs button,td,.stat>span{font-size:max(.875rem,12px)}.fine-print,.source-note,.journal-footer,.chart-footer,.eyebrow,.workspace-label,.page-footer,th,small{font-size:max(.75rem,12px)}.profile strong{font-size:.8rem}.nav-link{white-space:normal}.table-action{font-size:.8rem}.stat strong{overflow-wrap:anywhere}
@media(max-width:980px) and (min-width:761px){.nav-link.active{font-size:0}}

/* Brokerless market observation surfaces. */
.market-stats .stat:last-child strong{font-size:1.3rem}/* Trade signal column */
.signal-panel{border-color:#345078;background:linear-gradient(160deg,#182a46 0%,#121c2e 58%)}
.signal-panel .panel-heading{align-items:flex-start;padding-bottom:16px;flex-wrap:wrap}
.signal-panel .status-tag{font-size:.875rem;white-space:normal;text-align:center;max-width:118px}
.signal-body{padding:0 20px 18px}
.signal-direction{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid #344964;border-left:3px solid #7999c7;border-radius:8px;background:#142238}
.signal-direction-label{font-size:.875rem;color:#a6b9d5}
.signal-direction strong{font-size:2.25rem;font-weight:700;line-height:1.15;letter-spacing:.01em;color:#d6e4fa}
.signal-direction>span:last-child{font-size:.875rem;line-height:1.4;color:#a6b9d5}
.signal-panel[data-direction="waiting"] .signal-direction strong{font-size:1.35rem;line-height:1.4}
.signal-panel[data-direction="buy"] .signal-direction{border-color:#315f55;border-left-color:#62d9b4;background:#142e2b}
.signal-panel[data-direction="buy"] .signal-direction strong{color:#76e2bc}
.signal-panel[data-direction="sell"] .signal-direction{border-color:#63404e;border-left-color:#f193a3;background:#30212d}
.signal-panel[data-direction="sell"] .signal-direction strong{color:#ffacb7}
.signal-levels{display:grid;gap:8px;margin:14px 0 12px}
.signal-levels>div{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:5px 10px;padding:11px 13px;border:1px solid #293e5a;border-radius:7px;background:#0f1c30}
.signal-levels dt{font-size:.875rem;color:#c2d1e7;font-weight:550}
.signal-levels dt small{display:block;font-size:.75rem;color:#97abc7;font-weight:400;margin-top:3px}
.signal-levels dd{margin:0;font-size:1.2rem;line-height:1.4;font-weight:650;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.signal-levels .signal-entry{display:block;border-color:#426593;background:#192e4c}
.signal-entry dt{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 10px}
.signal-entry dt span{color:#99b7db;font-size:.75rem;font-weight:400}
.signal-entry dd{font-size:2rem;color:#e0edff;margin-top:5px;letter-spacing:-.02em}
.signal-take dd{color:#76e2bc}
.signal-loss dd{color:#ffacb7}
.signal-panel[data-direction="waiting"] .signal-levels dd{font-size:1rem;font-weight:500;color:#9db1ce;letter-spacing:0}
.signal-panel[data-direction="waiting"] .signal-entry dd{font-size:1.3rem;color:#c2d5ef}
.signal-metrics{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 20px;margin:0}
.signal-metrics dt{font-size:.875rem;color:#9eb2ce}
.signal-metrics dd{font-size:1rem;font-weight:550;font-variant-numeric:tabular-nums;margin:4px 0 0;color:#d3e2f7}
.signal-explanation{margin-top:14px;padding-top:13px;border-top:1px solid #2b405c}
.signal-explanation h3{font-size:1rem;line-height:1.4;font-weight:550;letter-spacing:0;margin:0}
.signal-explanation p{font-size:1rem;line-height:1.5;color:#a7bad6;margin:6px 0 0}
.sample-status{margin-top:12px}
.sample-status>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;font-size:.875rem;color:#9fb5d3}
.sample-status strong{font-weight:550;color:#c6dcfa}
.sample-status progress{display:block;width:100%;height:4px;margin:8px 0 0;border:none;border-radius:4px;overflow:hidden;background:#28394f;accent-color:#6b9bff}
.sample-status progress::-webkit-progress-bar{background:#28394f}
.sample-status progress::-webkit-progress-value{background:#6b9bff}
.sample-status progress::-moz-progress-bar{background:#6b9bff}
.signal-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:8px;margin-top:16px}
.signal-actions .button{font-size:.875rem;padding:10px 8px;min-height:42px;white-space:normal}
.signal-body .fine-print{margin:11px 0 0;color:#8da3c3}
.signal-timeframes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:15px}
.signal-timeframes>span{display:flex;flex-direction:column;align-items:center;gap:3px;background:#101d30;border:1px solid #2c415d;border-radius:6px;padding:7px 3px;color:#a8bad3;font-size:.875rem}
.signal-timeframes b{font-size:1rem;font-weight:600;color:#7890b1}
.signal-timeframes [data-state="BUY"] b{color:#76e2bc}
.signal-timeframes [data-state="SELL"] b{color:#ffacb7}
.signal-factors{margin-top:15px;border:1px solid #304764;border-radius:8px;background:#101e32;overflow:hidden}
.signal-factors>summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px 8px;padding:12px;cursor:pointer;font-size:.875rem;font-weight:550;list-style:none}
.signal-factors>summary::-webkit-details-marker{display:none}
.signal-factors>summary::before{content:"+";color:#91baff;font-size:1rem}
.signal-factors[open]>summary::before{content:"−"}
.signal-factors>summary>span{font-size:.75rem;font-weight:400;color:#a3b9d9}
#factorList{max-height:34rem;overflow-y:auto;overscroll-behavior:contain}
.factor-item{border-top:1px solid #283d58}
.factor-item>summary{display:flex;align-items:center;gap:9px;padding:11px 12px;list-style:none;cursor:pointer}
.factor-item>summary::-webkit-details-marker{display:none}
.factor-icon{display:grid;place-items:center;width:21px;height:21px;flex:0 0 21px;border-radius:5px;color:#b1c2da;background:#283950;font-size:.875rem}
.factor-name{font-size:.875rem;font-weight:550;flex:1;min-width:0;line-height:1.4;color:#d7e4f6}
.factor-name small{display:block;font-size:.875rem;font-weight:400;color:#9bb1cf;margin-top:2px}
.factor-chevron{font-size:1rem;color:#8aa6cc}
.factor-item[open] .factor-chevron{transform:rotate(180deg)}
.factor-item[data-state="pass"] .factor-icon{color:#89e1c3;background:#214536}
.factor-item[data-state="pass"] .factor-name small{color:#94cfb9}
.factor-item[data-state="blocked"] .factor-icon{color:#ffafae;background:#4a2a36}
.factor-item[data-state="blocked"] .factor-name small{color:#efaaaf}
.factor-item[data-state="missing"] .factor-name small{color:#e4c288}
.factor-detail{padding:0 12px 14px}
.factor-detail>p{font-size:1rem;line-height:1.55;color:#b7c9e2;margin:3px 0 10px}
.factor-detail>small{display:block;font-size:.75rem;line-height:1.5;color:#91aaca;overflow-wrap:anywhere}
.factor-detail .factor-note{font-size:.75rem;line-height:1.6;color:#91aaca;margin:9px 0}
.factor-detail .text-button{font-size:.875rem;text-align:left;line-height:1.5;margin-top:7px}
.macro-values{margin:12px 0 0}
.macro-values>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-top:1px solid #2b3e58;padding:8px 0;font-size:.875rem}
.macro-values dt{color:#a9bedc}
.macro-values dt a{color:inherit}
.macro-values dt small{display:block;font-size:.75rem;color:#7f9bc0;margin-top:3px}
.macro-values dd{font-variant-numeric:tabular-nums;font-weight:550;margin:0;overflow-wrap:anywhere;color:#d0e0f7}
.factor-detail .next-event{font-size:.875rem;border-left:2px solid #668fc8;padding-left:10px;margin-top:12px}
.factor-news-link,.news-links a{display:block;font-size:.875rem;color:#a6c6f7;line-height:1.5;text-decoration:none;overflow-wrap:anywhere}
.news-links a{padding:10px 0;border-top:1px solid #2b3e58}
.news-links a small{display:block;font-size:.75rem;color:#819ec4;margin-top:4px}
.factor-loading{padding:12px;font-size:1rem;line-height:1.55;color:#a4bad9}
.signal-allocation{margin-top:14px;border:1px solid #355b51;border-radius:7px;padding:11px 12px;background:#153029}
.signal-allocation>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px 10px;font-size:.875rem;margin:4px 0;color:#b9dccc}
.signal-allocation b{font-variant-numeric:tabular-nums;color:#def6eb}
.signal-allocation small{display:block;font-size:.75rem;line-height:1.5;margin-top:7px;color:#8ab4a2}
#rulesDialog{width:min(680px,calc(100% - 28px));max-height:calc(100dvh - 40px);overflow-y:auto}
#rulesForm fieldset{min-width:0;padding:15px;border:1px solid #2f4362;border-radius:8px;margin:18px 0}
#rulesForm legend{font-size:1rem;font-weight:550;padding:0 7px;color:#d5e4fa}
#rulesForm label{font-size:.875rem}
#rulesForm .form-row+.form-row{margin-top:14px}
.signal-confirmed{color:#95e9cc!important;background:#234d40!important}.signal-warning{color:#f5d294!important;background:#4b3b26!important}.signals-log{margin-top:22px}.signal-events{max-height:490px;overflow:auto;overscroll-behavior:contain}.compact-empty{padding:26px 24px;text-align:center;color:#8fa3c1;font-size:.9rem;line-height:1.7}.signal-event{display:flex;gap:14px;padding:17px 22px;border-top:1px solid var(--line)}.event-mark{flex:0 0 28px;height:28px;border-radius:7px;background:#25364e;color:#b6cbed;display:grid;place-items:center;font-size:18px}.event-warning{background:#4b3b26;color:#f5d294}.event-confirmed{background:#234d40;color:#95e9cc}.signal-event>div{flex:1;min-width:0}.event-title{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.event-title strong{font-size:.9rem;font-weight:550}.event-title time{font-size:.75rem;color:#8da5c6;white-space:nowrap}.signal-event p{font-size:.85rem;color:#a0b1c9;margin:5px 0 7px;line-height:1.6}.signal-event small{color:#6e88ad;font-size:.75rem}.event-levels{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:.78rem;color:#8fa9cd;margin:8px 0}.event-levels b{font-weight:500;color:#c7dcfb;margin-left:5px}.research-grid{display:grid;grid-template-columns:minmax(0,1fr) 334px;gap:20px;margin:22px 0}.technical-host{height:375px;padding:0 10px}.technical-host .tradingview-widget-container{height:100%;width:100%}.technical-host .tradingview-widget-container__widget{height:calc(100% - 32px);width:100%}.technical-note{padding:19px 23px;color:#8fa6c8;font-size:.875rem;line-height:1.75;border-top:1px solid var(--line)}.technical-note details{margin-top:16px}.technical-note summary{cursor:pointer;color:#b5cced;font-size:.875rem}.technical-note details p{margin:12px 0;font-size:.85rem}.journal-stats{margin:28px 0 0}.technical-panel .panel-heading{flex-wrap:wrap}.journal-panel{scroll-margin-top:15px}.signals-log .button{font-size:.8rem}.signal-panel .eyebrow{font-size:.75rem}.market-stats .stat:nth-child(3) strong{font-size:1.5rem}
@media(min-width:1600px){.research-grid{grid-template-columns:minmax(0,1fr) 360px}}
@media(max-width:1200px){.research-grid{grid-template-columns:minmax(0,1fr) 300px;gap:15px}.signal-body{padding-inline:17px}.signal-panel .panel-heading{padding-inline:17px}.signal-panel .eyebrow{letter-spacing:.025em}.market-stats .stat:last-child strong{font-size:1.15rem}}
@media(max-width:980px){.research-grid{grid-template-columns:minmax(0,1fr) 290px;gap:14px}.technical-host{height:430px}.technical-note{padding:16px}}
@media(max-width:760px){.research-grid{grid-template-columns:1fr}.signal-body{padding-inline:20px}.signal-panel .panel-heading{padding-inline:20px}.technical-host{height:380px}.market-stats .stat:last-child strong{font-size:1.2rem}.signal-event{padding:16px;gap:10px}.event-title{align-items:flex-start;gap:10px;flex-direction:column}.event-title time{font-size:.75rem}.signals-log .panel-heading{flex-wrap:wrap}.technical-note{padding:20px}.market-stats .stat:nth-child(3) strong{font-size:1.35rem}}

.signal-risk-assessment{margin-top:15px;padding:12px;border:1px solid #34475f;border-radius:8px;background:#162237}
.signal-risk-assessment>div{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:5px 12px;font-size:.875rem}
.signal-risk-assessment strong{font-size:1rem;color:#bac9de}
.signal-risk-assessment small{display:block;font-size:.75rem;color:#9fb3ce;line-height:1.5;margin-top:6px}
.signal-risk-assessment p{font-size:.875rem;line-height:1.5;color:#c5d3e6;margin-top:9px}
.signal-risk-assessment[data-level="lower"]{border-color:#396655;background:#15302b}
.signal-risk-assessment[data-level="lower"] strong{color:#8cdfbc}
.signal-risk-assessment[data-level="moderate"]{border-color:#715c37;background:#30291e}
.signal-risk-assessment[data-level="moderate"] strong{color:#f1ca80}
.signal-risk-assessment[data-level="high"]{border-color:#7d4551;background:#34222d}
.signal-risk-assessment[data-level="high"] strong{color:#ffb0b9}
.calculator-purpose{padding:0 22px 10px;color:#a9bdd7;font-size:.875rem;line-height:1.6}
