:root{color:#19221d;background:#edf1ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}[hidden]{display:none!important}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(circle at 88% 0%,rgb(213 226 211 / 72%),transparent 27rem),linear-gradient(180deg,#f0f3ed 0,#e9eee7)}button,input,textarea,select{font:inherit}button{border:0}.app-shell{width:min(1240px,calc(100% - 40px));margin:0 auto;padding:18px 0 20px}.app-header{display:grid;gap:10px;margin-bottom:14px}.topbar,.hero,.section-heading,.definition-group__heading{display:flex;align-items:center;justify-content:space-between;gap:22px}.brand,.step-label,.definition-group__eyebrow{margin:0;color:#347452;font-size:.69rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.local-badge{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;padding:6px 10px;border:1px solid #ccd5cc;border-radius:999px;background:#ffffffad;color:#536158;font-size:.7rem;font-weight:750}.local-badge__dot,.status__dot{width:7px;height:7px;border-radius:50%;background:currentcolor;box-shadow:0 0 0 3px #3474521a}.hero{align-items:baseline}h1{max-width:760px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.9rem,3.2vw,2.65rem);font-weight:500;letter-spacing:-.045em;line-height:1}.hero-copy{max-width:430px;margin:0;color:#626e66;font-size:.82rem;line-height:1.45;text-align:right}.workflow-nav{overflow-x:auto;border:1px solid #cdd6cd;border-radius:13px;background:#ffffff94;scrollbar-width:thin}.workflow-list{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));min-width:770px;margin:0;padding:0;list-style:none}.workflow-step{display:flex;min-width:0;align-items:center;gap:8px;padding:8px 12px;border-right:1px solid #d9dfd8;color:#68736b}.workflow-step:last-child{border-right:0}.workflow-step--available{background:#f2f8f1b8;color:#2f6748}.workflow-step--future{color:#8a918c}.workflow-step__number{display:inline-grid;flex:0 0 auto;width:23px;height:23px;place-items:center;border-radius:8px;background:#e4e9e2;font-size:.66rem;font-weight:850}.workflow-step--available .workflow-step__number{background:#d9eadc;color:#276844}.workflow-step__label{overflow:hidden;font-size:.73rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.workflow-step__future{margin-left:auto;color:#959c97;font-size:.56rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.workflow-step--waiting{border-color:#d9ded9;background:#f6f8f5c2;color:#7f8982;box-shadow:none}.workflow-step--waiting .workflow-step__number{background:#e4e8e3;color:#7c867f}.workflow-step--waiting .workflow-step__state{color:#89918c}.network-panel,.diagnostic-panel,.experiment-editor,.dataset-editor,.training-editor,.results-editor{border:1px solid #cfd7cf;background:#ffffffb8;box-shadow:0 12px 40px #2b3e310f}.network-panel{padding:16px 18px 13px;border-radius:17px}.section-heading{align-items:flex-start}.section-heading--compact{margin-bottom:10px}.section-heading h2,.experiment-editor h2,.dataset-editor h2,.training-editor h2,.results-editor h2{margin:2px 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.72rem;font-weight:500;letter-spacing:-.035em;line-height:1.05}.section-copy,.panel-copy{color:#69736c;font-size:.77rem;line-height:1.48}.section-copy{margin:5px 0 0}.panel-copy{margin:0}.status{display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;padding:6px 9px;border-radius:999px;font-size:.66rem;font-weight:800;white-space:nowrap}.status--idle{background:#e8ebe6;color:#687169}.status--incomplete{background:#f0e8d7;color:#896824}.status--ready{background:#dcecdf;color:#276844}.status--error{background:#f4ded8;color:#a13f2b}.network-form{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(135px,.55fr) auto;gap:12px;align-items:start}.field{display:grid;min-width:0;gap:5px}.field__label{color:#303a34;font-size:.72rem;font-weight:800}.field__help{min-height:1em;color:#78817b;font-size:.64rem;line-height:1.35}.field__optional{color:#8a938c;font-size:.63rem;font-weight:600}.field__error{min-height:1em;color:#a13f2b;font-size:.65rem;font-weight:700;line-height:1.25}.field__error:empty{display:none}input,textarea,select{width:100%;border:1px solid #cbd3cb;border-radius:9px;outline:none;background:#fbfcf9;color:#172019;padding:9px 11px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}textarea{min-height:54px;resize:vertical;line-height:1.4}input:focus,textarea:focus,select:focus{border-color:#4e8766;background:#fff;box-shadow:0 0 0 3px #3474521c}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:#bd6957;background:#fff9f7}input[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus,select[aria-invalid=true]:focus{box-shadow:0 0 0 3px #a13f2b1f}input:disabled{cursor:not-allowed;opacity:.55}select{cursor:pointer;appearance:auto}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-width:158px;padding:9px 12px;border-radius:9px;cursor:pointer;font-size:.74rem;font-weight:800;transition:transform .15s ease,background .15s ease,opacity .15s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button:focus-visible{outline:3px solid rgb(52 116 82 / 25%);outline-offset:2px}.button:disabled{cursor:not-allowed;opacity:.38}.button--primary{background:#1d2921;color:#f7faf6}.button--primary:hover{background:#293a2f}.button--secondary{background:#dbe8dd;color:#215e3d}.button--secondary:hover:not(:disabled){background:#cee0d1}.button--quiet{min-width:auto;border:1px solid #cdd5cd;background:#f7f9f5;color:#536158}.button--quiet:hover:not(:disabled){background:#edf2ec}.button--danger{min-width:auto;margin-left:auto;border:1px solid #e0c3bb;background:#faf1ee;color:#9a4431}.button--danger:hover:not(:disabled){background:#f5e4df}.button--pause{min-width:auto;border:1px solid #dfcfaa;background:#f5ecd8;color:#795d20}.button--pause:hover:not(:disabled){background:#eee0c1}.network-submit{align-self:start;margin-top:20px}.network-summary{display:flex;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid #dde2dc}.summary-item{display:inline-flex;align-items:baseline;gap:7px;padding:4px 9px;border-radius:8px;background:#f2f5f0}.summary-item__label,.output-card__label{color:#778179;font-size:.59rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.summary-item strong{font-family:Georgia,Times New Roman,serif;font-size:1.05rem;font-weight:500}.diagnostic-panel{margin-top:9px;border-radius:13px;overflow:hidden}.diagnostic-panel summary{display:flex;min-height:40px;align-items:center;justify-content:space-between;gap:16px;padding:9px 14px;cursor:pointer;list-style:none}.diagnostic-panel summary::-webkit-details-marker{display:none}.diagnostic-panel summary:focus-visible{outline:3px solid rgb(52 116 82 / 20%);outline-offset:-3px}.diagnostic-summary__title{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;font-weight:850}.diagnostic-summary__chevron{color:#347452;font-size:1.15rem;line-height:.8;transition:transform .16s ease}.diagnostic-panel[open] .diagnostic-summary__chevron{transform:rotate(90deg)}.diagnostic-summary__meta{color:#7a847d;font-size:.63rem;font-weight:650}.diagnostic-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.55fr);gap:10px 16px;padding:12px 14px 14px;border-top:1px solid #dde2dc;background:#f8faf6}.diagnostic-content .panel-copy{grid-column:1 / -1}.diagnostic-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.diagnostic-form .button{margin-top:20px}.output-card{display:grid;align-content:center;gap:5px;min-width:0;padding:9px 11px;border:1px solid #d5dbd4;border-radius:10px;background:#f1f4ef}.output-card output{overflow-wrap:anywhere;color:#276844;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.8rem;font-weight:700;line-height:1.35}.experiment-editor,.dataset-editor,.training-editor,.results-editor{margin-top:10px;padding:18px;border-radius:17px}.workflow-step__state{margin-left:auto;color:#66806f;font-size:.55rem;font-weight:750;letter-spacing:.03em;text-align:right;text-transform:uppercase}.results-error{margin-top:10px;padding:9px 11px;border:1px solid #e2bbb0;border-radius:9px;background:#fff3ef;color:#913d2a;font-size:.7rem;font-weight:750}.results-actions{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:12px}.results-actions>span{margin-left:auto;color:#737e76;font-size:.65rem}.results-overview{display:grid;grid-template-columns:minmax(330px,.85fr) minmax(0,1.15fr);gap:10px;margin-top:10px}.results-summary-card,.loss-chart-card,.results-table-card,.prediction-card{min-width:0;padding:12px;border:1px solid #d4dbd4;border-radius:12px;background:#f7f9f5}.loss-chart-card{background:#f5f8f4}.results-table-card,.prediction-card{margin-top:10px}.prediction-card{background:#f8f5ee}.results-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.results-card-heading h3{margin:2px 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.12rem;font-weight:500}.results-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px}.results-metrics>div{display:grid;min-width:0;gap:2px;padding:7px;border:1px solid #dce2da;border-radius:8px;background:#ffffffc7}.results-metrics span{color:#81877f;font-size:.5rem;font-weight:850;letter-spacing:.035em;text-transform:uppercase}.results-metrics strong{overflow:hidden;color:#344039;font-family:SFMono-Regular,Consolas,monospace;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.results-metric-help{margin:8px 0 0;color:#7b857e;font-size:.59rem;line-height:1.4}.loss-scale-field{display:grid;gap:3px;color:#778179;font-size:.55rem;font-weight:800;text-transform:uppercase}.loss-scale-field select,.results-pagination select{padding:5px 7px;border:1px solid #cfd7cf;border-radius:7px;background:#fff;color:#344039;font-size:.65rem}.loss-chart{width:100%;min-height:210px;margin-top:8px;overflow:hidden;border:1px solid #dce3db;border-radius:9px;background:#fff}.loss-chart>p{margin:0;padding:82px 18px;color:#7b857e;font-size:.68rem;text-align:center}.loss-chart svg{display:block;width:100%;height:auto;min-height:210px}.loss-chart__axis{stroke:#aeb9b0;stroke-width:1}.loss-chart__line{fill:none;stroke:#347452;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.3}.loss-chart__target{stroke:#b58035;stroke-dasharray:6 5;stroke-width:1.2}.loss-chart__target-label,.loss-chart__label{fill:#6f7972;font-family:Inter,sans-serif;font-size:10px}.loss-chart__point{fill:#fff;stroke:#347452;stroke-width:2;cursor:pointer}.loss-chart__point--best{fill:#dff0df;stroke:#23623f}.loss-chart__point:focus{outline:none;stroke:#b06d2c;stroke-width:4}.loss-scale-message,.loss-point-info{margin:6px 0 0;color:#796126;font-size:.6rem}.loss-point-info{color:#69736c}.loss-summary{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.loss-summary span{padding:4px 6px;border-radius:6px;background:#e9eee7;color:#778179;font-size:.55rem}.loss-summary strong{color:#315b43;font-family:SFMono-Regular,Consolas,monospace}.results-card-heading--table{align-items:center}.results-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px}.results-pagination label{display:inline-flex;align-items:center;gap:5px;color:#778179;font-size:.58rem;font-weight:800}.results-pagination .button{min-width:0;padding:6px 8px}.results-pagination>strong{min-width:48px;color:#48564d;font-size:.62rem;text-align:center}.results-table-wrap{box-sizing:border-box;min-width:0;width:100%;max-width:100%;margin-top:10px;overflow-x:auto;border:1px solid #d7ded6;border-radius:9px;background:#fff;scrollbar-width:thin}.results-table{width:max(100%,var(--results-table-min-width, 100%));min-width:0;table-layout:fixed;border-collapse:collapse;font-size:.62rem}.results-table th,.results-table td{padding:7px 6px;border-right:1px solid #e5e9e3;border-bottom:1px solid #e3e7e1;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.results-table thead th{position:sticky;top:0;z-index:1;background:#edf2eb;color:#526159;font-size:.53rem;line-height:1.22;letter-spacing:.025em;overflow-wrap:anywhere;text-align:center;text-overflow:clip;text-transform:uppercase;white-space:normal}.results-table__column--pattern{width:104px}.results-table__column--input{width:76px}.results-table__column--expected,.results-table__column--predicted,.results-table__column--error{width:82px}.results-table__column--mae{width:68px}.results-table__column--quality{width:86px}.results-table__column--detail{width:88px}.results-table__heading--pattern,.results-table__pattern{left:0;z-index:2;background:#f5f7f3;text-align:left}.results-table__pattern{text-overflow:ellipsis;white-space:nowrap}.results-table__input,.results-table__expected,.results-table__prediction{font-variant-numeric:tabular-nums}.results-table__prediction{color:#276844;font-weight:800}.results-table__error,.results-table__mae{color:#8a5b24;font-family:SFMono-Regular,Consolas,monospace}.results-table__quality{color:#657169;font-weight:800;text-align:left!important}.results-table__detail{text-align:center!important}.results-row--best td{background:#f1f8f0}.results-row--warning td{background:#fbf7ed}.results-row--worst td{background:#fff1ec}.results-row--best .results-table__quality:before,.results-row--warning .results-table__quality:before,.results-row--worst .results-table__quality:before{margin-right:5px;content:"●"}.results-row--best .results-table__quality:before{color:#4d8a62}.results-row--warning .results-table__quality:before{color:#b18b3e}.results-row--worst .results-table__quality:before{color:#b9644f}.results-detail-button{min-width:0;width:100%;padding:5px 7px;white-space:normal}.results-detail-row td{padding:0;background:#f8faf7!important;white-space:normal}.results-detail{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:9px;padding:10px;text-align:left}.results-detail>div{min-width:0;padding:8px;border:1px solid #dde3dc;border-radius:8px;background:#fff}.results-detail>div>strong{color:#3b4a40;font-size:.6rem}.results-detail dl{display:grid;grid-template-columns:minmax(80px,1fr) auto;gap:3px 8px;margin:6px 0 0}.results-detail dt{overflow:hidden;color:#79837c;text-overflow:ellipsis;white-space:nowrap}.results-detail dd{margin:0;color:#315b43;font-family:SFMono-Regular,Consolas,monospace}.results-detail__metrics{grid-column:1 / -1;margin:0;color:#506057;font-weight:800}.results-empty{margin:0;padding:22px;color:#7b857e;font-size:.68rem;text-align:center}.prediction-note{max-width:310px;color:#796126;font-size:.58rem;line-height:1.35;text-align:right}.prediction-inputs{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px;margin-top:10px}.prediction-field{min-width:0}.prediction-field input{padding:7px 8px;border-radius:8px;background:#fff;font-size:.7rem}.prediction-field__range,.prediction-field small{color:#818a83;font-size:.55rem}.prediction-form .button,#prediction-submit{margin-top:9px}.prediction-results{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.prediction-results article{display:grid;flex:1 1 190px;gap:3px;padding:9px;border:1px solid #d8ded7;border-radius:9px;background:#fff}.prediction-results article>span{color:#737e76;font-size:.58rem;font-weight:800}.prediction-results article>strong{color:#276844;font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-weight:500}.prediction-results article>small{color:#858d87;font-size:.55rem}.prediction-results>p{margin:0;color:#737e76;font-size:.65rem}.prediction-results__notice{flex-basis:100%;padding-top:3px}.training-error{margin-top:10px;padding:9px 11px;border:1px solid #e2bbb0;border-radius:9px;background:#fff3ef;color:#913d2a;font-size:.7rem;font-weight:750}.training-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:10px;margin-top:13px}.training-config-card,.training-metrics-card,.training-progress-card{min-width:0;padding:12px;border:1px solid #d4dbd4;border-radius:12px;background:#f7f9f5}.training-metrics-card{background:#f8f5ee}.training-card-heading,.training-progress__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.training-card-heading h3{margin:2px 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.12rem;font-weight:500}.training-config-grid{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:8px;margin-top:10px}.training-config-grid input[type=text]{padding:7px 8px;border-radius:8px;background:#fff;font-size:.7rem}.training-checkbox{display:flex;min-width:0;align-items:center;gap:8px;padding:7px 8px;border:1px solid #d1d8d1;border-radius:8px;background:#fff;cursor:pointer}.training-checkbox input{flex:0 0 auto;width:16px;height:16px;margin:0;padding:0;accent-color:#347452}.training-checkbox span{display:grid;min-width:0;gap:1px}.training-checkbox strong{color:#344039;font-size:.66rem}.training-checkbox small{color:#7d877f;font-size:.55rem}.worker-state{display:inline-flex;align-items:center;padding:5px 7px;border-radius:999px;background:#e8ece6;color:#68736b;font-size:.57rem;font-weight:800}.training-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px}.training-metrics>div{display:grid;min-width:0;gap:2px;padding:7px;border:1px solid #e0dbd1;border-radius:8px;background:#ffffffbd}.training-metrics span{color:#81877f;font-size:.52rem;font-weight:850;letter-spacing:.035em;text-transform:uppercase}.training-metrics strong{overflow:hidden;color:#344039;font-family:SFMono-Regular,Consolas,monospace;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.training-controls{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.training-controls .button{min-width:auto;padding:8px 11px}.training-controls .button--primary{min-width:170px}.training-controls .button--danger{margin-left:auto}.training-progress-card{margin-top:10px;background:#f6f8f4}.training-progress__heading{align-items:baseline;color:#626e66;font-size:.62rem;font-weight:800}.training-progress__heading strong{color:#344039;font-family:SFMono-Regular,Consolas,monospace}.training-progress-card progress{display:block;width:100%;height:9px;margin-top:7px;overflow:hidden;border:0;border-radius:999px;background:#e1e7df;accent-color:#347452}.training-progress-card progress::-webkit-progress-bar{border-radius:999px;background:#e1e7df}.training-progress-card progress::-webkit-progress-value{border-radius:999px;background:#347452}.training-reports{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin-top:9px}.training-reports>span{color:#778179;font-size:.56rem;font-weight:850;text-transform:uppercase}.training-reports ol{display:flex;min-width:0;gap:5px;margin:0;padding:0;overflow-x:auto;list-style:none;scrollbar-width:thin}.training-reports li{display:inline-flex;flex:0 0 auto;align-items:baseline;gap:5px;padding:5px 7px;border:1px solid #d8ded7;border-radius:7px;background:#fff;color:#69736c;font-size:.58rem}.training-reports li strong{color:#276844;font-family:SFMono-Regular,Consolas,monospace}.training-reports li small{color:#929a94;font-size:.5rem}.dataset-summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.dataset-summary__item{display:inline-flex;align-items:baseline;gap:8px;min-width:92px;padding:7px 10px;border:1px solid #d7ddd6;border-radius:9px;background:#f6f8f4}.dataset-summary__item span{color:#737e76;font-size:.62rem;font-weight:800;text-transform:uppercase}.dataset-summary__item strong{color:#344039;font-family:Georgia,Times New Roman,serif;font-size:1.08rem;font-weight:500}.dataset-summary__item--valid{border-color:#c8dccb;background:#f0f7f0}.dataset-summary__item--valid strong{color:#276844}.dataset-summary__item--error{border-color:#e2c9c2;background:#fbf4f1}.dataset-summary__item--error strong{color:#9a4431}.dataset-toolbar{display:flex;align-items:center;gap:8px;margin-top:10px}.dataset-toolbar__separator{width:1px;height:26px;margin:0 2px;background:#d5dbd4}.dataset-toolbar .button{padding:7px 10px;font-size:.7rem}.csv-feedback{margin-top:9px;padding:8px 10px;border:1px solid #d2d9d2;border-radius:9px;font-size:.69rem;font-weight:750}.csv-feedback--success{border-color:#c6dcca;background:#eef7ef;color:#276844}.csv-feedback--neutral{background:#f3f5f1;color:#59655d}.csv-import-panel{margin-top:10px;padding:14px;border:1px solid #cbd5cb;border-radius:14px;background:linear-gradient(145deg,#f6faf5f2,#fbf9f4f2);box-shadow:inset 0 1px #ffffffbf}.csv-import-panel__heading,.csv-subheading,.csv-import-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.csv-import-panel h3{margin:2px 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-weight:500}.csv-file-meta{margin:4px 0 0;color:#6f7a72;font-family:SFMono-Regular,Consolas,monospace;font-size:.62rem}.csv-import-options{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px;margin-top:11px}.csv-import-options select{padding:7px 8px;border-radius:8px;background:#fff;font-size:.68rem}.csv-import-summary{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.csv-import-summary>div{display:inline-flex;align-items:baseline;gap:6px;padding:5px 8px;border:1px solid #d8ded7;border-radius:8px;background:#ffffffb3}.csv-import-summary span{color:#78827a;font-size:.56rem;font-weight:850;text-transform:uppercase}.csv-import-summary strong{color:#344039;font-size:.7rem}.csv-import-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:9px;margin-top:9px}.csv-mapping-card,.csv-problems-card,.csv-preview-card{min-width:0;padding:10px;border:1px solid #d6ddd6;border-radius:10px;background:#ffffffbf}.csv-preview-card{margin-top:9px}.csv-subheading{align-items:baseline;margin-bottom:7px}.csv-subheading h4{margin:0;color:#344039;font-size:.72rem}.csv-subheading span{color:#818b83;font-size:.56rem;font-weight:700}.csv-column-mappings{display:grid;gap:5px;max-height:210px;overflow:auto}.csv-mapping-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(140px,.85fr);align-items:center;gap:7px}.csv-mapping-row__identity{display:flex;min-width:0;align-items:center;gap:6px}.csv-mapping-row__identity strong{display:grid;flex:0 0 auto;width:22px;height:22px;place-items:center;border-radius:6px;background:#e5ede4;color:#347452;font-family:SFMono-Regular,Consolas,monospace;font-size:.58rem}.csv-mapping-row__identity span{overflow:hidden;color:#4e5b53;font-family:SFMono-Regular,Consolas,monospace;font-size:.6rem;text-overflow:ellipsis;white-space:nowrap}.csv-mapping-row select{padding:5px 7px;border-radius:7px;background:#fff;font-size:.62rem}.csv-import-problems{max-height:210px;overflow:auto}.csv-problem-list{display:grid;gap:4px;margin:0;padding:0;list-style:none}.csv-problem{margin:0;font-size:.6rem;font-weight:680;line-height:1.35}.csv-problem-list .csv-problem{display:grid;grid-template-columns:17px minmax(0,1fr);gap:4px}.csv-problem-list .csv-problem>span:first-child{font-weight:900;text-align:center}.csv-problem--success{padding:8px;border-radius:7px;background:#eef7ef;color:#276844}.csv-problem--warning{color:#806421}.csv-problem--error{color:#a13f2b}.csv-placeholder{margin:0;padding:8px;color:#7a847d;font-size:.62rem;line-height:1.4}.csv-preview-wrap{max-width:100%;overflow-x:auto;border:1px solid #dde2dc;border-radius:8px}.csv-preview-table{width:100%;min-width:max-content;border-collapse:collapse;font-family:SFMono-Regular,Consolas,monospace;font-size:.58rem}.csv-preview-table th,.csv-preview-table td{max-width:170px;overflow:hidden;padding:5px 7px;border-right:1px solid #e3e7e2;border-bottom:1px solid #e3e7e2;text-align:left;text-overflow:ellipsis;white-space:nowrap}.csv-preview-table tr>*:last-child{border-right:0}.csv-preview-table tbody tr:last-child>*{border-bottom:0}.csv-preview-table thead th{background:#eef3ed;color:#4e5b53}.csv-preview-row--error>*{background:#fff4f1;color:#943d2a}.csv-preview-row--valid>*{background:#fff}.csv-import-actions{align-items:center;margin-top:10px}.csv-import-actions p{flex:1 1 auto;margin:0;color:#68736b;font-size:.62rem;line-height:1.35}.csv-import-actions .button{min-width:125px;padding:7px 10px}.dataset-empty-state{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:10px;padding:17px;border:1px dashed #bdcbbb;border-radius:13px;background:#f6f9f4}.dataset-empty-state__icon{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;background:#dcecdf;color:#276844;font-size:1.1rem;font-weight:850}.dataset-empty-state h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.03rem;font-weight:500}.dataset-empty-state p{margin:3px 0 0;color:#6c776f;font-size:.7rem;line-height:1.4}.dataset-empty-state .button{min-width:145px}.dataset-table-wrap{max-width:100%;margin-top:10px;overflow-x:auto;border:1px solid #d1d9d1;border-radius:12px;background:#fff;scrollbar-color:#aebcaf #eef2ed;scrollbar-width:thin}.dataset-table{width:100%;min-width:max-content;border-collapse:separate;border-spacing:0;color:#344039;font-size:.68rem}.dataset-table th,.dataset-table td{border-right:1px solid #e2e6e1;border-bottom:1px solid #e2e6e1}.dataset-table tr:last-child>*{border-bottom:0}.dataset-table tr>*:last-child{border-right:0}.dataset-table thead th{height:52px;padding:6px 8px;background:#f2f5f0;text-align:left;vertical-align:middle}.dataset-table__row-heading,.dataset-row__identity{position:sticky;left:0;z-index:2;width:88px;min-width:88px;max-width:88px;box-shadow:5px 0 8px #2a3a300a}.dataset-table thead .dataset-table__row-heading{z-index:4}.dataset-table__enabled-heading,.dataset-row__enabled{width:58px;min-width:58px;text-align:center!important}.dataset-table__variable{width:122px;min-width:122px}.dataset-table__variable--input{background:#edf6ee!important}.dataset-table__variable--target{background:#f8f2e6!important}.dataset-table__marker{display:block;color:#347452;font-family:SFMono-Regular,Consolas,monospace;font-size:.56rem;font-weight:850}.dataset-table__variable--target .dataset-table__marker{color:#856724}.dataset-table__name{display:block;max-width:105px;overflow:hidden;font-size:.67rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.dataset-table__range{display:block;margin-top:1px;color:#89928b;font-size:.55rem;font-weight:650}.dataset-table__divider{width:8px;min-width:8px;padding:0!important;border-right:2px solid #c8cec7!important;background:#e8ece6!important}.dataset-table__actions-heading,.dataset-row__actions{position:sticky;right:0;z-index:2;width:72px;min-width:72px;box-shadow:-5px 0 8px #2a3a300a}.dataset-table thead .dataset-table__actions-heading{z-index:4;text-align:center}.dataset-row{--row-background: #fff}.dataset-row>*{background:var(--row-background);transition:background .12s ease,opacity .12s ease}.dataset-row:hover{--row-background: #fafcf8}.dataset-row--warning{--row-background: #fffcf3}.dataset-row--error{--row-background: #fff8f6}.dataset-row--inactive{opacity:.5}.dataset-row__identity{padding:7px 8px;text-align:left;vertical-align:top}.dataset-row__index{display:block;color:#304239;font-family:SFMono-Regular,Consolas,monospace;font-size:.7rem;font-weight:850}.dataset-row__id{display:block;overflow:hidden;margin-top:1px;color:#949c96;font-size:.5rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.dataset-row__messages{display:block;max-width:76px;margin-top:4px;font-size:.53rem;font-weight:750;line-height:1.2}.dataset-row__messages--error{color:#a13f2b}.dataset-row__messages--warning{color:#8a6b24}.dataset-row__enabled{padding:9px 6px;vertical-align:top}.dataset-row__enabled input{width:16px;height:16px;margin:2px 0 0;padding:0;accent-color:#347452}.dataset-table__value{width:122px;min-width:122px;padding:6px;vertical-align:top}.dataset-table__value--input{background:color-mix(in srgb,var(--row-background) 92%,#dcecdf)}.dataset-table__value--target{background:color-mix(in srgb,var(--row-background) 92%,#eee4cf)}.dataset-value-input{min-width:0;padding:6px 7px;border-radius:7px;background:#ffffffd9;font-family:SFMono-Regular,Consolas,monospace;font-size:.68rem}.dataset-cell-error{display:block;max-width:108px;margin-top:3px;color:#a13f2b;font-size:.52rem;font-weight:700;line-height:1.2}.dataset-cell-error:empty{display:none}.dataset-row__actions{padding:7px 6px;text-align:center;vertical-align:top}.icon-button{display:inline-grid;width:25px;height:25px;margin:0 2px;place-items:center;border:1px solid #d2d9d2;border-radius:7px;background:#fff;color:#536158;cursor:pointer;font-size:.8rem;font-weight:850}.icon-button:hover{border-color:#aebcaf;background:#f2f6f1}.icon-button--delete{color:#a13f2b}.experiment-basics{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(360px,1.25fr);align-items:start;gap:14px;margin-top:13px;padding:12px 14px;border:1px solid #d8ded7;border-radius:12px;background:#f6f8f4}.experiment-basics>.field{align-content:start;align-self:start;grid-template-rows:minmax(1rem,auto) auto minmax(1em,auto)}.experiment-basics .field__label{display:flex;min-height:1rem;align-items:baseline;line-height:1rem}.experiment-basics input,.experiment-basics textarea{box-sizing:border-box;margin:0}.experiment-basics textarea{min-height:46px}.definition-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;margin-top:14px}.definition-group{min-width:0;padding:13px;border:1px solid #d2d9d2;border-radius:14px}.definition-group--inputs{background:#f1f7f1}.definition-group--outputs{border-color:#dcd6ca;background:#f8f5ee}.definition-group__heading{margin-bottom:10px}.definition-group__eyebrow{margin-bottom:3px;color:#718078;font-size:.58rem}.definition-group h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.28rem;font-weight:500;letter-spacing:-.025em}.count-badge{flex:0 0 auto;padding:5px 8px;border:1px solid rgb(82 102 90 / 13%);border-radius:999px;background:#ffffffb3;color:#68736b;font-size:.6rem;font-weight:800}.definition-list{display:grid;gap:8px}.definition-card{min-width:0;padding:10px;border:1px solid #d3dad3;border-radius:11px;background:#ffffffd1;box-shadow:0 5px 16px #2b3e3108}.definition-card--output{border-color:#ddd6c8}.definition-card__primary{display:grid;grid-template-columns:48px minmax(125px,1fr) minmax(76px,.45fr) minmax(76px,.45fr);gap:8px;align-items:start}.definition-card__identity-block{display:grid;min-width:0;gap:4px;justify-items:start}.definition-marker{display:inline-grid;width:34px;height:34px;place-items:center;border-radius:9px;background:#dcecdf;color:#276844;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.72rem;font-weight:850}.definition-card--output .definition-marker{background:#eee4cf;color:#785d25}.definition-card__identity{max-width:46px;overflow:hidden;color:#919991;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.51rem;text-overflow:ellipsis;white-space:nowrap}.definition-card__description{margin-top:5px;padding-left:56px}.definition-field{gap:4px}.definition-field input,.definition-field textarea{padding:7px 8px;border-radius:8px;background:#fff;font-size:.72rem}.definition-field textarea{min-height:34px}.error-message{margin-top:9px;padding:10px 12px;border:1px solid #e2bbb0;border-radius:10px;background:#f8e6e1;color:#8f3624;font-size:.75rem;font-weight:700}footer{display:flex;justify-content:space-between;gap:20px;padding:12px 3px 0;color:#7b847d;font-size:.61rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}@media(max-width:1050px){.hero-copy{max-width:360px}.definition-card__primary{grid-template-columns:44px minmax(110px,1fr) minmax(68px,.42fr) minmax(68px,.42fr);gap:6px}.definition-card__description{padding-left:50px}}@media(max-width:900px){.app-shell{width:min(760px,calc(100% - 28px))}.hero{align-items:flex-start}.hero-copy{max-width:300px}.definition-columns,.experiment-basics,.diagnostic-content,.training-layout,.results-overview{grid-template-columns:1fr}.prediction-inputs{grid-template-columns:repeat(2,minmax(130px,1fr))}.results-detail{grid-template-columns:repeat(2,minmax(160px,1fr))}.csv-import-options{grid-template-columns:repeat(2,minmax(0,1fr))}.csv-import-grid{grid-template-columns:1fr}}@media(max-width:680px){.app-shell{width:min(100% - 18px,620px);padding-top:10px}.app-header{gap:8px}.hero{display:grid;gap:5px}h1{font-size:1.8rem}.hero-copy{max-width:none;text-align:left}.workflow-list{min-width:700px}.workflow-step{padding:7px 10px}.network-form{grid-template-columns:minmax(0,1fr) minmax(105px,.45fr)}.network-submit{grid-column:1 / -1;width:100%;margin-top:0}.diagnostic-form{grid-template-columns:1fr}.diagnostic-form .button{width:100%;margin-top:0}.diagnostic-summary__meta{display:none}.section-heading{gap:12px}}@media(max-width:500px){.topbar{gap:10px}.section-heading .status{flex:0 1 auto;min-width:0;max-width:100%;white-space:normal}.local-badge{padding:5px 8px;font-size:.62rem}.network-panel,.experiment-editor,.dataset-editor,.training-editor,.results-editor{padding:13px}.section-heading h2,.experiment-editor h2,.dataset-editor h2,.training-editor h2,.results-editor h2{font-size:1.5rem}.network-form{grid-template-columns:1fr}.network-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.summary-item{display:grid;gap:2px;padding:5px 7px}.definition-group{padding:10px}.definition-card__primary{grid-template-columns:42px repeat(2,minmax(0,1fr));gap:6px}.definition-card__identity-block{grid-column:1;grid-row:1}.definition-field--name{grid-column:2 / -1;grid-row:1}.definition-field--minimum{grid-column:2;grid-row:2}.definition-field--maximum{grid-column:3;grid-row:2}.definition-card__description{padding-left:48px}footer{display:grid;gap:4px}.dataset-toolbar{flex-wrap:wrap}.dataset-toolbar .button{flex:1 1 auto}.dataset-toolbar .button--danger{margin-left:0}.dataset-toolbar__separator{display:none}.dataset-empty-state{grid-template-columns:auto minmax(0,1fr)}.dataset-empty-state .button{grid-column:1 / -1;width:100%}.csv-import-panel{padding:10px}.csv-import-panel__heading{display:grid}.csv-import-options{grid-template-columns:1fr 1fr}.csv-import-summary>div{flex:1 1 86px;justify-content:space-between}.csv-import-actions{flex-wrap:wrap}.csv-import-actions p{flex-basis:100%}.csv-import-actions .button{flex:1 1 130px}.training-config-grid,.training-metrics{grid-template-columns:1fr 1fr}.training-controls{display:grid;grid-template-columns:1fr 1fr}.training-controls .button,.training-controls .button--primary{width:100%;min-width:0}.training-controls .button--primary,.training-controls .button--danger{grid-column:1 / -1;margin-left:0}.training-reports{grid-template-columns:1fr}.results-actions{display:grid;grid-template-columns:1fr 1fr}.results-actions .button{width:100%}.results-actions>span{grid-column:1 / -1;margin-left:0}.results-metrics{grid-template-columns:1fr 1fr}.results-card-heading--table,.prediction-card .results-card-heading{display:grid}.results-pagination{justify-content:flex-start}.prediction-note{max-width:none;text-align:left}.prediction-inputs,.results-detail{grid-template-columns:1fr}.loss-chart{min-height:180px}.loss-chart svg{min-height:180px}}.topbar__controls,.language-switcher{display:flex;align-items:center}.topbar__controls{gap:.65rem;min-width:0}.language-switcher{gap:.3rem;flex:0 0 auto;color:#536158;font-size:.72rem;font-weight:700}.language-switcher__button{border:0;border-radius:.35rem;padding:.2rem .28rem;background:transparent;color:inherit;font:inherit;cursor:pointer}.language-switcher__button[aria-pressed=true]{background:#e0eee4;color:#246641}.language-switcher__button:focus-visible{outline:2px solid #347452;outline-offset:2px}@media(max-width:520px){.topbar{align-items:flex-start}.topbar__controls{align-items:flex-end;flex-direction:column;gap:.35rem}}.project-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.55rem 1rem;padding:.75rem 1rem;border:1px solid var(--color-border, #d8ddd7);border-radius:.85rem;background:color-mix(in srgb,var(--color-surface, #fff) 94%,#eef4ed)}.project-bar__identity,.project-bar__actions,.project-import-panel__actions{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem}.project-bar__title{font-weight:750}.project-save-state{display:inline-flex;align-items:center;min-height:1.7rem;padding:.18rem .55rem;border-radius:999px;font-size:.78rem;font-weight:700}.project-save-state--dirty{color:#744b10;background:#fff0cc}.project-save-state--saved{color:#1d6541;background:#dff3e8}.project-bar__note{grid-column:1 / -1;margin:0;color:var(--color-text-muted, #647069);font-size:.78rem}.button--compact{min-height:2.1rem;padding:.42rem .72rem}.project-import-panel{padding:1rem;border:1px solid var(--color-border, #d8ddd7);border-radius:.9rem;background:var(--color-surface, #fff);box-shadow:0 .65rem 1.8rem #1c302614}.project-import-panel__file,.project-privacy-note{margin:.65rem 0;color:var(--color-text-muted, #647069)}.project-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin:.75rem 0}.project-preview-grid>div{min-width:0;padding:.55rem .65rem;border-radius:.65rem;background:var(--color-surface-muted, #f4f6f3)}.project-preview-grid dt{color:var(--color-text-muted, #647069);font-size:.72rem}.project-preview-grid dd{overflow-wrap:anywhere;margin:.18rem 0 0;font-weight:700}.project-import-issues{max-height:13rem;overflow:auto;border:1px solid var(--color-border, #d8ddd7);border-radius:.65rem}.project-import-issues:empty{display:none}.project-import-issues ul{display:grid;gap:.35rem;margin:0;padding:.65rem .75rem .65rem 1.8rem}.project-import-issues li[data-severity=error]{color:var(--color-error, #a32929)}.project-import-issues li[data-severity=warning]{color:#744b10}.project-import-panel__actions{justify-content:flex-end;margin-top:.8rem}@media(max-width:800px){.project-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.project-bar{grid-template-columns:1fr}.project-bar__actions{width:100%}.project-bar__actions .button{flex:1 1 9rem}.project-preview-grid{grid-template-columns:1fr}.project-import-panel__actions .button{width:100%}}
