.sc-molarity{--mc-ink:#25383d;--mc-accent:#087d91;--mc-line:#cbdde2;box-sizing:border-box;width:100%;max-width:960px;margin:24px auto;padding:clamp(18px,4vw,32px);border:1px solid var(--mc-line);border-radius:20px;background:#fff;color:var(--mc-ink);box-shadow:0 8px 26px #153b4910;font:400 16px/1.55 system-ui,-apple-system,sans-serif}
.sc-molarity *{box-sizing:border-box;min-width:0}
.sc-molarity [hidden]{display:none!important}
.sc-molarity h2,.sc-molarity h3,.sc-molarity h4{font-family:inherit;color:#173e48;line-height:1.3;letter-spacing:-.02em}
.sc-molarity h2{margin:10px 0 12px;font-size:clamp(23px,3vw,29px)}
.sc-molarity h3{font-size:23px;margin:0 0 16px}.sc-molarity h4{font-size:17px;margin:22px 0 10px}
.sc-molarity p{margin:12px 0 20px}.sc-molarity__eyebrow{font-size:11px;font-weight:750;letter-spacing:.12em;color:var(--mc-accent)}
.sc-molarity__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px;margin-top:24px}
.sc-molarity label{display:block;margin-bottom:7px;font-size:14px;font-weight:650;color:var(--mc-ink)}
.sc-molarity select,.sc-molarity input{width:100%;height:46px;max-width:100%;margin:0;padding:9px 11px;border:1px solid #b8cdd4;border-radius:8px;background:#fff;color:var(--mc-ink);font:inherit;line-height:1.25}
.sc-molarity select{padding-right:28px}.sc-molarity input[aria-invalid=true]{border-color:#b03b33}
.sc-molarity input:focus-visible,.sc-molarity select:focus-visible,.sc-molarity button:focus-visible{outline:3px solid #82c8d8;outline-offset:3px}
.sc-molarity__input-unit select{padding-right:4px}
.sc-molarity__input-unit{display:grid;grid-template-columns:minmax(0,1fr) 106px;gap:8px}
.sc-molarity small,.sc-molarity__hint{display:block;margin:7px 0 0;font-size:12px;color:#52656b;line-height:1.5}
.sc-molarity .sc-molarity__hint{margin-top:16px;margin-bottom:14px}
.sc-molarity__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.sc-molarity button{min-height:44px;padding:10px 16px;margin:0;border:1px solid var(--mc-accent);border-radius:9px;background:#fff;color:#086b7e;font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer}
.sc-molarity button[type=submit]{background:var(--mc-accent);color:#fff}.sc-molarity button:hover{background:#eaf5f7}.sc-molarity button[type=submit]:hover{background:#086678}
.sc-molarity .sc-molarity__status:empty{display:none}.sc-molarity__status{font-size:14px}.sc-molarity__status[data-error=true]{padding:12px;background:#fff2ef;border-left:3px solid #b03b33;border-radius:6px;color:#8e302b}
.sc-molarity__result{margin-top:26px;padding-top:24px;border-top:1px solid var(--mc-line);scroll-margin-top:110px;outline:none}
.sc-molarity__answer{display:flex;flex-direction:column;gap:7px;padding:20px;border-radius:13px;background:#eaf6f3;color:#175648;overflow-wrap:anywhere}
.sc-molarity__answer>span:first-child{font-size:14px;font-weight:650}.sc-molarity__answer strong{font-size:clamp(25px,4vw,34px);line-height:1.25;font-variant-numeric:tabular-nums}.sc-molarity__answer>span:last-child{font-size:13px}
.sc-molarity__metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 0}.sc-molarity__metrics>div{padding:13px;background:#f3f8fa;border:1px solid #dce8eb;border-radius:10px;overflow-wrap:anywhere}.sc-molarity dt{margin:0;font-size:12px;color:#52656b}.sc-molarity dd{margin:5px 0 0;font-size:17px;font-weight:650;color:var(--mc-ink)}
.sc-molarity ol{margin:10px 0;padding-left:23px;font-size:14px;overflow-wrap:anywhere}.sc-molarity li{margin:8px 0}.sc-molarity .sc-molarity__note{padding:12px 14px;margin-bottom:0;border-left:3px solid #98bbc3;background:#f5f8f9;border-radius:5px;font-size:12px;color:#52656b}
@media(max-width:640px){.sc-molarity__grid{grid-template-columns:1fr;gap:17px}.sc-molarity{border-radius:14px}.sc-molarity__actions button[type=submit]{flex-basis:100%}.sc-molarity__actions button:not([type=submit]){flex:1}.sc-molarity__input-unit{grid-template-columns:minmax(0,1fr) 100px}.sc-molarity__result{scroll-margin-top:85px}}
@media(max-width:360px){.sc-molarity__metrics{grid-template-columns:1fr}.sc-molarity__input-unit{grid-template-columns:minmax(0,1fr) 94px}}
