:root{--c:#2f56c9}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;background:#fff;color:#0d1117;height:100vh;display:flex;flex-direction:column}
header{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;padding:12px 24px;border-bottom:4px solid var(--c)}header span{color:#6b7482;font-size:14px}
main{flex:1;position:relative;overflow:hidden}.scene{position:absolute;inset:0;padding:24px clamp(16px,5vw,56px);opacity:0;visibility:hidden;transform:translateX(24px);transition:.3s;overflow:auto}.scene.on{opacity:1;visibility:visible;transform:none}
h2{font-size:clamp(22px,3vw,30px);margin:0 0 12px;color:var(--c)}h3{font-size:20px;margin:14px 0 4px}li{font-size:clamp(16px,2vw,20px);line-height:1.7}.lead{font-size:clamp(16px,2vw,20px);line-height:1.7}.tip,.hint{color:#6b7482;font-size:14px}
.plot{width:min(560px,100%);display:block;background:#f6f7f9;border-radius:12px}.f{font-size:20px;font-weight:600;margin:4px 0}.ctl{display:flex;flex-wrap:wrap;gap:10px 24px;margin:12px 0}.ctl label{display:flex;flex-direction:column;font-size:15px;min-width:200px}.ctl input{width:100%}.res{font-size:19px;font-weight:600;color:var(--c);min-height:28px}
.bar{display:flex;gap:3px;max-width:560px;height:72px}.bar i{flex:1;border-radius:6px;background:#e7eaf0}.bar i.on{background:var(--c)}
.pool,.ords{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.chip,.ord{padding:8px 14px;border-radius:10px;background:#eef2fe;border:2px solid transparent;font-size:16px;cursor:pointer;color:#0d1117}.chip.sel{border-color:var(--c)}.chip.done{background:#e3f6ea;cursor:default}.ord.done{background:#e3f6ea}
.bins{display:flex;flex-wrap:wrap;gap:10px}.bin{flex:1 1 170px;min-height:96px;padding:10px;border:2px dashed #c3c9d3;border-radius:12px;display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start}.bin b{width:100%}
.q{margin-bottom:12px}.q p{font-size:18px;margin:4px 0}.q button{margin:3px 6px 3px 0;padding:7px 14px;border-radius:9px;border:1px solid #c3c9d3;background:#fff;font-size:15px;cursor:pointer}.q button.ok{background:#e3f6ea;border-color:#2e9e5b}.q button.no{background:#fde8e8;border-color:#d64545}.q em{display:block;color:#6b7482;font-style:normal;font-size:14px;margin-top:3px}
nav{display:flex;justify-content:center;align-items:center;gap:16px;padding:8px}nav button{width:44px;height:44px;border-radius:50%;border:0;background:#eef2fe;font-size:24px;cursor:pointer}footer{font-size:12px;color:#8a8f98;text-align:center;padding:4px 8px 8px}