/* Scoped by loading only in the design lab. This is a schematic instrument,
   with lighting for legibility rather than implied molecular dynamics. */
:root{color-scheme:dark;--paper:#080f1b;--surface:#101d2c;--ink:#e1edf5;--muted:#a3b8cb;--faint:#7e97ad;--rule:#294053;--teal:#79e2d2;--teal2:#123638;--brass:#f3c483;--brass2:#332b20;--violet:#b5a3ff;--violet2:#23223b}
body{background:radial-gradient(ellipse at 20% 0,#172b40 0,transparent 60%),#080f1b}
.hero h1{font-family:var(--sans);font-weight:500;letter-spacing:-.04em}
.builderPreview{background:linear-gradient(140deg,#14283a,#0c1726 65%);border-color:#37546b;box-shadow:0 18px 65px #0004,inset 0 1px #b0e7ff16}
.builderStage{background:linear-gradient(155deg,#132131,#0d1927);border-color:#263e52}
.builderViewNav{background:transparent;position:static}
.builderViewNav button,.builderNavigation button,.builderControls button{border-radius:8px;background:#101e2d;color:#bad0e1;border-color:#2a4359;transition:background .18s,border-color .18s}
.builderViewNav button[aria-selected=true],.builderNavigation button[aria-selected=true]{background:#143a43;color:#a0f6e6;border-color:#4d9d9b;box-shadow:inset 0 1px #a5ffe126,0 0 20px #38c8bc10}
.builderNavigation{background:transparent}
.builderControls{background:#080f1b}
.builderControls button:hover,.canvasToolbar button:hover{border-color:#87dcd8}
.routePick .routeBtn.on,.envMedicines .medStart,.go{background:#79e2d2;color:#062b31;border-color:#79e2d2}
.builderEnvironment .journeyScene{filter:drop-shadow(0 6px 12px #0005)}
.builderPreview h3{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#9eb8ce}
.builderPreview .builderLearning{border-color:#294053!important}
.canvasToolbar{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:0 0 8px}
.canvasToolbar button,#closeInspector{font:500 11px var(--sans);padding:6px 8px;border:1px solid #345168;border-radius:6px;color:#b8cede;background:#0b1b2a;cursor:pointer}
.canvasToolbar button[aria-pressed=true]{background:#214455;color:#aaf9e8;border-color:#66b5b2}
.canvasToolbar button:disabled{opacity:.35;cursor:default}
.canvasToolbar button:focus-visible,#closeInspector:focus-visible{outline:2px solid #a1f7e4;outline-offset:2px}
.canvasZoom{display:flex;gap:3px;margin-left:auto}
#modeStructure .builderPreview .edDraw{height:100%;min-height:160px;margin:0;padding:0;border:1px solid #355570;border-radius:12px;display:block;overflow:auto}
#modeStructure .builderPreview .edDraw.molecularScene{background:radial-gradient(ellipse at 46% 45%,#1a374b 0,#0a1829 58%,#07111e 100%)}
.canvasViewport{min-width:100%;min-height:100%;display:flex;align-items:center;justify-content:center;padding:12px;transform-origin:0 0}
#modeStructure .builderPreview .edDraw .mcStructure{max-width:none;max-height:none;width:100%;height:100%!important;overflow:visible}
.canvasStamp{position:absolute;left:12px;top:10px;pointer-events:none;color:#dbf5fc;font:500 12px var(--mono);text-shadow:0 1px 4px #000}
.canvasStamp span{display:block;margin-top:2px;font-size:8px;letter-spacing:.12em;color:#87a9c0}
.canvasLegend{font-size:11px;line-height:1.45;color:#97b3c7;margin:6px 0 0}
.mcBond{cursor:pointer}.mcBondHit{stroke:transparent;stroke-width:15;pointer-events:stroke}
.mcBondShadow{stroke:#020a14;stroke-width:6;stroke-linecap:round;pointer-events:none}
.mcBondRod{stroke:#90b7d0;stroke-width:3.2;stroke-linecap:round;pointer-events:none;transition:stroke .15s}
.mcBond:hover .mcBondRod,.mcBond.selected .mcBondRod,.mcBond:focus .mcBondRod{stroke:#c2fff4;filter:drop-shadow(0 0 3px #58f4d9)}
.mcAtom{cursor:pointer;outline:none}.mcSphere{stroke:#d0efff55;stroke-width:.65;filter:drop-shadow(0 3px 3px #0009)}
.mcElement{font:700 10px var(--sans);text-anchor:middle;dominant-baseline:central;fill:#06111c;pointer-events:none}
.mcHalo{fill:#72f2dc12;stroke:#79f4d500;stroke-width:1.4;transition:fill .18s,stroke .18s}
.mcAtom.lit .mcHalo,.mcAtom.chosen .mcHalo,.mcAtom:hover .mcHalo,.mcAtom:focus .mcHalo{fill:#69eacc35;stroke:#92ffe5;filter:drop-shadow(0 0 4px #4bd4c0)}
.mcAttachment{fill:transparent;stroke:#b4d6e999;stroke-width:1;stroke-dasharray:2 4}
.mcAtom.chosen .mcAttachment{stroke:#ffe0a0;stroke-width:2;stroke-dasharray:none}
.mcRing{fill:#b99afa18;stroke:#bba5ff80;stroke-width:1.3;stroke-dasharray:4 3;cursor:pointer}
.mcRing:hover,.mcRing:focus,.mcRing.selected{fill:#bca3ff44;stroke:#e3d7ff;outline:none}
.mcChargeBadge{pointer-events:none}.mcChargeBadge rect{fill:#183e54;stroke:#a1e4ef;stroke-width:.7}.mcChargeBadge text{fill:#dcfbff;text-anchor:middle;dominant-baseline:central;font:600 9px var(--mono)}
.mcNew .mcSphere{animation:atom-arrival .45s ease-out}
@keyframes atom-arrival{from{opacity:.25;filter:drop-shadow(0 0 9px #a3ffee)}to{opacity:1;filter:drop-shadow(0 3px 3px #0009)}}
@media(prefers-reduced-motion:reduce){.mcNew .mcSphere{animation:none}*{scroll-behavior:auto!important}.mcHalo,.mcBondRod{transition:none}}
#canvasInspector{padding:12px;border:1px solid #3d6377;border-radius:9px;background:linear-gradient(130deg,#173649,#102332);font-size:12px;line-height:1.6}
#canvasInspector[hidden],#live[hidden]{display:none!important}
#canvasInspector h4{font:500 20px var(--sans);letter-spacing:-.02em;color:#e4faff;margin:5px 0}
#canvasInspector p{margin:5px 0}.lessonLabel{color:#83d9cb;font:500 9px var(--mono);letter-spacing:.12em}
.builderLearning .editLesson{background:linear-gradient(130deg,#17343a,#112632);border:1px solid #31525a}
.builderLearning .editLesson h4{font-family:var(--sans);font-size:17px}
#builder-panel-groups .fcard{background:linear-gradient(145deg,#1b2e40,#102032);border-color:#314a5e;border-radius:10px;transition:border-color .15s,background .15s}
#builder-panel-groups .fcard:hover,#builder-panel-groups .fcard.on{border-color:#8adbc9;background:#1a3b43}
.builderPreview .chargeExplanation{display:none}
.canvasParts{font-size:12px}.canvasParts[hidden]{display:none}.canvasParts .pieces{margin:6px 0}
#builder-view-panel-molecule>#editor{display:grid;grid-template-rows:auto minmax(160px,1fr) auto;align-content:start;gap:0;overflow:auto}
@media(min-width:851px){
  .builderFocused #builder-view-panel-molecule:not([hidden]){grid-template-rows:auto minmax(250px,1.8fr) minmax(125px,1fr)}
  #builder-view-panel-molecule:not([hidden]){grid-template-rows:auto minmax(250px,1.8fr) minmax(125px,1fr)}
  .canvasExpanded .builderStage{display:none}
  .canvasExpanded .builderPreview{grid-column:1/-1}
  .canvasExpanded #builder-view-panel-molecule:not([hidden]){grid-template-columns:minmax(0,2fr) minmax(280px,1fr);grid-template-rows:auto minmax(0,1fr);gap:16px}
  .canvasExpanded #builder-view-panel-molecule>h3{grid-column:1}
  .canvasExpanded #builder-view-panel-molecule>#editor{grid-column:1;grid-row:2}
  .canvasExpanded #builder-view-panel-molecule>.builderLearning{grid-column:2;grid-row:1/3;border-top:0!important;border-left:1px solid #294053!important;padding:0 0 0 18px!important}
}
.builderEnvironment .journeyScene{width:100%;border:1px solid #35576c;border-radius:16px;box-shadow:0 12px 32px #0005}
.envDesign{position:relative;padding:16px;border:1px solid #31556a;border-radius:16px;background:radial-gradient(ellipse at top right,#193b4f,#0c1b29 70%);margin:12px 0}
.envDesignTitle{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between}
.envFormula{font-size:20px;color:#a5f0de;letter-spacing:.04em}
.envMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
.envMetrics>div{background:#071622a8;border-radius:8px;padding:9px}
.envMetrics span{display:block;font-size:10px;color:#a4bac7;margin-bottom:5px}
.envMetrics b{font-size:14px;color:#e2f5fb}
.envEdit,.envNext p{font-size:12px;line-height:1.6;margin:7px 0}
.envNext{border-left:2px solid #6fe1c4;padding-left:12px;margin-top:12px}
.envActions{display:flex;gap:8px;justify-content:space-between;margin-bottom:14px}
.envActions button{font:inherit;font-size:13px;padding:9px 14px;border:1px solid #477d86;border-radius:7px;background:#16333f;color:#a7f1df;cursor:pointer}
.envActions button:focus-visible{outline:3px solid #a7f1df;outline-offset:3px}
.labActive .builderPreview{display:none}
.labActive .builderStage{grid-column:1/-1}
.labActive #builder-panel-experiment>p{display:none}
.labActive #builderExperiment>h3{margin:0 0 10px}
.labActive #builderExperiment>.experimentSummary{padding:8px}
.labActive #builderExperiment>.actions{margin:8px 0}
.labActive #labCheckStatus{margin:8px 0}
.labPair h4{margin:8px 0}
.labFlowNavigation{display:flex;gap:8px;margin:16px 0;position:sticky;top:-16px;z-index:3;background:#0d1927;padding:10px 0}
.labFlowNavigation button{flex:1;border:1px solid #35566d;border-radius:10px;background:#112536;color:#b9cbd7;padding:12px 10px;font:500 13px var(--sans);cursor:pointer}
.labFlowNavigation button[aria-selected=true]{background:linear-gradient(135deg,#124951,#163a53);border-color:#63d9d3;color:#e8fffb;box-shadow:0 0 18px #35b6bd18}
.labFlowNavigation button:focus-visible{outline:2px solid #a9fff0;outline-offset:3px}
#builderExperiment>[role=tabpanel][hidden]{display:none!important}
#planProgress{color:#9ae5df;padding:8px 12px;border-left:2px solid #52bdb6;background:#102b37}
.labStructurePair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.labStructurePair section{min-width:0;border:1px solid #375269;border-radius:14px;background:radial-gradient(ellipse at center,#183747,#0b1726 75%);text-align:center;padding:8px 14px}
.labStructurePair h4,.labStructurePair p{margin:6px 0}
.labStructurePair .mcStructure{width:100%;height:200px;display:block}
.labStructurePair section[data-arm=candidate]{border-color:#3c8e91;box-shadow:inset 0 0 30px #3bd0bc08}
.labPairCaption,#labPairInspection{grid-column:1/-1}
@media(max-width:600px){.labStructurePair .mcStructure{height:140px}.labStructurePair section{padding:6px}.labFlowNavigation button{font-size:11px;padding:10px 5px}}
.labPair .lbl{margin:0 0 8px}
.labPair{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;margin:16px 0}
.labPair>section{padding:18px;border:1px solid #31556a;border-radius:14px;background:radial-gradient(ellipse at top left,#173748,#0b1927 85%);min-width:0}
.labTable{overflow-x:auto}
.labTable table{width:100%;border-collapse:collapse;font-size:13px}
.labTable th,.labTable td{padding:7px 6px;border-bottom:1px solid #294354;text-align:left}
.labTable thead{color:#8fdfcd;font-size:11px}
.labUnknown{padding:12px;border-left:3px solid #e5c783;background:#312c204d;font-size:13px;line-height:1.6}
.labGap{padding:11px 0;border-bottom:1px solid #294354;font-size:13px}
.labGap p,.labEvidence p{font-size:12px;line-height:1.6}
.labEvidence{padding:12px 0;border-bottom:1px solid #294354;font-size:13px}
.labPlanning{border:1px solid #31556a;border-radius:10px;padding:12px;margin-top:12px}
.labPlanning>label{display:block;margin:12px 0}
.labReferenceValue{font-size:28px;color:#a4f0da;margin:14px 0 8px}
.labReferenceValue span{font-size:14px}
.labReferenceScope{font-size:12px;border-left:2px solid #ddc48b;padding-left:10px;color:#e0cda8;line-height:1.5}
#labReferencePick{display:block;width:100%;max-width:100%;font:inherit;font-size:12px;background:#122c3a;color:#def3f8;padding:9px;border:1px solid #3a6070;border-radius:6px;margin-top:6px}
#labReferenceRecord{font-size:13px;line-height:1.5}
#labReferenceRecord li{margin:6px 0}
.labRemaining{margin-top:16px;padding-top:12px;border-top:1px solid #31556a;font-size:13px}
.labStale{border-top:3px solid #e5c783}
#labCheckStatus{font-size:13px;color:#e5d7ae}
#builderExperiment .actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
#builderExperiment .actions button{font:inherit;font-size:13px;padding:10px 14px;border:1px solid #477d86;border-radius:7px;background:#16333f;color:#a7f1df;cursor:pointer}
@media(max-width:850px){.labPair{grid-template-columns:1fr}.labActive .builderStage{max-height:none!important}}
.envMolecule{float:right;width:110px;height:95px;margin:0 0 8px 12px;pointer-events:none}
.envMolecule svg{width:100%;height:100%}
.builderEnvironment details{border-top:1px solid #294053;padding-top:12px}
.builderEnvironment .envCap{min-height:52px}
@media(min-width:851px){
  .environmentActive .builderStage{display:none}
  .environmentActive .builderPreview{grid-column:1/-1}
  .environmentActive #builder-view-panel-environment:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-auto-rows:max-content;gap:8px 28px;align-content:start;align-items:start}
  .environmentActive .builderEnvironment> *{grid-column:1;margin-top:0}
  .environmentActive .builderEnvironment>.envDesign{grid-column:2;grid-row:1/8;margin:0}
  .environmentActive .builderEnvironment>.envActions{grid-column:2;grid-row:8}
  .environmentActive .builderEnvironment>details{grid-column:2;grid-row:9}
  .environmentActive .builderEnvironment>.envChips{grid-column:2;grid-row:9}
  .environmentActive .builderEnvironment .journeyScene{max-height:145px;object-fit:contain;background:#0b1d2a}
  .environmentActive .builderEnvironment .envName{margin-bottom:8px}
  .environmentActive .builderEnvironment>.envCap{min-height:40px;font-size:12px;margin-bottom:5px}
  .environmentActive .builderEnvironment>.walk{margin:0}
}
@media(max-width:850px){
  #canvasExpand{display:none}
  .builderPreview,.builderFocused .builderPreview{max-height:none}
  #builder-view-panel-molecule>#editor{height:370px}
  #builder-view-panel-molecule>.builderLearning{max-height:220px;overflow:auto}
  .canvasToolbar button{padding:7px;font-size:11px}
}
