:root{--teal:#0d7c7c;--teal-dark:#0a6363;--teal-light:#e6f2f2;--text:#2a2a2a;--text-muted:#6b6b6b;--bg:#f7f9f9;--border:#dde5e5;--error:#b3261e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}h1,h2{color:var(--teal-dark);font-weight:600}.app-shell{max-width:880px;margin:0 auto;padding:2rem 1.5rem 4rem}.app-header h1{margin:0 0 .25rem;font-size:2rem}.app-logo{width:auto;height:64px;margin:0 0 .25rem;display:block}.app-header p{color:var(--text-muted);margin:0 0 1rem}.header-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.source-switcher{position:relative}.source-switcher-trigger{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:999px;padding:.5rem 1rem;font-size:.9rem}.source-switcher-trigger:hover{border-color:var(--teal)}.source-switcher-trigger strong{color:var(--teal-dark)}.source-switcher-menu{border:1px solid var(--border);z-index:20;background:#fff;border-radius:10px;flex-direction:column;min-width:220px;padding:.4rem;display:flex;position:absolute;top:calc(100% + .4rem);left:0;box-shadow:0 6px 20px #0000001f}.source-switcher-item{text-align:left;color:var(--text);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:6px;padding:.5rem .6rem;font-size:.9rem;overflow:hidden}.source-switcher-item:hover{background:var(--teal-light)}.source-switcher-item.active{color:var(--teal-dark);font-weight:600}.source-switcher-divider{background:var(--border);height:1px;margin:.3rem 0}.source-switcher-add{color:var(--teal-dark)}.step-nav{flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;display:flex}.step-pill{border:1px solid var(--border);color:var(--text-muted);background:#fff;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .9rem;font-size:.9rem;display:flex}.step-pill.done{background:var(--teal-light);border-color:var(--teal);color:var(--teal-dark)}.step-pill.active{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:600}.step-number{background:#00000014;border-radius:50%;justify-content:center;align-items:center;width:1.3rem;height:1.3rem;font-size:.75rem;display:inline-flex}.step-pill.active .step-number{background:#ffffff40}.step-card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:1.75rem}.step-card h2{margin:0 0 .5rem;font-size:1.3rem}.step-card h3{color:var(--teal-dark);margin:1.75rem 0 .75rem;font-size:1.05rem}.normality-block{margin-bottom:1.5rem}.normality-group-label{flex-wrap:wrap;align-items:center;gap:.75rem;margin:0 0 .5rem;font-weight:600;display:flex}.warning-badge{color:var(--error);background:#fdecea;border:1px solid #f4c7c3;border-radius:6px;padding:.2rem .6rem;font-size:.8rem;font-weight:500}.default-test-row{background:var(--teal-light)}.residual-cell-high{background:var(--teal-light);color:var(--teal-dark);font-weight:600}.residual-cell-high.residual-cell-strong{background:#bfe0e0}.residual-cell-low{color:var(--error);background:#fdecea;font-weight:600}.residual-cell-low.residual-cell-strong{background:#f6c9c4}.residual-legend{font-size:.85rem}.default-badge{background:var(--teal);color:#fff;vertical-align:middle;border-radius:999px;margin-left:.5rem;padding:.05rem .5rem;font-size:.7rem;font-weight:600}.recommendation-box{background:var(--teal-light);border-left:4px solid var(--teal);border-radius:8px;padding:1rem 1.25rem;line-height:1.6}.recommendation-box strong{color:var(--teal-dark);font-size:1.05rem}.override-label{flex-direction:column;gap:.35rem;max-width:420px;margin:1.25rem 0;font-weight:500;display:flex}.step-description{color:var(--text-muted);margin:0 0 1.25rem}.link-button{font:inherit;color:var(--teal-dark);cursor:pointer;background:0 0;border:none;margin:0;padding:0;text-decoration:underline}.example-sheets{background:var(--teal-light);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:1.25rem;padding:1.25rem 1.5rem;display:grid}.example-sheets-family h4{color:var(--teal-dark);margin:0 0 .5rem;font-size:.95rem}.example-sheets-family ul{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.example-sheets-family a{color:var(--text);font-size:.9rem;text-decoration:none}.example-sheets-family a:hover{color:var(--teal-dark);text-decoration:underline}.example-sheets-item{flex-direction:column;gap:.15rem;display:flex}.example-sheets-label{color:var(--text);font-size:.9rem;font-weight:500}.example-sheets-links{align-items:center;gap:.4rem;display:flex}.example-sheets-links a{color:var(--teal-dark);font-size:.82rem}.example-sheets-links a:not(:last-child):after{content:"·";color:var(--text-muted);margin-left:.4rem}.file-drop{border:2px dashed var(--teal);color:var(--teal-dark);cursor:pointer;background:var(--teal-light);border-radius:10px;justify-content:center;align-items:center;padding:2.5rem 1rem;font-weight:500;transition:background .2s;display:flex}.file-drop:hover{background:#d9ecec}.file-drop input{display:none}.error-text{color:var(--error);margin-top:1rem}.mode-row{flex-wrap:wrap;gap:.6rem;margin-bottom:1.5rem;display:flex}.mode-pill{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:8px;padding:.5rem 1rem;font-size:.9rem}.mode-pill.active{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:600}.loading-text{color:var(--teal-dark);font-weight:500}.webr-loading-panel{text-align:center;padding:2.5rem 1rem}.webr-loading-bar{background:var(--teal-light);border-radius:999px;width:100%;max-width:360px;height:8px;margin:0 auto 1.25rem;overflow:hidden}.webr-loading-bar-fill{background:var(--teal);border-radius:999px;width:35%;height:100%;animation:1.3s ease-in-out infinite webr-loading-slide}@keyframes webr-loading-slide{0%{transform:translate(-100%)}to{transform:translate(385%)}}.webr-loading-title{color:var(--teal-dark);margin:0 0 .5rem;font-weight:600}.webr-loading-detail{color:var(--text-muted);max-width:480px;margin:0 auto;font-size:.9rem}.table-wrap{margin-bottom:1rem;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{border-bottom:1px solid var(--border);text-align:left;padding:.55rem .75rem}th{background:var(--teal-light);color:var(--teal-dark);font-weight:600}.col-name{font-weight:600}.sample-cell{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}select{border:1px solid var(--border);border-radius:6px;padding:.35rem .5rem;font-size:.9rem}.select-row{flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem;display:flex}.select-row label{flex-direction:column;gap:.35rem;min-width:260px;font-weight:500;display:flex}.checkbox-list{flex-wrap:wrap;gap:.5rem 1.5rem;margin-bottom:1.5rem;display:flex}.checkbox-row{align-items:center;gap:.4rem;min-width:200px;font-weight:500;display:flex}.col-type-hint{color:var(--text-muted);font-size:.85rem;font-weight:400}.step-actions{justify-content:space-between;margin-top:1.5rem;display:flex}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:8px;padding:.6rem 1.4rem;font-size:.95rem;font-weight:600}.btn-primary{background:var(--teal);color:#fff}.btn-primary:hover:not(:disabled){background:var(--teal-dark)}.btn-primary:disabled{cursor:not-allowed;background:#a9c7c7}.btn-secondary{color:var(--text-muted);border:1px solid var(--border);background:0 0}.btn-secondary:hover{background:#f0f0f0}.results-table{margin-bottom:.75rem}.test-summary{color:var(--teal-dark);margin-bottom:1.5rem;font-weight:600}.plot-wrap{justify-content:center;margin-bottom:1.5rem;display:flex}.plot-wrap img{border:1px solid var(--border);border-radius:8px;max-width:100%}.plot-wrap-row{flex-wrap:wrap;gap:1rem}.plot-wrap-row img{max-width:48%}.chart-editor-closed{flex-direction:column;align-items:center;display:flex}.chart-editor-closed .plot-wrap{margin-bottom:.5rem}.btn-edit-chart{margin-bottom:1.5rem;padding:.4rem 1rem;font-size:.85rem}.chart-editor-pair{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-bottom:1.5rem;display:flex}.chart-editor-pair>*{flex:320px}.chart-editor-row{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:flex-start;gap:1.25rem;margin-bottom:1.5rem;padding:1rem;display:flex}.chart-editor-canvas{flex:380px;justify-content:center;align-items:center;min-width:0;display:flex}.chart-editor-canvas svg{border:1px solid var(--border);background:#fff;border-radius:8px;max-width:100%;height:auto}.chart-editor-panel{border:1px solid var(--border);background:#fff;border-radius:8px;flex:0 0 260px;max-width:100%;max-height:560px;padding:1rem;overflow-y:auto}.chart-editor-panel h4{color:var(--teal-dark);border-bottom:1px solid var(--border);margin:0 0 .6rem;padding-bottom:.3rem;font-size:.95rem}.chart-editor-panel h4:not(:first-child){margin-top:1.25rem}.chart-editor-empty{color:var(--text-muted);margin:0 0 .75rem;font-size:.85rem}.chart-editor-hint{color:var(--text-muted);margin:-.3rem 0 .6rem;font-size:.75rem}.chart-editor-field{margin-bottom:.85rem}.chart-editor-field label{color:var(--text-muted);margin-bottom:.25rem;font-size:.8rem;display:block}.chart-editor-field input[type=text]{border:1px solid var(--border);box-sizing:border-box;border-radius:6px;width:100%;margin-bottom:.35rem;padding:.4rem .5rem;font-size:.85rem}.chart-editor-field-row{gap:.4rem;display:flex}.chart-editor-field-row select{border:1px solid var(--border);border-radius:6px;flex:auto;min-width:0;padding:.3rem;font-size:.8rem}.chart-editor-field-row input[type=number]{border:1px solid var(--border);border-radius:6px;width:3.5rem;padding:.3rem;font-size:.8rem}.chart-editor-field input[type=color]{border:1px solid var(--border);cursor:pointer;border-radius:6px;width:2.4rem;height:2rem;padding:0}.chart-editor-checkbox{color:var(--text);align-items:center;gap:.35rem;font-size:.8rem;margin:0!important;display:flex!important}.chart-editor-presets{flex-wrap:wrap;gap:.4rem;display:flex}.chart-editor-preset{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:6px;padding:0;display:flex;overflow:hidden}.chart-editor-preset-swatch{width:.9rem;height:1.6rem}.chart-editor-annotation{border:1px solid var(--border);background:var(--bg);border-radius:6px;padding:.5rem}.chart-editor-annotation .chart-editor-field-row{align-items:center;margin-bottom:.35rem}.chart-editor-annotation .chart-editor-field-row:last-child{margin-bottom:0}.chart-editor-annotation select{border:1px solid var(--border);border-radius:6px;flex:auto;min-width:0;padding:.3rem;font-size:.8rem}.chart-editor-annotation input[type=text],.chart-editor-annotation input[type=number]{border:1px solid var(--border);border-radius:6px;flex:auto;width:auto;margin-bottom:0;padding:.3rem .4rem;font-size:.8rem}.chart-editor-annotation .chart-editor-field-row button{flex:none;padding:.25rem .5rem;font-size:.75rem}.chart-editor-annotation .chart-editor-field-row button:last-child{flex:auto}.chart-editor-add-annotation{width:100%;margin-top:.5rem;padding:.4rem;font-size:.8rem}.chart-editor-field>select{border:1px solid var(--border);box-sizing:border-box;border-radius:6px;width:100%;padding:.3rem;font-size:.8rem}.chart-editor-warning{color:var(--error);background:#fbeceb;border-radius:6px;margin:0 0 .5rem;padding:.5rem .6rem;font-size:.78rem}.chart-editor-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;padding-top:.75rem;display:flex}.chart-editor-actions button{flex:auto;padding:.45rem .8rem;font-size:.8rem}.interpretation-text{text-align:justify;background:var(--teal-light);border-left:4px solid var(--teal);border-radius:8px;padding:1rem 1.25rem;line-height:1.6}
