.pump-spacing-guide{--psg-ink:#203943;--psg-muted:#60757e;--psg-blue:#0a6fa8;--psg-blue-soft:#d8edf8;--psg-silver:#7796a8;--psg-silver-soft:#edf3f6;border:1px solid var(--border);box-shadow:var(--shadow-panel);color:var(--foreground);background:#fff;border-radius:12px;margin:0 0 22px;overflow:hidden}.pump-spacing-guide__header{border-bottom:1px solid var(--border);background:linear-gradient(135deg,#fff 0%,#f1f7fb 100%);padding:17px 18px 14px}.pump-spacing-guide__header>span{color:var(--primary);letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:800;display:block}.pump-spacing-guide__header h2{letter-spacing:-.3px;font-size:19px;line-height:1.25}.pump-spacing-guide__figure{background:#f8fafb;margin:0}.pump-spacing-guide__figure svg{width:100%;max-width:460px;height:auto;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:block}.pump-spacing-guide__figure figcaption{border-top:1px solid var(--border);color:var(--muted-foreground);background:#fff;padding:11px 16px;font-size:12px;line-height:1.5}.pump-spacing-guide__notes{color:#415963;padding:15px 18px 18px;font-size:13px;line-height:1.55}.pump-spacing-guide__notes p{margin:0}.pump-spacing-guide__notes .pump-spacing-guide__scope{border-left:3px solid var(--psg-silver);color:#425c6b;background:#f1f6f9;border-radius:0 6px 6px 0;margin:0 0 10px;padding:9px 11px}.pump-spacing-guide__notes ul{gap:7px;margin:10px 0 0;padding-left:19px;display:grid}.pump-spacing-guide__notes li::marker{color:var(--psg-blue)}.pump-spacing-guide__equation{background:#edf6fb;border:1px solid #c5dce8;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.pump-spacing-guide__equation span{color:#476069;font-size:12px;font-weight:700}.pump-spacing-guide__equation strong{color:#17678e;letter-spacing:-.2px;font-variant-numeric:tabular-nums;font-size:16px}.pump-spacing-guide__equation--wrap{justify-content:stretch;gap:3px;display:grid}.pump-spacing-guide__equation--wrap strong{overflow-wrap:anywhere;font-size:14px}.pump-spacing-guide__result-list{margin-top:0!important}.psg-panel{fill:#fff;stroke:#d6e0e4;stroke-width:1.5px}.psg-kicker{fill:#60757e;letter-spacing:1px;font-size:10px;font-weight:800}.psg-label{fill:#294651;font-size:13px;font-weight:750}.psg-small{fill:#627780;font-size:11px}.psg-value{fill:#0a6fa8;font-size:15px;font-weight:800}.psg-value--gold{fill:#365f76}.psg-barrel{fill:#eef3f4;stroke:#496974;stroke-width:2.5px}.psg-rod{stroke:#315663;stroke-width:5px;stroke-linecap:round}.psg-plunger{fill:#91cbe8;stroke:#0a6fa8;stroke-width:2.5px}.psg-plunger--ghost{fill:#d8edf8;opacity:.72;stroke-dasharray:5 4}.psg-reference{fill:#fff;stroke:#0a6fa8;stroke-width:2px}.psg-contact{stroke:#2f86b4;stroke-width:3px;stroke-dasharray:6 4}.psg-measure{stroke:#0a6fa8;stroke-width:2.5px}.psg-measure--gold{stroke:#2f86b4}.psg-leader{stroke:#9babb2;stroke-width:1.3px}.psg-flow{fill:none;stroke:#2f86b4;stroke-width:2px}.psg-condition{fill:#eef3f6;stroke:#b7c7d1}.psg-condition-text{fill:#365f76;font-size:11px;font-weight:700}.psg-ok{fill:#eaf5fb;stroke:#b8d8e8}.psg-ok-text{fill:#17678e;font-size:11px;font-weight:700}.psg-segment{stroke-width:6px}.psg-segment--upper{stroke:#7796a8}.psg-segment--stroke{stroke:#0a6fa8}.psg-segment--clearance{stroke:#83b9d3}.psg-formula-label{fill:#294651;font-size:13px;font-weight:800}.psg-part-card{fill:#fbfcfd;stroke:#d5dfe3;stroke-width:1.5px}.psg-part-card--new{fill:#f0f7fb;stroke:#bfd8e5}.psg-coupling{fill:#dce6e9;stroke:#506d78;stroke-width:2px}.psg-old-rod{stroke:#66899d;stroke-width:5px}.psg-new-rod{stroke:#0a6fa8;stroke-width:5px}.psg-swap{fill:none;stroke:#738892;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.psg-direction-card{fill:#edf6fb;stroke:#bfd8e5;stroke-width:1.5px}.psg-move{fill:none;stroke:#0a6fa8;stroke-width:2.5px}.psg-direction{fill:#17678e;font-size:14px;font-weight:800}.psg-adjust-card{fill:#f1f6f9;stroke:#b9c9d3;stroke-width:1.5px}.psg-adjust-line{stroke:#2f86b4;stroke-width:3px}.psg-result-bg{fill:#102b43;stroke:#102b43}.psg-result-kicker{fill:#8cc9ea;letter-spacing:1.2px;font-size:10px;font-weight:800}.psg-result-title{fill:#fff;font-size:19px;font-weight:750}.psg-result-row{fill:#183d57;stroke:#446579}.psg-result-row--accent{fill:#edf6fb;stroke:#91c7e1}.psg-result-label{fill:#bdd4e2;font-size:11px;font-weight:700}.psg-result-label--dark{fill:#466577}.psg-result-value{fill:#f7fbfb;font-size:14px;font-weight:750}.psg-result-number{fill:#0a6fa8;font-size:30px;font-weight:800}.psg-result-meta{fill:#466577;font-size:11px}.psg-result-arrow{fill:none;stroke:#8cc9ea;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.psg-result-divider{stroke:#45636a}.psg-result-dot{fill:#83c7eb}.psg-result-dot--gold{fill:#8fa6b5}.psg-result-note{fill:#d0e0e9;font-size:12px}@media (max-width:380px){.pump-spacing-guide__header{padding:15px 14px 12px}.pump-spacing-guide__notes{padding:14px}.pump-spacing-guide__figure figcaption{padding:10px 14px}.pump-spacing-guide__equation{flex-direction:column;align-items:flex-start;gap:3px}}@media (prefers-reduced-motion:reduce){.pump-spacing-guide *{scroll-behavior:auto!important}}.spacing-workbench{min-width:0;color:var(--ink,#102f45);grid-column:1/-1}.spacing-workbench p{color:var(--muted,#536879);font-size:.9rem;line-height:1.65}.spacing-workbench__heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.spacing-workbench h3{margin:1rem 0 .5rem;font-size:1.1rem}.spacing-workbench__heading>span{white-space:nowrap;font-size:.8rem}.spacing-piece{background:#f8faf8;border:1px solid #d0dad5;border-radius:12px;min-width:0;margin:20px 0;padding:18px}.spacing-piece legend{padding:0 6px;font-size:.8rem;font-weight:700}.spacing-piece__fields{grid-template-columns:1fr 1fr;gap:14px;display:grid}.spacing-piece__fields label{min-width:0;font-size:.82rem;font-weight:600}.spacing-piece input:not([type=checkbox]),.spacing-piece select,.spacing-piece textarea,.spacing-workbench>div>textarea{box-sizing:border-box;color:#102538;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #aabcc8;border-radius:8px;width:100%;min-height:46px;margin-top:6px;padding:10px 12px;font-size:16px;display:block}.spacing-piece__source{grid-column:1/-1}.spacing-piece .calc-check{margin:16px 0}.spacing-notice{overflow-wrap:anywhere;background:#eef6fb;border-left:3px solid #2f86b4;border-radius:0 8px 8px 0;padding:12px 16px}.spacing-notice li{margin:6px 0;font-size:.85rem;line-height:1.6}.spacing-notice ul{padding-left:18px}.spacing-combinations{margin-top:28px}.spacing-candidates{border:0;min-width:0;padding:0}.spacing-candidates legend{margin-bottom:12px;font-size:.8rem;font-weight:700}.spacing-candidate{cursor:pointer;overflow-wrap:anywhere;background:#fff;border:1px solid #aabcc8;border-radius:10px;gap:12px;margin:10px 0;padding:16px;font-size:.88rem;line-height:1.5;display:flex}.spacing-candidate:has(input:checked){background:#eef7fc;border:2px solid #0a6fa8;padding:15px}.spacing-candidate:has(input:focus-visible){outline-offset:3px;outline:3px solid #2f86b4}.spacing-candidate input{accent-color:#0a6fa8;flex:0 0 20px;width:20px;height:20px;margin-top:2px}.spacing-candidate__status,.spacing-candidate__numbers{margin-top:5px;display:block}.spacing-candidate__status{color:#0a6fa8;font-size:.78rem;font-weight:600}.spacing-candidate__numbers{font-variant-numeric:tabular-nums}.spacing-candidate--excluded{cursor:default;background:#f6f7f5;border-color:#e1e4df}.spacing-candidate--excluded .spacing-candidate__status{color:#805618}.spacing-draft{background:#f7fafc;border:1px solid #cbd8e1;border-radius:10px;margin:16px 0;padding:12px 16px;font-size:.82rem;line-height:1.5}.spacing-draft button{min-height:44px;margin:6px}.spacing-export-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.spacing-export-actions>a,.spacing-export-actions button{color:#174f70;background:#fff;border:1px solid #afc1cd;border-radius:7px;justify-content:center;align-items:center;min-height:44px;padding:8px 12px;font-size:.82rem;font-weight:750;display:inline-flex}.spacing-export-actions>a:hover,.spacing-export-actions button:hover{background:#edf6fb;border-color:#78a9c4}@media (max-width:520px){.spacing-piece{padding:12px}.spacing-piece__fields{gap:12px}.spacing-piece__fields label:nth-child(5),.spacing-piece__fields label:nth-child(6){grid-column:1/-1}.spacing-candidate{padding:12px}.spacing-candidate:has(input:checked){padding:11px}}
