.visualPlanRow{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.visualPlanRow label{font:11px var(--sans);display:grid;justify-items:center;gap:5px}.visualPlanRow input{accent-color:#edc59f;width:18px;height:18px}.visualCompareStart{width:100%;margin-top:12px;text-align:center!important}.visualCompareStart:disabled{opacity:.45}.planCompare{width:min(1040px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);box-sizing:border-box;overflow:auto;padding:22px;border:1px solid #c7a1bb55;border-radius:26px;background:radial-gradient(ellipse at 75% 15%,#584150,#25202e 70%);color:#ead5e2;box-shadow:0 30px 100px #0009}.planCompare::backdrop{background:#130f1cdd;backdrop-filter:blur(8px)}.planCompare>header{display:flex;justify-content:space-between;align-items:center}.planCompare h2{font:30px var(--serif);margin:4px 0 14px}.planCompare small{font:10px/1.5 var(--sans);color:#c4aabe}.planCompare button{cursor:pointer;background:#ffffff09;color:#dec4d9;border:1px solid #c5a2bd33;border-radius:18px;padding:8px 13px;font:11px var(--sans)}.planCompare button:focus-visible{outline:2px solid #f1c99d;outline-offset:2px}.planCompare nav{display:flex;gap:7px}.planCompare [aria-pressed=true]{background:#edc59f;color:#332437}.planCompareSummary{font:11px/1.5 var(--sans);color:#cbb3c6}.planColumns{display:grid;grid-template-columns:1fr 1fr;gap:14px;min-width:0}.planColumn{min-width:0;border:1px solid #c4a1bc33;border-radius:22px;padding:16px;background:#ffffff04}.planColumn header>span{font:9px var(--mono);letter-spacing:.12em;color:#edc59f}.planColumn h3{font:24px var(--serif);margin:5px 0}.planStructures{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:14px 0}.planStructures figure{margin:0;min-width:0;text-align:center}.planStructures figcaption{font:8px var(--sans);letter-spacing:.1em;color:#bfa4bb}.planDrawing{height:145px}.planDrawing svg{width:100%;height:100%;pointer-events:none}.planChanged .mcAtomBall{stroke:#efc49e;stroke-width:3}.planSelected{filter:drop-shadow(0 0 4px #f8dfae)}.planStepContent{min-height:115px;border-top:1px solid #c8a8bd22;padding-top:10px}.planStepContent h4{font:16px var(--serif);color:#f1cfac;margin:0 0 7px}.planStepContent p{font:12px/1.5 var(--sans);margin:6px 0}.planMetric{font:18px var(--serif);color:#efd1b4}.planMetric span{display:block;font:10px var(--sans);color:#bea3ba;margin-top:5px}.planTestTag{color:#e9c29e}.planColumn details{font:11px/1.5 var(--sans);margin:10px 0;color:#bea4bd}.planColumn summary{cursor:pointer}.planReopen{width:100%}.planCompare footer{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:14px;font:10px/1.5 var(--sans);color:#c1a4bc}.planCompareClose{font-size:20px!important}.planCompare .mcAtom.planChanged:after{content:none}
@media(max-width:650px){.planCompare{padding:12px;width:calc(100vw - 16px);max-height:calc(100vh - 16px);border-radius:18px}.planCompare h2{font-size:23px}.planCompare nav{gap:4px}.planCompare nav button{font-size:9px;padding:7px}.planColumns{gap:7px}.planColumn{padding:9px;border-radius:14px}.planColumn h3{font-size:18px}.planStructures{grid-template-columns:1fr}.planDrawing{height:110px}.planStructures figure small{font-size:9px}.planStepContent p{font-size:11px}.planCompare footer{flex-wrap:wrap}.planColumn header small{font-size:9px}}
@media(max-height:650px) and (min-width:651px){.planCompare{padding:13px}.planDrawing{height:100px}.planStructures{margin:7px 0}.planCompare h2{font-size:24px;margin-bottom:8px}.planColumn{padding:10px}.planStepContent{min-height:95px}}
.planCompare .planChanged .mcHalo{opacity:1;fill:none;stroke:#dca775;stroke-width:2}.planCompare .planSelected .mcHalo{opacity:1;fill:none;stroke:#fff0c5;stroke-width:3}.planCompare .mcElement{display:block;fill:#f9edf4;font-size:9px}.planCompare{padding:16px}.planDrawing{height:120px}.planColumn{padding:12px}.planCompare h2{font-size:26px}.planCompareSummary{margin:9px 0}.planStructures{margin:10px 0}
.planTestOverlap[hidden]{display:none}.testOverlapGroups{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:5px}.testOverlapGroup{display:flex;flex-direction:column;gap:5px;padding:8px 10px;border:1px solid #d1aac133;border-radius:13px;background:#ffffff05}.testOverlapGroup.shared{border-color:#95c3ba55}.testOverlapGroup>span{font:11px var(--sans);color:#b49bad}.testOverlapGroup small{color:#e3c5dc}.planCompare .testOverlapGroup button{padding:5px 8px;text-align:left;font-size:11px}.planTestOverlap>p{font:10px/1.4 var(--sans);color:#bda4b9;margin:5px 0 10px}.testMembership{display:block;font:9px var(--sans);color:#f0c59e;margin-bottom:6px}.testMembership.shared{color:#a7d9cd}.testNotIncluded{opacity:.75}.showTestOverlap .planDrawing{height:95px}.showTestOverlap .planStructures{margin:8px 0}.showTestOverlap .planStepContent{min-height:100px}.showTestOverlap .planStepContent p{font-size:11px}.showTestOverlap .planColumn h3{font-size:21px}.showTestOverlap .planColumn{padding:10px}.showTestOverlap .planCompareSummary{font-size:10px}.planCompare .testShowOwn{font-size:10px;padding:6px}
@media(max-width:650px){.testOverlapGroups{gap:4px}.testOverlapGroup{padding:6px}.planCompare .testOverlapGroup button{font-size:9px;padding:5px}.testOverlapGroup small{font-size:9px}.showTestOverlap .planDrawing{height:85px}.showTestOverlap .planColumn{padding:7px}.showTestOverlap .planColumn h3{font-size:17px}.showTestOverlap .planStepContent p{font-size:10px}.planTestOverlap>p{font-size:9px}}
@media(max-height:600px) and (min-width:651px){.planCompare.showTestOverlap{padding:10px}.showTestOverlap>header h2{font-size:19px;margin:2px 0 5px}.showTestOverlap>header small{font-size:7px}.showTestOverlap nav button{font-size:9px;padding:4px 9px}.showTestOverlap .planCompareSummary{font-size:8px;margin:4px 0}.showTestOverlap .testOverlapGroup{padding:4px 7px;gap:2px}.showTestOverlap .testOverlapGroup small,.showTestOverlap .testOverlapGroup>span{font-size:8px}.showTestOverlap .testOverlapGroup button{font-size:9px;padding:3px 6px}.showTestOverlap .planTestOverlap>p{font-size:8px;margin:3px 0 5px}.showTestOverlap .planColumn{padding:7px}.showTestOverlap .planColumn h3{font-size:16px;margin:2px 0}.showTestOverlap .planColumn header small,.showTestOverlap .planColumn header>span{font-size:8px}.showTestOverlap .planDrawing{height:60px}.showTestOverlap .planStructures{margin:4px 0}.showTestOverlap .planStructures small{font-size:8px}.showTestOverlap .planStructures figcaption{font-size:7px}.showTestOverlap .planStepContent{padding-top:5px;min-height:72px}.showTestOverlap .planStepContent h4{font-size:13px;margin-bottom:3px}.showTestOverlap .planStepContent p{font-size:9px;line-height:1.3;margin:3px 0}.showTestOverlap .planStepContent small,.showTestOverlap .testMembership{font-size:7px;margin-bottom:3px}.showTestOverlap .planColumn details{font-size:8px;margin:5px 0}.showTestOverlap .planReopen{font-size:8px;padding:4px}.showTestOverlap footer{font-size:8px;margin-top:5px}.showTestOverlap footer button{font-size:8px;padding:4px}}
.planCompare .testAdd{background:#edc59f;color:#332437;margin:3px 0 7px;display:block}.planCompare .testNotIncluded{opacity:1}.testAddStatus:empty{display:none}.planTestOverlap .testAddStatus{color:#bce4d4;font-size:10px}.planCompare .testShowOwn{display:block}
.planCompare .testDefine{background:#edc59f;color:#342436;margin:7px 0}.protocolEditor{max-height:230px;overflow:auto;padding:4px 7px 4px 0}.protocolEditor label{display:block;font:10px var(--sans);color:#e4c9dc;margin:7px 0}.protocolEditor textarea{display:block;box-sizing:border-box;width:100%;resize:vertical;border:1px solid #c6a0b955;background:#211c2a;color:#f5e2ee;border-radius:8px;padding:7px;font:12px/1.4 var(--sans);margin-top:4px}.protocolEditor textarea:focus{outline:2px solid #edc59f}.protocolEditor>div{display:flex;flex-wrap:wrap;gap:5px}.protocolError{color:#f3b8b8!important}.planCompare.editingProtocol>.planTestOverlap,.planCompare.editingProtocol>nav,.planCompare.editingProtocol>.planCompareSummary,.planCompare.editingProtocol>footer{display:none}.editingProtocol .planColumn>details,.editingProtocol .planReopen{display:none}.editingProtocol button:disabled{opacity:.4}.editingProtocol .planStepContent{min-height:0}.editingProtocol .planDrawing{height:85px}
@media(max-height:600px){.protocolEditor{max-height:155px}.editingProtocol .planDrawing{height:55px}.editingProtocol>header h2{font-size:19px;margin:2px 0}.editingProtocol .planColumn h3{font-size:16px}.editingProtocol .planStructures{margin:4px 0}}
.coverageMeter{display:flex;gap:4px;margin:8px 0}.coverageMeter i{height:5px;flex:1;background:#9a7e923d;border-radius:4px}.coverageMeter .filled{background:#abd8c7}.coverageList{max-height:170px;overflow:auto;padding-right:5px}.coverageList h5{font:9px var(--sans);text-transform:uppercase;letter-spacing:.08em;margin:8px 0;color:#c6acbf}.planColumn .coverageField{margin:3px 0;border:1px solid #ba99ae25;border-radius:7px;padding:5px 7px}.coverageField summary{display:flex;justify-content:space-between;gap:4px;font:10px var(--sans)}.coverageField b{font:9px var(--sans);color:#dab291}.coverageField.defined b{color:#b2ddce}.coverageField p{overflow-wrap:anywhere}.showCoverage .coverageNote{font:9px/1.4 var(--sans);color:#bca6b9}.showCoverage .planDrawing{height:75px}.showCoverage .planColumn>details{margin:4px 0}.showCoverage nav{flex-wrap:wrap}.showCoverage .planColumn h4{font-size:15px}
@media(max-height:600px){.coverageList{max-height:110px}.showCoverage .planDrawing{height:50px}.coverageField summary{font-size:8px}.coverageList h5{font-size:8px;margin:5px 0}}
.showCoverage>header h2{font-size:22px;margin:2px 0 7px}.showCoverage>header small{font-size:8px}.showCoverage nav button{padding:5px 9px;font-size:10px}.showCoverage .testOverlapGroup{padding:5px 8px;gap:3px}.showCoverage .testOverlapGroup button{padding:4px 7px}.showCoverage .planCompareSummary{margin:5px 0}.showCoverage .planTestOverlap>p{margin:4px 0 6px;font-size:9px}.showCoverage .planColumn h3{font-size:18px;margin:3px 0}.showCoverage .planStructures{margin:5px 0}.showCoverage .planColumn{padding:8px}.showCoverage .planDrawing{height:60px}
/* One scrolling surface per dialog. Keep molecule pairs in view as details move. */
.scenePreview,.scenePreview *{scrollbar-width:thin;scrollbar-color:#a58b9d66 transparent}
.scenePreview ::-webkit-scrollbar{width:5px;height:5px}
.scenePreview ::-webkit-scrollbar-track,.scenePreview ::-webkit-scrollbar-corner{background:transparent}
.scenePreview ::-webkit-scrollbar-thumb{background:#a58b9d66;border-radius:20px}
.scenePreview ::-webkit-scrollbar-thumb:hover{background:#c8a7be99}
.scenePreview ::-webkit-scrollbar-button{display:none;width:0;height:0}
body.scenePreview:has(dialog[open]){overflow:hidden}
.planCompare{overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:auto}
.planCompare .coverageList,.planCompare .protocolEditor{max-height:none;overflow:visible;padding-right:0}
.planCompare .planStructures{position:sticky;top:0;z-index:3;background:linear-gradient(135deg,#413344,#302737);border-radius:12px;padding:7px 0;box-shadow:0 6px 12px #241d2c35}
.planCompare .protocolEditor textarea{scrollbar-width:thin;max-height:180px}
.planCompare .planColumn{overflow:visible}
.inlineFieldEditor{padding:7px 0}.inlineFieldEditor label{display:block;font:11px var(--sans);color:#ead5e2}.inlineFieldEditor textarea{display:block;box-sizing:border-box;width:100%;min-height:65px;resize:vertical;margin:6px 0;border:1px solid #b99bb755;border-radius:9px;padding:8px;background:#241e2d;color:#f4e1ed;font:12px/1.4 var(--sans)}.inlineFieldEditor textarea:focus{outline:2px solid #edc59f}.inlineFieldEditor>div{display:flex;gap:7px;margin-top:7px}.inlineFieldEditor button[type=submit]{background:#edc59f;color:#332437}.inlineFieldEditor [role=status]{color:#f2b3b3}.coverageField.missing summary:hover{color:#f5d0a7}
.nextFieldGuide{display:grid;gap:6px;margin:10px 0 3px;padding:10px;border:1px solid #a3c7b94d;border-radius:10px;background:#94b9aa0b}.nextFieldGuide>span{font:11px var(--sans);color:#bce2d2}.nextFieldGuide>small{font:10px/1.4 var(--sans)}.planCompare .nextFieldGuide button{justify-self:start;background:#edc59f;color:#332437;padding:7px 12px}.coverageField:has(.inlineFieldEditor){border-color:#edc59f80}
.connectedTag{display:inline-block;font:10px var(--sans);color:#b6dece;margin:5px 0 8px}.connectedRoute{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:8px 0}.connectedRoute span{font:9px var(--sans);padding:5px 7px;background:#b99ab71c;border-radius:12px}.connectedRoute i{font-size:10px;color:#a38ba0}.connectedMetrics{display:flex;gap:8px;padding:10px 0}.connectedMetrics>span{flex:1}.connectedMetrics small,.connectedMetrics b{display:block}.connectedMetrics b{font:15px var(--serif);color:#e6c4a6;margin-top:5px}.connectedLab h5{font:10px var(--sans);color:#d9bbc9;margin:13px 0 6px}.connectedObservation{display:grid;gap:4px;padding:10px 0;border-bottom:1px solid #c5a3ba22}.connectedObservation>b{font:19px var(--serif);color:#edcba9}.connectedObservation>span{font:11px var(--sans)}.connectedLab a{color:#b9dbd2}.connectedLab p{overflow-wrap:anywhere}.connectedNext{margin-top:12px;padding:10px;background:#b4c9b90a;border:1px solid #accab32b;border-radius:12px}
