:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#202d3c;background:#f5f7fa;font-synthesis:none;font-size:14px;line-height:1.65;--blue:#215bd3;--border:#e2e7ef;--muted:#64748b}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;background:#fff;border:1px solid #d6deea;border-radius:7px;padding:8px 14px;color:#34445c;font-weight:500;transition:background .15s,border-color .15s}button:hover{background:#edf3ff;border-color:#7c9fe9}button:disabled{cursor:not-allowed;opacity:.45}button.primary{background:var(--blue);color:#fff;border-color:var(--blue)}button.primary:hover{background:#174cb9}button.primary span{margin-left:12px}input,textarea,select{border:1px solid #cfd8e5;border-radius:6px;background:#fff;color:#26364d;padding:8px 10px;min-width:0;max-width:100%}input:focus,textarea:focus,select:focus{outline:2px solid #9ab9ff;outline-offset:1px;border-color:var(--blue)}input[aria-invalid=true]{border-color:#d13d2f;background:#fff5f3}label{font-weight:500}h1,h2,h3,p{margin:0}h1{font-size:32px;line-height:1.35;letter-spacing:-.7px;font-weight:700;margin:8px 0 12px}h2{font-size:19px;line-height:1.5;font-weight:650}h3{font-size:15px;margin:20px 0 8px}small{font-size:11px}strong{font-weight:650}main{max-width:1240px;margin:0 auto;padding:34px 32px 24px;min-width:0}.topbar{height:68px;padding:0 max(32px,calc((100vw - 1176px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:#fff;gap:12px}.brand{display:flex;align-items:center;gap:10px;font-weight:750;font-size:16px;letter-spacing:1px}.brand-mark{background:#2358c7;color:#fff;display:grid;place-items:center;width:32px;height:32px;border-radius:8px;font-family:Georgia,serif;font-size:24px;font-style:italic}.brand small{margin-left:12px;color:#718096;letter-spacing:0;font-weight:400}.local-badge{font-size:12px;color:#5e6e83;white-space:nowrap}.local-badge i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#23a27e;margin-right:5px}.intro{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.eyebrow{color:#6b7f9a;font-size:11px;letter-spacing:1.25px;font-weight:650}.lead{color:var(--muted);font-size:14px}.intro-tag{font-size:12px;border:1px solid #d7e2f3;color:#5473a1;padding:6px 12px;border-radius:30px;white-space:nowrap}.mobile-break{display:none}.disclaimer{border:1px solid #f1d6a9;border-left:4px solid #d99324;border-radius:8px;background:#fff9ed;padding:14px 18px;margin-bottom:24px;display:flex;gap:16px;align-items:flex-start;color:#85561b}.disclaimer strong{white-space:nowrap}.disclaimer p{font-size:13px;line-height:1.8}.error-banner{background:#fff0ed;border:1px solid #f1b6ae;border-radius:8px;padding:12px 16px;color:#b32f27;position:sticky;top:8px;z-index:10;margin-bottom:18px}.card{min-width:0;background:#fff;border:1px solid var(--border);border-radius:11px;padding:24px;margin-bottom:22px;box-shadow:0 2px 6px #23395a03}.card-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px}.card-head .eyebrow{margin-bottom:5px}.button-row{display:flex;gap:8px;flex-wrap:wrap}.names-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.names-grid label{display:block}.names-grid textarea{display:block;width:100%;resize:vertical;margin-top:7px;line-height:1.7}.muted{color:var(--muted);font-size:12px;font-weight:400;margin-left:8px}.name-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:10px 0 22px}.hint{color:#6c7a8e;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:20px;border-top:1px solid #edf0f5}.controls label{font-size:13px}.controls select{display:block;width:100%;margin-top:7px;padding:10px}.mode-note{font-size:12px;padding:12px 14px;background:#f2f6fd;border-radius:6px;margin-top:14px;color:#526b91}.assumption,.mapping-note{font-size:12px;color:#866020;background:#fff9ed;border:1px solid #f1dfbd;padding:10px 12px;border-radius:6px;margin:12px 0}.section-label{display:flex;justify-content:space-between;align-items:center;color:#78889b;font-size:12px;margin:30px 0 14px;gap:10px}.section-label span{letter-spacing:1px;font-weight:650}.section-label p{font-size:12px}.local-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.local-grid>.card:last-child:nth-child(odd){grid-column:1/-1}.status,.pill{display:inline-block;flex-shrink:0;border-radius:30px;padding:4px 10px;font-size:11px;font-weight:500}.status.good{background:#edf8f2;color:#20805d}.status.bad{background:#fff0e9;color:#bd4a24}.pill{background:#eff4ff;color:#4269a6}.target-set{border:0;padding:0;margin:0 0 20px;min-width:0}.target-set legend{font-size:12px;color:#64748b;margin-bottom:9px;padding:0}.target-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(95px,1fr));gap:10px}.target-inputs label{min-width:0}.target-inputs label span{display:block;font-size:12px;color:#52637b;margin-bottom:4px;overflow-wrap:anywhere}.target-inputs input{width:100%;padding:7px 9px;background:#fbfcfe}.matrix-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;color:#728096;margin-bottom:9px}.text-btn{border:0;padding:3px 0;color:var(--blue);font-size:12px;background:none;flex-shrink:0}.table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;min-width:0;-webkit-overflow-scrolling:touch}table{border-collapse:collapse;width:100%;font-size:12px;text-align:right}th{text-align:left;font-weight:500;overflow-wrap:anywhere;max-width:180px}th,td{padding:10px 12px;border-bottom:1px solid #ebeff5}thead th{background:#f7f9fc;color:#6b7b92;font-size:11px}.matrix{table-layout:fixed;min-width:370px;text-align:center}.matrix th{width:100px;max-width:120px;text-align:center}.matrix th,.matrix td{border:1px solid #e5ebf3;padding:8px}.matrix input{width:100%;min-width:60px;padding:6px 2px;border-color:#dce4f0;border-radius:4px;text-align:center;font-variant-numeric:tabular-nums}.matrix td{min-width:80px}.diagonal{display:block;color:#9aa6b7;padding:6px}.matrix-card>.hint{margin:8px 0 16px}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;background:#f8fafc;border-radius:7px;padding:13px 16px;margin:16px 0 10px}.metrics div{display:flex;flex-direction:column;gap:2px}.metrics span{font-size:11px;color:#74849a}.metrics strong{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.warn-text{color:#c34d2c}.warning{background:#fff0e9;color:#aa421f;border-radius:6px;padding:9px 12px;font-size:12px;margin:10px 0}.weight-table{min-width:460px;margin:12px 0}.weight-table td{white-space:nowrap}.weight-table .actual-weight{font-weight:650;color:#315b9c}.group-results>.hint:last-child{margin-top:8px}.check-label{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:16px}.check-label input{accent-color:var(--blue);width:16px;height:16px}.score-table{min-width:530px;margin-top:22px}.score-table th,.score-table td{padding:13px 16px}.score-table th:first-child{width:60px}.score-table td:nth-child(3){width:30%}.rank{display:inline-grid;width:24px;height:24px;place-items:center;color:#6a7d98;background:#f2f5f9;border-radius:6px}.rank.first{background:#e9f1ff;color:var(--blue);font-weight:700}.score-value{font-size:17px;color:#2a559a;font-weight:650;font-variant-numeric:tabular-nums}.bar{height:3px;border-radius:4px;background:#edf2f9;margin-top:6px;overflow:hidden}.bar i{display:block;height:100%;background:#5083df}.export-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:20px;margin-top:22px;border-top:1px solid var(--border)}#synthesis>.hint{margin-top:12px}.method{padding:0}.method summary{list-style:none;cursor:pointer;font-size:14px;font-weight:600;padding:20px 24px;display:flex;justify-content:space-between;gap:12px}.method summary::-webkit-details-marker{display:none}.method summary span{color:#7085a1}.method-content{padding:0 24px 24px;max-width:1000px;color:#596a80;font-size:13px;overflow-wrap:anywhere}.method-content ol{padding-left:22px}.method-content p{margin-bottom:10px}.ri-values{font-variant-numeric:tabular-nums;background:#f4f7fb;padding:12px}footer{font-size:11px;color:#8694a7;display:flex;justify-content:space-between;gap:12px;margin-top:26px}#global-panel{border-radius:8px;background:#f8fafc;padding:16px}#global-panel .target-set{margin-bottom:12px}#global-panel .button-row{margin-top:10px}.has-error .group-results,.has-error #synthesis{opacity:.55}[hidden]{display:none!important}@media(min-width:1000px){.matrix-card>.table-scroll>.matrix{min-width:400px}}@media(max-width:900px){.local-grid{grid-template-columns:1fr}.local-grid>.card:last-child:nth-child(odd){grid-column:auto}.brand small,.intro-tag{display:none}}@media(max-width:600px){main{padding:24px 16px 20px}.topbar{height:60px;padding:0 16px}.brand{font-size:14px}.local-badge{font-size:10px}.brand-mark{width:28px;height:28px;font-size:21px}h1{font-size:27px;letter-spacing:-.5px}.mobile-break{display:initial}.lead{font-size:13px}.eyebrow{font-size:10px;letter-spacing:.7px}.intro{margin-bottom:20px}.disclaimer{padding:12px 14px;display:block;margin-bottom:18px}.disclaimer strong{display:block;margin-bottom:4px;font-size:13px}.disclaimer p{font-size:12px}.card{padding:18px 15px;margin-bottom:16px;border-radius:9px}.card-head{flex-wrap:wrap;align-items:flex-start;margin-bottom:16px}.card-head h2{font-size:17px}.card-head .button-row{gap:6px}button{padding:7px 10px;font-size:12px}.names-grid,.controls{grid-template-columns:1fr;gap:14px}.names-grid textarea{font-size:13px}.name-actions{align-items:flex-start;flex-direction:column;gap:8px}.controls{padding-top:16px}.target-inputs{grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:8px}.target-inputs input{font-size:13px}.matrix-tools{align-items:flex-start;font-size:11px}.matrix-tools>span{max-width:155px}.text-btn{font-size:11px}.matrix{min-width:370px}.metrics{padding:11px 10px;gap:8px}.metrics strong{font-size:14px}.metrics small{display:block;font-size:9px}.status,.pill{font-size:10px}.section-label{display:block;margin-top:24px}.section-label p{margin-top:3px;font-size:11px}.export-row{flex-direction:column;align-items:stretch;gap:14px}.export-row .button-row{justify-content:flex-end}.method{padding:0}.method summary{padding:16px;font-size:13px}.method-content{padding:0 16px 16px}footer{display:block}footer span{display:block;margin-top:4px}.error-banner{font-size:12px;top:4px}#global-panel,.score-table th,.score-table td{padding:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}h1,h2,.card-head>div{min-width:0;overflow-wrap:anywhere}
