.pg-app{--pg-ink:#152e40;--pg-muted:#60717e;--pg-teal:#00796f;--pg-line:#dce4e7;--pg-dark:#0c2333;color:var(--pg-ink);font:15px/1.6 system-ui,-apple-system,Segoe UI,sans-serif}.pg-app *{box-sizing:border-box}.pg-app h1{font:normal clamp(31px,4vw,49px)/1.12 Georgia,serif;letter-spacing:-.035em;margin:0 0 14px}.pg-app h2{font:normal 26px/1.2 Georgia,serif;margin:0}.pg-app h3{font-size:16px;line-height:1.45;margin:0 0 10px}.pg-app p{color:var(--pg-muted);margin:0 0 14px}.pg-head{display:flex;gap:25px;justify-content:space-between;align-items:center;margin-bottom:26px}.pg-head p:not(.pg-eyebrow){max-width:720px}.pg-app .pg-eyebrow{font:700 11px/1.5 system-ui;letter-spacing:.15em;color:var(--pg-teal);margin:0 0 9px}.pg-tag{background:#e0f3ed;color:#176553;padding:7px 13px;border-radius:30px;white-space:nowrap;font-size:12px}.pg-app button,.pg-app select,.pg-app input{font:inherit}.pg-app button{border:1px solid var(--pg-line);border-radius:7px;background:white;color:var(--pg-ink);padding:8px 12px;cursor:pointer;line-height:1.4}.pg-app button:hover{border-color:var(--pg-teal);background:#f1faf7}.pg-app button:disabled{opacity:.45;cursor:default}.pg-app button:focus-visible,.pg-app select:focus-visible,.pg-app input:focus-visible,.pg-app summary:focus-visible,.pg-model:focus-visible{outline:3px solid #f5b65f;outline-offset:3px}.pg-app button.pg-primary{background:var(--pg-teal);border-color:var(--pg-teal);color:white}.pg-app select{display:block;width:100%;min-width:0;border:1px solid var(--pg-line);border-radius:7px;padding:10px;color:var(--pg-ink);background:white}.pg-workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}.pg-flowpanel,.pg-examplepanel,.pg-gallery,.pg-reference,.pg-sources,.pg-overview{background:#fff;border:1px solid var(--pg-line);border-radius:16px;padding:24px;min-width:0}.pg-panelhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.pg-panelhead>div:has(button){display:flex;gap:6px}.pg-small{font-size:13px}.pg-groupbadge{background:#e0f3ed;border-radius:30px;color:#176553;padding:5px 14px;font-size:20px}.pg-field{display:block;font-weight:600;font-size:13px;margin-bottom:12px}.pg-field select{margin-top:5px;font-weight:400;font-size:14px}.pg-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}.pg-actions button{font-size:13px}.pg-stage{background:radial-gradient(circle at 45% 40%,#173e51,#0c2333);border-radius:12px;overflow:hidden}.pg-model{display:block;width:100%;height:auto;max-height:370px;touch-action:none;cursor:grab}.pg-model:active{cursor:grabbing}.pg-stagehint{padding:0 16px 12px;color:#afc7d0;font-size:11px;text-align:center}.pg-viewcontrols{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:10px 0}.pg-viewcontrols button,.pg-viewcontrols label{font-size:12px}.pg-viewcontrols label{margin-left:auto}.pg-viewcontrols input{accent-color:var(--pg-teal)}.pg-modelcaption{font-size:12px;margin-bottom:15px!important;min-height:66px}.pg-modelcaption strong{color:var(--pg-ink)}.pg-modelcaption a,.pg-sources a{color:var(--pg-teal)}.pg-opresult{font-size:12px;color:var(--pg-teal)}.pg-opdetail{min-height:40px}.pg-facts{border-top:1px solid var(--pg-line);padding-top:15px}.pg-facts p{font-size:13px}.pg-metrics{display:flex;gap:40px;margin-bottom:14px}.pg-metrics strong{display:block;font:normal 29px Georgia}.pg-metrics span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--pg-muted)}.pg-caveat{border-left:3px solid #e7b166;padding-left:10px}.pg-flow{padding:5px 0}.pg-question{border:2px solid var(--pg-teal);border-radius:15px;background:#eff9f6;padding:22px;text-align:center;position:relative}.pg-question:before{content:'';display:block;width:13px;height:13px;transform:rotate(45deg);background:var(--pg-teal);margin:0 auto 15px}.pg-question h3{font-size:19px}.pg-question p{font-size:13px;margin:0}.pg-branches{display:grid;grid-template-columns:repeat(var(--pg-branches),minmax(0,1fr));gap:10px;position:relative;padding-top:13px}.pg-branches:before{content:'';position:absolute;top:0;left:50%;height:13px;border-left:2px solid #92c6b8}.pg-branch{position:relative;text-align:center}.pg-branch:before{content:'';position:absolute;top:0;width:calc(100% + 10px);left:-5px;border-top:2px solid #92c6b8}.pg-branch:first-child:before{left:50%;width:calc(50% + 5px)}.pg-branch:last-child:before{left:-5px;width:calc(50% + 5px)}.pg-branch>span{display:block;color:var(--pg-teal);font-size:23px;line-height:30px}.pg-branch button{width:100%;min-height:96px;border-color:#b6d7cd;padding:13px 7px}.pg-branch button strong{display:block;color:var(--pg-teal);font-size:16px}.pg-branch button small{display:block;font-size:11px;line-height:1.4;margin-top:7px}.pg-past{display:flex;align-items:center;gap:10px;background:#f5f8f9;border:1px solid var(--pg-line);border-radius:9px;padding:6px 10px}.pg-past button{border:0;background:transparent;text-align:left;font-size:12px;padding:7px 0;flex:1}.pg-stepnumber{display:inline-grid;place-items:center;font-size:10px;width:21px;height:21px;border-radius:50%;background:#dcefe8;color:#176553;margin-right:9px}.pg-answer{font-size:11px;font-weight:700;color:var(--pg-teal);white-space:nowrap}.pg-connector{text-align:center;line-height:27px;color:var(--pg-teal);font-size:21px}.pg-result{text-align:center;padding:23px;border-radius:13px;background:#0c2333;color:white}.pg-result>.pg-eyebrow{display:block;color:#8be6d1}.pg-result>strong{display:block;font:normal 49px/1.3 Georgia;margin:8px 0 12px}.pg-result p{color:#bad1da;font-size:13px}.pg-result button{background:#17384c;color:white;border-color:#466171;font-size:12px}.pg-status{font-size:12px;margin:15px 0 0!important;color:var(--pg-teal)!important}.pg-gallery{margin-top:22px}.pg-ncontrol{font-size:12px;white-space:nowrap}.pg-ncontrol input{margin-left:8px;width:64px;padding:6px;border:1px solid var(--pg-line);border-radius:7px;background:white;color:var(--pg-ink)}.pg-disabled{opacity:.5}.pg-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:9px}.pg-groups button{text-align:left;padding:13px 15px}.pg-groups strong{display:block;font:normal 24px Georgia}.pg-groups span{display:block;font-size:10px;color:var(--pg-muted);margin-top:6px}.pg-groups button[aria-pressed=true]{background:#e4f5ef;border:2px solid var(--pg-teal);padding:12px 14px}.pg-reference{margin-top:22px}.pg-reference summary{font-weight:600;cursor:pointer}.pg-referencegrid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:22px}.pg-referencegrid p{font-size:13px}.pg-fulltree{font-size:11px}.pg-fulltree ul{border-left:1px solid #a4cabc;padding-left:14px;list-style:none;margin:5px 0 12px}.pg-fulltree li{margin:5px 0}.pg-fulltree button{font-size:11px;padding:3px 8px;background:#edf8f3}.pg-treequestion{font-weight:600;display:inline}.pg-treearrow{color:var(--pg-teal)}.pg-sources{margin-top:22px;background:#f1f5f6}.pg-sources p{font-size:12px;margin:0}.pg-overview{margin-bottom:22px}.pg-mapscroll{overflow:auto;max-height:480px;border:1px solid var(--pg-line);border-radius:10px;background:linear-gradient(#fbfdfc,#f1f7f5);scrollbar-color:#9bbfb6 #edf4f1}.pg-map{display:block;max-width:none}.pg-map [role=button]{cursor:pointer;outline:none}.pg-map [role=button]:focus rect,.pg-map [role=button]:hover rect{stroke:#f5b65f;stroke-width:3}.pg-map-controls{display:flex;align-items:center;gap:8px;font-size:12px}.pg-map-controls select{width:auto;padding:5px}.pg-map-controls button{font-size:12px}.pg-map-legend{display:flex;gap:20px;font-size:11px;color:var(--pg-muted);margin-top:8px}.pg-map-legend span:first-child{color:var(--pg-teal)}
@media(max-width:820px){.pg-workbench{grid-template-columns:1fr}.pg-head{display:block}.pg-tag{display:inline-block;margin-top:5px}.pg-flowpanel,.pg-examplepanel,.pg-gallery,.pg-reference,.pg-sources,.pg-overview{padding:18px}.pg-referencegrid{grid-template-columns:1fr}.pg-gallery .pg-panelhead{align-items:start;flex-direction:column}.pg-model{max-height:360px}.pg-mapscroll{max-height:360px}.pg-overview .pg-panelhead{flex-wrap:wrap}}
@media(max-width:400px){.pg-panelhead h2{font-size:22px}.pg-panelhead{gap:7px}.pg-panelhead button{padding:7px 8px;font-size:12px}.pg-question{padding:17px}.pg-question h3{font-size:17px}.pg-groups{grid-template-columns:repeat(3,minmax(0,1fr))}.pg-groups button{padding:10px}.pg-groups button[aria-pressed=true]{padding:9px}.pg-head h1{font-size:33px}}
@media(prefers-reduced-motion:reduce){.pg-app *{scroll-behavior:auto}}

/* One shared molecular surface; tool switches never create a second explorer. */
.pg-app [hidden]{display:none!important}.sx-tools{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.sx-tools button,.sx-projection-toggle{font:inherit;padding:10px 15px;border:1px solid #a9c6bf;border-radius:8px;background:#fff;color:#173c40;cursor:pointer}.sx-tools [aria-pressed=true]{background:#00796f;color:#fff;border-color:#00796f}.sx-projection-toggle{margin:12px 0}.sx-drawing{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.sx-drawing.sx-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sx-classify-workbench{display:block!important}.pg-app>.pg-examplepanel{margin-bottom:22px}.sx-projection{min-width:0}.sx-drawing .pg-stage{min-width:0}.sx-tools button:focus-visible,.sx-projection-toggle:focus-visible{outline:3px solid #d99b32;outline-offset:3px}@media(max-width:850px){.sx-drawing.sx-split{grid-template-columns:1fr}}

/* V7: chart and questions first; exactly one shared molecular explorer below. */
.sx-classification{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,1fr);gap:22px;align-items:start;margin:0 0 22px}.sx-classification>.pg-overview{margin:0}.sx-classification>.pg-flowpanel{min-width:0}.sx-classification .pg-mapscroll{max-height:620px}.sx-classification .pg-panelhead{flex-wrap:wrap}.sx-classification .pg-map-legend{gap:9px;flex-wrap:wrap}.sx-jump{display:inline-block;margin-top:16px;color:var(--pg-teal);font-size:14px}.pg-app .pg-operations{display:flex;flex-wrap:wrap;gap:9px;margin:10px 0 14px}.pg-app .pg-operations button{font-size:14px;max-width:100%;white-space:normal;text-align:left}.pg-app .pg-operations button[aria-pressed=true]{background:#00796f;border-color:#00796f;color:#fff}.pg-app [data-sx-region]{scroll-margin-top:18px}.pg-app [data-sx-region]:focus{outline:3px solid #d99b32;outline-offset:4px}@media(max-width:900px){.sx-classification{grid-template-columns:minmax(0,1fr)}.sx-classification .pg-mapscroll{max-height:440px}}
.sx-look-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:14px 0}.sx-look-controls label{display:grid;gap:4px;font-size:14px;min-width:min(250px,100%)}.sx-look-controls button{font-size:14px}.sx-look-controls select{max-width:100%}.sx-drawing>.sx-projection{display:block}.sx-drawing .sp-panel{height:100%}
/* Compact shared-camera laboratory; classifier stays above in page mode. */
.sx-top-controls{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:8px 16px;align-items:end;margin-bottom:12px}.sx-top-controls .pg-field,.sx-top-controls .pg-actions,.sx-top-controls .pg-viewcontrols,.sx-top-controls .sx-look-controls{margin:0}.sx-top-controls .sx-look-controls,.sx-top-controls .pg-viewcontrols{grid-column:1/-1}.sx-top-controls .pg-field{font-size:14px}.sx-top-controls select{padding:6px 9px}.sx-look-controls{align-items:center}.sx-look-controls label{min-width:180px}.sx-look-controls [data-look-status]:empty{display:none}.sx-look-controls .sx-tolerance{display:grid;grid-template-columns:auto auto;gap:0 8px;min-width:210px;margin-left:auto}.sx-tolerance input{grid-column:1/-1;width:100%;accent-color:var(--pg-teal)}.sx-tolerance output{text-align:right;font-variant-numeric:tabular-nums}
.sx-workspace{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:16px;align-items:start}.sx-workspace .sx-drawing{gap:12px;align-items:start}.sx-workspace .pg-stage,.sx-workspace .sp-panel{min-width:0}.sx-workspace .pg-model{height:clamp(235px,33vh,350px);max-height:none;width:100%}.sx-workspace .sp-panel{padding:0;border:0;background:transparent}.sx-workspace .sp-panel h3{font:600 14px system-ui;margin:0 0 6px}.sx-workspace .sp-panel svg{height:clamp(235px,33vh,350px);width:100%;margin:0}.sx-workspace [data-projection-art]{border-radius:12px}.sx-workspace .sp-panel p{font-size:12px;line-height:1.4;margin:6px 0 0}.sx-workspace .pg-stagehint{font-size:12px;padding:6px 8px}.sx-workspace .sp-explanation{font-size:12px;margin-top:6px}
.sx-operation-panel{background:#f0f7f5;border:1px solid var(--pg-line);border-radius:12px;padding:12px}.sx-operation-panel h3{font-size:16px}.sx-operation-panel>.pg-small{font-size:12px;margin:0 0 7px}.sx-operation-panel .pg-operations{gap:6px;margin:8px 0}.sx-operation-panel .pg-operations button{font-size:14px;padding:6px 9px}.sx-operation-panel .pg-actions{margin:6px 0}.sx-operation-panel .pg-opdetail{min-height:0;margin:0}.sx-model-notes{margin-top:10px;font-size:14px}.sx-model-notes summary{cursor:pointer}.sx-model-notes .pg-modelcaption{min-height:0;margin-top:10px}.pg-examplepanel>.pg-panelhead{gap:12px;flex-wrap:wrap}.pg-examplepanel>.pg-panelhead h2{font-size:24px}.pg-examplepanel>.pg-panelhead button{font-size:14px;margin-left:auto}
@media(min-width:1000px){.sx-focused>.pg-examplepanel{position:fixed;inset:10px;z-index:50;margin:0;padding:16px 20px;overflow:auto;border-radius:14px;box-shadow:0 0 0 20px #f5f8f9}.sx-focused .pg-examplepanel>.pg-panelhead{margin-bottom:10px}.sx-focused .sx-workspace .pg-model,.sx-focused .sx-workspace .sp-panel svg{height:clamp(210px,calc(100dvh - 415px),440px)}body:has(.sx-focused){overflow:hidden}}
@media(max-width:1100px){.sx-workspace{grid-template-columns:minmax(0,1fr) 220px}.sx-workspace .sx-drawing.sx-split{grid-template-columns:repeat(2,minmax(0,1fr))}.sx-look-controls .sx-tolerance{margin-left:0}}
@media(max-width:850px){.sx-workspace{grid-template-columns:1fr}.sx-workspace .sx-drawing.sx-split{grid-template-columns:repeat(2,minmax(0,1fr))}.sx-operation-panel .pg-operations{display:flex}.sx-top-controls{grid-template-columns:1fr}.sx-top-controls .pg-actions{grid-column:1/-1}.sx-workspace .pg-model,.sx-workspace .sp-panel svg{height:260px}}
@media(max-width:540px){.sx-workspace .sx-drawing.sx-split{grid-template-columns:1fr}.sx-top-controls .sx-look-controls{align-items:stretch;display:grid;grid-template-columns:1fr}.sx-look-controls .sx-tolerance{min-width:0}.sx-workspace .pg-model,.sx-workspace .sp-panel svg{height:300px}.pg-examplepanel>.pg-panelhead button{margin-left:0}}

.sx-workspace .sp-panel h3{display:none}

/* Complete groups without an unbounded wall of operation buttons. */
.sx-operation-panel .pg-operations>label{display:grid;gap:3px;width:100%;font-size:12px}.sx-operation-panel .pg-operations select,.sx-operation-panel .pg-operations input{width:100%;min-width:0;padding:6px;border:1px solid #a9c6bf;border-radius:6px;background:white;color:#173c40}.sx-operation-count,.sx-operation-membercount{font-size:12px;line-height:1.35;margin:0!important;width:100%}.sx-operation-step{display:flex;gap:6px;width:100%}.sx-operation-step button:nth-child(2){flex:1}.sx-operation-details{font-size:12px;margin-top:8px}.sx-operation-details summary{cursor:pointer}.sx-operation-details .pg-opdetail{margin-top:6px;overflow-wrap:anywhere}

/* Preserve the zoomed chart aspect inside module-host: its generic SVG max-width
   otherwise shrinks only width, leaving a tall viewport and vertical letterboxing. */
.module-host .sx-classification .pg-map{max-width:none;max-height:none;min-height:0;flex:none;margin:0}
.sx-classification .pg-mapscroll{min-height:0;height:auto;padding:0;align-self:start}
.sx-classification>.pg-overview{align-self:start;padding-block:16px}
.sx-classification .pg-overview>.pg-panelhead{margin-bottom:8px}
.sx-classification .pg-overview>.pg-small{margin-bottom:8px}
