.zsa-ec{--zsa-max-width:1200px}.zsa-ec header{margin-bottom:30px}.zsa-ec-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:24px}.zsa-ec h2{font-size:24px;margin:6px 0 16px}.zsa-ec p{margin:10px 0}.zsa-ec .small,.zsa-ec details,.zsa-ec footer{font-size:14px}.zsa-ec select,.zsa-ec input[type=number]{width:100%;padding:9px;border:1px solid #a3b5ca;border-radius:6px;background:white;color:#0b2a5b}.zsa-ec label{display:block;font-size:15px}.zsa-ec-metals{display:flex;gap:8px}.zsa-ec-metals button{flex:1;border:1px solid #a3b5ca;background:#f2f6fa;border-radius:8px;padding:10px 4px;color:#0b2a5b}.zsa-ec-metals button[aria-pressed=true]{outline:3px solid #1d4ed8;background:#eef4ff}.zsa-ec-metals b{display:block;font-size:25px}.zsa-ec-connect{display:grid;gap:14px;margin:20px 0}.zsa-ec input[type=checkbox]{width:19px;height:19px;vertical-align:middle;accent-color:#1d4ed8}.zsa-ec-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.zsa-ec-work{background:#f8fbff}.zsa-ec-meter{text-align:center;padding:16px;background:#0b2a5b;color:white;border-radius:12px;max-width:320px;margin:22px auto 0}.zsa-ec-meter span{display:block;font-size:11px;letter-spacing:.06em}.zsa-ec-meter strong{font-size:42px;font-weight:500;display:block}.zsa-ec-flow{height:40px;border:3px solid #98aac2;border-bottom:0;margin:22px 18% 0;position:relative;overflow:hidden}.zsa-ec-flow span{position:absolute;left:0;top:0;color:#1d4ed8;font-weight:bold;visibility:hidden}.zsa-ec-flow.active span{visibility:visible;animation:electrons 2.5s linear infinite}.zsa-ec-flow.reverse span{animation-direction:reverse}.zsa-ec-salt{text-align:center;font-size:13px;padding:6px;border:2px dashed #9babc0;border-radius:12px;margin:0 26% 8px}.zsa-ec-salt.connected{border-style:solid;background:#ecfdf5;color:#14532d}.zsa-ec-beakers{display:grid;grid-template-columns:1fr 1fr;gap:25px}.zsa-ec-half{text-align:center;min-width:0}.zsa-ec-vessel{height:160px;border:3px solid #9baec5;border-top:0;border-radius:0 0 20px 20px;margin:10px 12px 16px;position:relative;background:linear-gradient(to top,#d9e6f1 70%,transparent 70%);display:flex;align-items:center;justify-content:center}.zsa-ec-vessel.copper{background:linear-gradient(to top,#b9def7 70%,transparent 70%)}.zsa-ec-rod{height:145px;width:48px;border:2px solid #64748b;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#172639;font-weight:700;box-shadow:inset 8px 0 0 #ffffff30}.zsa-ec-half .zsa-btn{padding:8px 12px}.zsa-ec-role{font-size:14px;font-weight:600;min-height:25px}.zsa-ec-rx{display:grid;grid-template-columns:1fr 1fr;gap:16px}.zsa-ec-rx>div{background:#eef4ff;border-radius:8px;padding:14px}.zsa-ec-equation{font-size:19px;overflow-wrap:anywhere}.zsa-ec-answers{display:flex;gap:10px}.zsa-ec summary{cursor:pointer;min-height:44px;padding-top:10px}.zsa-ec ol{padding-left:24px;font-size:16px}.zsa-ec button:disabled{opacity:.6}@keyframes electrons{from{left:0}to{left:90%}}@media(max-width:800px){.zsa-ec-layout{grid-template-columns:1fr}.zsa-ec aside{display:grid;grid-template-columns:1fr 1fr;gap:16px}.zsa-ec-heading{align-items:start}.zsa-ec h1{font-size:34px}}@media(max-width:520px){.zsa-ec aside,.zsa-ec-rx{grid-template-columns:1fr}.zsa-ec-heading{display:block}.zsa-ec-salt{margin-left:12%;margin-right:12%}.zsa-ec-beakers{gap:10px}.zsa-ec-vessel{margin-left:0;margin-right:0}.zsa-ec-half .zsa-btn{font-size:14px}}@media print{.zsa-ec aside,.zsa-ec button{display:none}.zsa-ec-layout{display:block}}
.zsa-ec .metal-Zn{background:#a4b0bf}.zsa-ec .metal-Cu{background:#bb784b}.zsa-ec .metal-Ag{background:#d1d8e1}

/* Branded activity header and accessible help panels. */
.zsa-ec-header {position:relative;margin-bottom:28px;}
.zsa-ec-topline {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:0 0 20px;border-bottom:1px solid #dde4ed;}
.zsa-ec-identity {display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 400px;}
.zsa-ec .zsa-ec-brand {display:inline-flex;align-items:center;flex-shrink:0;min-height:52px;min-width:52px;text-decoration:none;color:var(--zsa-navy);}
.zsa-ec-brand img {display:block;flex-shrink:0;}
.zsa-ec-header-tools {display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:16px;max-width:100%;margin-left:auto;}
.zsa-ec-header-buttons {display:flex;align-items:center;gap:8px;}
.zsa-ec .zsa-ec-share-toggle {display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 12px;min-height:44px;background:white;}
.zsa-ec-icon {width:18px;height:18px;flex-shrink:0;}
.zsa-ec-instructions-open {flex-shrink:0;}
.zsa-ec h1 {min-width:0;font-size:clamp(1.6rem,1.2rem + 1.2vw,2rem);letter-spacing:-.035em;line-height:1.15;margin:0;font-weight:650;}
.zsa-ec-lede {color:var(--zsa-navy);font-size:clamp(1.05rem,1rem + .3vw,1.2rem);font-weight:500;}
.zsa-ec-share-panel {margin-top:14px;padding:20px;border:1px solid #cdd9e9;border-radius:12px;background:white;box-shadow:0 7px 20px rgba(11,42,91,.06);}
.zsa-ec-share-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:5px;}
.zsa-ec-share-heading h2 {font-size:18px;font-weight:600;}
.zsa-ec .zsa-ec-icon-button {display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid #d5deea;border-radius:8px;background:#f7f9fc;color:#425a7b;font-size:24px;padding:0;line-height:1;}
.zsa-ec .zsa-ec-fullscreen-toggle {width:46px;min-width:46px;height:46px;min-height:46px;flex-shrink:0;background:white;}
.zsa-ec .zsa-ec-fullscreen-toggle[hidden] {display:none;}
.zsa-ec-fullscreen-toggle[aria-pressed="true"] {background:#edf4ff;border-color:#194d9d;}
.zsa-ec .zsa-ec-fullscreen-status {margin-top:12px;}
.zsa-ec-share-label {display:block;margin:14px 0 6px;font-size:12px;font-weight:600;color:#536075;}
.zsa-ec-share-link {display:flex;gap:8px;align-items:stretch;}
.zsa-ec-share-link input {display:block;flex:1 1 200px;min-width:0;min-height:46px;width:100%;border:1px solid #b8c8dc;border-radius:8px;padding:9px 11px;background:#f8fafd;color:#334e72;font-size:13px;}
.zsa-ec-share-options {display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:12px;}
.zsa-ec-share-options a {display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #d8e1ed;border-radius:8px;color:#355579;font-size:13px;text-decoration:none;background:white;}
.zsa-ec-share-options a:hover {background:#f0f5fd;}
.zsa-ec-share-status {min-height:21px;margin-top:10px!important;font-size:12px;color:#38623e;}
.zsa-ec-instructions {width:calc(100% - 32px);max-width:720px;max-height:85vh;overflow:auto;padding:24px;border:1px solid #c5d3e4;border-radius:15px;background:white;color:var(--zsa-slate);box-shadow:0 18px 60px rgba(11,42,91,.2);font-size:15px;line-height:1.6;}
.zsa-ec-instructions::backdrop {background:rgba(11,27,51,.45);}
.zsa-ec-instructions-heading {display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px;}
.zsa-ec-instructions-heading h2 {font-size:23px;line-height:1.25;font-weight:600;}
.zsa-ec-instructions-heading button {flex-shrink:0;}
.zsa-ec-instructions-steps {margin:18px 0;padding-left:23px;}
.zsa-ec-instructions-steps li {padding-left:4px;margin:12px 0;}
.zsa-ec-instructions-example {padding:15px 17px;border:1px solid #d6e2f2;border-radius:10px;background:#f5f8fd;}
.zsa-ec-instructions-example-label {font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:#536782;}
.zsa-ec-instructions-equation {margin:6px 0 13px!important;color:var(--zsa-navy);font-size:22px;line-height:1.5;}
.zsa-ec-instructions-equation:last-child {margin-bottom:0!important;}
.zsa-ec-instructions-equation sub,.zsa-ec-instructions-steps sub {font-size:.7em;line-height:0;vertical-align:-.2em;}
.zsa-ec-instructions-equation sup,.zsa-ec-instructions-steps sup {font-size:.7em;line-height:0;vertical-align:.4em;}
.zsa-ec-instructions-note {margin-top:16px!important;font-size:13px;color:#536075;}
/* A bright lab notebook, with a darker instrument bench. */
.zsa-ec{background:#f7f9fd;max-width:1280px;padding:30px 32px 40px}.zsa-ec .zsa-card{background:white;border-color:#dce5ef;box-shadow:0 4px 18px #193d6510;padding:23px;border-radius:16px}.zsa-ec h2{font-weight:650;letter-spacing:-.025em}.zsa-ec .zsa-eyebrow{font-size:11px;letter-spacing:.13em;color:#44628a}.zsa-ec-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:26px}.zsa-ec-intro .zsa-ec-lede{font-size:27px;font-weight:600;letter-spacing:-.035em;margin:4px 0;color:#0b2a5b}.zsa-ec-intro>div>p:last-child{font-size:16px;color:#52667f}.zsa-ec-labtag{font-size:10px;letter-spacing:.12em;font-weight:700;color:#167064;background:#e2f4ed;border:1px solid #bedfd1;border-radius:30px;padding:9px 14px;white-space:nowrap}.zsa-ec .zsa-ec-layout{gap:26px;grid-template-columns:300px minmax(0,1fr)}.zsa-ec aside .zsa-card:first-child{border-top:4px solid #0e766e}.zsa-ec .zsa-ec-metals{gap:10px;margin-top:18px}.zsa-ec-metals button{background:linear-gradient(145deg,#fff,#e5ebf2);border-color:#ccd7e4;padding:15px 4px;box-shadow:0 3px 0 #d6dfe9;font-size:12px;transition:transform .15s}.zsa-ec-metals button:hover{transform:translateY(-3px)}.zsa-ec-metals b{font-size:28px;margin-bottom:4px}.zsa-ec-metals button[data-metal=Cu]{background:linear-gradient(145deg,#fff6ef,#ead2be)}.zsa-ec-metals button[aria-pressed=true]{outline:2px solid #1d4ed8;outline-offset:2px}.zsa-ec #selected{font-size:12px;color:#46607e;min-height:38px}.zsa-ec-connect{border-top:1px solid #e0e7f0;padding-top:20px}.zsa-ec-connect>label{background:#f3f6fa;border-radius:9px;padding:11px 9px;font-size:13px}.zsa-ec #reset{width:100%;font-size:13px;border-color:#c9d6e6}.zsa-ec #status{font-size:13px;border:1px solid #dae5f0;border-radius:9px;background:#eef4fa;padding:12px 15px;min-height:60px}.zsa-ec .zsa-ec-work{background:radial-gradient(ellipse at 50% 45%,#fff 0,#f1f6fc 85%);border-top:4px solid #1d4ed8}.zsa-ec-meter{max-width:300px;background:linear-gradient(145deg,#183654,#0a203c);padding:18px 22px;box-shadow:0 8px 16px #0b2a5b24;border:5px solid #d7e1ed;border-radius:16px}.zsa-ec-meter strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:37px;color:#a5f3dc;letter-spacing:-.04em;padding:6px 0}.zsa-ec-meter span:last-child{letter-spacing:0;color:#d2e1f1;font-size:10px}.zsa-ec-flow{border-color:#6c829f;border-radius:16px 16px 0 0;margin-left:22%;margin-right:22%}.zsa-ec-salt{background:#fff;font-size:11px;color:#52667f;border-radius:8px}.zsa-ec-beakers{gap:32px;margin-top:16px}.zsa-ec-vessel{height:195px;margin:12px 12px 16px;border-color:#94abc2;border-width:3px;background:linear-gradient(to top,#dfebf5c9 68%,#ffffff60 68%);box-shadow:inset 7px 0 12px #ffffffb3,0 9px 12px #0b2a5b10;border-radius:0 0 28px 28px}.zsa-ec-vessel:after{content:"";position:absolute;left:9%;top:39%;height:45%;width:5px;background:#ffffffb3;border-radius:10px}.zsa-ec-vessel.copper{background:linear-gradient(to top,#a5d4ee99 68%,#ffffff60 68%)}.zsa-ec-rod{height:180px;width:45px;transform:translateY(-12px);box-shadow:inset 7px 0 0 #ffffff35,4px 3px 7px #0b2a5b20;border-color:#6a7f92}.zsa-ec-role{color:#244264;font-size:12px;letter-spacing:.02em}.zsa-ec-half label{font-size:11px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;color:#52667f}.zsa-ec-half select{font-size:13px;margin:7px 0 10px}.zsa-ec-half .zsa-btn{width:100%;font-size:12px;background:#fff;border-color:#b6c8de}.zsa-ec #flow-help{font-size:12px;color:#52667f;border-top:1px solid #dbe5ef;padding-top:14px;margin-top:20px}.zsa-ec-rx>div{border-left:3px solid #19776d;background:#f0f8f6;font-size:14px}.zsa-ec-rx>div+div{border-left-color:#365dc4;background:#f0f4fc}.zsa-ec-equation{padding:17px;background:#f7f9fc;border:1px solid #e1e7ef;border-radius:9px;text-align:center;font-weight:600}.zsa-ec details{border-top:1px solid #e0e7f0;margin-top:20px;padding-top:8px}.zsa-ec-footer{color:#5b6e85;font-size:12px}.zsa-ec .zsa-btn{border-radius:9px}.zsa-ec #run{font-size:13px;white-space:nowrap;padding:11px 16px}.zsa-ec .zsa-ec-header{margin-bottom:24px}.zsa-ec .zsa-ec-header-buttons .zsa-btn{font-size:13px;padding:9px 13px}.zsa-ec .zsa-ec-brand img{width:58px;height:auto}.zsa-ec .zsa-ec-share-panel{background:white}.zsa-ec .zsa-ec-instructions h2{margin:0}.zsa-ec .zsa-ec-instructions p{font-size:15px}
@media(max-width:900px){.zsa-ec{padding:22px 18px}.zsa-ec .zsa-ec-layout{grid-template-columns:250px minmax(0,1fr);gap:18px}.zsa-ec .zsa-card{padding:17px}.zsa-ec .zsa-ec-labtag{display:none}.zsa-ec-beakers{gap:15px}.zsa-ec-heading{display:block}.zsa-ec #run{margin-bottom:6px}}@media(max-width:740px){.zsa-ec .zsa-ec-layout{grid-template-columns:1fr}.zsa-ec aside{display:grid;grid-template-columns:1fr 1fr;gap:16px}.zsa-ec-topline{gap:14px}.zsa-ec-identity{flex-basis:100%}.zsa-ec .zsa-ec-header-tools{margin-left:0}.zsa-ec .zsa-ec-heading{display:flex}.zsa-ec .zsa-ec-intro .zsa-ec-lede{font-size:24px}.zsa-ec h1{font-size:25px}.zsa-ec .zsa-ec-share-link{flex-wrap:wrap}}@media(max-width:480px){.zsa-ec{padding:16px 12px}.zsa-ec aside{grid-template-columns:1fr}.zsa-ec .zsa-card{padding:16px}.zsa-ec .zsa-ec-brand img{width:46px}.zsa-ec h1{font-size:23px}.zsa-ec .zsa-ec-heading{display:block}.zsa-ec .zsa-ec-vessel{margin-left:5px;margin-right:5px;height:175px}.zsa-ec .zsa-ec-rod{height:165px}.zsa-ec-share-link input{font-size:11px}.zsa-ec .zsa-ec-instructions{padding:18px}}
/* Detailed apparatus, drawn as a single continuous scene. */
.zsa-ec-apparatus{width:100%;margin:12px auto 0;max-width:850px}.zsa-ec-apparatus svg{display:block;width:100%;height:auto;overflow:visible}.zsa-ec .zsa-ec-layout{grid-template-columns:285px minmax(0,1fr)}.zsa-ec .zsa-ec-work{min-height:760px}.zsa-ec .zsa-ec-beakers{margin-top:0;gap:30px;padding:0 4%}.zsa-ec .zsa-ec-half{display:flex;flex-direction:column}.zsa-ec .zsa-ec-role{order:-1;font-size:13px;padding:8px 4px;background:#e8f0f7;border-radius:7px;margin-bottom:12px}.zsa-ec .zsa-ec-half .small{font-size:12px}.zsa-ec .zsa-ec-half label{font-size:10px}.zsa-ec-apparatus .lead-shadow{fill:none;stroke:#0a1c2b;stroke-width:10;stroke-linecap:round;opacity:.15;transform:translateY(3px)}.zsa-ec-apparatus .black-lead{fill:none;stroke:#26313e;stroke-width:7;stroke-linecap:round}.zsa-ec-apparatus .red-lead{fill:none;stroke:#b7443d;stroke-width:7;stroke-linecap:round}.zsa-ec-apparatus .disconnected{opacity:.16}.zsa-ec-apparatus .meter-brand{fill:#e0e9ee;font-size:9px;font-weight:700;letter-spacing:1px}.zsa-ec-apparatus .meter-digits{fill:#1b392a;font-family:ui-monospace,Consolas,monospace;font-size:28px;font-weight:600}.zsa-ec-apparatus .dial-label{fill:#e0e9ee;font-size:8px}.zsa-ec-apparatus .metal-label{fill:#233646;font-size:16px;font-weight:700}.zsa-ec-apparatus .vessel-caption{fill:#435e78;font-size:13px}.zsa-ec-apparatus .bridge-caption{fill:#365f4b;font-size:11px;font-weight:600}.zsa-ec-apparatus .solution-ion circle{fill:#f1faff;stroke:#73a1bb;stroke-width:1;opacity:.7}.zsa-ec-apparatus .solution-ion text{fill:#234b66;font-size:10px}.zsa-ec-apparatus .electron-dot circle{fill:#a6f4dd;stroke:#156b58;stroke-width:1.5}.zsa-ec-apparatus .electron-dot text{fill:#0b4f40;font-size:11px;font-weight:700}.zsa-ec-apparatus .bridge-ion circle{fill:#dbf7e5;stroke:#598f6d}.zsa-ec-apparatus .bridge-anion circle{fill:#fff2ce;stroke:#9d8746}.zsa-ec-apparatus .bridge-ion text,.zsa-ec-apparatus .bridge-anion text{fill:#354d40;font-size:9px}.zsa-ec-apparatus .depositing-ion circle,.zsa-ec-apparatus .dissolving-ion circle{fill:#dcf2ff;stroke:#4985a7;stroke-width:1.5}.zsa-ec-apparatus .depositing-ion text,.zsa-ec-apparatus .dissolving-ion text{font-size:9px;fill:#244e68}.zsa-ec-apparatus .electron-dot,.zsa-ec-apparatus .bridge-ion,.zsa-ec-apparatus .bridge-anion,.zsa-ec-apparatus .depositing-ion,.zsa-ec-apparatus .dissolving-ion{visibility:hidden}.zsa-ec-apparatus .is-running .electron-dot,.zsa-ec-apparatus .is-running .bridge-ion,.zsa-ec-apparatus .is-running .bridge-anion,.zsa-ec-apparatus .is-running .depositing-ion,.zsa-ec-apparatus .is-running .dissolving-ion{visibility:visible}.zsa-ec #meter-help{font-size:11px;text-align:center;color:#53667f;margin:0 0 14px}.zsa-ec-topline{padding-bottom:16px}.zsa-ec .zsa-ec-header{margin-bottom:12px}@media(max-width:900px){.zsa-ec .zsa-ec-layout{grid-template-columns:240px minmax(0,1fr)}}@media(max-width:740px){.zsa-ec .zsa-ec-layout{grid-template-columns:1fr}.zsa-ec .zsa-ec-work{min-height:0}.zsa-ec .zsa-ec-beakers{gap:18px}}@media(max-width:480px){.zsa-ec .zsa-ec-work{padding:12px 8px}.zsa-ec .zsa-ec-beakers{padding:0 2%;gap:12px}.zsa-ec .zsa-ec-role{font-size:10px}.zsa-ec .zsa-ec-half select{font-size:12px}}
