/* Catenary calculator pages. Layered on /catenary/palette.css. */
.calc-page h1{margin-bottom:.3em}.crumbs{font-size:14px;margin-bottom:18px;color:#425d70}.crumbs a{color:#554591}
.calc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;margin:26px 0 8px}
.calc-card{background:#fff;border:1px solid #c5d9e2;border-radius:14px;padding:22px;box-shadow:0 8px 24px #31586d0a}
.calc-card h2{margin-top:0;font-size:1.15rem}
.field{display:block;margin:0 0 14px}.field[hidden]{display:none}.field span{display:block;font-weight:600;color:#183d50;margin-bottom:6px;font-size:15px}.field em{font-style:normal;font-weight:400;color:#5b7486}
.field input,.field select{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #9fbccb;border-radius:8px;font:inherit;font-size:16px;background:#fbfdfe;color:#183d50}
.field input:focus,.field select:focus{outline:3px solid #00667433;border-color:#006674}
.check{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;color:#183d50;font-size:15px}.check input{margin-top:4px;width:18px;height:18px}
.calc-card .button{margin-top:4px;cursor:pointer;font:inherit}
.result{font-size:2.2rem;line-height:1.3;color:#006674;font-weight:700;overflow-wrap:anywhere}.result small{font-size:1rem;color:#425d70;font-weight:400}
.result-line{margin:6px 0;color:#183d50}.mini-label{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#924e2f;margin-bottom:4px}
.needs{margin:6px 0 10px;padding-left:20px}.needs li{font-weight:600;color:#183d50}
.error,.warning{color:#9e4020;background:#fff0e5;padding:12px;border-radius:6px}.muted{color:#5b7486}.small{font-size:14px}
.diagram{margin-top:14px}.engineering-svg{width:100%;max-height:260px;color:#327c96}.engineering-svg text{fill:#39546c;font-size:14px}
.part-fill{fill:#d4eaf3;stroke:#397e98;stroke-width:2}.core{fill:#fff;stroke:#397e98;stroke-width:2}.fine,.dimension{fill:none;stroke:#5976a6;stroke-width:1.5}
.belt-running{fill:none;stroke:#007e85;stroke-width:5}.material-fill{fill:#e5caad;stroke:#ad7846}.roller{fill:none;stroke:#537f95;stroke-width:5}
.formula{background:#0f3a4a;color:#e9f6fa;padding:16px 18px;border-radius:10px;font-size:15px;line-height:1.7;overflow-x:auto;white-space:pre-wrap}
.vars{width:100%;border-collapse:collapse;margin-top:14px;font-size:15px}.vars th,.vars td{border:1px solid #c5d9e2;padding:8px 10px;text-align:left;vertical-align:top}.vars th{background:#e8f1f6;color:#183d50}.vars td:first-child{white-space:nowrap;font-weight:600}
.steps li{margin:6px 0}.faq{border:1px solid #c5d9e2;border-radius:10px;padding:10px 14px;margin:10px 0;background:#fff}.faq summary{cursor:pointer;font-weight:600;color:#183d50}
.related li{margin:4px 0}.more{font-size:14px}.sources{font-size:15px}
.structure{fill:none;stroke:#9fbccb;stroke-width:2}.belt-outline{fill:none;stroke:#397e98;opacity:.4}.material-flow{fill:none;stroke:#ad7846;stroke-width:9;stroke-linecap:round;stroke-dasharray:1 20}.draw{fill:none;stroke:#007e85;stroke-width:3;stroke-dasharray:900}
.engineering-svg .belt-running{stroke-dasharray:16 9}.engineering-svg .spin{transform-box:fill-box;transform-origin:center}
@media (prefers-reduced-motion:no-preference){.engineering-svg .belt-running{animation:cat-belt 1.1s linear infinite}.engineering-svg .belt-running.reverse{animation-direction:reverse}.engineering-svg .material-flow{animation:cat-flow 1.1s linear infinite}.engineering-svg .spin{animation:cat-spin 5s linear infinite}.engineering-svg .load-arrows,.engineering-svg .bob{animation:cat-bob 1.8s ease-in-out infinite}.engineering-svg .layer-float{animation:cat-float 3.2s ease-in-out infinite}.engineering-svg .flow-arrows{animation:cat-slide 1.4s ease-in-out infinite}.engineering-svg .draw{stroke-dashoffset:900;animation:cat-draw 5s ease-in-out infinite}.engineering-svg .pulse{animation:cat-pulse 1.6s ease-in-out infinite}}
@keyframes cat-belt{to{stroke-dashoffset:-25}}@keyframes cat-flow{to{stroke-dashoffset:-21}}@keyframes cat-spin{to{transform:rotate(360deg)}}@keyframes cat-bob{50%{transform:translateY(5px)}}@keyframes cat-float{50%{transform:translateY(-8px)}}@keyframes cat-slide{50%{transform:translateX(8px)}}@keyframes cat-draw{60%,100%{stroke-dashoffset:0}}@keyframes cat-pulse{50%{opacity:.35}}
.result-table{width:100%;border-collapse:collapse;margin:10px 0;font-size:15px}.result-table th,.result-table td{border-bottom:1px solid #c5d9e2;padding:6px 4px;text-align:left;font-weight:400;color:#183d50}.result-table td{text-align:right;white-space:nowrap}
@media(max-width:760px){.calc-grid{grid-template-columns:1fr}.result{font-size:1.9rem}.vars td:first-child{white-space:normal}}
