.rhythm-editor{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}
.rhythm-editor>.form-control{border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}
.rhythm-tools{display:flex;align-items:stretch;gap:1px;padding:7px;background:#f1efe8;overflow-x:auto}
.rhythm-tools button{min-width:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:0;border-radius:8px;background:#fff;color:var(--forest);padding:5px 9px;font-weight:700}
.rhythm-tools button:hover{background:var(--gold-soft)}
.rhythm-tools b{font-size:1.35rem;line-height:1}.rhythm-tools small{font-size:.58rem;color:var(--muted);margin-top:3px}
.rhythm-preview,.rhythm-pattern{display:flex;align-items:center;gap:8px;min-height:58px;padding:10px 14px;overflow-x:auto}
.rhythm-preview>span{color:var(--muted);font-size:.8rem}.rhythm-beat{display:grid;place-items:center;min-width:38px;height:38px;border-radius:10px;background:#dce9e6;color:var(--forest);font-size:1.45rem}.rhythm-beat.muted{background:#f4ddd8;color:var(--red)}.rhythm-beat.pause{background:#ece9e0;color:#777}.rhythm-bar{display:block;width:2px;height:35px;background:var(--gold);margin:0 3px}
.rhythm-card{display:flex;align-items:center;gap:25px;margin-bottom:30px;padding:15px 18px;border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:13px;background:#faf8f2}.rhythm-card>div:first-child{min-width:90px;display:flex;flex-direction:column}.rhythm-card small{color:#a06b16;font-size:.65rem;font-weight:800;letter-spacing:.15em}.rhythm-card strong{font-size:.8rem;margin-top:3px}.rhythm-card .rhythm-pattern{padding:0;min-height:0;flex:1}
@media(max-width:650px){.rhythm-card{align-items:flex-start;flex-direction:column;gap:10px}.rhythm-beat{min-width:34px;height:34px}.rhythm-tools button{min-width:52px}}
