.backend-status{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:13px;border-radius:0;border-bottom:1px solid transparent;transition:background .3s,border-color .3s;position:relative;z-index:10}.backend-status:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.backend-status strong{font-weight:600}.backend-status.is-online{background:transparent;border-color:transparent}.backend-status.is-online:before{background:#22c55e}.backend-status.is-offline{background:#ef44441f;border-color:#ef44444d;color:#fca5a5}.backend-status.is-offline:before{background:#ef4444;box-shadow:0 0 0 3px #ef444440}.backend-status.is-demo{background:#f59e0b1f;border-color:#f59e0b4d;color:#fde68a}.backend-status.is-demo:before{background:#f59e0b}.backend-status.is-degraded{background:#f59e0b14;border-color:#f59e0b33;color:#fde68a}.backend-status.is-degraded:before{background:#f59e0b;animation:statusPulse 2s ease-in-out infinite}.backend-status.is-local-only{background:#6366f11a;border-color:#6366f140;color:#c7d2fe}.backend-status.is-local-only:before{background:#818cf8}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.4}}.chemlab-notifications{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;max-width:min(480px,calc(100vw - 32px));width:100%}.chemlab-notification{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;font-size:13.5px;line-height:1.45;pointer-events:auto;opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease;box-shadow:0 4px 18px #00000059;width:100%;box-sizing:border-box}.chemlab-notification.is-visible{opacity:1;transform:translateY(0)}.chemlab-notification.is-dismissing{opacity:0;transform:translateY(8px)}.chemlab-notification.is-info{background:#1e293b;border:1px solid rgba(148,163,184,.2);color:#e2e8f0}.chemlab-notification.is-warning{background:#1c1709;border:1px solid rgba(245,158,11,.35);color:#fde68a}.chemlab-notification.is-error{background:#1c0a09;border:1px solid rgba(239,68,68,.35);color:#fca5a5}.chemlab-notification.is-success{background:#091c12;border:1px solid rgba(34,197,94,.3);color:#86efac}.notif-text{flex:1}.notif-close{background:none;border:none;color:inherit;opacity:.6;cursor:pointer;font-size:16px;line-height:1;padding:0;flex-shrink:0}.notif-close:hover{opacity:1}.save-mode-hint{font-size:11.5px;opacity:.7;margin-top:4px;display:block;min-height:16px;transition:color .2s}.save-mode-hint.is-authed{color:#86efac}.save-mode-hint.is-guest{color:#fde68a}.save-mode-hint.is-offline{color:#c7d2fe}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:1500;display:flex;align-items:center;justify-content:center}.onboarding-card{background:#1e293b;border:1px solid rgba(148,163,184,.2);border-radius:16px;padding:28px 32px;max-width:420px;width:calc(100vw - 32px);box-shadow:0 20px 60px #00000080}.onboarding-card h3{margin:0 0 16px;font-size:17px;color:#e2e8f0}.onboarding-steps{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:12px}.onboarding-steps li{display:flex;align-items:flex-start;gap:12px;font-size:14px;color:#cbd5e1}.onboarding-step-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#6366f159;color:#a5b4fc;font-size:12px;font-weight:700;flex-shrink:0;margin-top:1px}.onboarding-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.onboarding-replay-btn{font-size:12px;opacity:.6;background:none;border:none;color:inherit;cursor:pointer;padding:6px;text-decoration:underline}.onboarding-replay-btn:hover{opacity:1}.field-error{display:block;font-size:11.5px;color:#fca5a5;margin-top:3px;min-height:16px}input.has-error,select.has-error{border-color:#ef444499!important;box-shadow:0 0 0 2px #ef444433!important}button.is-checking{opacity:.7;cursor:not-allowed;position:relative}button.is-checking:after{content:"";display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:btnSpinner .6s linear infinite;margin-left:8px;vertical-align:middle}@keyframes btnSpinner{to{transform:rotate(360deg)}}@media(max-width:767px){.constructor-result-sticky{position:sticky;bottom:0;z-index:100;background:var(--surface, #0f172a);border-top:1px solid rgba(255,255,255,.1);box-shadow:0 -4px 20px #0006;padding:12px 16px;margin:0 -16px}.constructor-result-sticky .result-equation-row{font-size:15px;font-weight:600;margin-bottom:6px}.constructor-result-sticky .result-observation-row{font-size:13px;opacity:.8;margin-bottom:10px}.constructor-result-expandable{max-height:0;overflow:hidden;transition:max-height .3s ease}.constructor-result-expandable.is-expanded{max-height:600px}.result-expand-btn{background:none;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:inherit;font-size:12px;padding:4px 10px;cursor:pointer;margin-bottom:8px}}button.mobile-result-toggle{display:none;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);border-radius:8px;color:inherit;font-size:13px;font-weight:500;cursor:pointer;margin-bottom:8px;text-align:left;transition:background .15s ease}button.mobile-result-toggle:hover{background:#ffffff1a}.mobile-result-chevron{font-size:11px;opacity:.65}@media(max-width:767px){button.mobile-result-toggle{display:flex}#resultContent.is-mobile-collapsed{display:none}}body.theme-light button.mobile-result-toggle{background:#0000000a;border-color:#0000001f;color:#1e293b}body.theme-light button.mobile-result-toggle:hover{background:#00000014}.mode-changed-warning{display:none;padding:8px 12px;border-radius:6px;font-size:12.5px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);color:#fde68a;margin-top:6px}.mode-changed-warning.is-visible{display:block}.reaction-avail-badge{display:inline-block;font-size:10px;font-weight:600;letter-spacing:.02em;padding:2px 7px;border-radius:4px;vertical-align:middle;line-height:1.4}.reaction-avail-badge.avail-ok{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.reaction-avail-badge.avail-partial{background:#eab30826;color:#fde047;border:1px solid rgba(234,179,8,.3)}.reaction-avail-badge.avail-no{background:#ef44441f;color:#f87171;border:1px solid rgba(239,68,68,.25)}.reaction-avail-badge.ws-ready{background:#6366f126;color:#a5b4fc;border:1px solid rgba(99,102,241,.3)}.reaction-avail-badge.ws-partial{background:#fb923c26;color:#fdba74;border:1px solid rgba(251,146,60,.3)}body.theme-light .reaction-avail-badge.ws-ready{background:#4f46e51a;color:#4338ca;border-color:#4f46e54d}body.theme-light .reaction-avail-badge.ws-partial{background:#ea580c1a;color:#c2410c;border-color:#ea580c4d}.reaction-card.is-ws-ready{border-color:#6366f159}body.theme-light .reaction-card.is-ws-ready{border-color:#4f46e54d}.reaction-card.is-unavailable{opacity:.72}.reaction-card.is-unavailable button.primary-action{background:#ef444426;border-color:#ef44444d;color:#f87171;cursor:default}body.theme-light .reaction-avail-badge.avail-ok{background:#16a34a1a;color:#15803d;border-color:#16a34a4d}body.theme-light .reaction-avail-badge.avail-partial{background:#a162071a;color:#a16207;border-color:#a162074d}body.theme-light .reaction-avail-badge.avail-no{background:#dc262614;color:#dc2626;border-color:#dc262640}body.theme-light .reaction-card.is-unavailable button.primary-action{background:#dc262614;border-color:#dc262633;color:#dc2626}
