:root{--ink:#172f3a;--muted:#526772;--paper:#f4f6f5;--line:#d7e0de;--accent:#116858;--dark:#103d3d;--warm:#f7e9c9;--warn:#754a10;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:#0e645c;text-underline-offset:3px}button,input,select{font:inherit}button,.button{border:1px solid #b8c9c5;background:white;color:var(--ink);padding:10px 14px;border-radius:6px;cursor:pointer;display:inline-flex;justify-content:center;text-decoration:none;line-height:1.4;font-weight:600}button:hover,.button:hover{background:#e9f1ee}button:disabled{cursor:not-allowed;opacity:.46}button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:white}button.primary:hover,.button.primary:hover{background:#0a5146}.quiet{border:0;background:transparent}input,select{border:1px solid #becbc8;border-radius:5px;background:white;min-height:40px;width:100%;padding:8px 9px;color:var(--ink)}label{display:block;font-weight:600;font-size:13px;min-width:0}label input,label select{margin-top:5px}label select{font-weight:400}select[size]{padding:4px;min-height:280px}select[size] option{padding:8px 6px;border-radius:3px;font-size:12px}input:focus,select:focus,button:focus-visible,a:focus-visible,summary:focus-visible,.button:focus-within{outline:3px solid #dfad44;outline-offset:2px}h1,h2,h3,p{margin-top:0}h2{font-size:21px;line-height:1.3;margin-bottom:12px}h3{font-size:15px}p{margin-bottom:12px}small,.muted{font-size:12px;color:var(--muted)}.masthead{background:var(--dark);color:white;padding:22px max(30px,calc((100vw - 1500px)/2));display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:14px;font-weight:700;letter-spacing:1.4px;font-size:14px}.brand span:not(.mark){display:block;font-size:9px;letter-spacing:2.3px;font-weight:400;color:#b7d2ca;margin-top:2px}.brand .mark{border:1px solid #80aba0;border-radius:50%;width:41px;height:41px;display:grid;place-items:center;font-size:14px}.local-status{font-size:12px;color:#d4e3df}.local-status i{display:inline-block;background:#8cbb78;border-radius:50%;width:7px;height:7px;margin-right:6px}main{max-width:1560px;margin:auto;padding:0 30px 36px}.hero{display:grid;grid-template-columns:1.7fr 1fr;gap:70px;padding:52px 0 34px;align-items:center}.eyebrow,.step{font-size:10px;font-weight:700;letter-spacing:1.65px;color:var(--accent);margin-bottom:14px}h1{font-size:clamp(32px,3.2vw,49px);line-height:1.16;letter-spacing:-1.7px;margin-bottom:20px;font-weight:650}h1 span{color:var(--accent)}.hero>div>p{max-width:650px;color:var(--muted);font-size:16px}.hero-note{border-left:2px solid #c5d6d0;padding:7px 0 7px 27px;max-width:440px}.hero-note h2{margin:14px 0 10px;font-size:20px}.hero-note p{font-size:13px;color:var(--muted);margin-bottom:0}.tag{font-size:9px;letter-spacing:1px;font-weight:750;background:#e8f0ed;padding:6px 9px;border-radius:3px;white-space:nowrap}.tag.warn{background:var(--warm);color:var(--warn)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden}.metrics>div{padding:20px 26px;border-right:1px solid var(--line)}.metrics>div:last-child{border:0}.metrics strong{display:block;font-size:28px;font-weight:600;letter-spacing:-.6px}.metrics span{font-size:12px;color:var(--muted)}.notice{background:#e9efeb;border-radius:6px;font-size:12px;color:#355649;padding:14px 18px;margin:18px 0 24px}.panel{background:white;border:1px solid var(--line);border-radius:9px;padding:24px;min-width:0}.connect{display:grid;grid-template-columns:1.4fr 1fr;gap:30px;margin-bottom:24px}.connect h2{margin-bottom:8px}.connect p{font-size:13px;color:var(--muted);max-width:700px}.connect-actions{display:flex;align-content:center;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:10px}.connect-actions p{width:100%;margin:0;word-break:break-word}.file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.file-input:focus{position:static;width:100%;height:auto;opacity:1}.workspace{display:grid;grid-template-columns:310px minmax(0,1fr);gap:24px;align-items:start}.sidebar{position:sticky;top:16px;padding:21px}.sidebar label{margin-bottom:16px}.sidebar .dataset-info{font-size:12px;margin-bottom:16px;word-break:break-word}.dataset-info p{margin-bottom:8px}.sidebar #load{width:100%}.sidebar #loadStatus{font-size:12px;margin-top:12px;word-break:break-word}.sidebar hr{border:0;border-top:1px solid var(--line);margin:24px 0}.reading-rules{padding-left:17px;color:var(--muted);font-size:12px}.reading-rules li{margin-bottom:9px}.file-list{padding-left:17px;font-size:10px;overflow-wrap:anywhere;max-height:220px;overflow:auto}.results{display:grid;gap:20px;min-width:0}.sectionhead{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:10px}.sectionhead h2{margin:0}.sectionhead .step{margin-bottom:8px}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 12px;margin-top:15px}fieldset{padding:0;margin:0;border:0;min-width:0}.advanced{margin-top:20px;border-top:1px solid var(--line);padding-top:14px}summary{cursor:pointer;font-size:13px;font-weight:600}.extra{grid-template-columns:1fr 1fr}.extra+p{margin-top:8px}.slice-count{background:#edf4f1;margin-top:18px;border-radius:5px;padding:12px 15px;font-size:14px;font-weight:600}.scope{border:1px solid #acbbce;background:#f0f3f8;padding:12px;border-radius:5px;margin-top:15px;font-size:12px;word-break:break-word}.scope button{margin-top:8px;font-size:12px}.chart-status{background:#f5f6f4;color:#5e675a;padding:18px;border:1px dashed #bdc9bd;border-radius:5px;font-size:13px;margin:16px 0}.chart-status.ready{background:#edf4f1;border-style:solid;color:#225646}#chart{width:100%;height:auto;max-height:350px}#chart text{font:11px system-ui;fill:#4d626a}#chart .dot{fill:#146e5b;stroke:white;stroke-width:1.5}#chart .grid{stroke:#e4eae7}#chartNote{margin:12px 0 0}.export-actions{display:flex;gap:6px;flex-wrap:wrap}.export-actions button{font-size:11px;padding:8px 10px}.table-scroll{overflow:auto;max-height:780px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}table{border-collapse:collapse;min-width:780px;width:100%;font-size:12px}th{background:#eff3f0;font-size:11px;text-align:left;padding:12px 10px;position:sticky;top:0;z-index:1;border-bottom:1px solid var(--line)}td{padding:13px 10px;vertical-align:top;border-bottom:1px solid #e5ebe8;max-width:280px;overflow-wrap:anywhere}tbody tr:hover{background:#f5f9f7}td .datum{font-size:16px;font-weight:650;font-variant-numeric:tabular-nums}td .sub{font-size:10px;color:var(--muted);margin-top:4px}td .null{color:#8a6940;font-weight:600}td button{font-size:10px;padding:4px 7px;margin:6px 4px 0 0}td .flag{font-size:10px;display:inline-block;padding:3px 5px;background:#eef1ed;border-radius:3px;overflow-wrap:anywhere}td .flag.warn{background:#fff1d5;color:#714b14}.empty{text-align:center;padding:45px 20px;color:var(--muted)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:15px}.pagination button{font-size:12px}.pagination label{display:flex;align-items:center;gap:9px;font-size:11px}.pagination select{width:75px;min-height:32px;margin:0}.methods{margin-top:26px;display:grid;grid-template-columns:1fr 2fr;gap:40px}.methods p{font-size:13px;color:var(--muted)}.doc-links{display:flex;gap:20px;flex-wrap:wrap}.doc-links a{font-size:12px}footer{background:var(--dark);color:#b8cfc6;padding:23px 30px;font-size:11px;display:flex;justify-content:space-between;gap:20px}dialog{border:1px solid #b9c9c4;border-radius:9px;max-width:960px;width:calc(100% - 32px);max-height:85vh;padding:28px;color:var(--ink)}dialog::backdrop{background:#112c35aa}dialog dl{display:grid;grid-template-columns:190px 1fr;gap:0;font-size:12px;margin:0}dialog dt,dialog dd{padding:10px;border-bottom:1px solid var(--line);margin:0;overflow-wrap:anywhere}dialog dt{font-weight:600;background:#f4f7f4}.sr-only,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip:focus{position:static;width:auto;height:auto;clip:auto;background:white;padding:10px;display:block}[hidden]{display:none!important}.error{color:#9d3027!important}
@media(min-width:1500px){.workspace{grid-template-columns:340px minmax(0,1fr)}}@media(max-width:1100px){.workspace{grid-template-columns:265px minmax(0,1fr);gap:16px}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{gap:25px}.panel{padding:20px}.metrics>div{padding:20px}.metrics strong{font-size:24px}.sidebar{padding:18px}}
@media(max-width:760px){main{padding:0 16px 25px}.masthead{padding:18px 16px}.brand{font-size:12px}.brand span:not(.mark){font-size:8px}.local-status{font-size:10px}.hero{grid-template-columns:1fr;padding:30px 0 22px;gap:18px}h1{font-size:36px;letter-spacing:-1px}.hero>div>p{font-size:14px}.hero-note{padding-left:17px;max-width:none}.hero-note h2{font-size:17px}.metrics{grid-template-columns:1fr 1fr}.metrics>div{padding:15px 18px;border-bottom:1px solid var(--line)}.metrics>div:nth-child(2){border-right:0}.metrics>div:nth-child(3){border-bottom:0}.metrics strong{font-size:25px}.notice{font-size:11px}.connect{grid-template-columns:1fr;gap:6px}.connect-actions .button{font-size:12px}.workspace{grid-template-columns:1fr}.sidebar{position:static}.sidebar select[size]{min-height:180px;height:190px}.panel{padding:18px}.filter-grid{gap:12px 10px}.sectionhead{flex-wrap:wrap}h2{font-size:19px}.methods{grid-template-columns:1fr;gap:10px}.methods h2 br{display:none}footer{padding:20px 16px;flex-direction:column;gap:8px}dialog dl{grid-template-columns:1fr}dialog dt{border-bottom:0;padding-bottom:0}.pagination{gap:7px}.pagination label{font-size:10px;gap:4px}.pagination button{padding:8px}.table-scroll{max-height:580px}.extra{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media print{.connect,.sidebar,.filter-grid,.advanced,.export-actions,.pagination,button{display:none!important}.workspace,.hero,.methods{display:block}.panel{break-inside:avoid;border:0;padding:10px 0}.table-scroll{max-height:none;overflow:visible}.masthead,footer{background:white;color:black}main{padding:0}}

/* Keep axis labels in CSS pixels on phones; geometry is redrawn on resize. */
#chart{display:block;width:100%;height:330px;max-height:none;min-width:0}#chart text{font-family:Arial,sans-serif;font-size:13px}
