/* 解析规则 page (static/js/parsers.js). Everything is scoped with the pz- prefix. */
.pz-col{display:flex;flex-direction:column;gap:16px;min-width:0}.pz-col>.panel{display:flex;flex-direction:column}.pz-col>.panel:last-child{flex:1}
.pz-legend{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:8px}
.pz-legend li{display:grid;grid-template-columns:12px minmax(0,1fr) auto 56px;gap:10px;align-items:center;font-size:13px;color:#33435b}
.pz-legend i{width:10px;height:10px;border-radius:3px}.pz-legend b{font-variant-numeric:tabular-nums}.pz-legend .muted{text-align:right}
.pz-tiers{display:flex;align-items:center;gap:10px;min-width:150px}
.pz-bar{display:flex;flex:1;height:8px;border-radius:4px;background:#eef2f8;overflow:hidden;min-width:80px}.pz-bar i{display:block;height:100%}
.pz-ratio{display:flex;align-items:center;gap:10px;min-width:140px}
.pz-actions{display:flex;flex-wrap:wrap;gap:4px;align-items:center;max-width:420px}
.pz-scope{max-width:280px;color:#4c5b72}
.pz-rules .switch{white-space:nowrap}.pz-rules td.pz-name{min-width:170px}.pz-rules td.pz-name .muted-chip{margin-left:6px}
.data-table tr.pz-off td{color:#9aa6b8}.data-table tr.pz-off .strong{color:#7d8aa0}
.pz-h3{margin:18px 0 8px;font-size:13px;color:#1d2940}
.pz-sample{border:1px solid var(--line-soft);border-radius:10px;padding:10px 12px;margin-bottom:10px;display:grid;gap:6px;background:#fafbfe}
.pz-sample-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pz-chips{padding-top:2px}.chip.active{background:#2c60e7;border-color:#2c60e7;color:#fff}
.pz-pattern{min-width:320px}.pz-pattern code{font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;color:#26354c;word-break:break-all}
.pz-inbox td{vertical-align:top}.pz-act{min-width:190px}.pz-act .pz-row-actions{margin-top:8px}
.pz-covered{display:grid;gap:4px;max-width:240px}
.pz-kw{font:12px ui-monospace,Consolas,monospace;background:#f1f4f9;border-radius:5px;padding:2px 6px;color:#2f4a86;display:inline-block;max-width:180px;word-break:break-all}
.pz-asset{max-width:200px}.pz-asset .muted{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.pz-more{display:flex;justify-content:center;gap:12px;align-items:center;padding:12px 22px;border-top:1px solid var(--line-soft)}
.pz-row-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.pz-parsed{margin-top:6px}.pz-parsed summary{cursor:pointer;font-size:12px;color:#5c78c4;font-weight:600}.pz-parsed pre{margin-top:6px}
.pz-fields{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:3px 12px;margin:6px 0 0;font-size:12px}
.pz-fields dt{font-family:ui-monospace,Consolas,monospace;color:#7a879b}.pz-fields dd{margin:0;color:#26354c;overflow-wrap:anywhere}
.pz-custom{display:grid;gap:6px}.pz-trace{display:flex;flex-wrap:wrap;gap:4px}
.pz-results td{vertical-align:top}.pz-line{max-width:380px}.pz-line pre{max-height:140px}
.pz-test-form{display:grid;gap:12px}.pz-test-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#3a4a62}
.pz-test-form select{max-width:420px}
.pz-test-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.pz-grow{flex:1}
.pz-test-sum{display:flex;gap:18px;flex-wrap:wrap;padding:14px 22px;font-size:13px;color:#33435b;border-bottom:1px solid var(--line-soft)}
/* editor dialog: wider than the default modal */
.modal.pz-modal{width:min(980px,calc(100vw - 32px));max-height:calc(100vh - 40px)}
.pz-editor{display:grid;gap:4px}
.pz-editor section{border-bottom:1px solid var(--line-soft);padding:12px 0;display:grid;gap:12px}.pz-editor section:first-child{padding-top:0}
.pz-editor h3{margin:0;font-size:13px;color:#1d2940;display:flex;gap:10px;align-items:baseline}.pz-editor h3 .muted{font-weight:500}
.pz-editor label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;color:#3a4a62;min-width:0}
.pz-editor label.toggle{flex-direction:row;align-items:center;font-weight:500}
.pz-editor input:not([type=checkbox]),.pz-editor select,.pz-editor textarea{width:100%}
.pz-row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pz-row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}
.pz-checks{display:flex;gap:16px;align-items:center;height:38px}
.pz-editor select.pz-multi{height:112px;padding:4px 6px;overflow-y:auto}
.pz-params{display:grid;gap:10px}.pz-params .muted{margin:0}
.pz-map{display:grid;gap:10px}.pz-map-rows{display:grid;gap:8px}
.pz-map-row{display:grid;grid-template-columns:minmax(0,1.3fr) 110px minmax(0,1.4fr) auto;gap:8px;align-items:center}
.pz-map-row>input[aria-label="时间格式"]{grid-column:1/-1}
.pz-map-foot{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.button.small-button{height:32px;padding:0 12px;font-size:12.5px}
.pz-inline{margin-top:0}
.pz-editor-results{margin-top:0}.pz-editor-results:empty{display:none}.pz-editor-results .table-wrap{border:1px solid var(--line-soft);border-radius:10px}
.pz-editor>.error{margin:8px 0 0}
.pz-editor .pz-test-row label{flex:0 1 320px}
@media(max-width:860px){.pz-row2,.pz-row3,.pz-map-row{grid-template-columns:1fr}}
