.chem-directory{max-width:1120px;margin:auto;padding:42px 24px}.chem-directory>h2{font-size:28px;margin:12px 0}.chem-directory>p{max-width:700px;color:#617684;line-height:1.7;font-size:14px}.chem-lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px}.chem-lab-card{display:flex;flex-direction:column;gap:14px;padding:24px;background:#fff;border:1px solid #c9dadf;border-radius:14px;text-decoration:none;color:#234854;transition:box-shadow .15s,transform .15s}.chem-lab-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #294e5f15}.lab-art{border-radius:9px;background:#edf6f4;padding:12px}.lab-art svg{display:block;width:100%;height:160px}.iodine-art{background:#f0eff8}.chem-lab-card h3{font-size:22px;line-height:1.3}.chem-lab-card p{font-size:13px;line-height:1.7;color:#617684;margin:0}.lab-badge{font-size:11px;font-weight:700;color:#176c63}.iodine-card .lab-badge,.iodine-card .lab-open{color:#55538b}.lab-open{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e0e8ec;padding-top:16px;margin-top:auto;color:#176c63;font-size:13px}.lab-open b{font-size:23px}.iodine-page .layout{grid-template-columns:220px minmax(340px,1fr) 310px}.iodine-page .inventory{max-height:calc(100vh - 100px);overflow:auto}.iodine-page .equipment-option{height:115px}.iodine-page .equipment-option svg{height:65px}.iodine-page .iodine-bench{min-height:340px;align-items:flex-end;justify-content:center;position:relative}.iodine-instrument svg{height:210px;width:150px}.iodine-instrument{background:#ffffffa6;border:2px solid transparent;border-radius:8px;padding:8px;color:#254c59;cursor:pointer}.iodine-instrument[aria-pressed=true]{border-color:#656298}.iodine-instrument strong,.iodine-instrument small{display:block;font-size:11px}.iodine-instrument small{color:#677e87;margin:6px 0}.iodine-page .controls button{margin:5px 0}.iodine-page .inventory .reagent-item{display:block;font-size:11px}.iodine-equation{font-size:13px;line-height:1.7;color:#414765;padding:14px;background:#f2f2f8;border-radius:8px}.iodine-page .iodine-log{font-size:12px;line-height:1.7;max-height:240px;overflow:auto}.iodine-plot svg{width:100%;height:auto}.iodine-page .iodine-table{overflow:auto;max-height:270px;font-size:11px}.iodine-table table{width:100%;border-collapse:collapse}.iodine-table th,.iodine-table td{padding:7px;border-bottom:1px solid #dbe2ea;text-align:right}.iodine-page .training-note{font-size:12px;line-height:1.65;color:#687e89}.iodine-controls fieldset{margin:14px 0;border:1px solid #d2dce4;border-radius:8px;padding:10px}.iodine-controls legend{font-size:12px;color:#55538b;font-weight:bold}.iodine-page .droplet{animation:iodine-drip .8s ease-out forwards}@keyframes iodine-drip{from{transform:translateY(-15px);opacity:1}to{transform:translateY(15px);opacity:0}}@media(max-width:1100px){.iodine-page .layout{grid-template-columns:200px minmax(0,1fr)}.iodine-page .controls{grid-column:1/-1;display:block}.iodine-page .inventory{max-height:none}}@media(max-width:700px){.chem-lab-grid{grid-template-columns:1fr}.chem-directory{padding:26px 16px}.iodine-page .layout{display:block}.iodine-page .inventory{max-height:360px}.iodine-page .equipment-grid{grid-template-columns:repeat(3,1fr)}.iodine-instrument svg{width:120px;height:180px}}@media(prefers-reduced-motion:reduce){.iodine-page .droplet{animation:none}.chem-lab-card:hover{transform:none}}
.iodine-page .iodine-titration-station{position:relative;flex:0 0 174px;width:174px;height:470px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.iodine-page .iodine-mounted-burette{position:absolute;top:0;left:0;width:174px;height:255px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background:transparent;z-index:2}.iodine-page .iodine-mounted-burette strong{order:0}.iodine-page .iodine-mounted-burette small{order:1;min-height:15px}.iodine-page .iodine-mounted-burette svg{order:2;height:210px;flex-shrink:0}.iodine-page .iodine-mounted-receiver{height:250px;width:174px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;z-index:1}.iodine-page .iodine-mounted-receiver svg{height:210px;flex-shrink:0}.iodine-page .iodine-receiver-placeholder{font-size:11px;color:#687e89;text-align:center;padding:25px 8px;max-width:150px}.iodine-page .iodine-mounted-burette[aria-pressed=true]{background:#eeedf855}
.iodine-page .iodine-mounted-stand{position:absolute;inset:0;width:174px;height:470px;padding:0;border:0;background:transparent;z-index:0;display:block}.iodine-page .iodine-mounted-stand svg{display:block;width:174px;height:470px}.iodine-page .iodine-mounted-stand[aria-pressed=true]{outline:1px dashed #7773a4;outline-offset:2px}.iodine-page .iodine-titration-station .iodine-mounted-receiver{background:transparent}.iodine-page .iodine-titration-station{isolation:isolate}
.iodine-page .iodine-reagent-button{width:100%;cursor:pointer;border:1px solid #d5dce7;border-radius:7px;margin:5px 0;padding:11px;text-align:left;background:#fff}.iodine-page .iodine-reagent-button:hover{background:#f0eef9;border-color:#7773a4}.iodine-page .iodine-reagent-button[aria-pressed=true]{border:2px solid #656298;background:#eeedf8}.iodine-page .iodine-reagent-button:focus-visible{outline:3px solid #a299da;outline-offset:2px}.iodine-reagent-button small{display:block;margin-top:6px;font-size:10px;color:#617585}.iodine-reagent-symbol{float:right;font-size:22px;color:#656298}.iodine-selection{padding:10px;background:#eeedf8;border-radius:6px;font-size:11px;line-height:1.5;color:#45436b}.iodine-safety{margin:16px 0;padding:16px;border:1px solid #dfb35e;border-left:5px solid #d99428;border-radius:8px;background:#fff8e9;color:#594925;font-size:12px;line-height:1.65}.iodine-safety[hidden]{display:none}.iodine-safety-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.iodine-safety-heading h3{font-size:15px;color:#80531c}.iodine-safety-heading h3:before{content:'⚠ ';font-size:19px}.iodine-safety-heading button{padding:5px 9px;font-size:11px;background:#fffdf8}.iodine-safety>strong{display:block;margin-top:9px;font-size:14px}.iodine-safety ul{padding-left:20px}.iodine-safety li{margin:5px 0}.iodine-safety>a{font-size:12px}
#iod-load-panel{border:2px solid #7773a4;background:#f5f4fb}#iod-load-product{font-weight:700;color:#45416d;background:#fff}#iod-load-target{margin:9px 0}#iod-load-panel button:disabled{opacity:.5;cursor:not-allowed}
/* Each column scrolls inside the iodine workspace, independently of its neighbours. */
.iodine-page .controls,.iodine-page .workspace{min-height:0;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#9692b5 #f0eff7}
@media(min-width:900px){
 .iodine-page{height:100dvh;display:flex;flex-direction:column;overflow:hidden}
 .iodine-page>.topbar{flex:0 0 auto}
 .iodine-page>.layout{flex:1 1 0;width:100%;min-height:0;overflow:hidden;margin:0 auto;grid-template-columns:190px minmax(0,1fr) 300px}
 .iodine-page .workspace{height:100%;overflow-y:auto;overflow-x:hidden}
 .iodine-page .controls{height:100%;overflow-y:auto;overflow-x:hidden;display:block;grid-column:auto;border-left:1px solid var(--line);border-top:0}
 .iodine-page .inventory{position:static;height:100%;max-height:none;min-height:0;align-self:stretch;overscroll-behavior-y:contain}
}
@media(min-width:1550px){.iodine-page>.layout{grid-template-columns:220px minmax(0,1fr) 320px}}
@media(max-width:899px){.iodine-page .controls,.iodine-page .workspace{max-height:75dvh;overflow-y:auto;overflow-x:hidden}}
.iodine-stage-guide{border:2px solid #746ea5;border-radius:9px;padding:12px;margin:12px 0;background:#efedf8}.iodine-stage-guide[hidden]{display:none}.iodine-stage-guide h3{font-size:14px;color:#4b456f}.iodine-stage-guide button{width:100%}.iodine-stage-guide button:disabled{opacity:.45;cursor:not-allowed}
.iodine-zone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.iodine-reaction-zone{border:1px solid #d7dce9;border-radius:8px;padding:10px;background:#fafbfe;color:#6d7587;font-size:11px}.iodine-reaction-zone p{line-height:1.5;margin:6px 0}.iodine-reaction-zone.is-active{border:2px solid #656298;background:#eeedf8;color:#353259}.iodine-reaction-zone.is-active strong:before{content:'● ';color:#656298}.iodine-reaction-analysis{margin:20px 0}.iodine-reaction-analysis td:first-child{text-align:left}@media(max-width:650px){.iodine-zone-grid{grid-template-columns:1fr}}
