/* Component-only: never modifies the host viewport or global layout. */
.pv-drawing-compare{box-sizing:border-box;width:min(1240px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:92dvh;margin:auto;padding:0;border:1px solid #cddfd1;border-radius:10px;background:#fff;color:#22392a;font:12px/1.5 "Segoe UI","Microsoft YaHei",sans-serif;box-shadow:0 18px 70px #193d2633;overflow:auto;overflow-wrap:anywhere;overscroll-behavior:contain}
.pv-drawing-compare[open]{display:flex;flex-direction:column}
.pv-drawing-compare::backdrop{background:#17362366}
.pv-drawing-compare *{box-sizing:border-box;min-width:0}
.pv-drawing-compare [hidden]{display:none!important}
.pv-drawing-compare .pv-dc-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:9px 12px;border-bottom:1px solid #dce8df;flex:none}
.pv-drawing-compare .pv-dc-heading h2{margin:0;font-size:15px;color:#147e2b}
.pv-drawing-compare .pv-dc-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 12px;background:#f2f8f3;flex:none}
.pv-drawing-compare .pv-dc-reference{flex:1 1 240px;max-width:100%;min-height:29px;padding:4px 6px;border:1px solid #c9dbcd;border-radius:5px;background:#fff;color:inherit;font:inherit}
.pv-drawing-compare .pv-dc-button{max-width:100%;min-height:28px;padding:4px 9px;border:1px solid #c9dbcd;border-radius:5px;background:#fff;color:#275d37;font:inherit;white-space:normal;cursor:pointer}
.pv-drawing-compare .pv-dc-button:hover:not(:disabled){background:#e8f4eb;border-color:#7cad88}
.pv-drawing-compare .pv-dc-button[aria-pressed=true]{background:#dfefe3;border-color:#559b67}
.pv-drawing-compare :is(button,select,input):disabled{opacity:.5;cursor:not-allowed}
.pv-drawing-compare :is(button,select,input,.pv-dc-viewport):focus-visible{outline:2px solid #19933a;outline-offset:2px}
.pv-drawing-compare .pv-dc-ratio{color:#526c5b;font-size:11px;font-variant-numeric:tabular-nums}
.pv-drawing-compare .pv-dc-opacity{display:flex;align-items:center;flex-wrap:wrap;gap:5px;max-width:100%}
.pv-drawing-compare .pv-dc-opacity input{width:100px;max-width:100%;accent-color:#178735}
.pv-drawing-compare .pv-dc-status-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:7px 12px 0;flex:none}
.pv-drawing-compare .pv-dc-status{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:#5e7465;min-height:22px}
.pv-drawing-compare .pv-dc-error{color:#9d342f}
.pv-drawing-compare .pv-dc-spinner{flex:none;width:14px;height:14px;border:2px solid #d7e7db;border-top-color:#168339;border-radius:50%;animation:pv-dc-spin .8s linear infinite}
.pv-drawing-compare .pv-dc-alignment,.pv-drawing-compare .pv-dc-note{margin:0;padding:5px 12px 8px;color:#62766a;font-size:11px;flex:none}
.pv-drawing-compare .pv-dc-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px;flex:1 1 auto;min-height:210px}
.pv-drawing-compare .pv-dc-stage.is-overlay{grid-template-columns:minmax(0,1fr)}
.pv-drawing-compare .pv-dc-pane{position:relative;display:flex;flex-direction:column;min-height:0;margin:0;border:1px solid #d6e3d9;border-radius:6px;overflow:hidden;background:#fff}
.pv-drawing-compare .pv-dc-default-view{position:absolute;left:10px;bottom:10px;z-index:3;min-height:30px;background:#fff;color:#1b7133;box-shadow:0 2px 8px #143d2524}
.pv-drawing-compare .pv-dc-caption{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;padding:6px 8px;background:#f1f7f3;border-bottom:1px solid #dce8df}
.pv-drawing-compare .pv-dc-caption strong{color:#147e2b;flex:none}
.pv-drawing-compare .pv-dc-name{overflow-wrap:anywhere;color:#455d4d}
.pv-drawing-compare .pv-dc-viewport{position:relative;height:clamp(200px,40dvh,520px);flex:1 1 auto;min-height:0;overflow:hidden;background:#eef3ef;cursor:grab;touch-action:none;user-select:none;overscroll-behavior:contain}
.pv-drawing-compare .pv-dc-viewport:active{cursor:grabbing}
.pv-drawing-compare .pv-dc-image{position:absolute;display:block;left:50%;top:50%;max-width:none;max-height:none;margin:0;padding:0;border:0;object-fit:contain;transform-origin:center;pointer-events:none;user-select:none}
.pv-drawing-compare .pv-dc-image-current{z-index:1}
.pv-drawing-compare .pv-dc-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;padding:14px;text-align:center;color:#718277}
.pv-drawing-compare .pv-dc-empty{pointer-events:none;white-space:pre-wrap}
.pv-drawing-compare .pv-dc-cad-host{position:absolute;inset:0;width:100%;height:100%;outline-offset:-3px}
.pv-drawing-compare .pv-dc-cad-host canvas{display:block;max-width:100%;max-height:100%}
.pv-drawing-compare .pv-dc-parameters{display:flex;flex-direction:column;flex:none;max-height:180px;margin:0 12px 8px;border:1px solid #d6e3d9;border-radius:6px;overflow:auto}
.pv-drawing-compare .pv-dc-parameters.is-short{max-height:none;overflow:visible}
.pv-drawing-compare .pv-dc-parameters.is-short .pv-dc-parameter-scroll{max-height:none;flex:none}
.pv-drawing-compare .pv-dc-parameter-tools{display:flex;flex:none;align-items:center;flex-wrap:wrap;gap:6px;padding:5px 8px;background:#f2f8f3}
.pv-drawing-compare .pv-dc-parameter-summary{color:#8b4f14}
.pv-drawing-compare .pv-dc-parameter-search{flex:1 1 180px;min-height:28px;padding:4px 6px;border:1px solid #c9dbcd;border-radius:5px;font:inherit}
.pv-drawing-compare .pv-dc-parameter-scroll{max-height:180px;min-height:36px;flex:1 1 auto;overflow:auto;overscroll-behavior:contain}
.pv-drawing-compare .pv-dc-parameter-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}
.pv-drawing-compare .pv-dc-parameter-table th{position:sticky;top:0;background:#f2f8f3;z-index:1;text-align:left}
.pv-drawing-compare .pv-dc-parameter-table :is(th,td){padding:4px 8px;border-bottom:1px solid #e3ebe5;vertical-align:top;overflow-wrap:anywhere}
.pv-drawing-compare .pv-dc-parameter-table th:first-child{width:30%}
.pv-drawing-compare .pv-dc-parameter-table th:last-child{width:17%}
.pv-drawing-compare .pv-dc-parameter-value{white-space:pre-wrap;word-break:break-word;font-variant-numeric:tabular-nums}
.pv-drawing-compare .pv-dc-parameter-different,.pv-drawing-compare .pv-dc-parameter-only_current,.pv-drawing-compare .pv-dc-parameter-only_reference{background:#fff6e7}
.pv-drawing-compare .pv-dc-parameter-different .pv-dc-parameter-value{font-weight:600;color:#894911}
.pv-drawing-compare .pv-dc-parameter-source{flex:none;padding:4px 8px;color:#62766a;font-size:11px}
.pv-drawing-compare .pv-dc-parameter-source summary{cursor:pointer}
.pv-drawing-compare .pv-dc-parameter-source pre{max-height:180px;overflow:auto;margin:4px 0;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}
.pv-drawing-compare .pv-dc-difference{flex:none;margin:0 12px 7px;padding:5px 8px;border:1px solid #d6e3d9;border-radius:6px;background:#fafcfb}
.pv-drawing-compare .pv-dc-difference-status{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-height:19px;font-variant-numeric:tabular-nums;color:#5d521e}
.pv-drawing-compare .pv-dc-difference-tools{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin-top:3px}
.pv-drawing-compare .pv-dc-difference-check,.pv-drawing-compare .pv-dc-difference-filter-label{display:flex;align-items:center;gap:4px}
.pv-drawing-compare .pv-dc-difference-check input{margin:0;accent-color:#178137}
.pv-drawing-compare .pv-dc-difference-tools select{max-width:100%;min-height:28px;border:1px solid #c9dbcd;border-radius:5px;padding:3px 5px;background:#fff;color:inherit;font:inherit}
.pv-drawing-compare .pv-dc-difference-select{flex:1 1 180px;width:180px}
.pv-drawing-compare .pv-dc-difference-position{font-size:11px;color:#62766a;font-variant-numeric:tabular-nums}
.pv-drawing-compare .pv-dc-component-summary{margin:4px 0 1px;padding:4px 6px;background:#eaf4ee;border-radius:4px;color:#244a32;font-size:11px}
.pv-drawing-compare .pv-dc-layer-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px}
.pv-drawing-compare .pv-dc-layer-table :is(th,td){text-align:left;vertical-align:top;padding:3px 5px;border-bottom:1px solid #d8e5dc;overflow-wrap:anywhere}
.pv-drawing-compare .pv-dc-difference-legend{display:flex;align-items:center;flex-wrap:wrap;gap:3px 12px;margin-top:3px;font-size:11px}
.pv-drawing-compare .pv-dc-difference-legend span{display:inline-flex;align-items:center;gap:4px}
.pv-drawing-compare .pv-dc-difference-legend span:not(.pv-dc-legend-text-note)::before{content:"";width:14px;border-top:3px solid currentColor;flex:none}
.pv-drawing-compare .pv-dc-legend-text-note{color:#62766a}
.pv-drawing-compare .pv-dc-legend-base{color:#657168}
.pv-drawing-compare .pv-dc-legend-removed{color:#bc3030}
.pv-drawing-compare .pv-dc-legend-added{color:#147c38}
.pv-drawing-compare .pv-dc-legend-modified{color:#ac5905}
.pv-drawing-compare .pv-dc-difference-warnings{max-height:110px;overflow:auto;margin-top:3px;color:#62766a;font-size:11px;overscroll-behavior:contain}
.pv-drawing-compare .pv-dc-difference-warning{color:#9d4d11}
.pv-drawing-compare .pv-dc-difference-warnings summary{cursor:pointer}
.pv-drawing-compare .pv-dc-difference-warnings p{margin:3px 0;white-space:pre-wrap}
@keyframes pv-dc-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.pv-drawing-compare .pv-dc-spinner{animation:none}}
@media(max-width:600px){.pv-drawing-compare .pv-dc-stage{grid-template-columns:minmax(0,1fr);flex:none;min-height:0}.pv-drawing-compare .pv-dc-viewport{height:32dvh;min-height:180px;flex:none}.pv-drawing-compare .pv-dc-toolbar>label:first-child{flex-basis:100%}.pv-drawing-compare .pv-dc-reference{flex-basis:100%;width:100%}.pv-drawing-compare .pv-dc-heading,.pv-drawing-compare .pv-dc-toolbar,.pv-drawing-compare .pv-dc-stage{padding-left:8px;padding-right:8px}}
