: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}.roc-slot-card{background:var(--bg);border:1px solid var(--border);border-radius:10px;margin-bottom:1rem;padding:1rem 1.25rem}.roc-slot-card .select-row,.roc-slot-card .mode-row,.roc-slot-card .checkbox-list{margin-bottom:.75rem}.roc-slot-card .checkbox-list:last-child,.roc-slot-card .select-row:last-child{margin-bottom:0}.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}.landing-page-bg{--teal:#2ee6a8;--teal-dark:#33ffc2;--teal-light:#2ee6a829;--text:#f3f8f5;--text-muted:#9ab8a9;--bg:#071a12;--border:#1f4633;--landing-surface:#0e2a1c;--landing-btn-text:#04241a;background:var(--bg);color:var(--text);width:100%}.landing-page-bg .step-card,.landing-page-bg .landing-screenshot-card,.landing-page-bg .landing-faq-item{background:var(--landing-surface);border-color:var(--border)}.landing-page-bg .btn-primary,.landing-page-bg .landing-badge{color:var(--landing-btn-text)}.landing-page-bg .landing-screenshot-card{box-shadow:0 2px 10px #00000059}.landing-shell{max-width:1080px}.landing-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:2.5rem;display:flex}.landing-logo{width:auto;height:300px;display:block}.landing-page-bg .landing-logo{background:#fff;border-radius:16px;padding:.75rem 1.25rem}.landing-nav{gap:1.5rem;display:flex}.landing-nav a{color:var(--text-muted);font-size:.95rem;text-decoration:none}.landing-nav a:hover{color:var(--teal-dark)}.landing-hero{flex-wrap:wrap;align-items:flex-start;gap:2.5rem;margin-bottom:4rem;display:flex}.landing-hero-main{flex:480px;min-width:0}.landing-hero h1{max-width:640px;margin:0 0 1rem;font-size:2.1rem}.landing-lead{color:var(--text-muted);max-width:640px;margin:0 0 1rem;font-size:1.05rem;line-height:1.6}.landing-trust-strip{color:var(--teal-dark);max-width:640px;margin:0 0 1.5rem;font-size:.85rem;font-weight:600}.landing-hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.landing-example-link{text-decoration:none;display:inline-block}.landing-auth-widget{flex-shrink:0;width:320px}.landing-auth-widget .step-card{padding:1.25rem}.landing-section{margin-bottom:4rem}.landing-section h2{margin:0 0 1.5rem;font-size:1.5rem}.landing-features-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.landing-feature-card h3{color:var(--teal-dark);margin:0 0 .5rem;font-size:1.05rem}.landing-feature-card p{color:var(--text-muted);margin:0;font-size:.92rem;line-height:1.5}.landing-feature-icon{display:none}.landing-page-bg .landing-feature-icon{background:var(--teal-light);width:28px;height:28px;color:var(--teal);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.6rem;font-size:.9rem;font-weight:700;display:inline-flex}.landing-feature-card,.landing-pricing-card{transition:transform .15s,box-shadow .15s,border-color .15s}.landing-feature-card:hover,.landing-pricing-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0d7c7c1f}.landing-page-bg .landing-feature-card,.landing-page-bg .landing-pricing-card,.landing-page-bg .landing-screenshot-card,.landing-page-bg .landing-faq-item{border-left:3px solid var(--teal)}.landing-page-bg .landing-feature-card:hover,.landing-page-bg .landing-pricing-card:hover{border-color:var(--teal);box-shadow:0 6px 20px #2ee6a838}.landing-how-it-works{grid-template-columns:repeat(4,1fr);gap:1.25rem;display:grid}.landing-step h3{color:var(--teal-dark);margin:0 0 .4rem;font-size:1rem}.landing-step p{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.5}.landing-screenshots{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.landing-screenshot-card{border:1px solid var(--border);background:#fff;border-radius:12px;margin:0;overflow:hidden;box-shadow:0 2px 8px #0000000f}.landing-screenshot-card img{width:100%;height:auto;display:block}.landing-screenshot-card figcaption{color:var(--text-muted);padding:.85rem 1rem;font-size:.88rem}.landing-pricing-grid{grid-template-columns:repeat(5,1fr);gap:1rem;display:grid}.landing-pricing-card{flex-direction:column;gap:.5rem;display:flex;position:relative}.landing-pricing-card.featured{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal-light)}.landing-badge{background:var(--teal);color:#fff;border-radius:999px;padding:.2rem .6rem;font-size:.72rem;font-weight:700;position:absolute;top:-.6rem;right:1rem}.landing-pricing-card h3{margin:0;font-size:1rem}.landing-price{color:var(--teal-dark);margin:0;font-size:1.4rem;font-weight:700}.landing-pricing-card p:not(.landing-price){color:var(--text-muted);flex-grow:1;margin:0;font-size:.85rem;line-height:1.4}.landing-pricing-card button{margin-top:.5rem}.landing-faq{gap:.75rem;display:grid}.landing-faq-item{border:1px solid var(--border);background:#fff;border-radius:8px;padding:.85rem 1rem}.landing-faq-item summary{cursor:pointer;color:var(--teal-dark);font-weight:600}.landing-faq-item p{color:var(--text-muted);margin:.6rem 0 0;line-height:1.5}.landing-footer{text-align:center;border-top:1px solid var(--border);color:var(--text-muted);padding-top:2rem;font-size:.85rem}.landing-footer-logo{width:auto;height:28px;margin:0 auto .75rem;display:block}.landing-footer a{color:var(--teal-dark)}.landing-reveal{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(16px)}.landing-reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.landing-reveal,.landing-feature-card,.landing-pricing-card{transition:none}}@media (width<=900px){.landing-features-grid,.landing-how-it-works,.landing-pricing-grid{grid-template-columns:repeat(2,1fr)}.landing-screenshots{grid-template-columns:1fr}}@media (width<=720px){.landing-topbar{flex-direction:column;align-items:flex-start}.landing-hero{flex-direction:column}.landing-auth-widget{width:100%}.landing-features-grid,.landing-how-it-works,.landing-pricing-grid{grid-template-columns:1fr}}
