:root{--cyan:#079ecb;--ink:#233446;--line:#e2eaf0;--muted:#697e90}*{box-sizing:border-box}body{margin:0;background:#f3f7fa;color:var(--ink);font:14px/1.6 system-ui,"Microsoft YaHei",sans-serif}header{height:82px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1240px)/2))}.brand{display:flex;align-items:center;gap:12px}.brand b{font-size:18px}.brand small{display:block;color:var(--muted);font-size:11px;letter-spacing:2px}.logo{display:grid;place-items:center;width:38px;height:38px;background:#17b8ed;color:white;border-radius:10px;font-size:24px}main{max-width:1240px;margin:32px auto;padding:0 20px}.intro,.sectionhead,.pagination{display:flex;align-items:center;justify-content:space-between;gap:16px}.intro{margin-bottom:22px}h1{font-size:29px;letter-spacing:-1px;margin:5px 0}h2{font-size:17px;margin:0}p{margin:6px 0;color:var(--muted)}.eyebrow{font-size:12px;color:var(--cyan)}button{font:inherit;cursor:pointer;border-radius:7px;padding:9px 16px;white-space:nowrap}button:disabled{cursor:not-allowed;opacity:.45}.primary{background:var(--cyan);border:1px solid var(--cyan);color:white}.secondary{background:white;border:1px solid var(--line);color:var(--ink)}button:hover:not(:disabled){filter:brightness(.96)}.pill{font-size:12px;padding:4px 10px;background:#e8f7fb;color:#087e9f;border-radius:20px}.connect,.panel,.activity{background:white;border:1px solid var(--line);border-radius:12px;padding:22px}.connect{margin-bottom:18px}.fields{display:flex;gap:18px;align-items:end;margin-top:14px}.fields label{flex:1}label{font-size:13px}input:not([type=checkbox]){display:block;width:100%;border:1px solid #cbd9e3;border-radius:6px;background:white;padding:10px;margin-top:5px;font:inherit;color:var(--ink)}input:focus{outline:2px solid #a0e4f7;outline-offset:1px}input[type=checkbox]{accent-color:var(--cyan);width:16px;height:16px;vertical-align:middle}.hint{font-size:12px;color:var(--muted)}#notice:not(:empty){padding:13px 18px;border-radius:8px;background:#fff4dd;color:#8a5700;margin-bottom:18px}.activity{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;border-left:4px solid #17b8ed}.activity h2{margin-top:10px;font-size:21px}.metrics{display:flex;gap:40px}.metrics small{display:block;color:var(--muted)}.metrics strong{font-size:27px}.columns{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;margin:18px 0}th,td{text-align:left;padding:14px 10px;border-bottom:1px solid var(--line)}th{font-size:12px;background:#f7fafc;color:var(--muted);font-weight:500}td input[type=number]{max-width:85px;padding:6px;margin:0}tr.chosen{background:#f0fbfe}.pagination{font-size:12px;color:var(--muted)}.pagination button{padding:6px 10px;margin-left:5px}.total{background:#f3fafc;border-radius:8px;padding:16px;margin:16px 0}.total small{display:block}.total strong{display:block;font-size:28px}.muted{font-size:14px;font-weight:400;color:var(--muted)}progress{width:100%;height:6px;accent-color:var(--cyan)}.selection{max-height:300px;overflow:auto}.selected{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0}.selected button{padding:0 7px;border:0;color:#a94b3a;background:transparent}.wide{width:100%;margin-top:10px}.result{margin-top:22px}pre{white-space:pre-wrap;word-break:break-word;font:12px/1.7 ui-monospace,Consolas,monospace;background:#f5f8fa;padding:15px;border-radius:7px;max-height:300px;overflow:auto}footer{text-align:center;padding:24px;color:var(--muted);font-size:12px}dialog{border:0;border-radius:14px;padding:28px;width:min(540px,90vw);box-shadow:0 24px 100px #14263740;color:var(--ink)}dialog::backdrop{background:#12283888}.dialogActions{display:flex;justify-content:flex-end;gap:12px;margin-top:22px}.warning{color:#a34c13;margin:16px 0}.switch{white-space:nowrap}[hidden]{display:none!important}@media(max-width:850px){.columns{grid-template-columns:1fr}.activity{align-items:start;gap:18px;flex-direction:column}.metrics{gap:30px}.fields{flex-direction:column;align-items:stretch}header{padding:0 18px}.intro{align-items:start}h1{font-size:24px}.panel{padding:16px}} 
