.ffl{box-sizing:border-box;margin:32px 0;padding:clamp(16px,3vw,28px);border:1px solid #b9cedb;border-radius:22px;background:linear-gradient(145deg,#f5fbfc,#fff8ed);box-shadow:0 18px 45px #0b2d6215;color:#17364e}.ffl *{box-sizing:border-box}.ffl header{display:flex;justify-content:space-between;gap:18px;align-items:start}.ffl h3{margin:.15rem 0!important;color:#0b2d62;font-size:clamp(1.3rem,3vw,1.9rem)!important}.ffl header p{margin:.4rem 0!important}.ffl header small{font-weight:850;letter-spacing:.12em;color:#087d91}.ffl-mode{display:flex;gap:6px;flex:none}.ffl button{font:inherit;min-height:44px;padding:9px 13px;border:1px solid #8ba7ba;border-radius:10px;background:#fff;color:#0b2d62;font-weight:760;cursor:pointer}.ffl button[aria-pressed=true]{background:#0b5273;color:#fff}.ffl-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:20px;margin-top:18px}.ffl-stage{padding:12px;border-radius:17px;background:#082f4c;color:#dff6f8}.ffl-stage svg{display:block;width:100%;max-height:430px;touch-action:none;user-select:none}.ffl-stage>p{font-size:.8rem;margin:.4rem .5rem!important;color:#c7dfe7}.ffl-tank{fill:#fff;stroke:#7ba4b8;stroke-width:4}.ffl-water{fill:url(#ffl-water)}.ffl-cable{stroke:#1b394e;stroke-width:6}.ffl-body{fill:#f28a22;stroke:#fff;stroke-width:5;filter:url(#ffl-shadow);cursor:ns-resize}.ffl-grip{fill:#fff}.ffl [data-float]{cursor:ns-resize;transform-origin:center;transition:transform .25s ease}.ffl [data-float] text{fill:#0b2d62;font-weight:900;font-size:13px;pointer-events:none}.ffl-force{stroke-width:6}.ffl-force.up{stroke:#20a486}.ffl-force.down{stroke:#d84d5f}.ffl-label,.ffl-state{fill:#fff;font-size:13px;font-weight:800}.ffl form{display:grid;gap:10px}.ffl label{display:grid;gap:4px;padding:10px;border:1px solid #c9dbe5;border-radius:12px;background:#fff;font-weight:750}.ffl label span{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center}.ffl input{width:100%;min-width:0;min-height:42px;padding:8px;border:1px solid #7893a6;border-radius:8px;font:inherit}.ffl-range{accent-color:#f28a22;padding:0;min-height:28px}.ffl-results{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.ffl-results>div{display:grid;grid-template-columns:1fr auto;align-items:end;padding:13px;border:1px solid #cfdee6;border-radius:12px;background:#fff}.ffl-results small{grid-column:1/-1;color:#526a7b}.ffl-results b{font-size:1.35rem;color:#0b2d62}.ffl-results span{font-size:.8rem}.ffl-verdict{margin-top:12px;padding:16px;border-left:6px solid #13866d;border-radius:10px;background:#e9f7f2}.ffl[data-state=critical] .ffl-verdict{border-color:#d08b17;background:#fff7e6}.ffl[data-state=sink] .ffl-verdict,.ffl[data-state=error] .ffl-verdict{border-color:#b43c48;background:#fff0f2}.ffl-verdict>b{font-size:1.18rem;color:#0b2d62}.ffl-verdict p{margin:.4rem 0!important}.ffl-verdict ol{margin:.5rem 0 0;padding-left:1.4rem}.ffl footer{margin-top:14px;padding-top:12px;border-top:1px solid #cad9e2;font-size:.83rem;color:#526a7b}@media(max-width:760px){.ffl header,.ffl-layout{display:grid}.ffl-mode{display:grid;grid-template-columns:1fr 1fr}.ffl-results{grid-template-columns:1fr 1fr}.ffl-stage svg{max-height:330px}}@media(max-width:420px){.ffl{padding:13px}.ffl-results{grid-template-columns:1fr}.ffl-mode{grid-template-columns:1fr}.ffl-stage{padding:5px}}

/* R60: replace the desktop minimum track at narrow widths. */
@media(max-width:760px){.ffl,.ffl-layout,.ffl-stage,.ffl form{min-width:0;max-width:100%}.ffl-layout{grid-template-columns:minmax(0,1fr)}.ffl-stage{overflow:hidden}.ffl-stage svg{height:auto}}
@media(prefers-reduced-motion:reduce){.ffl [data-float]{transition:none}}
