.balance-calculator{padding:1.2rem;background:linear-gradient(145deg,#fbfdff,#f6faf8);color:#243746}.balance-intro{display:flex;align-items:flex-start;gap:.8rem}.balance-step-number{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:50%;background:#e4f2ee;color:#22755f;font-weight:800}.balance-intro h3{margin:0;font-size:1.25rem;letter-spacing:-.025em}.balance-intro p{max-width:720px;margin:.3rem 0 0;color:#5a6f7b;font-size:.84rem;line-height:1.55}.balance-own-problem{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0 .65rem;padding:1rem;border:1px solid #a9d8cc;border-radius:16px;background:linear-gradient(135deg,#edf9f5,#eef7fb)}.balance-own-badge{color:#26755f;font-size:.64rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.balance-own-problem h4{margin:.18rem 0;font-size:1rem}.balance-own-problem p{margin:0;color:#5e7480;font-size:.72rem;line-height:1.5}.balance-custom-start{flex:0 0 auto;padding:.72rem .9rem;border:0;border-radius:11px;background:#247963;color:#fff;font-weight:850;cursor:pointer;box-shadow:0 7px 18px rgba(36,121,99,.16)}.balance-custom-start:hover{transform:translateY(-1px);background:#1d6855}.balance-presets{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;margin:.65rem 0 1rem;padding:.65rem .75rem;border:1px solid #dce8ed;border-radius:13px;background:#fff}.balance-presets>span{margin-right:.2rem;color:#607783;font-size:.72rem;font-weight:700}.balance-presets button{padding:.43rem .68rem;border:1px solid #cddde4;border-radius:999px;background:#f7fbfc;color:#2b5869;font-weight:750;cursor:pointer;transition:.2s ease}.balance-presets button:hover{border-color:#73aebd;background:#eaf5f7;transform:translateY(-1px)}.balance-workspace{display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);gap:.75rem;align-items:start}.balance-side{padding:.85rem;border:1px solid #d7e5ea;border-radius:16px;background:rgba(255,255,255,.92)}.balance-side h4{margin:0 0 .65rem;font-size:.93rem}.balance-side h4 small{margin-left:.3rem;color:#718692;font-size:.67rem;font-weight:650}.balance-species-list{display:flex;flex-direction:column;gap:.38rem}.balance-species{display:grid;grid-template-columns:150px minmax(110px,1fr);gap:.5rem;align-items:end;padding:.55rem;border:1px solid #e2eaee;border-radius:12px;background:#fbfcfd}.balance-species label{display:flex;flex-direction:column;gap:.26rem}.balance-species label>span:first-child{color:#6b808c;font-size:.61rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.coefficient-control{display:grid;grid-template-columns:32px 48px 32px;height:40px}.coefficient-control button,.coefficient-control input,.chemical-field input{border:1px solid #cbdce3;background:#fff;color:#1f3642}.coefficient-control button{font-size:1.05rem;cursor:pointer}.coefficient-control button:first-child{border-radius:9px 0 0 9px}.coefficient-control button:last-child{border-radius:0 9px 9px 0}.coefficient-control input{width:100%;border-left:0;border-right:0;text-align:center;font-weight:850;-moz-appearance:textfield}.coefficient-control input::-webkit-inner-spin-button{display:none}.chemical-field input{width:100%;height:40px;padding:0 .65rem;border-radius:9px;font-size:.95rem;font-weight:750}.coefficient-control input:focus,.chemical-field input:focus{position:relative;z-index:1;outline:3px solid rgba(55,153,184,.16);border-color:#4b9ab2}.balance-plus{text-align:center;color:#8aa0aa;font-weight:800}.balance-arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:260px;color:#287662}.balance-arrow span{font-size:2.3rem}.balance-arrow small{color:#70858e;font-size:.58rem;text-align:center}.balance-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0}.balance-actions button{min-height:42px;padding:.58rem .85rem;border-radius:11px;font-weight:800;cursor:pointer}.balance-check{border:0;background:linear-gradient(135deg,#277b67,#3c93a8);color:#fff}.balance-hint-button,.balance-reset{border:1px solid #cbdce3;background:#fff;color:#365866}.balance-feedback{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(260px,1fr);gap:.75rem}.balance-message{display:flex;gap:.7rem;padding:.85rem;border:1px solid #d8e5e9;border-radius:13px;background:#fff}.balance-message-icon{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:#e9f3f5;color:#3e7887;font-weight:900}.balance-message strong{font-size:.84rem}.balance-message p{margin:.22rem 0 0;color:#627681;font-size:.7rem;line-height:1.5}.balance-message.success{border-color:#9bd5b4;background:#f0fbf4}.balance-message.success .balance-message-icon{background:#2da66a;color:#fff}.balance-message.warning{border-color:#e8c986;background:#fff9ea}.balance-message.warning .balance-message-icon{background:#d99828;color:#fff}.balance-equation-preview{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:1rem;min-height:70px;padding:.75rem;border-radius:13px;background:#1f3540;color:#fff;font-size:1.2rem}.balance-equation-preview>div{display:flex;align-items:center;gap:.55rem}.balance-equation-preview i{color:#9fb3bc;font-style:normal}.balance-equation-preview b{margin-right:.14rem;color:#7fe0c2}.balance-equation-preview sub{font-size:.65em}.balance-atom-table-wrap{grid-column:1/-1;overflow:auto;border:1px solid #d8e5e9;border-radius:13px;background:#fff}.balance-atom-table{width:100%;border-collapse:collapse;font-size:.72rem}.balance-atom-table th,.balance-atom-table td{padding:.55rem .65rem;border-bottom:1px solid #e5ecef;text-align:left}.balance-atom-table thead th{background:#f3f7f8;color:#5d737e;font-size:.61rem;text-transform:uppercase;letter-spacing:.05em}.balance-atom-table tr:last-child>*{border-bottom:0}.balance-atom-table .is-equal td:last-child{color:#23845a;font-weight:800}.balance-atom-table .is-unequal{background:#fff9ed}.balance-atom-table .is-unequal td:last-child{color:#ac6b14;font-weight:800}.balance-hint{grid-column:1/-1;margin:0;padding:.75rem .85rem;border-left:4px solid #6b62bd;border-radius:8px;background:#f2f0fb;color:#4d496e;font-size:.75rem;line-height:1.55}.balance-help{margin:.8rem 0 0;color:#687d87;font-size:.68rem;line-height:1.5}
/* Guided workflow and celebration */
.balance-calculator{position:relative;overflow:hidden}.balance-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin:0 0 .85rem;padding:0;list-style:none}.balance-guide li{display:flex;align-items:center;gap:.55rem;padding:.68rem;border:1px solid #d8e6ea;border-radius:12px;background:rgba(255,255,255,.85)}.balance-guide li>b{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:#e4f2ee;color:#26755f}.balance-guide span{display:flex;flex-direction:column}.balance-guide strong{font-size:.72rem}.balance-guide small{margin-top:.08rem;color:#71858e;font-size:.6rem}.balance-clear{border:1px solid #e5b6b2;background:#fff8f7;color:#9a4e47}.balance-actions button{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.balance-actions button:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(35,72,84,.12)}.balance-actions button:active{transform:translateY(1px) scale(.985)}.balance-confetti{position:absolute;z-index:30;left:50%;top:76%;width:1px;height:1px;pointer-events:none;overflow:visible}.balance-confetti i{position:absolute;display:block;width:9px;height:14px;box-shadow:0 1px 2px rgba(0,0,0,.12)}.balance-confetti.css-fallback i{animation:balance-confetti-fallback 1.6s ease-out forwards}.balance-confetti.css-fallback i:nth-child(3n){transform:translate(-120px,-100px) rotate(180deg)}.balance-confetti.css-fallback i:nth-child(3n+1){transform:translate(100px,-160px) rotate(300deg)}.balance-confetti.css-fallback i:nth-child(3n+2){transform:translate(20px,-120px) rotate(90deg)}@keyframes balance-confetti-fallback{0%{opacity:0;scale:.2}25%{opacity:1}100%{opacity:0;translate:0 260px}}
@media(max-width:900px){.balance-workspace{grid-template-columns:1fr}.balance-arrow{min-height:auto;padding:.15rem;transform:rotate(90deg)}.balance-arrow small{display:none}.balance-feedback{grid-template-columns:1fr}.balance-species{grid-template-columns:140px minmax(100px,1fr)}}
@media(max-width:520px){.balance-calculator{padding:.75rem}.balance-own-problem{align-items:stretch;flex-direction:column}.balance-custom-start{width:100%}.balance-guide{grid-template-columns:1fr}.balance-species{grid-template-columns:1fr}.coefficient-control{grid-template-columns:38px 1fr 38px}.balance-presets button{font-size:.68rem}.balance-equation-preview{gap:.55rem;font-size:.94rem;overflow-x:auto;justify-content:flex-start}.balance-actions button{flex:1 1 140px}}
@media(prefers-reduced-motion:reduce){.balance-actions button,.balance-custom-start{transition:none!important}.balance-confetti{display:none}}
