/* Shared photograph geometry: markers use the complete, EXIF-oriented image. */
.pinout-reference,.pinout-editor{min-width:0;margin:1.5rem 0 2rem}
.pinout-reference>h2{margin-top:1.5rem}
.pinout-text,.pinout-set-notes dd{white-space:pre-line;overflow-wrap:anywhere}
.pinout-reference .pinout-view{margin:1rem 0;padding:.75rem;border:1px solid var(--line);background:#fafcfd;min-width:0}
.pinout-reference .pinout-view figcaption{margin:0 0 .65rem;padding:0;color:var(--ink)}
.pinout-image-scroll{width:100%;max-width:100%;overflow:auto;border:1px solid var(--line);background:#e9eef1;max-height:75vh;overscroll-behavior:contain}
.pinout-image-stage{position:relative;display:block;width:100%;min-width:100%;line-height:0;margin:0;padding:0}
.wiki-content .pinout-image-stage>.pinout-image,.pinout-image-stage>.pinout-image{display:block;width:100%;max-width:none;max-height:none;height:auto;margin:0;object-fit:initial;image-orientation:from-image}
.pinout-marker{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;min-width:1.65rem;min-height:1.65rem;padding:.1rem .2rem;border:2px solid #fff;border-radius:50%;background:#163a5be8;color:#fff;font:600 .73rem/1.1 "Segoe UI",sans-serif;box-shadow:0 0 0 1px #163a5b;z-index:1;cursor:pointer;touch-action:manipulation}
.pinout-marker:hover,.pinout-marker:focus-visible,.pinout-marker.is-selected{background:#ffed94;color:#203349;box-shadow:0 0 0 2px #927024;z-index:3}
.pinout-marker:focus-visible{outline:3px solid #137d8b;outline-offset:3px}
.pinout-reference.has-active-set .pinout-marker:not(.is-in-set):not(.is-selected){opacity:.45}
.pinout-reference .pinout-marker.is-in-set{background:#137d8b;box-shadow:0 0 0 2px #0b6977}
.pinout-reference .pinout-marker.is-in-set.is-selected{background:#ffed94;color:#203349}
.pinout-zoom,.pinout-reader-controls,.pinout-editor-controls,.pinout-coordinate-controls{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .8rem;margin:.6rem 0}
.pinout-zoom{font-size:.85rem}
.pinout-zoom input{width:10rem;min-width:5rem;accent-color:var(--teal)}
.pinout-zoom output{min-width:3rem;font-variant-numeric:tabular-nums}
.pinout-zoom a{margin-left:auto}
.pinout-reader-controls .field{margin:0;min-width:min(20rem,100%);max-width:100%}
.pinout-set{border:1px solid var(--line);border-radius:4px;margin:.6rem 0;padding:.65rem .8rem}
.pinout-set>summary{cursor:pointer;font-weight:600;color:var(--navy)}
.pinout-set-notes{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:.45rem .8rem;font-size:.9rem}
.pinout-set-notes:empty{display:none}
.pinout-set-notes dt{font-weight:600}.pinout-set-notes dd{margin:0}
.pinout-connector{border-top:1px solid var(--line);padding-top:.2rem;margin-top:1.5rem;min-width:0}
.pinout-index{min-width:540px}.pinout-index caption{text-align:left;font-weight:600;margin:.2rem 0 .5rem;color:var(--navy)}
.pinout-set-table{min-width:480px}
.pinout-index td,.pinout-index th,.pinout-set-table td,.pinout-set-table th{font-size:.88rem}
.pinout-index [data-pinout-row].is-in-set{background:#edf8f8}
.pinout-index [data-pinout-row].is-selected{background:#fff7d7;outline:2px solid #a28237;outline-offset:-2px}
.pinout-pin-select{border:1px solid #9fb6c5;border-radius:4px;background:#fff;color:var(--navy);font-weight:600;min-width:2.4rem;min-height:2.1rem;padding:.2rem .5rem}
.pinout-pin-select:hover,.pinout-pin-select[aria-pressed=true]{background:#fff0ad;border-color:#98702b}
.pinout-selection{padding:.5rem .65rem;background:var(--fog);border-left:3px solid var(--teal)}
.pinout-tooltip{position:fixed;z-index:1000;max-width:min(24rem,calc(100vw - 16px));padding:.65rem .8rem;border:1px solid #9ab8c9;border-radius:4px;box-shadow:0 3px 18px #142b3d33;background:#fff;color:var(--ink);font:.86rem/1.5 "Segoe UI",sans-serif;white-space:pre-line;overflow-wrap:anywhere;pointer-events:none}
.pinout-editor-section{border:1px solid var(--line);border-radius:4px;padding:.8rem;margin:.8rem 0;min-width:0}
.pinout-editor-section>summary{cursor:pointer;font-weight:600;color:var(--navy)}
.pinout-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:.3rem 1rem;margin-top:.7rem}
.pinout-fields .field{margin-bottom:.5rem}
.pinout-editor-table{min-width:920px;border-collapse:collapse;width:100%;font-size:.85rem}
.pinout-editor-table th,.pinout-editor-table td{padding:.4rem;border:1px solid var(--line);vertical-align:top;text-align:left}
.pinout-editor-table th{background:var(--fog)}
.pinout-editor-table input,.pinout-editor-table select,.pinout-editor-table textarea{width:100%;min-width:5rem;font:inherit;padding:.35rem;border:1px solid #aebfce;border-radius:3px}
.pinout-editor-table textarea{min-height:4rem;resize:vertical}
.pinout-editor-table tr.is-selected{background:#fff7d7}
.pinout-coordinate-controls input{max-width:7rem;padding:.35rem;border:1px solid #aebfce;border-radius:3px}
.pinout-editor-status{font-size:.86rem;color:var(--muted);margin:.5rem 0;white-space:pre-line}
.pinout-editor-status[data-error=true]{color:var(--danger);border-left:3px solid var(--danger);padding-left:.65rem}
@media(max-width:600px){.pinout-set-notes{grid-template-columns:1fr;gap:.15rem}.pinout-set-notes dd{margin-bottom:.6rem}.pinout-zoom a{flex-basis:100%;margin-left:0}.pinout-reference .pinout-view{padding:.45rem}.pinout-marker{min-width:1.5rem;min-height:1.5rem;font-size:.67rem}.pinout-editor-section{padding:.6rem}}
@media print{.pinout-reader-controls,.pinout-zoom,.pinout-selection,.pinout-tooltip{display:none!important}.pinout-set[hidden]{display:block!important}.pinout-set:not([open])>*:not(summary){display:block!important}.pinout-set-notes{display:block}.pinout-set-notes dt{margin-top:.5rem}.pinout-set-notes dd{margin-left:0}.pinout-image-scroll{overflow:visible;max-height:none}.pinout-image-stage{width:100%!important}.pinout-reference .pinout-view{break-inside:avoid}.pinout-index,.pinout-set-table{min-width:0}.pinout-reference.has-active-set .pinout-marker{opacity:1!important}.pinout-pin-select{border:0;padding:0;min-width:0;min-height:0;background:transparent!important}.pinout-index [data-pinout-row].is-selected{outline:0}}
