:root{color-scheme:light;--ink:#172920;--muted:#506459;--green:#13604a;--paper:#f4f7f2;--border:#dce6df;--white:#fff;--rule:#e7eee8;--wash:#eef5ef;--warm:#8a4a25;--font:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",system-ui,sans-serif}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 var(--font)}
.top{border-bottom:1px solid var(--border);background:#fcfdfa}.top-inner{max-width:1240px;margin:auto;padding:13px 26px;display:flex;align-items:center;gap:14px}
.wordmark{display:flex;align-items:center;gap:8px;font-weight:750}.emblem{width:14px;height:14px;border-radius:10px 2px 10px 2px;background:var(--green)}
.top-divider{border-left:1px solid var(--border);padding-left:14px;color:var(--muted);font-size:13px}.top .quiet{margin-left:auto}
main{max-width:1240px;margin:auto;padding:32px 26px 48px}
h1,h2,p{margin:0}.eyebrow{color:var(--green);font-size:12px;font-weight:750;letter-spacing:.1em;margin-bottom:4px}
h1{font-size:clamp(26px,4vw,42px);line-height:1.2;letter-spacing:-.035em}h2{font-size:21px;line-height:1.35}
.intro{margin-bottom:20px}.intro p:last-child{margin-top:8px;color:var(--muted);font-size:14px}
.panel{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:17px 20px;min-width:0}
.sign-in{max-width:440px;margin:6vh auto 0}.login-form{display:grid;gap:13px}.login-form p{min-height:20px;color:var(--warm);font-size:13px}
label{display:grid;gap:4px;color:var(--muted);font-size:13px;min-width:0}fieldset{margin:10px 0 0;padding:0;border:0;min-width:0}legend{font-weight:650;padding:0;margin-bottom:5px}
select,input,button{font:inherit}select,input:not([type=checkbox]),button{min-height:40px;border:1px solid #baccc0;border-radius:6px;padding:6px 10px;color:var(--ink);background:var(--white);min-width:0}
button{cursor:pointer}button:not(.quiet){background:var(--green);color:#fff;border-color:var(--green);font-weight:650}button.quiet{font-size:13px;padding:3px 10px;min-height:34px}
button:disabled{cursor:default;opacity:.55}input[type=checkbox]{width:16px;height:16px;accent-color:var(--green);margin:0}
:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.fields{display:flex;flex-wrap:wrap;gap:9px 14px;align-items:end}.fields label:not(.compare-field){flex:1 1 145px}.compare-field,.choice{display:flex;align-items:center;gap:7px;min-height:38px}
.choice{border:1px solid var(--border);border-radius:6px;padding:4px 9px;color:var(--ink)}.choice:has(:checked){background:var(--wash);border-color:#a7c8b4}
.choices,.probes{display:flex;gap:6px;flex-wrap:wrap}.probes label{flex:0 1 240px;margin-top:7px}
.rule{height:1px;background:var(--rule);margin:12px 0}.muted{color:var(--muted);font-size:12px;font-weight:400}
.time-fields label{max-width:220px}.notice{margin:12px 0;color:var(--muted);font-size:13px}.notice.error{background:#fbf0e7;color:var(--warm);padding:9px 11px;border-radius:6px}
.result{margin:12px 0}.result header p{color:var(--muted);font-size:13px;margin-top:3px}
.legend{display:flex;gap:6px 14px;flex-wrap:wrap;margin:9px 0;color:var(--muted);font-size:12px}.legend span{display:inline-flex;align-items:center;gap:5px}.legend i{width:18px;height:0;border-top:2px solid}
.plot{min-width:0;min-height:225px}.plot svg{display:block}.axis{font:11px var(--font);fill:var(--muted)}.grid{stroke:var(--rule);stroke-width:1}
.crosshair{stroke:#708176;stroke-dasharray:3 3}.hover{min-height:24px;margin:2px 0 4px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.table{overflow:auto}table{border-collapse:collapse;width:100%;min-width:670px;font-size:13px;text-align:right}th,td{border-bottom:1px solid var(--rule);padding:7px 9px;white-space:nowrap;font-variant-numeric:tabular-nums}th:first-child,td:first-child{text-align:left}thead{background:var(--wash)}.table .quiet{min-height:28px;margin-left:7px;padding:1px 6px}
footer{color:var(--muted);margin-top:19px;font-size:12px}
@media(max-width:620px){main{padding:22px 12px 34px}.top-inner{padding:10px 12px}.panel{padding:12px}.fields{gap:7px}.fields label:not(.compare-field){flex-basis:120px}.time-fields label{max-width:none}.plot{min-height:205px}}
