main{grid-template-columns:280px minmax(440px,1fr) 320px}fieldset{border:1px solid #ccdce0;border-radius:10px;padding:12px}fieldset button{display:block;width:100%;margin:8px 0}#assay,#balance,#reactions{font-size:13px;line-height:1.7}#reactions p{padding:9px;background:#eef5f6;border-radius:6px}#reactions strong{display:block;color:#087c78}.ferrite-alert{padding:12px;border-radius:8px;background:#e9f4ec;font-weight:600}.ferrite-alert.active{background:#ffe4cb;color:#8d3505}body.running.fluidized #bed-grains{animation:grains .5s infinite alternate}body:not(.fluidized) #bubbles{display:none}body:not(.fluidized) #bed-grains{animation:none}#water-jets,#slurry-jets{opacity:0}body.watering #water-jets,body.feeding #slurry-jets{opacity:1;animation:jet .6s linear infinite}@keyframes grains{to{transform:translateY(-5px)}}@keyframes jet{to{stroke-dashoffset:-20}}@media(max-width:1200px){main{grid-template-columns:240px minmax(380px,1fr)}main>aside:last-child{grid-column:1/-1;max-height:400px}}@media(max-width:650px){main{display:block}}@media(prefers-reduced-motion:reduce){body.running #bubbles,body.running #bed-grains,body.watering #water-jets,body.feeding #slurry-jets{animation:none}}
.roaster-drawing{overflow:auto;max-height:75vh;overscroll-behavior:contain;margin:12px 0}.roaster-drawing svg{display:block;max-width:none}#zoom-scene{font-size:13px;background:#31576a}

.ferrite-monitor{margin:12px 0 20px;padding:12px;border:1px solid #b8cbd3;border-radius:8px;background:#f8fbfc}.ferrite-monitor h3{font-size:14px;margin:0 0 6px}.ferrite-monitor p,.ferrite-monitor small{font-size:12px;line-height:1.6;margin:6px 0}.ferrite-legend{display:flex;flex-wrap:wrap;gap:10px}.ferrite-monitor small{display:block;color:#607781}#ferrite-chart svg{display:block;width:100%;height:auto}

.thermal-badge{font-size:12px;border-radius:6px;padding:7px 10px}.thermal-badge.normal{background:#e8f4ee;color:#265c41}.thermal-badge.warning,.thermal-alert.warning,.thermal-alert.history{background:#fff0cc;color:#714600;border:2px solid #bd7800}.thermal-badge.critical,.thermal-alert.critical{background:#ffe2df;color:#8c160f;border:2px solid #cc3026}.thermal-alert{position:sticky;top:0;z-index:5;padding:12px;border-radius:8px;line-height:1.55;font-weight:650;font-size:14px;margin-bottom:12px;box-shadow:0 3px 10px #0002}.thermal-alert[hidden]{display:none}
