:root{color-scheme:dark;--bg:#0b0e12;--panel:#12161c;--line:#252b34;--muted:#828c9b;--text:#e9edf2;--green:#b2f375;--up:#82dcac;--down:#ec8d98;--orange:#f4b960;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.5}button,input,select{font:inherit}button,select{cursor:pointer}button{color:inherit}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:4px}a{color:inherit;text-decoration:none}.hidden{display:none!important}.sidebar{width:232px;position:fixed;inset:0 auto 0 0;background:#0f1217;border-right:1px solid var(--line);padding:32px 20px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font-size:16px;letter-spacing:1.7px;font-weight:750}.brand-icon{background:var(--green);color:#182515;display:grid;place-items:center;width:37px;height:38px;border-radius:9px;font-size:28px}.brand-sub{display:block;font-size:8px;letter-spacing:3px;color:var(--muted);margin-top:1px}.workspace{margin:51px 12px 16px;font-size:10px;letter-spacing:1.6px;color:#707988}.workspace span{float:right;font-size:8px;border:1px solid var(--line);padding:1px 5px;border-radius:4px;letter-spacing:1px}nav{display:grid;gap:6px}.nav{text-align:left;padding:12px;border:1px solid transparent;background:none;border-radius:7px;color:#929cab;font-weight:500}.nav span{display:inline-block;width:27px;font-size:17px}.nav:hover{background:#181d25;color:var(--text)}.nav.active{background:#1d2920;border-color:#314232;color:var(--green)}.side-bottom{margin-top:auto;padding:12px}.connection{font-size:11px;color:#acb7c4}.connection i{display:inline-block;background:var(--up);width:6px;height:6px;border-radius:50%;margin-right:6px}.side-bottom p{font-size:11px;color:var(--muted);line-height:1.9}.version{display:block;border-top:1px solid var(--line);padding-top:21px;margin-top:25px;font:9px var(--mono);color:#566170}main{margin-left:232px;padding:0 40px;max-width:1900px}.topbar{height:79px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:12px}.breadcrumb{color:var(--muted)}.slash{margin:0 16px;color:#475262}.top-right{display:flex;align-items:center;gap:18px}.top-right time{font:12px var(--mono);color:var(--muted)}.tag{font:10px var(--mono);letter-spacing:.7px;display:inline-flex;padding:5px 9px;border:1px solid var(--line);border-radius:5px;color:#a3adba;white-space:nowrap}.tag.live{color:var(--up);border-color:#2b4e3c;background:#132019}.tag.demo{color:var(--orange);border-color:#50402b;background:#221c14}.page{padding-top:36px}.page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:20px}.eyebrow{font:10px var(--mono);color:var(--muted);letter-spacing:1.8px;margin-bottom:10px}h1{font-size:32px;letter-spacing:-1.2px;font-weight:600;margin:0}h1 .accent{color:var(--green)}p{color:var(--muted);margin:8px 0;font-size:12px}h2{font-size:15px;font-weight:550;margin:0}h3{font-size:20px;font-weight:500;line-height:1.5;margin:12px 0}.source-select,.run-select{min-width:200px}label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#97a2b0}select,input{background:#171c24;border:1px solid #303845;border-radius:6px;color:var(--text);padding:10px 12px;min-width:0;max-width:100%;font-size:12px}select{padding-right:26px}.market-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.asset-switch{display:flex;border:1px solid var(--line);padding:4px;gap:4px;border-radius:8px;background:#10141a}.asset-switch button{display:flex;align-items:center;gap:8px;background:none;border:0;border-radius:5px;padding:8px 14px;white-space:nowrap;color:#929caa;font-size:12px}.asset-switch button.selected{background:#242a33;color:var(--text)}.asset-switch small{color:#747e8d;font-size:10px}.coin{width:23px;height:23px;display:inline-grid;place-items:center;border-radius:50%;font-size:17px}.btc{background:#47361e;color:var(--orange)}.eth{background:#29304b;color:#adbbf1}.model-controls{display:flex;gap:12px}.model-controls label{gap:3px}.model-controls select{padding:7px 10px;font-size:11px}.metrics-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0 32px}.metric{border:1px solid var(--line);background:var(--panel);border-radius:9px;padding:19px 20px;min-width:0}.metric>span{display:flex;justify-content:space-between;font-size:11px;color:#99a3b1;gap:8px}.metric small{font:9px var(--mono);color:#6f7c8b}.metric strong{display:block;font:27px var(--mono);letter-spacing:-1px;margin:13px 0 10px;font-weight:450;white-space:nowrap}.metric>div{font-size:10px;color:#697687}.up{color:var(--up)!important}.down{color:var(--down)!important}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.section-heading>span{font-size:10px;color:var(--muted)}.forecast-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:26px}.forecast{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:23px 25px;overflow:hidden}.forecast.current:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--green),transparent)}.forecast-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.forecast-head .eyebrow{margin:0;color:#abb6c2}.forecast h3{font:23px var(--mono);margin:0}.forecast-date{font-size:10px;color:var(--muted);margin-top:5px}.forecast-head .tag{font-size:9px}.probabilities{display:grid;grid-template-columns:1fr 1fr;margin-top:24px}.probability:last-child{text-align:right}.probability span{display:block;font:10px var(--mono);letter-spacing:1.5px;margin-bottom:8px}.probability strong{font:43px var(--mono);font-weight:400;letter-spacing:-2px}.probability strong small{font-size:22px;letter-spacing:0}.probability-bar{display:flex;height:5px;background:#272d37;border-radius:5px;overflow:hidden;margin:18px 0}.probability-bar i{display:block;background:var(--up);transition:width .4s}.probability-bar b{display:block;background:var(--down);transition:width .4s}.forecast-meta{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px;font-size:10px;color:var(--muted);gap:15px}.forecast-message{font-size:11px;color:#a0a9b6;min-height:32px;margin-top:12px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.panel-head p{font-size:10px;margin-top:5px}.chart-panel{padding:22px 24px;margin-bottom:20px}.chart{height:235px;position:relative;min-width:0}.chart svg{display:block;width:100%;height:100%;overflow:visible}.chart .chart-empty{height:100%;display:grid;place-items:center;color:var(--muted);font-size:12px;border:1px dashed var(--line);border-radius:5px}.chart-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;margin-top:12px;font-size:10px;color:#697687}.chart-tooltip{position:absolute;top:6px;left:60px;padding:6px 10px;background:#263128;border:1px solid #46613f;border-radius:4px;font:11px var(--mono);pointer-events:none}.notice{border:1px solid #3b4133;background:#1b2118;color:#b6c3a6;padding:12px 16px;border-radius:7px;font-size:12px;margin:16px 0}.notice.error{border-color:#61313b;background:#28181d;color:#ffacb6}.notice.warning{border-color:#51432d;background:#221d15;color:#cfb78f}.footnote{font-size:10px;line-height:1.9;color:#728092;max-width:1100px}.lab-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:24px}.form-panel{padding:26px}.form-panel>p{margin:8px 0 25px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 16px}.form-divider{font:9px var(--mono);letter-spacing:1.5px;color:#778495;margin:26px 0 20px;border-top:1px solid var(--line);padding-top:24px}.primary{background:var(--green);color:#1e2d16;border:0;border-radius:6px;padding:13px 19px;font-size:12px;font-weight:650;display:flex;justify-content:center;gap:12px;width:100%;margin-top:22px}.primary:hover{background:#c4ff8d}.secondary{background:#242e25;color:var(--green);border:1px solid #3a4c37;border-radius:6px;padding:10px 15px;font-size:12px}.execution-panel,.method-panel{padding:24px;margin-bottom:22px}.execution-panel pre{background:#0b0e12;border:1px solid var(--line);border-radius:6px;font:10px/1.9 var(--mono);color:#94a3b3;padding:16px;height:215px;overflow:auto;white-space:pre-wrap;word-break:break-word;margin:20px 0}.progress{height:3px;overflow:hidden;background:#273022;border-radius:4px;margin-bottom:16px}.progress i{display:block;background:var(--green);height:100%;width:30%;animation:progress 2s ease-in-out infinite}.method-panel{background:linear-gradient(135deg,#17211a,#12161c)}.method-panel ol{padding-left:17px;color:#96a59a;font-size:12px;line-height:2.2}.method-panel p{font-size:11px;line-height:1.9}.run-select{max-width:370px}.empty{padding:70px;text-align:center;color:var(--muted)}.table-panel{padding:22px 24px;margin-top:24px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left;font-size:11px}th{font-weight:400;font-size:10px;color:#788696;padding:10px 13px;border-bottom:1px solid var(--line)}td{font-family:var(--mono);padding:12px 13px;border-bottom:1px solid #20262f;color:#b9c1cc}tbody tr:hover{background:#1b222a}td:first-child{font-family:inherit;color:var(--text)}footer{display:flex;justify-content:space-between;padding:24px 0;margin-top:35px;border-top:1px solid var(--line);color:#617080;font-size:10px}@keyframes progress{from{transform:translateX(-100%)}to{transform:translateX(450%)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(min-width:1600px){main{padding:0 65px}.forecast{padding:28px 30px}.chart{height:270px}}@media(max-width:1200px){.sidebar{width:200px;padding:28px 14px}main{margin-left:200px;padding:0 25px}.model-controls{flex-direction:column;gap:5px}.metric{padding:15px}.metric strong{font-size:23px}.metric small{display:none}.top-right time{display:none}.forecast{padding:20px}.section-heading>span{max-width:230px;text-align:right}.lab-grid{grid-template-columns:1fr}.run-select{max-width:240px}}@media(max-width:850px){.sidebar{position:static;width:auto;height:auto;padding:15px 20px;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;justify-content:space-between}.brand{font-size:12px}.brand-icon{width:30px;height:30px;font-size:22px}.brand-sub{font-size:7px}.workspace,.side-bottom{display:none}nav{display:flex}.nav{padding:9px;font-size:11px}.nav span{display:none}main{margin-left:0;padding:0 20px}.topbar{height:54px}.page{padding-top:25px}.page-title{margin-bottom:23px}h1{font-size:28px}.metric strong{font-size:24px}.metrics-row{grid-template-columns:1fr 1fr}.market-toolbar{align-items:flex-start}.model-controls{max-width:230px}.forecast-grid{gap:12px}.probability strong{font-size:34px}.forecast-meta{flex-direction:column;gap:4px}.chart-footer{gap:15px}.source-select{min-width:150px}}@media(max-width:570px){.brand-sub{display:none}.brand{gap:7px;letter-spacing:.6px}.nav{font-size:10px;padding:9px 6px}.sidebar{padding:12px}.topbar{font-size:10px}.slash{margin:0 8px}main{padding:0 15px}.top-right .tag{font-size:8px}.page-title{align-items:flex-start;flex-direction:column;gap:16px}.page-title p{font-size:11px}.source-select,.run-select{width:100%;max-width:none}.market-toolbar{flex-direction:column}.model-controls{flex-direction:row;max-width:100%;width:100%}.model-controls label{flex:1;min-width:0}.asset-switch{width:100%}.asset-switch button{flex:1}.metrics-row{gap:10px;margin-top:18px}.metric{padding:13px}.metric strong{font-size:22px}.metric>span{font-size:10px}.metric>div{font-size:9px}.section-heading{align-items:flex-start;flex-direction:column}.section-heading>span{max-width:none;text-align:left}.forecast-grid{grid-template-columns:1fr}.forecast-head{margin-bottom:17px}.forecast-meta{flex-direction:row}.probability strong{font-size:42px}.chart-panel{padding:17px 15px}.chart{height:210px}.chart-footer{flex-direction:column;gap:5px}.form-panel{padding:19px}.form-grid{gap:15px 11px}.panel-head{flex-wrap:wrap}.table-panel{padding:18px 12px}footer span{display:none}.empty{padding:40px 20px}}

.lab-grid>*,.form-grid label{min-width:0}#data-readiness,#form-message,#job-description{overflow-wrap:anywhere}

#poly-form .form-grid,#poly-model-form .form-grid{margin-top:20px}#poly-message,#poly-summary,#poly-status{overflow-wrap:anywhere}#poly-results td:last-child{white-space:normal;min-width:200px;max-width:600px}.table-panel{min-width:0}
@media(max-width:570px){.sidebar{flex-wrap:wrap;gap:8px}.sidebar nav{width:100%;justify-content:space-between}.nav{padding:8px 5px}}

.login-page{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:24px}
.login-page .login-card{margin:0;width:100%;max-width:440px;padding:32px;background:#171e27;border:1px solid #303b48;border-radius:16px}
.login-card form,.login-card label{display:flex;flex-direction:column;gap:12px}.login-card form{margin-top:24px;gap:20px}.login-card input{padding:12px;width:100%;box-sizing:border-box}.login-card h1{margin:16px 0}.login-card p{line-height:1.6}.login-card #login-error{color:#ff9999}
