@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#f5f7fb;--surface:#fff;--ink:#192642;--muted:#758198;--line:#e8edf5;--blue:#4863e8;--blue-soft:#eef1ff;--teal:#168c82;--rose:#c86375;--sidebar:236px;font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}a{color:inherit;text-decoration:none}button,input,select,textarea{outline-offset:3px}button:focus-visible,a:focus-visible{outline:2px solid var(--blue)}button{border:0}input,select,textarea{border:1px solid #dfe5ef;border-radius:8px;padding:10px 12px;background:#fff;color:var(--ink);max-width:100%}input:focus,select:focus,textarea:focus{border-color:var(--blue);outline:2px solid #4863e81c}textarea{resize:vertical}.hidden{display:none!important}.sidebar{width:var(--sidebar);height:100vh;position:fixed;left:0;top:0;background:white;border-right:1px solid var(--line);padding:32px 21px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:12px;align-items:center;font-weight:700;font-family:Manrope,sans-serif;font-size:15px;letter-spacing:-.4px}.brand small,.sidebar-bottom small{display:block;font-size:11px;color:var(--muted);font-weight:400;letter-spacing:0;margin-top:5px}.brand-symbol{font-family:Georgia,serif;width:38px;height:38px;background:var(--blue);color:#fff;border-radius:11px;font-size:28px;letter-spacing:-5px;padding-left:6px;position:relative}.brand-symbol span{font-size:19px;position:relative;top:4px}.nav-label{font-size:10px;letter-spacing:1.5px;color:#a0a9ba;margin:45px 13px 16px;font-weight:700}.nav-item{width:100%;display:flex;align-items:center;gap:13px;background:transparent;color:#738098;padding:13px 15px;border-radius:9px;text-align:left;margin-bottom:6px;font-weight:500}.nav-item>span{font-size:20px;width:22px}.nav-item.active{color:var(--blue);background:var(--blue-soft)}.nav-item b{margin-left:auto;font-size:10px;background:white;padding:3px 6px;border-radius:5px}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:10px;padding:19px 8px 0;border-top:1px solid var(--line);font-size:11px}.workspace-dot{width:7px;height:7px;border-radius:50%;background:#36a397}main{margin-left:var(--sidebar)}.topbar{height:80px;border-bottom:1px solid var(--line);background:#ffffffc9;display:flex;align-items:center;justify-content:space-between;padding:0 40px}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb span{padding:0 16px;color:#b4bece}.breadcrumb b{font-weight:500;color:var(--ink)}.top-actions{display:flex;align-items:center;gap:16px}.top-actions select{font-size:12px;padding:8px 12px}.avatar{border-radius:50%;width:34px;height:34px;font-size:10px;background:#dde5f9;color:#536b9d;font-weight:700}.page-body{max-width:1480px;margin:0 auto;padding:28px 40px 0}.dataset-banner{display:flex;gap:12px;align-items:center;background:#eef2ff;border:1px solid #e2e7fc;border-radius:10px;padding:12px 18px;margin-bottom:32px;color:#5a6baf}.dataset-banner>span{font-size:23px}.dataset-banner b{font-size:12px;display:block;margin-bottom:3px;font-weight:600}.dataset-banner div>span{font-size:11px;color:#8390b4}.dataset-banner button{margin-left:auto;color:#536bc6;background:transparent;font-size:11px;white-space:nowrap}.dataset-banner.live{background:#eaf7f4;border-color:#d9eeea;color:#39887e}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{font-size:9px;letter-spacing:2px;color:#8b97ac;font-weight:700;margin-bottom:12px}h1{font-family:Manrope,sans-serif;font-size:30px;font-weight:700;letter-spacing:-1.15px;line-height:1.3;margin:0 0 8px}p{color:var(--muted);line-height:1.65;margin:0}h2{font-family:Manrope,sans-serif;font-size:14px;font-weight:700;letter-spacing:-.15px;margin:0}h3{font-size:14px;margin:12px 0 7px}small{font-size:10px;color:var(--muted);font-weight:400}.primary,.secondary{padding:11px 17px;border-radius:8px;font-size:12px;font-weight:600;white-space:nowrap}.primary{color:white;background:var(--blue);box-shadow:0 4px 10px #4863e820}.primary:hover{background:#3c55d7}.secondary{color:#61718c;background:white;border:1px solid #dfe5ef}.text-button{font-size:11px;color:var(--blue);background:none;white-space:nowrap;padding:4px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:21px 23px}.stat-label{font-size:11px;color:#8390a5;display:flex;justify-content:space-between}.stat-value{font-family:Manrope,sans-serif;font-size:28px;letter-spacing:-1px;font-weight:700;margin:10px 0 6px}.stat-detail{font-size:10px;color:#a1acbd}.stat-detail .positive{color:var(--teal)}.overview-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:24px;margin-bottom:24px}.panel{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 2px 3px #17244502}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:23px 24px 17px}.panel-heading p{font-size:10px;margin-top:5px}.chart-empty{height:258px;padding:28px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.chart-empty p{font-size:11px;max-width:300px}.chart-empty button{margin-top:18px}.empty-orbit{font-size:22px;color:var(--blue);border:1px solid #e4e9fa;width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#f5f7ff}.chart-container{padding:8px 18px 0;height:258px}.chart-container svg{width:100%;height:100%;overflow:visible}.chart-legend{display:flex;gap:22px;align-items:center;padding:5px 28px 23px;color:#9aa5b5;font-size:10px}.chart-legend span{display:flex;align-items:center;gap:7px}.chart-legend i{display:inline-block;width:7px;height:7px;border-radius:50%}.blue{background:var(--blue)}.gray{background:#aeb7ca}.source-row{padding:12px 24px;display:flex;gap:12px;align-items:center;border-top:1px solid #f1f4f8}.source-avatar{width:32px;height:32px;border-radius:9px;background:#eef1fc;display:grid;place-items:center;color:#7488c0;font-size:11px;font-weight:700;flex-shrink:0}.source-name{font-size:11px;font-weight:600}.source-handle{font-size:10px;color:#a0aabc;margin-top:4px}.source-row .platform-tag{margin-left:auto}.platform-tag{font-size:10px;border-radius:5px;padding:5px 7px;background:#f3f5f9;color:#748196;white-space:nowrap}.platform-tag.youtube{background:#fff0ef;color:#bc766f}.platform-tag.x{background:#eef0f5;color:#637087}.pill{background:#f0f3f8;color:#8a97ac;border-radius:5px;padding:4px 7px;font-size:10px;margin-left:5px}.content-row{padding:17px 24px;border-top:1px solid #f1f4f8;display:flex;align-items:flex-start;gap:13px}.content-row .content-text{flex:1;min-width:0}.content-title{font-size:12px;font-weight:500;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content-excerpt{font-size:11px;color:#95a0b2;line-height:1.6}.content-meta{font-size:9px;color:#aab3c1;margin-top:8px}.signal-guide{padding:30px;background:linear-gradient(135deg,#f9fbff,#edf2ff);position:relative}.guide-tag{font-size:9px;letter-spacing:1.6px;color:#8999c5}.signal-guide h2{font-size:23px;line-height:1.4;letter-spacing:-.8px;margin:18px 0 12px;color:#465f9b}.signal-guide p{font-size:11px;max-width:350px;color:#8b99b5}.guide-flow{display:flex;align-items:center;gap:9px;margin:26px 0;color:#8b9cbe;font-size:9px}.guide-flow span{background:white;border:1px solid #e3e9f6;padding:8px;border-radius:5px}.guide-flow b{font-weight:400}footer{display:flex;justify-content:space-between;padding:22px 0 28px;color:#b0b9c8;font-size:9px;gap:20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:10px;color:#9aa6ba;font-weight:500;background:#fafbfd;padding:13px 24px;white-space:nowrap}td{padding:17px 24px;font-size:11px;border-top:1px solid #eff2f7;white-space:nowrap}.table-source{display:flex;align-items:center;gap:10px}.table-actions{display:flex;gap:8px}.table-actions button{background:none;color:#8291ab;font-size:10px;padding:4px}.table-actions .delete{color:#b28792}.toggle{appearance:none;width:28px;height:16px;background:#e3e8f1;border:0;border-radius:10px;padding:0;position:relative;cursor:pointer}.toggle:checked{background:var(--blue)}.toggle:before{content:'';position:absolute;width:12px;height:12px;left:2px;top:2px;background:white;border-radius:50%;transition:left .15s}.toggle:checked:before{left:14px}.status{font-size:10px;color:#8a98ab;max-width:180px;overflow:hidden;text-overflow:ellipsis}.status:before{content:'';width:5px;height:5px;background:#61b7a1;border-radius:50%;display:inline-block;margin-right:6px}.inline-note{font-size:11px;line-height:1.7;color:#8794ac;margin:18px 0}.empty{text-align:center;padding:55px 20px}.empty p{font-size:12px}.direction{padding:4px 7px;border-radius:5px;background:#edf7f3;color:#4c9a81;font-size:10px}.direction.bearish{background:#fbf0f3;color:#c1788b}.signal-bar{width:110px;background:#f0f3fa;height:4px;border-radius:4px;display:inline-block;margin-right:9px;vertical-align:middle}.signal-bar>span{display:block;background:var(--blue);height:4px;border-radius:4px}.content-panel{margin-top:24px}.lab-grid{display:grid;grid-template-columns:295px 1fr;gap:24px}.experiment-form{padding:0 22px 23px;align-self:start}.experiment-form .panel-heading{padding:22px 0}.experiment-form label,dialog label{display:flex;flex-direction:column;font-size:10px;font-weight:500;color:#65748f;gap:7px;margin-bottom:16px}.experiment-form input,.experiment-form select{width:100%;font-size:11px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wide{width:100%;display:flex;justify-content:space-between;align-items:center}.form-note{font-size:10px;color:#9ba6b8;line-height:1.6;margin-top:13px}fieldset{border:0;padding:0;margin:20px 0}legend{font-size:10px;color:#65748f;margin-bottom:12px}#backtest-sources label{flex-direction:row;align-items:center;gap:8px;margin:8px 0;font-size:10px}#backtest-sources input{width:auto;accent-color:var(--blue)}.lab-results>.panel{margin-bottom:24px}.stats-grid.compact{gap:12px}.compact .stat{padding:17px}.compact .stat-value{font-size:22px}.assumptions{padding:0 24px 22px;font-size:10px;color:#8996ab;line-height:1.8}.assumptions ul{padding-left:17px;margin:8px 0}.run-row{display:flex;align-items:center;gap:15px;width:100%;padding:15px 24px;background:white;border-top:1px solid #f0f3f8;text-align:left;color:#7d8ba3;font-size:10px}.run-row strong{font-weight:500;color:#53647e}.run-row span:last-child{margin-left:auto}.run-meta{color:#9faabd;overflow-wrap:anywhere;font-size:9px}.chart-grid{stroke:#eef1f7;stroke-width:1}.chart-label{fill:#a7b1c1;font-family:'DM Sans',sans-serif;font-size:9px}.chart-line{fill:none;stroke:var(--blue);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.benchmark-line{fill:none;stroke:#b0bacb;stroke-width:1.8;stroke-dasharray:5 4}.chart-area{fill:url(#area)}dialog{border:1px solid #e5eaf3;border-radius:15px;padding:28px;width:420px;max-width:calc(100vw - 30px);box-shadow:0 25px 100px #18284225}dialog::backdrop{background:#17244345;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.dialog-heading h2{font-size:21px;letter-spacing:-.5px}.icon-button{background:none;color:#8995a8;font-size:23px;padding:0;line-height:1}.platform-picker{display:flex;gap:10px;margin-bottom:20px}.platform-picker label{flex:1;position:relative;margin:0}.platform-picker input{position:absolute;opacity:0}.platform-picker span{display:block;border:1px solid var(--line);padding:12px;border-radius:8px;text-align:center;font-size:12px}.platform-picker input:checked+span{background:var(--blue-soft);border-color:#c9d2fa;color:var(--blue)}dialog p{font-size:11px;margin-bottom:15px}dialog input,dialog textarea,dialog select{width:100%;font-size:12px}.toast{position:fixed;bottom:25px;left:calc(50% + 90px);transform:translateX(-50%);background:#263855;color:white;border-radius:10px;box-shadow:0 8px 30px #18284230;padding:14px 20px;font-size:12px;z-index:50;max-width:calc(100vw - 35px)}.toast.error{background:#9b4f63}.loading{opacity:.6;pointer-events:none}@media(min-width:1500px){h1{font-size:34px}.page-body{padding-top:35px}.overview-grid{grid-template-columns:1.75fr 1fr}.chart-empty,.chart-container{height:290px}}@media(max-width:1150px){:root{--sidebar:195px}.sidebar{padding:27px 15px}.brand{font-size:12px;gap:8px}.topbar{padding:0 25px}.page-body{padding:24px 25px 0}h1{font-size:25px}.stats-grid{gap:12px}.stat{padding:18px}.overview-grid{gap:16px;grid-template-columns:1.4fr 1fr}.lab-grid{grid-template-columns:260px 1fr;gap:16px}.compact{grid-template-columns:repeat(2,1fr)}th,td{padding:14px 18px}}@media(max-width:800px){:root{--sidebar:70px}.sidebar{padding:24px 10px}.brand>span:last-child,.nav-label,.nav-item b,.sidebar-bottom{display:none}.brand-symbol{margin:auto}.nav-item{padding:13px;font-size:0;justify-content:center;margin-top:10px}.nav-item>span{font-size:22px}.sidebar nav{margin-top:25px}.overview-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.page-heading{align-items:flex-start}h1{font-size:23px}.page-heading p{font-size:12px}.lab-grid{grid-template-columns:1fr}.experiment-form{max-width:100%}.dataset-banner div>span{display:none}.dataset-banner{padding:10px}.topbar{height:65px}.breadcrumb{font-size:10px}.top-actions{gap:8px}.top-actions select{max-width:160px}.avatar{display:none}.toast{left:50%}footer{flex-direction:column;gap:8px}.guide-flow{justify-content:flex-start}}@media(max-width:480px){.page-body{padding:18px 14px 0}.topbar{padding:0 14px}.breadcrumb>span{padding:0 6px}.page-heading{flex-direction:column;gap:15px}.page-heading .primary{align-self:flex-end;margin-top:-2px}.stat{padding:15px}.stat-value{font-size:24px}.dataset-banner button{font-size:10px;padding:4px}.panel-heading{padding:18px}.source-row,.content-row{padding:15px 18px}.chart-container{height:225px;padding:5px 12px}.signal-guide{padding:24px}.panel-heading input{max-width:145px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.connection-card{display:flex;align-items:center;gap:16px;background:#eef1ff;border:1px solid #dde4fc;padding:20px 24px;border-radius:12px;margin-top:20px}.connection-card b{font-size:12px;color:#4f65a3}.connection-card p{font-size:11px;margin-top:5px;max-width:600px}.connection-icon{width:34px;height:34px;border-radius:8px;background:white;display:grid;place-items:center;color:#6075b2;font-size:20px}.connection-card button{margin-left:auto}.status.needs_connection:before{background:#d8a44f}.status.error:before{background:#ce7082}.status.queued:before,.status.fetching:before,.status.extracting:before{background:var(--blue)}.status.paused:before{background:#a6b0c0}.status{max-width:230px}@media(max-width:700px){.connection-card{flex-wrap:wrap;padding:17px}.connection-card>div{flex:1}.connection-card button{margin-left:50px}}
.connection-card>.primary{margin-left:auto}.status.needs_credits:before{background:#d8a44f}
.research-readiness,.research-message{border:1px solid var(--line);border-radius:10px;background:white;padding:17px 22px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:15px}.research-readiness b,.research-message b{font-size:12px}.research-readiness p,.research-message p{font-size:11px;margin-top:5px}.research-message{display:block;background:#fff8ed;border-color:#f0e0c6}.readiness-warning{color:#a48450}.creator-cell{width:230px;max-width:230px}.creator-cell .table-source>div:last-child{min-width:0}.creator-cell .source-name{display:block;max-width:190px;overflow:hidden;text-overflow:ellipsis}.source-row .source-name{max-width:185px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.provider-link{font-size:11px;color:#8593ab;padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:white}.provider-link.selected{color:var(--blue);background:var(--blue-soft);border-color:#d5ddfb}.source-range{font-size:9px;color:#8f9bb1;margin-top:7px}.checkbox-label{flex-direction:row!important;align-items:center!important;gap:9px!important}.checkbox-label input{width:auto!important;accent-color:var(--blue)}.table-actions{flex-wrap:wrap}.status.partial:before{background:#d8a44f}.status.backend_unavailable:before{background:#ce7082}@media(max-width:700px){.top-actions{flex-wrap:wrap;justify-content:flex-end}.provider-link{font-size:9px;padding:5px}.topbar{height:95px}}
.panel-actions{display:flex;align-items:center;gap:12px}.chart-interval{display:inline-flex;align-items:center;padding:2px;background:#f2f4f8;border:1px solid #e6eaf1;border-radius:7px}.chart-interval button{width:27px;height:24px;padding:0;border-radius:5px;background:transparent;color:#8a96aa;font-family:Manrope,sans-serif;font-size:9px;font-weight:700}.chart-interval button:hover:not(:disabled){color:#536bc6}.chart-interval button.active{background:white;color:var(--blue);box-shadow:0 1px 3px #1f315718}.chart-interval button:disabled{opacity:.38;cursor:default}@media(max-width:600px){.equity-panel .panel-heading{align-items:flex-start}.equity-panel .panel-actions{align-items:flex-end;flex-direction:column-reverse;gap:6px}.chart-interval button{width:25px}}
.diagnostic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:9px;overflow:hidden;margin:4px 0 18px}.diagnostic-item{display:flex;flex-direction:column;gap:6px;min-height:63px;padding:13px 14px;background:#fff}.diagnostic-item span{font-size:9px;color:#95a0b2}.diagnostic-item strong{font-family:Manrope,sans-serif;font-size:12px;color:#53647e;overflow-wrap:anywhere}@media(max-width:900px){.diagnostic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.diagnostic-grid{grid-template-columns:1fr}.diagnostic-item{min-height:0}}
