/* Physical scale and shared blue/white glass controls. */
.bs{--ink:#16476a;--teal:#1686b5;--block-stroke:#277aa5;color:#16476a;}
.bs .stage{padding:0 12px 18px;background:radial-gradient(ellipse at 50% 10%,#fff 0,transparent 65%),linear-gradient(#edfaff,#e4f3ff);border-color:#b4d5e8;}
.bs .working-scale{display:block;width:100%;height:auto;overflow:visible;}
.bs #scale-scene{max-width:950px;margin:auto;}
.bs #working-beam{transform-origin:450px 204px;transition:transform .48s cubic-bezier(.2,.7,.3,1);}
.bs .physical-pan{transition:transform .48s cubic-bezier(.2,.7,.3,1);}
.bs .pan-chain{fill:none;stroke:#76a9c6;stroke-width:2.5;}
.bs .weight-label{font:900 17px Nunito,'Segoe UI',sans-serif;fill:#084976;text-anchor:middle;pointer-events:none;}
.bs .negative .weight-label,.bs .negative .bundle-count{fill:#653812;}
.bs .weight-label.bundled{font-size:13px;}
.bs .bundle-count{font:800 9px Nunito,'Segoe UI',sans-serif;fill:#084976;text-anchor:middle;pointer-events:none;}
.bs .weight[role=button]{cursor:pointer;outline:none;}
.bs .weight[role=button]:hover{filter:brightness(1.1);}
.bs .weight[role=button]:focus-visible>rect:not(.weight-target){stroke:#003c78;stroke-width:3;}
.bs .pan-caption{text-anchor:middle;fill:#486e87;font:800 12px Nunito,'Segoe UI',sans-serif;letter-spacing:.08em;}
.bs .pan-caption text:nth-child(n+3){font-size:19px;letter-spacing:0;fill:#086591;}
.bs .pan-empty{font:600 13px Nunito,'Segoe UI',sans-serif;fill:#6c8ba2;}
.bs #physical-balance-status{font:800 13px Nunito,'Segoe UI',sans-serif;fill:#086591;}
.bs .trays{gap:16px;}
.bs .tray{transform:none!important;transition:none;}
.bs .zone{min-height:0;margin-bottom:8px;background:linear-gradient(#fff,#e4f3ff);border-color:#b3d3e7;}
.bs .zone.up{background:linear-gradient(#fffaf3,#fff0dc);border-color:#e2c39e;}
.bs .zone .pieces{min-height:0;padding-top:5px;font-size:12px;line-height:1.5;color:#486e87;}
.bs .zone.up .pieces{color:#87532b;}
.bs .piece-tally{font-weight:800;display:inline-block;padding:3px 7px;border-radius:6px;background:#ffffff99;}
.bs .zone-heading{color:#286a94;}
.bs .zone.up .zone-heading{color:#956237;}
.bs :is(.panel,.brief){background:linear-gradient(135deg,#ffffffed,#e7f9ffda);border-color:#b7d6e9;box-shadow:inset 0 1px white,0 6px 18px #1d779f10;}
.bs :is(button,.primary){background:linear-gradient(#a8e4f7,#68bfdf 48%,#208fbc 51%,#0c75a9)!important;border:1px solid #8ac5e4!important;border-radius:999px;color:white!important;box-shadow:inset 0 1px #ffffffcc,0 3px 8px #12658d25;}
.bs .modes{background:#dcefff;}.bs .modes button{background:transparent!important;color:#17618d!important;border-color:transparent!important;box-shadow:none;}.bs .modes [aria-pressed=true]{background:linear-gradient(#fff,#e5f4ff)!important;color:#086591!important;border-color:white!important;box-shadow:0 2px 7px #1d779f15;}
.bs input,.bs select{background:linear-gradient(#f5fbff,#fff);color:#16476a;border-color:#9fc7df;}
.bs h3,.bs .equation{color:#086591;}.bs .equation .equals{color:#1686b5;}.bs input[type=range]{accent-color:#1686b5;}.bs .message{background:#e4f3ff;}.bs :focus-visible{outline-color:#0875ac;}
.bs .stack-guide{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;font-size:12px;color:#486e87;margin:0 0 12px;}
.bs .stack-guide strong{color:#086591;}.bs .stack-guide .negative-key{color:#956237;}
@media(max-width:700px){.bs .stage{padding:0 5px 12px;}.bs .trays{gap:8px;}.bs .tray-title{font-size:12px;}.bs .zone-heading{font-size:10px;flex-wrap:wrap;}.bs .place{flex-direction:row;flex-wrap:wrap;}.bs .place button{flex:1 0 45%;font-size:11px;}.bs .stack-guide{font-size:11px;gap:6px 14px;}.bs .equation{font-size:clamp(19px,5vw,28px);}.bs .legend{font-size:11px;}.bs .rule{font-size:10px;}}
@media(prefers-reduced-motion:reduce){.bs #working-beam,.bs .physical-pan{transition:none;}}
