*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0b0f;--surface: #12131a;--border: #2a2d42;--text: #e8eaf0;--muted: #8b8fa3;--accent: #00e5ff;--red: #ff006e;--green: #34d399;--c-moment: #00e5ff;--c-isofor: #8b8fa3;--c-lof: #a78bfa;--c-movwin: #34d399;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px;color:var(--text);background:var(--bg)}body{min-height:100vh}.app{display:flex;flex-direction:column;min-height:100vh}header{display:flex;align-items:center;gap:12px;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--surface)}header h1{font-size:15px;font-weight:600;letter-spacing:.04em;color:var(--text)}header span{font-size:11px;color:var(--muted);margin-left:auto}.main{display:grid;grid-template-columns:280px 1fr;flex:1;min-height:0}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:20px 16px;display:flex;flex-direction:column;gap:20px;overflow-y:auto}.section-title{font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin-bottom:10px}.check-item{display:flex;align-items:center;gap:8px;padding:6px 0;cursor:pointer;-webkit-user-select:none;user-select:none}.check-item input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px;cursor:pointer}.check-item label{cursor:pointer;display:flex;align-items:center;gap:6px}.model-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.upload-area{border:1px dashed var(--border);border-radius:6px;padding:12px;text-align:center;color:var(--muted);cursor:pointer;transition:border-color .2s;font-size:11px}.upload-area:hover{border-color:var(--accent);color:var(--accent)}.upload-area input{display:none}.upload-fields{margin-top:10px;display:flex;flex-direction:column;gap:6px}.upload-fields label{font-size:10px;color:var(--muted)}.upload-fields input[type=text]{background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:5px 8px;font-family:inherit;font-size:12px;width:100%;outline:none}.upload-fields input[type=text]:focus{border-color:var(--accent)}.num-points{display:flex;flex-direction:column;gap:6px}.num-points label{font-size:10px;color:var(--muted)}.num-points input[type=range]{accent-color:var(--accent);width:100%}.num-points .range-val{font-size:11px;color:var(--accent)}.run-btn{margin-top:auto;padding:10px 0;background:var(--accent);color:#000;border:none;border-radius:6px;font-family:inherit;font-size:13px;font-weight:700;letter-spacing:.05em;cursor:pointer;transition:opacity .2s}.run-btn:hover:not(:disabled){opacity:.85}.run-btn:disabled{opacity:.35;cursor:not-allowed}.results-panel{overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:28px}.idle-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:var(--muted);gap:12px;min-height:400px}.idle-placeholder .big-icon{font-size:48px}.idle-placeholder p{font-size:12px}.log-box{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;font-size:12px;line-height:1.7;max-height:400px;overflow-y:auto}.log-line{color:var(--muted)}.log-line.highlight{color:var(--accent)}.log-line.error{color:var(--red)}.spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-right:8px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.results-section h2{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin-bottom:12px}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;padding:8px 12px;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border)}td{padding:8px 12px;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:none}tr:hover td{background:#ffffff05}.metric-val{color:var(--accent)}.metric-na{color:var(--muted)}.chart-wrapper{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:20px}.overlay-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px}.overlay-card h3{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}.ts-row{margin-bottom:10px}.ts-row-label{font-size:10px;color:var(--muted);margin-bottom:3px}.ts-svg{width:100%;display:block}.dataset-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.dataset-tab{padding:4px 10px;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--muted);font-family:inherit;font-size:11px;cursor:pointer;transition:all .15s}.dataset-tab.active{border-color:var(--accent);color:var(--accent);background:#00e5ff0f}.error-box{background:#ff006e14;border:1px solid var(--red);border-radius:8px;padding:16px;color:var(--red);font-size:12px}.docs-btn{margin-left:16px;padding:5px 14px;background:transparent;border:1px solid var(--border);border-radius:5px;color:var(--muted);font-family:inherit;font-size:12px;cursor:pointer;transition:all .15s;flex-shrink:0}.docs-btn:hover{border-color:var(--accent);color:var(--accent)}.docs-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:100;display:flex;justify-content:flex-end}.docs-drawer{width:min(720px,100vw);height:100%;background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.docs-header{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.docs-tabs{display:flex;gap:6px;flex:1}.docs-close{background:transparent;border:none;color:var(--muted);font-size:16px;cursor:pointer;padding:4px 8px;border-radius:4px;line-height:1}.docs-close:hover{color:var(--text);background:#ffffff0f}.docs-body{flex:1;overflow-y:auto;padding:24px 28px;font-size:13px;line-height:1.75;color:var(--text)}.docs-body h1{font-size:18px;color:var(--text);margin:0 0 16px}.docs-body h2{font-size:14px;color:var(--accent);letter-spacing:.05em;margin:28px 0 10px;border-bottom:1px solid var(--border);padding-bottom:6px}.docs-body h3{font-size:13px;color:var(--text);margin:18px 0 8px}.docs-body h4{font-size:12px;color:var(--muted);margin:14px 0 6px}.docs-body p{margin:0 0 10px;color:var(--muted)}.docs-body a{color:var(--accent);text-decoration:none}.docs-body a:hover{text-decoration:underline}.docs-body ul,.docs-body ol{padding-left:20px;margin:0 0 10px;color:var(--muted)}.docs-body li{margin-bottom:4px}.docs-body code{background:var(--bg);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-family:inherit;font-size:12px;color:var(--accent)}.docs-body pre{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:14px 16px;overflow-x:auto;margin:0 0 14px}.docs-body pre code{background:none;border:none;padding:0;color:var(--text);font-size:12px}.docs-body table{margin-bottom:14px}.docs-body blockquote{border-left:3px solid var(--accent);padding:6px 14px;margin:0 0 12px;background:#00e5ff0a;border-radius:0 4px 4px 0}.docs-body blockquote p{color:var(--text);margin:0}.docs-body hr{border:none;border-top:1px solid var(--border);margin:20px 0}@media (max-width: 768px){.main{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border)}}
